ブログ | NGINX

API セキュリティに不可欠なツールとベスト プラクティスを使用して API 攻撃を防ぐ

NGINX-F5 水平黒タイプ RGB の一部

近年、API の普及により、企業の運営方法が大きく変化しました。 API を使用すると、さまざまなアプリケーションが相互に通信してデータを交換できるようになり、より効率的で効果的なビジネス プロセスとソフトウェア開発が可能になります。

しかし、API の使用が増えると、適切な監視や管理が行われないまま、分散したチームやアーキテクチャに API が作成、展開されるAPI スプロール化のリスクが生じます。 各 API は、攻撃者が機密データやシステムに不正にアクセスするための潜在的なエントリ ポイントとなるため、企業にとって新たなセキュリティ リスクが生じる可能性があります。

APIファーストのソフトウェア開発の台頭

API の拡散の主な要因の 1 つは、マイクロサービスの急増です。 マイクロサービス アーキテクチャは、大規模なアプリケーションを、API を介して相互に通信する小規模な個別のアプリケーションに分割します。これにより、複雑なアプリケーションが個別の部分に分割され、個々のチームが管理し、トラフィックの需要に合わせて互いに独立して拡張できるようになります。

マイクロサービスは、柔軟性とスケーラビリティの向上など、開発者にとって多くの利点を提供します。 ただし、これらの利点には、複雑さが増すなどのトレードオフが伴います。 その結果、多くの企業がマイクロサービスの構築に API ファーストのアプローチを採用しています。 この戦略では、アプリケーションとサービスの設計プロセスは、リクエストと応答の形式に至るまで、API の動作を概説する API 契約から始まります。

APIライフサイクル全体にセキュリティを統合

APIの増加に伴い攻撃対象領域が拡大

API ファーストのソフトウェア開発のメリットは、特に設計と展開時に API セキュリティを真剣に考慮しないと、簡単に損なわれる可能性があります。 最も基本的なレベルでは、API が増えると攻撃対象領域も増えます。 API は現代のソフトウェア開発において重要な役割を果たしていますが、同時に悪用も容易になっています。

2018 年、ガートナーは、2022 年までに API がアプリケーションに対する最も一般的な攻撃ベクトルになると予測しました。 むしろ、それほどの遅延を予測したのは楽観的すぎた。 大手企業で数百万人のユーザーに影響を与えた注目度の高い API 侵害はすでに発生しており、さらに頻繁に発生しています。

  • 2018年、Facebookは、攻撃者が同社の開発者APIを悪用し、名前、性別、出身地など、ユーザーのプロフィールページにリンクされた個人識別情報(PII)を入手したため、少なくとも5,000万人のユーザーのデータが危険にさらされていると報告した。
  • 2019年、LinkedInは、ハッカーがAPIを悪用してデータスクレイピング技術を使用し、 7億人を超えるユーザーの情報を収集し、ダークウェブで販売していたと報告しました。
  • 2021 年、 Peloton が管理する API により、悪意のある人物が年齢、性別、都市、体重、生年月日などの個人情報 (PII) を要求することができました。
  • 2022年、Twitterは、電話番号やメールアドレスを含む540万件のユーザーアカウントのデータが漏洩したAPI侵害に対処しました。
  • 2023年、T-MobileはAPI侵害により、名前、メールアドレス、住所、電話番号、生年月日などを含む3,700万人の顧客データが盗まれたと報告した。

こうした攻撃の幅広さと多様性は、セキュリティおよびエンジニアリングのリーダーが直面している課題を明らかにしています。 一部の攻撃では、インターネットに誤って公開された API が悪用されます。 その他には、コード リポジトリで誤って公開された API キーやその他の認証方法を使用するものもあります。 あるいは、攻撃者は VPN エクスプロイトを通じて内部環境にアクセスし、内部 API を使用してデータを盗み出します。

API攻撃を阻止するには適切な戦略とツールが必要

API の脅威から保護する最も一般的な方法は、従来の Web アプリケーション セキュリティ戦略と最新の API セキュリティ技術を組み合わせることです。 従来の戦略では、今日の多様な API の脅威に対処できないことがよくあります。 自動 API 検出や API コントラスト テストなどの最新技術は、これらのギャップを埋めようとします。

企業にとって、シールド ライト(展開されたアプリと API を保護するためにグローバル コントロールとセキュリティ ポリシーを実装) とシフト レフト(アプリと API が実稼働状態になる前に脆弱性を排除するためにコードにセキュリティを組み込む) が重要です。 どちらの戦略も単独では包括的な API セキュリティを提供することはできないため、侵害を防ぐ鍵となるのは、次の 3 つのカテゴリの API セキュリティ プラクティスにまたがる総合的なアプローチです。

  • APIセキュリティ体制管理 – 公開されているデータのタイプやリクエスト方法など、API コレクションのセキュリティ状態を可視化します。
  • APIセキュリティテスト– ライフサイクルの重要なポイントでAPIのセキュリティを評価し、潜在的な脆弱性を特定します。
  • APIランタイム保護 – 操作中に悪意のあるリクエストがAPIに到達するのを検出して防止します

エンドツーエンドのAPIセキュリティ

適切な戦略と適切なツールを組み合わせることで、組織は API を攻撃からより適切に保護し、ソフトウェア システムのセキュリティを確保できます。 プラットフォーム エンジニアリング リーダーが API をライフサイクル全体にわたって保護するために実装する必要がある重要な機能とツールを見てみましょう。

API セキュリティ態勢管理とは何ですか?

API セキュリティ ポスチャ管理により、API によって公開される数、種類、場所、データの可視性が向上します。 この情報は、各 API に関連するリスクを理解し、適切な保護措置を講じるのに役立ちます。

主な機能:

  • 自動API検出– 環境に展開されたAPIを包括的に可視化するための自動かつ継続的なAPI検出
  • API の特性評価– プロトコルまたはアーキテクチャ (REST、GraphQL、SOAP など) 別に API を識別して分類し、機密データ フローをマッピングしてリスクの露出を把握します。
  • API カタログ– ソフトウェア チームが既存の API を再利用できるように API の完全なリストを維持し、SecOps チームがセキュリティ体制の完全なビューを構築できるようにします。

代表的な技術:

  • Web アプリケーションと API 保護 (WAAP) – API インフラストラクチャにおける特権的なグローバル ポジションを活用して、環境に出入りするトラフィックを分析し、API を識別し、リスク エクスポージャーのビューを構築します。
  • インラインまたはエージェントベースの検出- 既存のAPIゲートウェイ、ロードバランサー、またはKubernetes Ingressコントローラーにエージェントを接続して、APIトラフィックをミラーリングおよび分析します。
  • アウトオブバンドまたはエージェントレス検出– トラフィックミラーリングまたはエクスポートされたログとメトリックを使用して API トラフィックを分析します。通常、他のテクノロジーよりも API と脅威の可視性が低くなります。
  • ドメインクローラー– APIセキュリティプロバイダーは、セキュリティポリシーを適用できるAPIゲートウェイとロードバランサーをトラフィックがバイパスできるようにしている公開されたAPIエンドポイントをドメインで調査するクローラーを提供する場合があります。

アーキテクチャ内のすべての API を確実に見つけられるテクノロジーは存在しないことを念頭に置くことが重要です。 ほとんどの検出手法は、既存のロードバランサ、API ゲートウェイ、および Ingress コントローラによって提供される可視性に依存しており、これらのアーキテクチャ コンポーネントをバイパスする誤った構成を検出できない可能性があります。

最終的には、コードレビューと API ファーストのベスト プラクティスに従うことで、より効果的な長期的な予防策が実現します。 しかし、自動化された API 検出ツールは、セキュリティ体制のビューを迅速に構築し、管理されずに保護されない可能性のある API を検出するために依然として役立ちます。

API セキュリティ テストとは何ですか?

API セキュリティ態勢管理は企業全体のセキュリティに関係しますが、API セキュリティ テストは個々の API に大きく関係します。 最も基本的な API セキュリティ テストは、API ランタイム (API の背後で実行されるアプリケーション) をテストすることで、脆弱性とそれに関連するリスクを特定して防止するのに役立ちます。認証、承認、レート制限、暗号化の条件など、基本的なセキュリティ要件が満たされていることを確認できます。

主な機能:

  • API 契約テスト- API の OpenAPI 仕様を使用して、クライアント要求とサーバー応答を比較することにより、設計どおりに実行されていることを確認します。 API が展開される前に、その API が脆弱であるかどうかを検出するために「インサイド アウト」アプローチを使用します。
  • 動的アプリケーション セキュリティ テスト (DAST) – API ランタイムに対する攻撃をシミュレートして脆弱性を見つけ、悪意のあるユーザーのように「外側から内側へ」API を評価します。

代表的な技術:

  • API 契約テスト ソフトウェア– API 要求と応答をセグメント化して、クライアントとサーバーの動作が API 契約に準拠しているかどうかを確認するテストを実行するための専用ツール
  • アプリケーションセキュリティテスト(AST)ソフトウェア– 攻撃をシミュレートして、APIを含むアプリケーションを分析およびテストするツール

オープンソースの契約テスト ツールと、専用の API セキュリティ ベンダーによる商用製品の両方が存在します。 アプリケーション セキュリティ テスト (AST) 市場は数十年前から存在しており、API 専用のスキャンおよびテスト ツールを提供するベンダーが増えています。

API ランタイム保護とは何ですか?

API ランタイム保護とは、API がリクエストを操作および管理する際にセキュリティを確保することを指します。 API 自体のコードだけでなく、プラットフォーム インフラストラクチャへのセキュリティの組み込みも優先されます。 目的は、展開後に発生する悪意のある API リクエストを識別して防止することです。
主な機能:

  • アクセス制御– 認証 (authN) および承認 (authZ) ポリシーの適用
  • ネットワークセキュリティ– ネットワーク上の通信を暗号化して保護する
  • アプリケーション保護– 悪意のあるAPIリクエストや攻撃からAPIランタイムを保護する
  • リアルタイム監視– API インフラストラクチャ全体の攻撃を視覚化し、追跡し、軽減します。

代表的な技術:

  • APIゲートウェイ– 認証、承認、レート制限、アクセス制御リスト、暗号化などのセキュリティポリシーを適用および実施します。
  • ウェブアプリケーションファイアウォール(WAF) – 攻撃シグネチャに基づいてトラフィックをアクティブに監視およびフィルタリングすることで、高度なレイヤー7攻撃からAPIとアプリケーションを保護します。
  • アイデンティティプロバイダ(IdP) – ユーザーIDを保存および検証するサービス。通常はシングルサインオン(SSO)プロバイダと連携してユーザーを認証します。

すべての API ゲートウェイと WAF/WAAP が同じように作成されるわけではありません。 一部のサービス、特にクラウドやその他のプラットフォームで利用できるネイティブ ソリューションには、マルチクラウドやハイブリッド アーキテクチャに必要なグローバルな可視性と標準化が欠けています。

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

API のセキュリティ保護の重要性を考えると、組織的な方法で API セキュリティに取り組むことが不可欠です。 プラットフォーム エンジニアリング リーダーとセキュリティ リーダーは協力して、API ライフサイクル全体のセキュリティ要件に対処する必要があります。 先ほど説明したように、これはおおよそ次の 3 つの主な実践領域に該当します。 API セキュリティ態勢管理、API セキュリティ テスト、および API ランタイム保護。 つまり、API がいくつあるか、API のエラーをテストする方法、コードにセキュリティを組み込む方法を把握することに重点を置く必要があります。

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

結論

すべてのサイバーセキュリティと同様に、API セキュリティは、ネットワーク エンジニア、セキュリティ運用リーダー、プラットフォーム エンジニアリング リーダー、ソフトウェア開発エンジニアなど、多くの関係者とのコラボレーションを必要とする継続的なプロセスです。 幸いなことに、API を保護する方法はそれほど難しいことではありません。

ほとんどの組織では、クロスサイト スクリプティング、インジェクション、分散型サービス拒否など、API を標的とする可能性のあるよく知られた攻撃に対抗するための対策をすでに講じています。 そして、上で説明したベストプラクティスの多くは、経験豊富なセキュリティ専門家には非常によく知られているはずです。 組織が運用する API の数に関係なく、目標は強固な API セキュリティ ポリシーを確立し、長期にわたって積極的に管理することです。

NGINX API Connectivity Stack の 30 日間無料トライアルを開始してください。これには、API を管理、統制、保護するための F5 NGINX Management Suite API Connectivity Manager、API ゲートウェイとしての F5 NGINX Plus、高度な API セキュリティのための F5 NGINX App Protect WAF および DoS が含まれます。

追加リソース


「このブログ投稿には、入手できなくなった製品やサポートされなくなった製品が参照されている場合があります。 利用可能な F5 NGINX 製品およびソリューションに関する最新情報については、 NGINX 製品ファミリーをご覧ください。 NGINX は現在 F5 の一部です。 以前の NGINX.com リンクはすべて、F5.com の同様の NGINX コンテンツにリダイレクトされます。"