Actions / Navigation / close / 20
My IBM ログイン ニュースレター

APIセキュリティーのベスト・プラクティスによるAPIの最適化

2023年11月6日

読了時間:5分

多くの企業がデジタル化とクラウドベースのITインフラストラクチャーへの移行を続けています。デジタル・システムは、従来のオンプレミス・システムとは比べ物にならない柔軟性、拡張性、スピードを備えています。

ただし、デジタル・インフラストラクチャーは、ソフトウェア・アプリケーション間、およびアプリケーションとエンド・ユーザー間のデータ転送を容易にするために、アプリケーション・プログラミング・インターフェース(API)に大きく依存しています。APIは、ほとんどのWebアプリやモバイル・アプリのバックエンド・フレームワークとして、インターネットに接続されているため、攻撃に対して脆弱です。また、多くのAPIは機密データを保存・転送するため、データが悪人の手に渡るのを防ぐために、強固なセキュリティー・プロトコルと注意深い監視が必要となります。

APIセキュリティーの説明

APIセキュリティーとは、APIに対する悪意のある攻撃や悪用を防ぐための一連のプラクティスと製品を指します。APIエコシステムの複雑さ、IoTプラットフォームの成長、組織が利用するAPIの膨大な量(平均約20,000(ibm.com外部へのリンク))を考えると、APIセキュリティーに対応することは、ますます困難になると同時に、必要性も高くなります。

APIは、組織のIT担当者とサードパーティーのソフトウェア開発者の間、もしくはIT担当者と個人の間に入り、プロセスのエンドポイントでデータと情報を送信します。これらのエンドポイントでは、企業やユーザーのデータが、次のようなさまざまな種類の攻撃やセキュリティー・リスクに対して脆弱になります。

  • 認証ベースの攻撃:ハッカーがユーザーのパスワードを推測、もしくは盗んだり、弱い認証プロセスを悪用して、APIサーバーへのアクセスを試みます。
  • 中間者攻撃:悪意のある攻撃者がAPIリクエストやAPI間のレスポンスを傍受することで、データ(ログイン認証情報や支払い情報など)を盗んだり、変更したりします。
  • コード・インジェクション/インジェクション攻撃:ハッカーがAPIリクエストを通じて、(偽の情報を挿入したり、データを削除または開示したり、アプリケーションの機能を妨害したりするために)有害なスクリプトを送信し、データの読み取りと変換を行うAPIインタプリターの弱点を突く攻撃です。
  • サービス拒否(DoS)攻撃:多数のAPIリクエストを送信して、サーバーをクラッシュまたは速度を低下させます。DoS攻撃は、分散型サービス妨害(DDoS)攻撃と呼ばれる、複数の攻撃者から同時に行われることがよくあります。
  • 壊れたオブジェクト・レベル認可(BOLA)攻撃:サイバー犯罪者がAPIエンドポイントでオブジェクト識別子を操作して攻撃対象領域を拡大し、ユーザー・データに不正アクセスします。この問題は、APIエンドポイントが、通常はアクセスしてはいけないレコードへのアクセスをユーザーに許可した場合に発生します。適切なオブジェクトレベル認可チェックの実装は困難で時間がかかるため、BOLA攻撃は見られる攻撃です。

今日のダイナミックなIT環境において、この種のサイバー攻撃は避けることはほとんど不可能です。また、サイバー犯罪者が急増し、より高度なハッキング技術を持つにつれて、APIセキュリティー・プロトコルの実装は、企業のデータ・セキュリティーにとってますます重要になります。

APIセキュリティーのベスト・プラクティス

APIにより、企業はシステム間の統合とデータ共有を効率化できますが、この相互接続性によりサイバー攻撃を受けるリスクが高まります。実際、モバイルやWebアプリケーションのハッキングのほとんどは、企業やユーザーのデータにアクセスするために、APIを攻撃しています。APIがハッキングされたり攻撃されると、壊滅的なデータ侵害やサービスの中断が発生し、機密性の高い個人情報、財務データ、医療データが危険にさらされる可能性があります。

幸いなことに、APIセキュリティーの進歩により、悪意のある攻撃者によるサイバー攻撃の影響を防止または軽減することが可能になります。以下に、組織がコンピューティング・リソースとユーザー・データを保護するために活用できる11の一般的なAPIセキュリティー・プラクティスとプログラムをご紹介します。

  1. APIゲートウェイ:APIゲートウェイのインストールは、APIへのアクセスを制限する最も簡単な方法の1つです。ゲートウェイは、すべてのAPIリクエストに対して単一のエントリー・ポイントを作成し、セキュリティー・ポリシーを適用することでセキュリティー・レイヤーとして機能し、APIインタラクションの標準化を支援し、リクエスト/レスポンスの変換、キャッシュ、ロギングなどの機能を提供します。
  2. 堅牢な認証と認可:OAuth 2.0、APIキー、JWT、OpenID Connectなどの業界標準の認証プロトコルを使用することで、認証されたユーザーのみがエンタープライズAPIにアクセスできるようになります。また、ロール・ベースのアクセス制御を実装することで、ユーザーは使用することを許可されていないリソースにアクセスできなくなります。
  3. 暗号化プロトコル:HTTP Secure(HTTPS)などのSSL接続やTLS暗号化プロトコルは、APIとクライアント・アプリケーション間の通信を保護するのに役立ちます。HTTPSはすべてのネットワーク・データ送信を暗号化し、不正なアクセスや改ざんを防止します。保存されたパスワードなどの保存データを暗号化すると、保存中の機密データの保護をさらに強化できます。
  4. ウェブ・アプリケーション・ファイアウォール(WAF):WAFは、特にインジェクション攻撃、クロスサイト・スクリプティング(XSS)、クロスサイト・リクエスト・フォージェリ(CSRF)などの一般的なWebアプリ攻撃から、エンタープライズAPIの保護を強化します。WAFセキュリティー・ソフトウェアは、受信したAPIリクエストを分析し、悪意のあるトラフィックがサーバーに到達する前にブロックできます。
  5. データ検証:人々が電話をスクリーニングし、不明な送信者からの添付ファイルを開かないようにするのと同じように、組織はサーバーが大規模なデータやコンテンツ送信(消費者からの送信も含む)を受け入れ、拒否するすべてをスクリーニングする必要があります。XMLまたはJSONスキーマ検証を使用して、パラメーターを確認することも攻撃の防止に役立ちます。
  6. レート制限:ユーザーまたはIPアドレスが一定時間内に実行できるリクエストの数を制限することで、ブルート・フォース攻撃やDoS攻撃からリソースを保護できます。レート制限により、すべてのAPIリクエストを迅速に処理し、ユーザーがシステムに有害なリクエストを大量に送り込めないようにすることができます。
  7. セキュリティー・テスト:セキュリティー・テストでは、開発者はAPIクライアントを使用して標準リクエストを送信し、システム応答の品質と正確さを評価する必要があります。侵入テスト、インジェクションテスト、ユーザー認証テスト、パラメーター改ざんテストなど、定期的にAPIセキュリティー・テストを実施して、脆弱性を特定して対処することで、攻撃者が脆弱性を悪用する前に脆弱性を修正することができます。
  8. APIの監視とパッチ適用:他のソフトウェア・アプリケーションやシステムと同様に、APIセキュリティーを維持するには、定期的な監視と保守を行うことが不可欠です。異常なネットワーク・アクティビティーに常に注意し、最新のセキュリティー・パッチ、バグ修正、新機能でAPIを更新してください。監視には、Open Web Application Security Project(OWASP)のTop 10リストに含まれるような、一般的なAPIの脆弱性に対する認識と準備も含める必要があります。
  9. 監査とロギング:包括的な最新の監査ログを保持し、頻繁に確認することで、組織はデータ・アクセスと使用状況を追跡し、すべてのAPIリクエストを記録できます。APIのアクティビティーを常に把握するのは容易ではない場合がありますが、監査とロギングの手順を実装することで、データ侵害やコンプライアンス違反が生じた後に、チームが手順を再追跡する際の時間を節約できます。また、通常時のネットワーク動作の記録により、異常の発見が容易になります。
  10. クォータとスロットリング:レート制限と同様に、スロットリングはシステムが受信するリクエストの数を制限します。ただし、スロットルはユーザーまたはクライアント・レベルで動作するのではなく、サーバー/ネットワーク・レベルで動作します。スロットル制限とクォータは、APIの呼び出しまたはメッセージを1秒あたりの特定の数に制限することで、APIバックエンド・システムの帯域幅を確保します。クォータにかかわらず、量の増加は乱用やプログラミング・エラーを示している可能性があるため、システム・コールの量を経時的に評価することが重要です。
  11. バージョン管理とドキュメント化:APIソフトウェアのすべての新しいバージョンには、以前のバージョンのセキュリティー・ギャップを補うセキュリティー・アップデートとバグ修正が付属しています。また、ドキュメント化を適切に実践しなかった場合、ユーザーが誤って古いバージョンや脆弱なバージョンのAPIを展開してしまう可能性があります。ドキュメントは、明確に記載された入力パラメーター、予想される応答、セキュリティー要件など、一貫したものである必要があります。

AIとAPIのセキュリティー

既存のAPIセキュリティー対策の中において、AIはAPIを強化する、潜在的に強力なツールとして登場しました。たとえば、企業はAPIエコシステムにおける異常検出にAIを活用できます。通常のAPIの動作に対するベースラインを確立することで、AIを活用してシステムの逸脱(異常なアクセス・パターンや高頻度のリクエストなど)を特定し、潜在的な脅威にフラグを立て、攻撃に即座に対応できます。

AIテクノロジーは、脅威モデリングの自動化も可能にします。AIは、過去のAPIデータに基づいて脅威モデルを構築し、悪意のある攻撃者が悪用する前に脆弱性や脅威を予測できます。組織が膨大な数の認証ベースの攻撃に対処している場合、AIを活用して高度なユーザー認証方法(生体認証など)を導入できるため、攻撃者は不正アクセスを行うのがより困難になります。

さらに、AIを活用したツールを利用することでAPIセキュリティー・テスト・プロトコルを自動化でき、手動でテストするよりも効率的かつ効果的にセキュリティー・ギャップやリスクを特定できます。そして、APIエコシステムが成長するにつれて、AIベースのセキュリティー・プロトコルも成長します。AIにより、多数のAPIを同時に監視および保護できるため、APIセキュリティーがAPI自体と同じくらいスケーラブルになります。

IBMでAPIセキュリティーの最新情報を常に把握

APIセキュリティーの重要性を強調しすぎることはありません。デジタル・トランスフォーメーションの時代がさらに進むにつれて、APIへの依存はさらに高まる一方で、セキュリティー上の脅威や悪意のある攻撃者も同じように進化します。IBM API ConnectなどのAPI管理ツールを導入することで、APIがライフサイクル全体にわたって管理され、安全で、コンプライアンスに準拠していることを保証できます。

APIのセキュリティー保護は、一度限りのタスクではありません。そうではなく、警戒心、巧妙さ、新しいテクノロジーやソリューションに対するオープンさが求められる継続的でダイナミックなプロセスと見なすべきです。従来のAPIセキュリティー手法と、Noname Advanced API Security for IBMなどの新しいAIベースのアプローチを組み合わせることで、ITリソースを最大限安全に保ち、消費者と企業の両方を保護できます。

 

著者

Chrystal R. China

Writer, automation & ITOps

Your Current Region is:
Japan (Japanese)

You appear to be visiting from United States. Would you like to switch to your local site for regional products, pricing and content?