Upgrade to Pro — share decks privately, control downloads, hide ads and more …

クラウドの メタデータサービスとSSRF脆弱性

D637d86990571c01ea0fd098a2bdfa33?s=47 ttakada
October 16, 2019

クラウドの メタデータサービスとSSRF脆弱性

F5 Fukuoka-Meetup vol."F2" での発表資料です
https://f5fukuoka.connpass.com/event/146932/

D637d86990571c01ea0fd098a2bdfa33?s=128

ttakada

October 16, 2019
Tweet

Transcript

  1. | ©2019 F5 NETWORKS 1 クラウドの メタデータサービスと SSRF脆弱性 F5ネットワークスジャパン合同会社 髙田

    知典
  2. | ©2019 F5 NETWORKS 2 SSRF (Server Side Request Forgery)

    攻撃の概要
  3. | ©2019 F5 NETWORKS 3 SSRF攻撃 正常な動作 http://example.com/post?url=https://example.net/latestnews example.com example.net

    example.comのページ example.net のページ https://example.net/latestnews example.net のページ 公開サーバを経由し、内部サーバからの応答を得る攻撃
  4. | ©2019 F5 NETWORKS 4 SSRF攻撃 正常な動作 http://example.com/post?url=https://example.net/latestnews example.com example.net

    example.comのページ example.net のページ https://example.net/latestnews example.net のページ SSRF攻撃 http://example.com/post?url=http://192.168.0.10/secretdata example.com 192.168.1.10 内部サーバ 内部ネットワークに配置されている データが漏洩してしまう http://192.168.0.10/secretdata 公開サーバを経由し、内部サーバからの応答を得る攻撃 機密データ example.comのページ 機密データ
  5. | ©2019 F5 NETWORKS 5 クラウドのメタデータサービス

  6. | ©2019 F5 NETWORKS 6 クラウドにおけるメタデータサービス メタデータ サービス クラウド 仮想インスタンス

    クラウドの仮想ネットワーク からのみ利用可能 http://169.254.169.254/metadata インスタンスの構成情報 HTTP GETで、インスタンスの構成情報を提供する
  7. | ©2019 F5 NETWORKS 7 主要クラウドサービスのメタデータサービス CLOUD-SERVICE-METADATA-API-LIST ※https://gist.github.com/mrtc0/60ca6ba0fdfb4be0ba499c65932ab42e より引用

  8. | ©2019 F5 NETWORKS 8 メタデータサービスを対象としたSSRF攻撃 メタデータ サービス クラウド 仮想インスタンス

    http://169.254.169.254/metadata http://example.com/post?url=http://169.254.169.254 /metadata インスタンスの構成情報 インスタンスの構成情報 攻撃者によって、インスタンス構成情報が抜き取られてしまう 脆弱性をもった アプリケーション
  9. | ©2019 F5 NETWORKS 9 AWSでのメタデータサービス 一時的セキュリティ認証情報がメタデータサービスから取得可能 AWS STS Temporary

    security credential ① Roleを元に一時的セキュリティ認証情報 が払い出される ② 一時的セキュリティ 認証情報を使って AWSリソースにアク セス Role 一時的セキュリティ認証情報の利用
  10. | ©2019 F5 NETWORKS 10 AWSでのメタデータサービス 一時的セキュリティ認証情報がメタデータサービスから取得可能 Temporary security credential

    AWS STS ① Roleを元に一時的セキュリティ認証情報 が払い出される ② 一時的セキュリティ 認証情報を使って AWSリソースにアク セス Role curl http://169.254.169.254/latest/meta-data/iam/security-credentials/IAM-ROLE-Name Temporary security credential メタデータ サービス Amazon EC2 一時的セキュリティ認証情報の利用 メタデータサービスから一時的セキュリティ認証情報 が取得可能
  11. | ©2019 F5 NETWORKS 11 AWSでのSSRF 攻撃の例 非公開設定されているS3上の機密データファイルが漏洩 Amazon EC2

    Amazon Simple Storage Service VPC AWS Cloud メタデータ サービス アクセス許可 機密データファイル
  12. | ©2019 F5 NETWORKS 12 AWSでのSSRF 攻撃の例 非公開設定されているS3上の機密データファイルが漏洩 Amazon EC2

    Amazon Simple Storage Service VPC AWS Cloud メタデータ サービス Temporary security credential 機密データファイル ①メターデータサービスから 一時的セキュリティ認証情報を取得 http://example.com/post?url= http://169.254.169.254/latest/meta-data/iam/security- credentials/IAM-ROLE-Name
  13. | ©2019 F5 NETWORKS 13 AWSでのSSRF 攻撃の例 非公開設定されているS3上の機密データファイルが漏洩 Amazon EC2

    Amazon Simple Storage Service VPC AWS Cloud メタデータ サービス Temporary security credential 機密データファイル 機密データファイル ② 取得した一時的セキュリティ認証情報を使って S3にアクセスし、機密データファイルを入手 ①メターデータサービスから 一時的セキュリティ認証情報を取得 http://example.com/post?url= http://169.254.169.254/latest/meta-data/iam/security- credentials/IAM-ROLE-Name
  14. | ©2019 F5 NETWORKS 14 アプリケーションのSSRF脆弱性を突くことで、 外部からメタデータサービスを利用し、 一時的セキュリティ認証情報を入手することが可能 一時的セキュリティ認証情報使って、 クラウドのリソースに不正アクセスが行われる

    クラウドにおけるSSRF脆弱性のリスクのまとめ
  15. | ©2019 F5 NETWORKS 15 クラウドにおける SSRF攻撃への対策

  16. | ©2019 F5 NETWORKS 16 SSRF 攻撃への対策 3つのアプローチ OS/APPでの対策 •

    OSファイアウォールでの接続先制限 • 接続先URLをホワイトリスト • XXE脆弱性(CWE-611)対策の実施 ホスト単位、 アプリケーション単位での 対策実施が必要 WAFでの対策 • Signature判定 • 文字列判定にるURL検証 パターンマッチングによる ブロック ゼロディ攻撃対策が困難 クラウド基盤での対策 • IAMでの最小権限の付与 • リソースのアクセスコントロール SSRF攻撃を受けた後の ダメージコントロール
  17. | ©2019 F5 NETWORKS 17 SSRF 攻撃への対策 3つのアプローチ クラウド基盤での対策 OS/APPでの対策

    WAFでの対策 • IAMでの最小権限の付与 • リソースのアクセスコントロール • OSファイアウォールでの接続先制限 • 接続先URLをホワイトリスト • XXE脆弱性(CWE-611)対策の実施 • Signature判定 • 文字列判定にるURL検証 SSRF攻撃を受けた後の ダメージコントロール ホスト単位、 アプリケーション単位での 対策実施が必要 パターンマッチングによる ブロック ゼロディ攻撃対策が困難
  18. | ©2019 F5 NETWORKS 18 F5によるSSRF 攻撃への対策 ゼロディ攻撃にも対応可能 クラウド基盤での対策 OS/APPでの対策

    Advanced WAF での対策 • IAMでの最小権限の付与 • リソースのアクセスコントロール • OSファイアウォールでの接続先制限 • 接続先URLをホワイトリスト • XXE脆弱性(CWE-611)対策の実施 • シグネチャ判定(Built-in Signature) • 文字列判定によるURL検証 (Custom Signature) SSRF攻撃を受けた後の ダメージコントロール ホスト単位、 アプリケーション単位での 対策実施が必要 パターンマッチングによる ブロック • Data Guardによるマスキング ゼロディ攻撃にも対応
  19. | ©2019 F5 NETWORKS 19 F5 Advanced WAFによる対策 BUILT-IN SIGNATURE

    & CUSTOM SIGNATUREによるリアルタイムブロッキング Amazon EC2 VPC メタデータ サービス Built-in Signature • F5により提供されるシグネチャ • 低い誤検知(False Positive)率 Custom Signature • 管理者が自由に定義可能 • 個別URL等のピンポイント防御 SSRF攻撃 F5 Virtual Edition WAF
  20. | ©2019 F5 NETWORKS 20 F5 Advanced WAFによる対策 DATA GUARDでの一時的セキュリティ認証情報のマスキング

    Amazon EC2 VPC メタデータ サービス Temporary security credential Data Guard • 応答パケットを確認し、 一時的セキュリティ認証情報を マスキング処理 SSRF攻撃 F5 Virtual Edition WAF SSRF攻撃が成立したとしても、 キーの漏えいを防ぐことが可能
  21. | ©2019 F5 NETWORKS 21 F5による効果的なSSRF対策 3つの機能によりSSRF攻撃からアプリケーションを保護 Built-in Signatureによるリアルタイムブロッキング Custom

    SignatureによるURL検証 Data Guardによる認証情報のマスキング
  22. | ©2019 F5 NETWORKS 22 F5 Advanced WAFの特徴的な機能 悪性botからの防御 プロアクティブBot対策

    既知の不正リクエスト からの防御 Signature & Threat Campaign 送信元識別による防御 IP Address Reputation & Geo location & Device ID 振る舞い分析による L7 DoS防御 L7 Behavior-based DoS Protection 漏洩した認証情報を使用 したアクセスを防御 Credential Stuffing Reponse内の 秘匿情報のマスキング Data Guard 指定フィールドの暗号化に よりMiTM攻撃を防御 Data Safe
  23. | ©2019 F5 NETWORKS 23