theNet by CLOUDFLARE

APIの普及とともに攻撃対象領域が拡大

APIの急速な普及がセキュリティリスクを生む

アプリケーションプログラミングインターフェイス(API)は、さまざまなソフトウェア間の相互作用を可能にし、定義するコンピューティングインターフェイスです。多くの日常的なタスクがAPIのおかげで成り立っています。たとえば、ソーシャルプラットフォームでのメディアの共有、オンライン支払いの処理、Webサイト分析データの集計などがそうです。クラウドコンピューティングにより、企業はAPIを使用してグローバルインフラストラクチャを簡単にデプロイできます。

現在、ソフトウェアの大半がAPIであるかAPIを使用しており、過去4~5年でAPIは飛躍的に増加しています。たとえば、API開発のコラボレーションプラットフォームであるPostmanでは、APIフォルダー数が2016年の50万未満から 2021年に入る頃には3500万近くまで急増しました。

APIの人気は急騰していますが、関連するセキュリティ対策は遅れています。門戸が広く開放されてしまっている状態の今、さまざまな種類の重大な脆弱性が表面化しています。Gartnerによると、セキュリティ対策が追いつかないまま爆発的に増加しているAPIは、セキュリティにおける過去最大の脆弱性になると予想されています。


API優先開発の台頭

API増加の主因の1つは、2013年から普及し始めたマイクロサービスの急増です。マイクロサービスアーキテクチャは、APIを通じてやり取りする小規模の個別アプリケーションを構築します。この方法を使えば、複雑なタスクを細分化し、各パーツを個別に構築・保守することができます。

マイクロサービスアーキテクチャの世界市場は、2018年には20億7000万ドルと評価されていましたが、2026年には80億7000万ドル(2019年~2026年の年平均成長率は18.6%)に達すると予想されています。マイクロサービスは、柔軟性、短期間の開発サイクル、優れた拡張性により、広く採用されています。

たとえば、Netflixは需要に対応するため、一元化されたモノリシックデータセンターからクラウドベースのマイクロサービスアーキテクチャに移行しました。その結果、開発者がコンテンツを特定の地域に合わせてカスタマイズできるようになるなど、カスタマーエクスペリエンスを継続的に向上させるための自由度をかなり高めました。

現在のAPI優先の世界をもたらしたトレンドを分析することにより、脆弱性がどこにあるのかのヒントが得られます。APIはどこにでもあり、増加し続けています。それに伴い、リスクも増加し続けています。


API - セキュリティの重大な脆弱性が新たに発生

API関連の開発とアクティビティがさかんに行われるようになっても、アプリケーションのセキュリティにつながるわけではありません。Gartnerによれば、Web対応アプリケーションの90%において、露出したAPIの攻撃対象領域はユーザーインターフェイス(UI)より広くなっています。Gartnerの予想では、これまで頻度の低い攻撃ベクトルであったAPIの悪用が、2022年には最も頻度の高い攻撃ベクトルになります。

APIの脆弱性は、さまざまな領域でみつけることができます。たとえば、エンドポイント(デバイス、サーバー、仮想環境など)、データ漏えい、サービス拒否 (DoS)、認証エラー、セキュリティシステムの設定ミスなどです。どんな組織でも、数千のAPIが関わる資産が大規模な攻撃対象領域となることを考えると、1つの企業でもAPIの脆弱性が非常に広範な範囲にわたって影響を与える可能性があることがわかります。

その例として、データ損失、資金の盗難、生産性低下、知的財産の盗難、個人および財務データの盗難、詐欺、業務の中断、破損したデータとシステムの復元や削除にかかるコストなどを挙げることができます。APIの侵害に伴う風評被害が信頼の喪失につながることは、重大なセキュリティイベントでは珍しくありません。

企業側が強力なセキュリティ対策を講じていたにもかかわらずAPI攻撃を受けたといったケースは、ニュースでも大きく報じられ、世間の注目を集めています。Facebookの例では、サイトの「View As」機能の弱点を攻撃されて5000万件のアカウントが露出し、FacebookがAPI対応の動画アップロード機能を作成した後に、ハッカーがアカウントアクセストークンを盗む事態に発展しました。

Uberでも、データの漏えいがありました。APIリクエストのユーザーのUUID(universally unique idenifier)を使って、API応答でトークンがリークされ、それがアカウントの乗っ取りに使われました。攻撃者は、被害者の場所を突き止めて先回りし、無賃乗車することさえできました。

FacebookとUberのケースは、「ユーザー認証の不備」を利用するAPI攻撃として知られています。認証が正しく実装されていないと、認証トークンの安全性が損なわれ、ユーザーIDの盗難につながるその他の欠陥を招きます。

新型コロナウィルス感染症がらみで在宅勤務が増えたことにより、家庭用IPアドレスの使用が大幅に増加しました。このため、悪意のあるAPI呼び出しを正当なものから分離することが極めて重要になっています。クレデンシャルスタッフィングやスパムボットネット攻撃は、ハッキングされたサーバー、ワークステーション、さらにはIoTデバイスなど、最大1万もの個別IPを使う場合があります。


API攻撃を阻止するには、適切な戦略と適切なネットワークが必要

API は、アプリケーションロジックや個人を特定できる情報(PII)などの機密データを露出するため、組織のインフラストラクチャとセキュリティ戦略にとって重要です。しかし、従来のWebアプリケーションのセキュリティ戦略はたいてい「ネガティブセキュリティ」モデルに依存しており、ほとんどのAPI脅威を阻止できない恐れがあります。


ポジティブセキュリティによるAPI防御

「ネガティブセキュリティ」モデルでは、既知または疑わしい脅威のブロックリストに含まれていないリクエストは、ことごとくWebアプリケーションファイアウォール(WAF)を通過してしまいます。このモデルでは、正当なAPI呼び出しがブロックされる誤検知が発生したり、標的型攻撃の一部を見逃したりする可能性があります。とはいえ、WAFがAPIセキュリティにおいて重要な役割を果たすことは事実です。たとえば、スキーマ検証の数段階(エンドポイント、メソッド、パラメーターなど)を通過する認証トラフィックでも、まだSQL攻撃が潜んでいる可能性がありますが、WAFがあれば捕捉できます。また、APIの中には、TLSに適さないものやスキーマ検証が難しいものがあります。スキーマが最新でない場合や、APIが断片化されていて単一のスキーマへの統合が困難な場合は、WAFがそのギャップを埋めるのに役立ちます。

とはいえ、ブロックリスト中心のWAFに専ら依存したAPIセキュリティでは、組織は脆弱なままです。API脅威対策では、API Shieldのような「ポジティブセキュリティ」モデルを使うことで、こうしたリスクを回避できます。「ポジティブセキュリティ」は、既知の挙動のみを許可し、他のものすべてを識別して拒否するモデルです。

ポジティブモデルへの重要なステップの1つは、パスワードの再利用や共有に対して脆弱でない、強力な認証と許可をデプロイすることです。たとえば、TLSやOAuthなどです。許可と証明書共有の管理には時間がかかるため、開発者は許可リスト登録プロセスをできるだけ簡素化するツールを優先する必要があります。

もちろん、デバイスから証明書を抽出し、別の場所で再利用することができないわけではありません。開発者には、API 呼び出し自体を検証する方法も必要です。スキーマの検証は、API リクエストの内容(URLとPOSTボディのコンテンツの後にあるクエリーパラメータ)を、期待値に関するルールを含んだコントラクト(「スキーマ」)と照合することによって、これを行います。検証が失敗した場合、API 呼び出しはブロックされ、無効なリクエストまたは悪意のあるペイロードからオリジンを保護します。


API 攻撃の阻止 - ネットワークが個々のツールを強化

認証・許可やAPI呼び出しの検証によるポジティブセキュリティはもちろん重要ですが、さらなるセキュリティ対策も必要です。たとえば、APIは帯域幅消費型攻撃、ブルートフォース攻撃、クレデンシャルスタッフィングに対してまだ脆弱なままです。したがって、DDoS軽減やレート制限はやはり、企業のセキュリティ体制全般に必要なツールです。

新しいセキュリティツールを既存のものに加えると(例:DDoS軽減やレート制限など)、新たな課題が生じる場合があります。API呼び出しが多くの異なるツールを通過していくと、監視とログ記録が煩雑になります。さらに、地理的に分散したデータセンター内のさまざまなツールにトラフィックを経由させると、遅延が増え、アプリケーションパフォーマンスが低下する可能性があります。

これらの理由から、APIセキュリティには、より大きなエッジネットワークに統合された複数のセキュリティ機能を用いるのがベストです。これには次のような利点があります。

  • 耐障害性:複数のエッジネットワークロケーションでAPI セキュリティツールをホストできれば、個別のシステム停止が及ぼすリスクは少なくなります。

  • 遅延の減少: 複数のAPIセキュリティツールが同じエッジネットワークロケーション内で動作する場合、トラフィックが異なる場所間を行き来する必要がありません。

  • 脅威インテリジェンス: エッジネットワークに十分なカバー力がある場合、多数のAPIに対する攻撃を分析し、このインテリジェンスを利用して、他のネットワークをより適切に保護できます。

  • 簡単なロギング: 単一のネットワークを使用して、単一の管理画面で操作することで、開発者は信頼できる情報を一つのソースから得ることができます。

先進企業アーキテクチャ向けに構築されたCloudflareは、強力なクライアント証明書ベースのIDと厳格なスキーマベースの検証によって、APIのセキュリティ確保をシンプルにします。ビジネスに欠かせないWebアプリケーションを悪意のある攻撃から保護する、インテリジェントでスケーラブルなソリューションであり、既存インフラストラクチャを変更することなく利用できます。

この記事は、技術関連の意思決定者に影響を及ぼす最新のトレンドとトピックについてお伝えするシリーズの一環です。


記事の要点

この記事を読めば、以下が理解できます。

  • API使用の増加率

  • APIによって攻撃対象領域がいかに拡大するか

  • このリスクを阻止する戦略

  • 統合型プラットフォームのメリット


関連リソース


このトピックを深く掘りさげてみましょう。

「Gartner Magic Quadrant for Web Application and API Protection(WAAP)」レポートで、APIの脆弱性対策について学んでください。

大人気のインターネット関連インサイトの要約を毎月お届けします。