* プロモーションの引き換えに関する規則と条件をご覧ください
サーバーサイドリクエストフォージェリとは
サーバーサイドリクエストフォージェリ(Server-Side Request Forgery, SSRF)は、APIセキュリティの専門家が意識しなければならない重大な脆弱性です。攻撃シナリオを理解し、適切な緩和戦略を実装することで、組織はAPIを保護し、社内ネットワークリソースや機微な情報への不正アクセスを防止できます。
APIセキュリティは最新のWebアプリケーションの重要な側面であり、APIセキュリティの専門家にとって最新の脆弱性を常に把握することは不可欠です。この記事では、OWASP APIトップ10リストの7番目の項目であるサーバーサイドリクエストフォージェリについて説明します。
SSRFは、APIがファイルストレージや外部リソースなどの他のサービスを呼び出すときに発生します。この脆弱性により、攻撃者はAPIのリクエストを操作し、通常はファイアウォールの内側で保護されている社内ネットワークリソースに不正アクセスできます。このように操作されたリクエストは、機密性の高いメタデータやその他の内部リソースへの露出など、重大なセキュリティ侵害につながることがよくあります。
攻撃シナリオの理解
サーバーサイド・リクエスト・フォージェリを理解するために、企業ネットワークがファイアウォールで保護されているシナリオを考えてみましょう。このネットワーク内には、コンピューター、パーソナルデバイス、サーバーなど、さまざまなデバイスが存在する場合があります。しかし、Webサーバーは企業ネットワークとインターネットの両方に接続され、両者の間のブリッジとして機能します。
サーバーサイド・リクエスト・フォージェリの悪用
攻撃者は、Webサーバーまたはクラウドサーバーをピボットポイントとして利用して、ファイアウォールをバイパスし、社内ネットワークリソースにアクセスすることで、SSRFを悪用できます。この不正アクセスには、ファイルの読み取り、ポートスキャン、リモートコードの実行などのアクティビティが含まれる可能性があります。
たとえば、ファイルサーバーからアバターを取得するように設計されたAPIリクエストを攻撃者が操作して、別のディレクトリに保存されている機密性の高いビジネスドキュメントや財務ドキュメントにアクセスする可能性があります。同様に、クラウド環境では、攻撃者はサーバーサイド・リクエスト・フォージェリを悪用することで、EC2認証情報などのクラウドリソースにアクセスする可能性があります。
SSRFの脆弱性におけるユーザー入力とパラメーター
ユーザー入力とパラメーターは、SSRF攻撃を可能にする上で重要な役割を果たします。多くの場合、SSRFの脆弱性は、APIが未検証のユーザー入力を受け入れたり、HTTPリクエストのパラメーターを不適切に処理したりすると発生します。攻撃者はこれらのパラメーターを操作して、内部リソースや企業ネットワークのその他の機密性の高い部分など、意図しない宛先にリクエストを送信できます。ユーザー入力を適切に検証し、パラメーターをサニタイズ(無害化)することで、SSRFのリスクを大幅に軽減し、攻撃者がこの弱点を悪用して内部リソースにアクセスするのを防ぐことができます。
APIに関連するリスク
APIはデフォルトで安全と見なされることがよくありますが、基本的にはWebアプリケーションであることを覚えておくことが重要です。そのため、Webアプリケーションに影響を与える脆弱性はAPIにも影響を与える可能性があります。APIを介して外部リソースを取得する行為は重大なリスクをもたらすため、SSRFはAPIセキュリティの専門家にとって重要な懸念事項となっています。
安全なバックエンド通信によるSSRFの緩和
SSRFを緩和する最も効果的な方法の1つは、APIとバックエンドサービス間の通信のセキュリティを確保することです。これには、厳格なアクセス制御対策を実装すること、内部リソースが不正なリクエストにさらされないようにすること、攻撃者が内部IPアドレスを解決できないようにDNS設定を慎重に構成することが含まれます。さらに、暗号化されたチャネルを使用し、APIエンドポイントが信頼できるバックエンドサービスのみと通信するようにすることで、SSRF攻撃のリスクを大幅に軽減できます。セキュリティプロトコルを定期的に更新し、OWASP API Security Top 10のベストプラクティスに沿った適切なAPI設計を確保することも不可欠です。
サーバーサイド・リクエスト・フォージェリの緩和
SSRFのリスクを緩和するために、いくつかの対策を実施できます。
- 許可リスト:許可リストを実装して、APIを介して取得できるリソースを制限します。特定のリソースを指定することで、組織は許可された安全なリソースのみがアクセスされるようにすることができます。
- Webサーバーの隔離:Webサーバーを直接社内ネットワークに配置しないでください。代わりに、SSRF攻撃の可能性を最小限に抑えるために、別のネットワークセグメントまたはクラウドに展開することを検討してください。
- リソースの必要性の評価:APIの機能に外部リソースの取得が本当に必要かどうかを評価します。外部リソースへの依存を最小限に抑えることで、アタックサーフェスを縮小し、サーバーサイド・リクエスト・フォージェリのリスクを緩和できます。
- ファイアウォール保護:不正アクセスや潜在的なSSRF攻撃に対する追加の防御レイヤーを提供するために、常に企業ネットワーク上のファイアウォールを使用します。
- API設計の推奨事項に従う:SSRF攻撃に対する回復力に優れたAPIを開発するためのベストプラクティスを提供するAPI設計の推奨事項について、常に最新の情報を把握します。
よくある質問
サーバーサイドリクエストフォージェリ(SSRF)攻撃を防止するためには、技術的な対策と意識向上トレーニングを組み合わせる必要があります。SSRF攻撃を防止するための戦略には、次のようなものがあります。
- 入力検証と許可リスト:URLとIPアドレスの厳密な入力検証と許可リストを実装して、ユーザーが入力したものが許可されたリソースにのみアクセスできるようにします。
- セキュリティ意識向上トレーニング:開発者、管理者、その他の従業員にセキュリティ意識向上トレーニングを提供します。SSRF攻撃に関連するリスク、一般的な攻撃ベクトル、SSRFの脆弱性を防止するためのベストプラクティスについて指導します。
- セキュリティの定期的な監査とテストWebアプリケーションのセキュリティテストと侵入テストを定期的に実施し、SSRFの脆弱性を特定して修正します。
システムやアプリケーションがSSRF攻撃によって侵害されたことを示す一般的な兆候は次のとおりです。
- 異常なアウトバウンドリクエスト:異常なパターンや予期しない宛先がないか、アウトバウンドネットワークトラフィックを監視します。
- 機微な情報へのアクセス:内部ネットワーク内の機微な情報やリソースへの不正アクセスの試みを検知します。
- 管理インターフェースへのリクエスト:Webアプリケーションを介してアクセスできない管理インターフェースまたは管理エンドポイントへのリクエストを監視します。
- ログとエラーメッセージ:SSRF攻撃の兆候がないか、アプリケーションログ、サーバーログ、エラーメッセージを確認します。
- API の脆弱性:不正アクセスの試みや異常なAPIリクエストがないか、APIのパフォーマンスと使用状況を監視します。APIエンドポイントを標的とする潜在的なSSRF攻撃を示す可能性のある、API認証、認可、使用パターンの異常を監視します。
セキュリティ専門家は、Burp Suite、OWASP ZAP、SSRFmapなどのさまざまなツールを使用して、サーバーサイド・リクエスト・フォージェリの脆弱性スキャンを自動化できます。cURLやPostmanなどの手動テストツールも効果的です。APIセキュリティテストツールは、SSRFの脆弱性を特定するために役立ちます。
Akamai が選ばれる理由
Akamai は、オンラインビジネスの力となり、守るサイバーセキュリティおよびクラウドコンピューティング企業です。当社の市場をリードするセキュリティソリューション、優れた脅威インテリジェンス、グローバル運用チームによって、あらゆる場所でエンタープライズデータとアプリケーションを保護する多層防御を利用いただけます。Akamai のフルスタック・クラウド・コンピューティング・ソリューションは、世界で最も分散化されたプラットフォームで高いパフォーマンスとコストを実現しています。多くのグローバル企業が、ビジネスの成長に必要な業界最高レベルの信頼性、拡張性、専門知識を提供できる Akamai に信頼を寄せています。