2022年末、T-MobileはAPIの脆弱性を悪用されたことで3,700万件の顧客アカウント情報が流出するデータ漏洩を経験しました。情報漏えいなどの影響を受け、T-MobileはFCC(連邦通信委員会)との和解金として3,150万ドルを支払うことになりました。現在、多くの企業がAPIを狙った攻撃を受けており、アカウント乗っ取りやクレジットカード情報の窃盗を通じた不正被害につながっています。
ソフトウェア開発におけるAPI(アプリケーション・プログラミング・インターフェース)の活用は急速に増加しています。このトレンドは、イノベーションの加速に貢献していますが、企業にとっては新たなリスクを生み出す存在ともなっています。
特に生成AIに使われる大規模言語モデル(LLM)の統合を含め、新機能やデータソースを簡単に追加できる点でAPIが使用されることが増えています。APIコラボレーションプラットフォームのプロバイダーであるPostmanのレポートによると、2024年は調査回答者の74%が「APIファースト」の方針を採用しており、これは前年の66%増となっています。ガートナーの調査では、調査回答者の80%以上が社内でAPIを使用しており、70%強がSaaSベンダーが提供するAPIなどのサードパーティAPIも使用していることが明らかになっています。
残念ながら、APIを使用してソフトウェアを新しい機能やデータソースに接続すると、組織の攻撃対象領域も拡大します。APIは、ゼロデイエクスプロイト、分散型サービス妨害(DDoS)攻撃、認証の悪用など、さまざまな攻撃の対象となっています。
最も重大なAPIリスクとは何でしょうか?組織は、APIの利便性を最大限活かしながら、どのようにリスクに対処すべきでしょうか?
APIは、攻撃者にとって格好の標的です。多くの攻撃者は、企業が新しいAPIを急速に導入する一方で、十分なセキュリティ対策を講じていないことを見抜いています。
攻撃者は、既にAPIの脆弱性を利用する複数の方法を見つけており、その中でも主要なAPIセキュリティリスクの1つである承認と認証の脆弱性が多く利用されています。これらのリスクは、WebアプリやモバイルアプリよりもAPIの方が重大です。APIは、Webアプリやモバイルアプリのようにハードコーディングしたり平文で残したりすることができない、機密性の高い動的な情報を運ぶことができます。適切な認証がない、あるいは認可ポリシーが緩すぎるAPIは、オブジェクトレベル認可の不備(Broken Object Level Authorization, BOLA)攻撃に対して脆弱になり、不正なデータアクセスを許してしまう可能性があります。
その他にも、リクエスト数に制限をかけていないAPIに対して膨大な数のリクエストを送信してDDoS攻撃を仕掛ける攻撃者もいます。攻撃者がBOLA、DDoS、その他の攻撃に成功すると、クレジットカ ード情報、医療情報、その他の個人を特定できる情報(PII)など、APIを通過するさまざまなユーザーデータにアクセスできるようになる可能性があります。
多くの企業は、APIを保護するために従来のWAF(Webアプリケーションファイアウォール)ルールを適用しています。しかし、これらのソリューションが用いる「ブラックリスト」型のセキュリティモデルは既知の脅威のみをブロックするため、多くの最新のAPI固有の攻撃を捕捉するには不十分です。また、多くの企業は複数のポイントソリューションを組み合わせてAPIセキュリティを強化しようとしますが、このアプローチは管理の複雑化を招く一方で、API全体を保護するには不十分です。
脆弱性を排除し、あらゆるAPI特有の攻撃を防ぐには、多面的な企業API戦略が必要です。 まず、組織内で使用しているAPIを把握し、脆弱性を特定し、不正アクセスを遮断し、データを保護しながら、管理を効率化するためのベストプラクティスを採用することが求められます。
可視性の向上:APIの存在を把握できていなければ、適切な対策を講じることはできません。しかし、多くのIT・セキュリティチームは、組織内で実 際に使われているAPIを正確に把握できていません。API呼び出しとHTTPリクエストの最近の分析によると、公開されているAPIエンドポイントは企業が把握している数より33%も多いことがわかりました。
APIを保護する第一歩は、APIを発見し、把握することです。内部およびサードパーティのAPIのインベントリ化により、「シャドーAPI」の使用を排除し、統一されたAPIセキュリティ戦略を構築することができます。
同時に、APIの発見により既存のビルド済みの機能を発見することで、開発効率を向上させることもできます。APIのカタログを作成すれば、開発者が必要な機能を簡単に見つけることができるようになります。すでにある機能を再利用できれば、不要なコードを書く手間を省くことができます。
機械学習を活用する:APIの発見は手作業で行う必要はありません。機械学習を使用するサービスでは、他の方法では見逃してしまう可能性のあるAPIトラフィックをスキャンすることができます。
機械学習はAPIの保護を改善することもできます。特に、機械学習ベースのサービスは、帯域幅消費型技術を検出するツールを回避するよう設計されたLow & Slow(少しずつ時間をかけた)攻撃も検出できます。
APIのリスクを特定する:APIを把握できたら、次はそれぞれのリスクを特定する必要があります。しかし、APIセキュリティ対策を始めたばかりの組織にとっては、リスクの特定や対処は途方もない作業のように感じられるかもしれません。適切なAPIセキュリティツールを実装することで、認証設定のミスや機密データ漏洩のリスク、BOLA攻撃の脆弱性などをピンポイントで発見することができます。その上で、推奨される対策やポリシーを適用すれば、セキュリティを向上させることができます。
ホワイトリスト型のセキュリティモデルを構築する:APIをより安全に保護するためには、組織は既知の脅威のみをブロックするブラックリスト型のセキュリティモデルから移行する必要があります。「ホワイトリスト」型のセキュリティモデルを実装することで、より多くの悪意のあるトラフィックを捕捉することができます。例えば、OpenAPIスキーマに準拠するトラフィックのみを受け入れ、他のリクエストはすべてブロックすることができます。
データ損失防止の実装:API戦略には、API経由で機密データが漏洩するリスクへの対策が含まれている必要があります。事前予防的なアプローチを取るのが最善です。常にレスポンスデータのペイロードをスキャンし、機密情報が流出しないように監視することで、データ流出の試みを特定し、未然に防ぐことができます。
APIツールの統合:複数のAPIの採用は、開発者にとってアプリケーションを迅速に拡張できる有効な方法ですが、その一方で、ただでさえ複雑なIT環境を一層複雑化することにもなります。開発、パフォーマンス向上、セキュリティ強化のためのツールを統合することで、可視性を高め、IT環境を再び自分の手でコントロールできるようになります。
コネクティビティクラウドを活用すれば、APIの発見、アプリ開発、パフォーマンス最適化、セキュリティ対策を一つの統合プラットフォームで管理できるようになり、複数のポイントソリューションを使い分ける必要がなくなります。また、統合プラットフォームは開発プロセスにセキュリティを組み込みやすいため、より強力なDevSecOpsワークフローを確立することができ、開発プロセスの早い段階で潜在的なセキュリティ問題に対処し、新機能の迅速な提供を妨げる要因を取り除くことができます。
企業がAPIの採用を優先している場合でも、革新的な開発を加速するためにAPIの採用を慎重に取捨選択している場合でも、APIの保護は最優先すべき課題です。攻撃者はAPIを狙いやすい標的と見なしており、その脆弱性を悪用しようとしています。企業として適切なAPIセキュリティ戦略を構築すれば、複数のポイントソリューションに起因する管理の複雑さを増やすことなく、こうした脆弱性に対応することができます。
この記事は、技術関連の意思決定者に影響を及ぼす最新のトレンドとトピックについてお伝えするシリーズの一環です。
APIの保護について詳しくは、電子書籍『CISOのためのAPIセキュリティガイド』をご覧ください。
この記事では、以下のことがわかるようになります。
イノベーションを加速する重要なAPIに存在する主要な脆弱性
既存のセキュリティ戦略の限界
APIセキュリティのベストプラクティスによる脆弱性を排除と、脅威のより適切な検出方法