Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
クラウドのメタデータサービスとSSRF脆弱性
Search
ttakada
October 16, 2019
Technology
1
600
クラウドの メタデータサービスとSSRF脆弱性
F5 Fukuoka-Meetup vol."F2" での発表資料です
https://f5fukuoka.connpass.com/event/146932/
ttakada
October 16, 2019
Tweet
Share
More Decks by ttakada
See All by ttakada
SaaSで実現するトラッフィク制御とセキュリティ
ttakada
0
450
雰囲気で語るKubernetesネットワーク
ttakada
0
700
Kixsのご紹介
ttakada
0
2.5k
クラウド/オンプレのネットワークアーキテクチャ再考
ttakada
0
300
AWS re:Invent2017に行ってきた
ttakada
0
440
誰も知りたくないKixsの軌跡
ttakada
0
1.4k
AWS 認定の概要と勉強法
ttakada
0
1.5k
Oracle Databaseを パブリッククラウド(AWS)で 使うときの注意点
ttakada
0
23k
RADIUSって知ってますか?
ttakada
0
1.3k
Other Decks in Technology
See All in Technology
AWSで始める実践Dagster入門
kitagawaz
1
520
まだ間に合う! StrandsとBedrock AgentCoreでAIエージェント構築に入門しよう
minorun365
PRO
11
1.1k
kubellが考える戦略と実行を繋ぐ活用ファーストのデータ分析基盤
kubell_hr
0
150
Language Update: Java
skrb
2
280
クラウドセキュリティを支える技術と運用の最前線 / Cutting-edge Technologies and Operations Supporting Cloud Security
yuj1osm
2
300
開発者を支える Internal Developer Portal のイマとコレカラ / To-day and To-morrow of Internal Developer Portals: Supporting Developers
aoto
PRO
1
410
5年目から始める Vue3 サイト改善 #frontendo
tacck
PRO
3
200
現場で効くClaude Code ─ 最新動向と企業導入
takaakikakei
1
180
Kubernetes における cgroup v2 でのOut-Of-Memory 問題の解決
pfn
PRO
0
470
生成AIでセキュリティ運用を効率化する話
sakaitakeshi
0
350
[ JAWS-UG 東京 CommunityBuilders Night #2 ]SlackとAmazon Q Developerで 運用効率化を模索する
sh_fk2
2
270
allow_retry と Arel.sql / allow_retry and Arel.sql
euglena1215
1
160
Featured
See All Featured
Large-scale JavaScript Application Architecture
addyosmani
512
110k
Making Projects Easy
brettharned
117
6.4k
The Illustrated Children's Guide to Kubernetes
chrisshort
48
50k
Reflections from 52 weeks, 52 projects
jeffersonlam
352
21k
Fireside Chat
paigeccino
39
3.6k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
A better future with KSS
kneath
239
17k
Speed Design
sergeychernyshev
32
1.1k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
Documentation Writing (for coders)
carmenintech
74
5k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Transcript
| ©2019 F5 NETWORKS 1 クラウドの メタデータサービスと SSRF脆弱性 F5ネットワークスジャパン合同会社 髙田
知典
| ©2019 F5 NETWORKS 2 SSRF (Server Side Request Forgery)
攻撃の概要
| ©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 のページ 公開サーバを経由し、内部サーバからの応答を得る攻撃
| ©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のページ 機密データ
| ©2019 F5 NETWORKS 5 クラウドのメタデータサービス
| ©2019 F5 NETWORKS 6 クラウドにおけるメタデータサービス メタデータ サービス クラウド 仮想インスタンス
クラウドの仮想ネットワーク からのみ利用可能 http://169.254.169.254/metadata インスタンスの構成情報 HTTP GETで、インスタンスの構成情報を提供する
| ©2019 F5 NETWORKS 7 主要クラウドサービスのメタデータサービス CLOUD-SERVICE-METADATA-API-LIST ※https://gist.github.com/mrtc0/60ca6ba0fdfb4be0ba499c65932ab42e より引用
| ©2019 F5 NETWORKS 8 メタデータサービスを対象としたSSRF攻撃 メタデータ サービス クラウド 仮想インスタンス
http://169.254.169.254/metadata http://example.com/post?url=http://169.254.169.254 /metadata インスタンスの構成情報 インスタンスの構成情報 攻撃者によって、インスタンス構成情報が抜き取られてしまう 脆弱性をもった アプリケーション
| ©2019 F5 NETWORKS 9 AWSでのメタデータサービス 一時的セキュリティ認証情報がメタデータサービスから取得可能 AWS STS Temporary
security credential ① Roleを元に一時的セキュリティ認証情報 が払い出される ② 一時的セキュリティ 認証情報を使って AWSリソースにアク セス Role 一時的セキュリティ認証情報の利用
| ©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 一時的セキュリティ認証情報の利用 メタデータサービスから一時的セキュリティ認証情報 が取得可能
| ©2019 F5 NETWORKS 11 AWSでのSSRF 攻撃の例 非公開設定されているS3上の機密データファイルが漏洩 Amazon EC2
Amazon Simple Storage Service VPC AWS Cloud メタデータ サービス アクセス許可 機密データファイル
| ©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
| ©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
| ©2019 F5 NETWORKS 14 アプリケーションのSSRF脆弱性を突くことで、 外部からメタデータサービスを利用し、 一時的セキュリティ認証情報を入手することが可能 一時的セキュリティ認証情報使って、 クラウドのリソースに不正アクセスが行われる
クラウドにおけるSSRF脆弱性のリスクのまとめ
| ©2019 F5 NETWORKS 15 クラウドにおける SSRF攻撃への対策
| ©2019 F5 NETWORKS 16 SSRF 攻撃への対策 3つのアプローチ OS/APPでの対策 •
OSファイアウォールでの接続先制限 • 接続先URLをホワイトリスト • XXE脆弱性(CWE-611)対策の実施 ホスト単位、 アプリケーション単位での 対策実施が必要 WAFでの対策 • Signature判定 • 文字列判定にるURL検証 パターンマッチングによる ブロック ゼロディ攻撃対策が困難 クラウド基盤での対策 • IAMでの最小権限の付与 • リソースのアクセスコントロール SSRF攻撃を受けた後の ダメージコントロール
| ©2019 F5 NETWORKS 17 SSRF 攻撃への対策 3つのアプローチ クラウド基盤での対策 OS/APPでの対策
WAFでの対策 • IAMでの最小権限の付与 • リソースのアクセスコントロール • OSファイアウォールでの接続先制限 • 接続先URLをホワイトリスト • XXE脆弱性(CWE-611)対策の実施 • Signature判定 • 文字列判定にるURL検証 SSRF攻撃を受けた後の ダメージコントロール ホスト単位、 アプリケーション単位での 対策実施が必要 パターンマッチングによる ブロック ゼロディ攻撃対策が困難
| ©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によるマスキング ゼロディ攻撃にも対応
| ©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
| ©2019 F5 NETWORKS 20 F5 Advanced WAFによる対策 DATA GUARDでの一時的セキュリティ認証情報のマスキング
Amazon EC2 VPC メタデータ サービス Temporary security credential Data Guard • 応答パケットを確認し、 一時的セキュリティ認証情報を マスキング処理 SSRF攻撃 F5 Virtual Edition WAF SSRF攻撃が成立したとしても、 キーの漏えいを防ぐことが可能
| ©2019 F5 NETWORKS 21 F5による効果的なSSRF対策 3つの機能によりSSRF攻撃からアプリケーションを保護 Built-in Signatureによるリアルタイムブロッキング Custom
SignatureによるURL検証 Data Guardによる認証情報のマスキング
| ©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
| ©2019 F5 NETWORKS 23