包括的なAPIセキュリティ戦略の6つの原則
エグゼクティブサマリー
UXがアプリケーションの顔である一方、APIは組織を支える基盤です。多くの企業に共通する誤りは、APIを単なるアプリケーション上のインターフェース層と捉えることです。実際には、APIはアプリケーションとサードパーティのエコシステムをつなぐ役割を果たしており、これらはハイブリッドクラウドやマルチクラウドのアーキテクチャ全体にますます分散しています。APIには、脆弱性の悪用、ビジネスロジックの不正利用、設定ミスなど、Webアプリケーションと共通するリスクがある一方、ほかにも重大なリスクがあります。たとえば、脆弱な認証・認可制御を回避する攻撃、不適切なインベントリ管理、サードパーティAPIの安全でない利用などです。さらに、複雑なソフトウェアサプライチェーンや自動化されたCI/CDパイプラインを通じてデジタルビジネスが急速に進むことで、把握、監視、保護されていないAPIが生じ、リスクが一層高まります。具体的には、セキュリティチームが把握していないシャドーAPIや、開発チームが保守していないゾンビAPIなどが該当します。本記事では、APIセキュリティに包括的かつバランスよく取り組むための6つの原則を解説します。
1. APIとエンドポイントを把握する
現時点で環境内にあるすべてのAPIエンドポイントを特定しようとしても、把握しきれない可能性は十分にあります。残念ながら、悪意のある攻撃者も同様に把握できないとは限りません。エンドポイントが存在すれば、侵入経路として利用されたり、重要な業務機能を妨害する手段として悪用されたりする可能性があります。
さらに、APIを公開すると、多数の顧客、パートナー、アプリからクエリを受け取ることになります。一方で、組織が侵害される可能性も生じるため、APIを把握して監視することが極めて重要です。APIによって露呈する可能性があり、侵害やダウンタイムにつながり得る脆弱性や潜在的な脅威から組織を保護するには、さまざまなリスク管理策を検討する必要があります。
あらゆる防御担当者にとって、APIディスカバリはAPIを保護するための重要な第一歩です。言うまでもありませんが、「見えないものは保護できない」という言葉ほど的を射たものはありません。完全なAPIインベントリは、APIセキュリティ態勢を構築または改善するための出発点となり、APIの脅威対象領域全体の把握と定量化に役立ちます。また、以下の基準となります。
- 可視性:利用可能なすべてのAPIをカタログ化することで、脆弱性、機密データの露出、未承認または忘れられたエンドポイントなど、APIの脅威状況をより的確に把握できます。
- バージョン管理:インベントリを作成すると、バージョン管理に役立ちます。APIの履歴と各バージョンを把握することで、古いバージョンや脆弱なバージョンを廃止するか、適切に保護できます。
- 監視:一元化された完全なAPIインベントリにより、APIの使用状況をより適切に監視・記録できるため、不審なアクティビティ(異常)や潜在的なセキュリティイベントの検知と対応が容易になります。さらに、インシデントが発生した場合には、明確なインベントリが対応に役立ちます。
- 一貫したセキュリティ制御とポリシー:完全なAPIインベントリを含む可視性を確保することで、API脅威サーフェス全体にわたって制御とポリシーを効果的に実装できます。
2. イノベーションとセキュリティのバランスを取る
これは昔からあるジレンマです。一方で、大胆に限界を押し広げ、競合他社にはできないことに挑む姿勢は、ビジネスを成功に導くうえで欠かせません。しかし他方で、セキュリティの確保と最新のイノベーションは、必ずしも両立するとは限りません。
バランスを取るための鍵は、次の3つです。
- 適切なセキュリティ制御を設定できるよう、APIの種類ごとにAPIガバナンス戦略を策定します。
- APIがどこにデプロイされていても一貫して適用できるAPIセキュリティポリシーを実装します。
- AIを活用して、APIの脆弱性を突いたりAPIを悪用したりしようとする新たな脅威、異常な挙動、悪意のあるユーザーに対応し、セキュリティチームの負担を軽減します。
業界によって適用されるコンプライアンス基準は異なり、より厳格なセキュリティが求められる場合もあります。いずれの場合も、相次ぐさまざまな脅威に対処できる、堅牢なAPIセキュリティ体制が不可欠です。
“外部クライアントから内部のバックエンドインフラストラクチャに至るまで、アーキテクチャの各部分に固有の保護対策を講じる必要があります。”
3. 開発ライフサイクル全体でリスクを管理
APIセキュリティテストは、一度実施すれば終わりではありません。デプロイ前、デプロイ中、デプロイ後のテストが不可欠です。開発の各段階にテストを組み込むことで、侵害が発生する前に弱点や脆弱性を特定できる機会が大幅に増えます。セキュリティ専用のテストツールは有用ですが、セキュリティユースケースのモデリングも忘れずに行ってください。
セキュリティは、アプリケーション自体と同じ継続的なライフサイクルで運用する必要があります。つまり、CI/CDパイプライン、サービスプロビジョニング、イベント監視の各エコシステムに緊密に統合することが求められます。
4. バックエンドからエンドユーザーまで多層的に保護
外部クライアントから内部のバックエンドインフラストラクチャに至るまで、アーキテクチャの各部分に固有の保護対策を講じる必要があります。
さらに、デフォルト拒否アーキテクチャ、強力な暗号化、最小権限アクセスといった、実績のあるセキュリティ対策も引き続き有効です。
APIレイヤーでの保護を検討する際は、まずAPIを内部APIと外部APIの2つに分類すると分かりやすくなります。内部APIでは、APIプロバイダーがアプリチームとセキュリティ対策を調整できるため、比較的容易にセキュリティを確保できます。一方、外部APIではリスクの評価方法が異なります。次の3つの役割を果たすAPIレベルの保護を実装できます(また、実装することが推奨されます)。
- リアルタイムの脅威インテリジェンスと、セキュリティを強化したセッショントークンなどのアクセス制御メカニズムにより、セキュリティ侵害が発生する機会を減らします。
- 正常および異常なトラフィックパターンのベースラインを確立します。
- APIの使用を制限し、承認済みのアグリゲーターやサードパーティ統合をきめ細かく制御します。
本番環境では、APIの乱立によってトラフィックが膨大になるため、異常な挙動や悪意のあるユーザーの検出にAIを活用する必要があります。
5. 適切な戦略とツールを用意する
1つの食品だけで必要な栄養をすべて摂取できないのと同様に、単一のセキュリティ制御だけでAPIを完全に保護することはできません。代わりに、アプリとAPIを包括的に保護するセキュリティアーキテクチャの一環として、多様なツールからなるバランスの取れたエコシステムを活用する戦略を策定する必要があります。これには検知とインラインでのポリシー適用が含まれ、APIの動作を制御し、望ましくないアクティビティや悪意のあるアクティビティを抑制するとともに、機密データの漏えいを防止できます。
これには、以下のような機能とツールの組み合わせが含まれる場合があります。
- APIゲートウェイ
- アプリケーションセキュリティテスト(SASTおよびDAST)
- Webアプリケーションファイアウォール(WAF)
- データ損失防止(DLP)
- ボット管理
- DDoS緩和
APIゲートウェイは、堅牢なインベントリ機能と管理機能を提供しますが、セキュリティ機能はレート制限などの基本的なものにとどまり、高度な攻撃者を阻止することはできません。さらに、APIの急増により、APIゲートウェイを含むツールの乱立が進んでいます。
アプリケーションセキュリティテストは常に重要ですが、開発中に堅牢なアプリケーションセキュリティを確保するシフトレフト手法に加え、シールドライトの実践、すなわち本番環境のAPIエンドポイントを保護する取り組みも必要です。
Webアプリケーションファイアウォールは、シグネチャを使用してアプリケーションの脆弱性を悪用する攻撃を緩和するうえで、重要な暫定対策となります。APIも、それが支えるアプリケーションと同様に、意図しないコマンドの実行やデータへのアクセスを試みるインジェクション攻撃を受ける可能性があります。しかし、WAFには通常、未知のAPI(シャドーAPIやゾンビAPI)や、APIの動作異常、ビジネスロジックが悪用される可能性などの問題を継続的に検出するために必要な動的検出機能がありません。
機密データの検出とデータ損失防止機能は、個人を特定できる情報(PII)や財務情報などの重要な機密データを検出してマスキングすることで、APIと、APIがアクセスおよび送信するデータの保護に役立ちます。これにより、組織はデータ保護ルールを作成して、データ送信を制限またはマスキングし、APIエンドポイントによるデータの公開を完全にブロックできるため、APIを介したデータ漏えいの防止に役立ちます。
Bot管理では、APIトラフィックは通常マシン間でやり取りされ、APIベースのシステムにアクセスするユーザーインターフェース内を除いて人が直接操作することはないため、APIに多要素認証(MFA)やCAPTCHAなどの一般的なセキュリティ制御を適用することはできません。
従来のDDoS攻撃対策は、ネットワーク攻撃や大規模なトラフィックによる攻撃に重点を置いています。一方、APIは、重要なビジネスロジックを悪用する、標的を絞ったレイヤー7攻撃を受ける可能性があります。いずれも最終的には、パフォーマンスの低下や、場合によってはダウンタイムにつながります。
動的なAPI検出、スキーマ適用(ポジティブセキュリティ)、アクセス制御、機械学習に基づく自動異常検知と保護は、APIを防御するうえでエコシステムに不可欠な機能となっています。APIプロトコルに精通し、APIの適切な動作を適用するとともに、API保護ルールを作成できるツールを1つまたは複数導入することが重要です。組織には、APIとその動作を個別に制御するカスタムルールを作成できることが求められます。これには、許可リストと拒否リストによる制御、レート制限、Geo-IPフィルタリングのほか、機密データのマスキングや、特定のAPIエンドポイントまたはグループに対する照合条件およびリクエスト制約条件など、APIリクエストを処理するためのカスタムルールの作成が含まれます。
6. ハイブリッドクラウドとマルチクラウドのセキュリティ
APIの急増により、ハイブリッドおよびマルチクラウド環境全体で、維持が困難なほどアーキテクチャが拡散しています。多くのセキュリティツールは、データセンター、プライベート/パブリッククラウド、エッジなど、複数のアーキテクチャにわたって一貫したセキュリティを提供できないため、APIの拡散がAPIゲートウェイの拡散にもつながっています。次に発生し得る重大な脆弱性を緩和し、異なるクラウドプロバイダーにエンドポイントが分散することで生じ得る設定ミスを防ぐには、デジタルエコシステム全体のAPIトラフィックを可視化し、制御することが不可欠です。
あらゆる場所のAPIを保護
APIは、データセンター、クラウド、エッジなど、あらゆる場所に存在し、Webアプリやモバイルアプリ、その関連するサードパーティ統合の背後で相互接続されています。APIはどこに存在していても保護する必要があり、セキュリティ対策を止めることはできません。そのため、APIの背後にある重要なビジネスロジックを継続的に防御し、APIで接続されたデジタル基盤全体を一貫して保護するソリューションを戦略に組み込んでください。これにより、運用を効率化し、確信を持ってイノベーションを推進できます。

