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
[読書]AWSゲームブック〜GuardDuty魔神とインシデント対応の旅〜DevIO2025
Search
cm-usuda-keisuke
October 21, 2025
Technology
0
1.1k
[読書]AWSゲームブック〜GuardDuty魔神とインシデント対応の旅〜DevIO2025
DevelopersIO 2025にて登壇した内容の資料ですが、タイトルの通りスライド資料がゲームブックになっています。
プレイ方法その他については下記ブログをご参照ください。
cm-usuda-keisuke
October 21, 2025
Tweet
Share
More Decks by cm-usuda-keisuke
See All by cm-usuda-keisuke
初めてAWSを使うときのセキュリティ覚書〜初心者支部編〜
cmusudakeisuke
1
440
いつの間にか入れ替わってる!?新しいAWS Security Hubとは?
cmusudakeisuke
0
480
Security Hubの利用者調査とお悩み相談をやってます! in JAWS-UG東京
cmusudakeisuke
0
110
新機能Amazon GuardDuty Extended Threat Detectionはネ申って話
cmusudakeisuke
0
1.2k
初心者向けAWS Securityの勉強会mini Security-JAWSを9ヶ月ぐらい実施してきての近況
cmusudakeisuke
0
440
ツンデレなGuardDutyをプロデュースして世界一のアイドルにする話
cmusudakeisuke
0
710
GuardDutyを可視化して、君もGuardDutyマスターになろう!
cmusudakeisuke
2
1.8k
AWSセキュリティを「日本語で」学習していくための良いコンテンツをまとめてみた
cmusudakeisuke
1
17k
10分で完全に理解するGuardDutyのS3マルウェア保護
cmusudakeisuke
0
2.9k
Other Decks in Technology
See All in Technology
AIでテストプロセスを自動化しよう251113.pdf
sakatakazunori
0
150
自己的售票系統自己做!
eddie
0
460
What's the recommended Flutter architecture
aakira
3
1.8k
身近なCSVを活用する!AWSのデータ分析基盤アーキテクチャ
koosun
0
1.3k
Flutterにしてよかった?出前館アプリを2年運用して気づいたことを全部話します
demaecan
0
200
JJUG CCC 2025 Fall バッチ性能!!劇的ビフォーアフター
hayashiyuu1
1
340
改竄して学ぶコンテナサプライチェーンセキュリティ ~コンテナイメージの完全性を目指して~/tampering-container-supplychain-security
mochizuki875
1
230
CloudFormationコンソールから、実際に作られたリソースを辿れるようになろう!
amixedcolor
1
190
やり方は一つだけじゃない、正解だけを目指さず寄り道やその先まで自分流に楽しむ趣味プログラミングの探求 2025-11-15 YAPC::Fukuoka
sugyan
1
790
ユーザーストーリー x AI / User Stories x AI
oomatomo
0
200
それでは聞いてください「Impeller導入に失敗しました」 #FlutterKaigi #skia
tacck
PRO
0
130
[CV勉強会@関東 ICCV2025 読み会] World4Drive: End-to-End Autonomous Driving via Intention-aware Physical Latent World Model (Zheng+, ICCV 2025)
abemii
0
220
Featured
See All Featured
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
31
2.7k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
359
30k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
Building a Scalable Design System with Sketch
lauravandoore
463
33k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
Balancing Empowerment & Direction
lara
5
750
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.6k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
How to Ace a Technical Interview
jacobian
280
24k
Transcript
[読書]AWSゲームブック 〜GuardDuty魔神と インシデント対応の旅〜 臼田佳祐 クラウド事業本部サービス開発室 ハッシュタグ: #devio2025
イベントハッシュタグは #devio2025 Twitterでつぶやこう! 2
自己紹介 3 臼田佳祐(うすだけいすけ) ・クラスメソッド株式会社 / クラウド事業本部 シニアソリューションアーキテクト セキュリティチームリーダー 2021 APN
Ambassador 2024 APN AWS Top Engineers (Security) AWS Security Hero (2023~) ・CISSP ・Security-JAWS運営 ・好きなサービス: Amazon GuardDuty AWS Security Hub Amazon Detective みんなのAWS (技術評論社) Amazon GuardDuty AWS Security Hub Amazon Detective
セッション概要 4 あなたはこのゲームの主人公であるソリューションアーキテクト。あ る日突然現れたAmazon GuardDutyの魔神から「この世界(AWS環境) を救ってくれ!」と頼まれたあなたは、セキュリティインシデントが 発生したAWS環境の調査と対応の旅に出ます。Amazon GuardDutyの 道標に従い、AWS CloudTrailログの滝を越え、アマゾンの奥地に待ち
受ける真実にたどり着けるか…!?このセッションでは往年のゲーム ブックのように聴講者参加型で選択肢を選び、AWSのインシデント対 応に挑戦するゲームセッションです。選択により辿る運命と結末が変 化します。
選択肢は配布したカードで、みんなで選びます 5 • 選択肢が出たら、私の合図 で一斉に赤青どちらかのカ ードを挙げてください • 赤が分厚く、青は薄いカー ドです •
[任意]右手に赤(分厚い)、左 手に青(薄い)を持つとみんな 揃ってわかりやすいかも ↑赤 分厚い 右推奨 ↑青 薄い 左推奨
ところで「ゲームブック」って知ってる? 6 知ってる (やったことある・やったこと無いけど知 ってる含む) 知らない (聞いたことがない・概念を理解していな い)
ゲームブックとは 7 • ゲームブック (Gamebook) は、読者の選択によってストーリーの展開と結 末が変わるように作られ、ゲームとして遊ばれることを目的としている本 である。「アドベンチャーゲームブック」・「アドベンチャーブック」と も呼ばれる。 by
Wikipedia 私は昔にゃんたんの ゲームブックにハマってました 今は電子書籍のみ ポプラ社HPより引用 ゲームブックを題材にしようと 思った時に買ったゲームブック マイクラは子供も遊べる 伝説の城は中世ヨーロッパ風で 私は5回死にました
このセッションの楽しみ方 8 • みなさんは侵害されたAWS環境を救うべく異世界から召喚されたソリュー ションアーキテクトとなり、たくさん出てくる選択肢を選びながらインシ デント対応をしてください • ゲームブックなのでいきなりゲームオーバーになったり思わぬ選択肢が成 功に導くこともありますが、ゲームとして楽しみましょう。ただしAWSの 知識は基本的に優位に働きます
• イベント会場での本セッションは1時間という時間制限があります。残り時 間がわずかとなったら強制的にバッドエンドに突入します • 資料はアップロードされ、いつでも1人でも遊べるようになるので、気軽に リベンジしたり、見ていない分岐を選んでみてください ※この物語はフィクションです。実際の人物・組織等とは関係なく、また 実際のAWSマネジメントコンソールと異なる場合があります
ウインドウ説明 9 • これはシステムメッセージです • 「→ 10」ならスライド10ページに移動してください • 指示がなければ次のページに移動してください 主
上 上司だ 主人公だよ アプリチームの 同僚です ア Amazon GuardDutyの 魔神だぜ!
エピソード0: プロローグ
はじまり 11 • これはこの物語の主人公であるあなた • あなたはとある企業のソリューションアーキテクト • ちょっとセキュリティに興味があり、Amazon GuardDutyを眺めるのが趣味 •
今日も相変わらず何も検出されていない 主 今日もAmazon GuardDutyを眺めるぞ〜
12 主 うん?なんだかいつもと少し違うような…? 右のAmazon Qチャットのアイコンが違うぞ 主
チャットを開いてみよう 13 G chat 呼ばれて飛び出たぜ!! 主 なんだこりゃ?G chat? 俺はAmazon GuardDutyの
魔神だ!お前に頼みがある!
なにやら大変なことに 14 G chat 今こっちの世界(AWS環境)が 大変なことになってるんだぜ 主 どうやって?ってうわぁ〜〜!? ソリューションアーキテクトのお前に こっちの世界を救ってほしいんだ!
異世界(AWS環境)を救うための旅へ 15 • いきなりAWSマネジメントコンソール上 に現れたAmazon GuardDutyの魔神に誘 われ、画面に吸い込まれた主人公 • これはいったい、どうなっちゃうんだ 〜!?
エピソード1: 始まりと終わりのマイニング
異世界でのはじまり 17 • 異世界に来たあなたは「クラウドビジネス株式会社」に 中途採用されたソリューションアーキテクトとなった • どうやら前任のAWS担当がやめてしまって、AWSに詳し いのは主人公であるあなたしか居ない模様 • そして、早速インシデントに巻き込まれる
ある月初… 18 • 異世界転移早々に、AWS環境について何もわからないま まインシデントに巻き込まれた主人公 • とりあえず調査を開始する 主 上 先月のAWS請求がすごいことになっているぞ!?
なぜだ!? (何にもわからないけど)調べてみます
AWS環境概要 19 AWS環境につい て何もわからな いので近くにい たアプリチーム の同僚に聞いて みた AWS環境はこんな感じでシンプルなVPC環境です ア
20 Amazon GuardDutyは有効化されていなかった 主 とりあえずGuardDutyを見るか…
無効なAmazon GuardDuty 21 G chat 主 なんで有効化されてないの? なんでだろうなぁ〜? 主 頼むから仕事してくれ!!!
最初の調査、なにしよう? 22 「おそらくコインマイニングされてい る!」と勝手に推測する → 43 とりあえず原因を分析しなきゃ。まず料 金明細を確認しよう → 23
料金明細を確認したらEC2の料金がヤバい! 23 「やっぱりコインマイニン グされている!」と推測す る → 43 AutoScalingの設定ミスで 増えているのかも?EC2の 一覧を確認しよう→
24
EC2は全て名前がなく、アイルランドに乱立 24 「間違いなくコインマイニ ングだ」と推測する → 43 誰が起動したのか確認しな ければ。AWS Configから 変更履歴を確認しよう→
25
AWS Configは無効だ。なんてこったい! 25 とりあえずコインマイニン グと判断して対処する → 43 AWS CloudTrailからAPI実 行履歴を調べよう→
26
AWS CloudTrailのイベント履歴を開いた 26 イベント履歴のフィルター を活用 → 28 Athenaテーブルを作成ボ タンがある、やってみよう →
27
ログが存在しない 27 イベント履歴の フィルターを活 用 → 28 まさかTrailのログ も存在しないとは 主
フィルターを利用する、何で絞ろう 28 イベント名: CreateInstanceで絞る→ 29 イベント名: RunInstancesで絞る → 30
結果が出ない、どうしよう 29 ※CreateInstanceは OpsWorksやConnectなど で使われます イベント名: RunInstancesで絞る → 30
結果が出ない、他のパラメータを使う? 30 リージョンを確認する → 37 とりあえずフィルターなし にする → 31
色々ログがある、どうしよう? 31
色々ログがある、どうしよう? 32 ページを送りながらめぼし いログを探す → 33 とりあえず1つ開いて中身 を見てみる → 34
気がついたら100ページを越えていた… 33 最初に戻る → 22 目が疲れて 寝落ちしたorz 主
ログ詳細を開いてみた 34
ログ詳細を開いてみた - ちょっとアップ 35
Trailの詳細ログ、どこに注目する? 36 userIdentity → 39 userIdentity以外 → 38
リージョンがシドニーになっていた! 37 リージョンを変え て確認 → 40 いつの間にかシドニ ーになっているの、 たまにあるよね 主
リージョンがシドニーになっていた! 38 リージョンを変え て確認 → 40 いつの間にかシドニ ーになっているの、 たまにあるよね 主
userIdentityとにらめっこしたがなにもわからない 39 最初に戻る → 22 考えてたら 寝落ちしてたorz 主
リージョンを変えるとRunInstancesが大量に! 40
Trailログ詳細を確認し使われたアクセスキーを確認 41
利用されたIAMの情報を特定した 42 [情報]不正に利用されたIAM をゲットした
不正の心当たりを同僚に聞いてみた 43 主 そりゃだめだ〜 実は先月頭によくわからずアクセスキーを作って GitHubにコミットしてしまいました! ア 1時間ぐらいでダメだって気がついてGitHubから削除 したんですが… ア
魔神の提案 44 G chat いい方法があるぜ 主 いきなり出てきてなんだ? 実はこのGチャットは過去に干渉で きるんだぜ
魔神の提案 45 G chat 主 過去に干渉…だと!? 使用には色々条件はあるがな 今回は発動できるぜ! 主 条件とは?
魔神の提案 46 G chat インシデントの要因を特定したらお k 主 俺が…観測者…!? あとはお前という観測者がいれば 俺のこの力が発動できるぜ
魔神の提案 47 G chat だからお前をこの世界に呼んだのだ ぜ 主 どうやって過去に干渉できる? このGチャットから指示を出せるぜ
魔神の提案 48 G chat 例えば「Amazon GuardDuty を有効化しろ」とかな 主 悪は…アクセスキーだ… それで、何を変えたい?
魔神の提案 49 G chat ? 主 アクセスキーを撲滅する そうすればこの被害もなくなるはず つまりアクセスキー禁止令だな?
魔神の提案 50 G chat アクセスキー禁止令を出したら過去 が変わる 主 ああ、理解した 次の瞬間には影響を受けた世界に 移動するぜ
最初の重要な選択 51 G chat それじゃあやるか? [過去改変]アクセスキー禁止令を発 令する→ 53 いや、もっと他の解決策を試すべき だ
→ 52
他の解決策を探して対応が遅れ倒産した 52 1つ前に戻る → 51 過去を変えるしか 無いんだ… 主 重要なお知らせ:事業終了および破産手続き開始について 平素より弊社サービスをご利用いただき、誠にありがとうご
ざいます。 2025年9月に発生したセキュリティインシデントへの対応遅 延により、お客様の重要なデータが流出し、甚大な被害を及 ぼす結果となりました。 この度、事業継続が困難と判断したため、破産手続きを開始 することとなりました。 ご利用いただいた全てのお客様に、心よりお詫び申し上げま す。
禁止令のその先へ 53 次のエピソードへ → 55 G chat 主 アクセスキー禁止令を過去に発行 する
受理したぜ。世界線移動に備えろ 主 どうなるんだ?うぐっ、ぁああ!
禁止令のその先へ 54 次のエピソードへ → 55
エピソード2: 不正工作のブラックアウト
禁止令のその先は 56 G chat 主 うぅ…世界が歪んだようで軽くめま いがした… これが世界線移動だぜ それより影響を確認してくれ 主
聞いてみよう
上司の反応は… 57 • 世界線移動でどうやらコインマイニングはなくなったよ うだが、今度はアプリが動かないらしい 主 上 アプリが動かなくなっている?顧客からクレームだ! どうなっているんだ!?すぐに調査してくれ!! (何にもわからないけど)調べてみます
インシデントの要因 58 G chat 主 なんで違うインシデントが発生して いるの!? 過去改変は諸刃の剣 影響は俺にも読めないぜ☆ミ 主
それを先に言ってよ〜!!
魔神のレコメンド 59 G chat まあだから慎重にやろうぜ 主 釈然としないが仕方ないな… 次からはもっと深く調査してから 過去に干渉することを推奨するぜ
アクセスキーの状況 60 G chat ちなみにアクセスキーはちゃんと撲 滅できてるぜ 主 ならなんでインシデント起きてるんだ …? それは調べてクレメンス
アプリ概要 61 • アプリについても近くにいたアプリチームの同僚に聞いてみた ◦ アプリ名: StockGuardian ◦ アプリ概要: SaaS型資産管理ツール
◦ アプリターゲット: 中小企業 ◦ 機能 ▪ ログイン機能 ▪ 資産登録・管理機能 ▪ 資産画像アップロード機能 ▪ 月次レポート作成機能 アプリはこんな感じのサービスです ア
アプリの実画面 - ダッシュボード 62 ダッシュボードは特に問題ありません ア
アプリの実画面 - 資産一覧 63 資産一覧は表示できるのですが 画像が表示されません。保存先はS3です。 ア
アプリの実画面 - その他の機能 64 ログイン・資産登録・レポート一覧など その他の機能も特に問題ありません ア
AWSアーキテクチャ上での問題箇所 65 問題になっているのはこのS3バケットですね ア
役割分担を決める 66 主 わかったよ〜 実はAWS関連はあんまりわかってなくて、 前任のAWS担当に結構丸投げしてました… ア とりあえず私はアプリの調査をしますが、S3周りの調 査をお願いしていいですか? ア
世界線変動後最初の調査、なにしよう? 67 AWS側を見る前にアプリのログから当た りをつけよう → 68 一旦AWS側の状態を確認しよう → 72
アプリのどこを確認しよう? 68 サーバー側のエラーを確認 → 69 クライアント側を操作して確認 → 70
アプリの該当箇所ログを教えてもらった 69 CloudWatchで確認し てもそれらしいログは なかった クライアント側を確認 → 70
クライアント側の動作確認 70 S3の静的ウェブサイトホスティングで 400 Bad Requestとなっている [情報] 画像は400エラー をゲット
クライアント側のログ 71 主 なるほど RUMってなんですか…? ア 主 RUMとか顧客側で実際に発生しているエラ ーログとか見れたりする? AWS側を確認しよう
→ 72
AWSのどこを確認しよう? 72 AWS CloudTrailログからS3のエラーを確 認する → 73 S3バケットの状態を見に行く → 80
AWS CloudTrailでどうログを確認しよう? 73 イベント履歴のフィルター を活用 → 74 証跡設定を確認する → 79
フィルターをどう絞ろう? 74 イベント名: GetObjects → 75 イベントソース: s3 → 78
GetObjectsは何も出なかった 75 他のイベント名で調べる → 76 CloudTrailログの確認を諦 める → 77
他のイベント名も調べたがログはない 76 エピソード2の最初に戻る → 67 PutObject/ListObject、いろんなS3のアクショ ンを試してみたけど全然でてこないし候補もでない 気がついたら寝落ちしたorz 主
ログの確認を諦めてS3のログについて調べてみた 77 S3バケットの状態を確認しよう → 80 S3オブジェクト操作など はデータイベントと言うら しい 明示的に出力設定しな いと記録されないのか
そして設定は無かった 主
s3.amazonaws.comでいろんなログが出た 78 エピソード2の最初に戻る → 67 いっぱいあるけど 有用なログは見当 たらない 気がついたら寝落 ちしたorz
主
証跡設定でデータイベントの状態を確認 79 S3バケットの状態を確認しよう → 80 S3オブジェクト操作などのデータイベントは明示的に 出力設定しないと記録されない 主
S3バケットで何を確認しよう 80 オブジェクトの一覧を確認 する → 81 バケットの設定を確認する → 96
オブジェクトはたくさんあるがどうしよう 81 適当に1ファイル開く → 82 最終更新日時でソートして 新しいファイルを開く → 86
適当に開いたらInvalidRequestエラーになった 82 どうやらSSE(Server Side Encryption)の問 題らしい 主
SSEのエラーが出たので何を確認しよう 83 S3バケットの設定を確認する → 96 オブジェクトのプロパティの詳細を確認 する → 84
オブジェクトのプロパティの詳細でエラーが 84 SSE-Cってなんだ? 主
SSE-Cを調べてみた 85 [情報]SSE-Cで暗号化された オブジェクト をゲット アプリ担当に確認しよう → 117 クライアントの鍵で暗号化するの か
鍵は保存されないので自分たちで 持っておく必要があるらしい 主
最新のファイルを開いたら正常に画像が確認できた 86 次のオブジェクトを開く → 87 S3バケットの権限を確認す る → 97 障害は部分的なのかな?
主
次のオブジェクトも正常に画像が確認できた 87 さらに次のオブジェクトを 開く → 88 S3バケットの権限を確認す る → 97
これも正常だな 主
さらに次のオブジェクトも正常 88 10個ぐらい順番にオブジェ クトを開く → 89 S3バケットの権限を確認す る → 97
こっちも正常だな 主
いくら確認しても正常なオブジェクトが並んでいた 89 すべてのオブジェクトを確 認するんだ! → 90 ソートを変えて確認してみ よう → 91
AWS側は正常なのかな? 主
すべてのオブジェクトを確認した 90 エピソード2の最初に戻る → 67 すべてを確認できたが 何回朝を迎えたかわからない… そして会社は倒産してた 主
ソートを名前順にしてみる 91 Aから調べる → 90 Zから調べる → 92 どうやら命名は顧客の組織名 -資産名となっているようだ
主
ソートを逆順にしてみた 92 主 1つだけtxtファイルがある 「warning.txt」? 怪しいな
怪しいファイル、どうする? 93 開く→ 94 開かない → 95
開いてみた 94 主 脅迫文だ!! [情報] warning.txtが置 かれていた をゲット アプリ担当に確認しよう →
120
開かないことにした 95 オブジェクトは埒が明かなそうなので S3バケットの設定を確認 → 96 主 まあ間違えてファイル置いちゃうこともあるよね
S3バケットの設定を見ていこう 96 プロパティタブを開く → 97 アクセス許可タブを開く → 113
プロパティタブを順に見ていく 97 主 バージョニング デフォルトの暗号化 サーバーアクセスログ 静的ウェブサイトホスティング の4設定を順に見ていく
バージョニング設定 98 主 バージョニングは有効だ
デフォルトの暗号化設定 99 主 SSE-S3になっている
サーバーアクセスのログ記録設定 100 主 無効か…
静的ウェブサイトホスティング設定 101 主 静的ウェブサイトホスティングで 画像を配信していると
プロパティタブで追加調査は必要? 102 必要 → 103 いらない → 80
プロパティタブの追加調査、どこみる? 103 前半(バージョニング・デフォルトの暗号 化) → 104 後半(サーバーアクセスログ・静的ウェブ サイトホスティング) → 108
前半のどこみる? 104 バージョニング→ 105 デフォルトの暗号化 → 107
バージョニング設定に注目 105 主 バージョニングがあるので データを復旧できるかも? オブジェクトのバージョンを確認 → 106 確認しない →
102
過去バージョンがあるので復旧できそう 106 [情報]オブジェクトの過去バージョンあり をゲット オブジェクト側を調査してみよう → 81 主 復旧手法候補と して覚えておこう
デフォルトの暗号化設定に注目 107 主 これは意図した設定? はい。デフォルトのままですね SSE-KMSなどは使っていません。 ア 他の追加調査をする?→ 102
後半のどこみる? 108 サーバーアクセスログ → 109 静的ウェブサイトホスティング → 110
サーバーアクセスのログ記録設定に注目 109 主 有効化されてないねぇ 有効化されてたらいろいろわかったのになー 他の追加調査をする?→ 102
静的ウェブサイトホスティング設定に注目 110 主 顧客ごと資産の画像データが 公開されているのね
静的ウェブサイトホスティング設定に注目 111 主 そもそも顧客ごとプライベートな データなのにこの設定は良くな いのでは…? 危険なので無効化する → 112 流石に今変更はまずいので保留する
→ 102
静的ウェブサイトホスティングを無効化した 112 しかしアプリはより破壊さ れた エピソード2の最初に戻る → 67 危険な設定は禁止だ!! 主
アクセス許可タブを順に見ていく 113 主 ブロックパブリックアクセス バケットポリシー の2設定を順に見ていく
ブロックパブリックアクセス設定 114 主 ブロックパブリックアクセスはオフだ
バケットポリシー設定 115 主 バケットポリシーは 静的ウェブサイトホスティン グのための公開設定だ
アクセス許可タブを見た 116 主 特に気になる設定は無かったな 他の調査をする→ 72
SSE-Cの設定をアプリ担当に聞いてみた 117 主 ならなんでや? それは全く知りませんね。アプリではやってないはず ア 主 S3のオブジェクトがSSE-Cで暗号化されて たけどなんで?
SSE-Cの設定をアプリ担当に聞いてみた 118 確かに、SSE-Cが設定されたオブジェクトは開けない ですね アップロードし直したオブジェクトは開けるので、時間 制限的なバグがあるのかと調査していました ア でもどうしてSSE-Cが設定されているんでしょうね? あれ?バケットになんだか見覚えのない warning.txtなるファイルがあります
ア
開いてみた 119 主 脅迫文だ!! ランサムウェアについて調査 → 122 ランサムウェアと いうやつですか? ア
warning.txtについて担当に聞いてみた 120 主 流石にそうか それは全く知りませんね。私はやっていません! ア 主 なんだかS3バケットに脅迫文が置いてあっ たけど、やった?
warning.txtについて担当に聞いてみた 121 SSE-Cで暗号化したって書いてありますね 確かに、S3でオブジェクトの詳細を見るとSSE-Cに 関するエラーが出ますね ランサムウェアというやつですか? ア ランサムウェアについて調査 → 122
ランサムウェアについて調べた 122 S3ランサムウェア というらしい AWSブログでも 解説と注意喚起 が出ていた 主
S3ランサムウェアの侵入経路 123 しかし攻撃 にはIAM権 限が必要だ どこから侵 入したん だ? 主 こんな時頼りたいのは…
頼りたい、Amazon GuardDuty 124 G chat 主 お〜い! もしかして、呼んだ? 主 いま一番頼りたいよ!
頼りたい、Amazon GuardDuty 125 G chat なるほど、事情はわかった 主 過去に干渉してAmazon GuardDutyを有効化してよ! おけまる水産
頼りたい、Amazon GuardDuty 126 G chat 今回は条件を満たしているぜ 主 なんとかなりそうだな S3ランサムウェアによる攻撃を受け たという要因が判明しているからな
来い、Amazon GuardDuty 127 G chat それじゃあやるか? [過去改変]Amazon GuardDutyを 有効化する →
129 いや、まだ他にいいアプローチがあ るはず → 128
他のアプローチを探して対応が遅れ倒産した 128 1つ前に戻る → 127 Amazon GuardDutyの無 い世界なんて考え られない 主
重要なお知らせ:事業終了および破産手続き開始について 平素より弊社サービスをご利用いただき、誠にありがとうご ざいます。 2025年9月に発生したセキュリティインシデントへの対応遅 延により、お客様の重要なデータが流出し、甚大な被害を及 ぼす結果となりました。 この度、事業継続が困難と判断したため、破産手続きを開始 することとなりました。 ご利用いただいた全てのお客様に、心よりお詫び申し上げま す。
来い、Amazon GuardDuty 129 次のエピソードへ → 131 G chat 主 Amazon
GuardDutyを過去で 有効化する 受理したぜ。世界線移動に備えろ 主 またあれか!?うぐっ、ぁああ!
来い、Amazon GuardDuty 130 次のエピソードへ → 131
エピソード3: 不正工作のイントルージョン
来てくれたのか…? 132 G chat 主 うぅ…この世界が歪む感覚は慣れ ないな… ちゃんと世界線移動したぜ 影響を確認してくれ 主
よし、確認しよう
完 全 勝 利 133 主 やった〜!!!
いくつか検出があるが一番大事そうなやつを確認 134 Unauthoriz edAccess:I AMUser/Ins tanceCrede ntialExfiltra tion.Outside AWSだ 主
InstanceCredentialExfiltration.OutsideAWSとは 135 EC2のIAM Roleで利用し ているクレデンシ ャルがなぜか AWSの外側か ら利用されてい る 主
InstanceCredentialExfiltration.OutsideAWSとは 136 つまりEC2の中 の権限を取得 されている 問題はその攻 撃の経路はどこ にあるのだろ う? 主
まずGuardDuty Findingsからわかること 137 送信元IPは 98.xxx.xxx. xxx 攻撃タイミング は10/06の2 時頃 主
まずGuardDuty Findingsからわかること 138 IAM Roleやイン スタンスも特定 Amazon Linux のEC2だな 主
まずGuardDuty Findingsからわかること 139 S3の GetObject などの操作 がされていて 送信元は メキシコね 主
魔神の気遣い 140 G chat そういえば、過去改変ついでにS3 のデータログも設定しといたぜ 主 まじかよ!ネ申だな 魔神だがな
調査方針を立てる 141 最低限確認したいのは • 利用された攻撃(アプリの脆弱性等) • 攻撃に対する対策方法 追加で確認したいのは • 確認できていない他の影響があるか
• 他の問題になりそうな脆弱性があるか 主
攻撃の調査、なにしよう? 142 GuardDutyの情報を元にアプリのログを 確認しよう → 143 AWS側のログを確認しよう → 166
アプリログ、何で絞ろう 143 GuardDutyで検出した攻撃の送信元IP → 144 その他のIP → 158
送信元IPで絞ったけどいろんなアクセスがある 144 パスで絞る → 145 その他のIPを検討する→ 158 色々試行錯誤しているな 主
パスを理解するためにアプリの機能説明 145 ログイン・資産登録はユーザー入力があるので攻撃さ れる場所かも ア
どのパスのログを確認しよう 146 ログインページのログ → 147 資産登録ページのログ → 152
アプリのログイン機能 147 ログインページは 組織ID・ユーザー名・パスワード が入力されます サービス拡大のため無料トライアル の登録フォームもあります ア
ログインページのログを確認する? 148 ログインページのログ → 149 無料トライアルが気になる → 150
ログインページのログにも試行錯誤の跡が 149 他のログを確認しよう→ 142 とはいえ不正なログインなど は成功していなさそう 主
無料トライアル機能 150 無料トライアルは 組織ID・組織名・氏名・ メールアドレス・パスワー ドが入力されます 組織IDはユーザーが指 定可能です ア
無料トライアルのログにも試行錯誤の跡が 151 他のログを確認しよう→ 142 存在している組織IDを調べ たりしている そもそも資産管理のサービス をパブリックなユーザー登録 するのはリスクでは? 主
アプリの資産登録機能 152 資産登録は資産ID・カテゴリ・名称・型番・シリアル 番号・メーカーなど資産自体の情報や管理者の情報 などが入ります ア
アプリの資産登録機能 153 資産の画像をアップロードする機能と、アップ ロードの代わりにURLを指定して取得する機 能があります ア
URL指定機能が悪用されている 154 ここにインスタンスメタデータを入力してサーバー サイドリクエストフォージェリー(SSRF)攻撃がさ れている 主
実際にやってみた 155 ここにインスタンスメタデータを入力してサーバーサイドリ クエストフォージェリー(SSRF)攻撃がされている 主
クレデンシャル取れちゃった 156 これはあかんやつでした 主
脆弱性の特定 157 [情報]アプリのSSRF脆弱性 をゲットした 調査完了確認 → 170
その他のIP、何を見る? 158 127からはじまるIP → 159 169からはじまるIP → 162
127からはじまるIP 159 127.0.0.1 → 160 127.0.0.53 → 161
127.0.0.1 160 127.0.0.1は何も見つからなかった エピソード3の最初へ → 142
127.0.0.53 161 127.0.0.53は何も見つからなかった エピソード3の最初へ → 142
169からはじまるIP 162 169.254.169.253 → 163 169.254.169.254 → 164
169.254.169.253 163 169.254.169.253は何も見つからなかっ た エピソード3の最初へ → 142
169.254.169.254 164 メタデータに対してアクセスされている これはEC2上のクレデンシャルが抜かれている 主
アプリの資産登録機能 165 そのログの機能は、画像のアップロードの代わ りにURLを指定して取得する機能です ア 動作を確認する → 154
AWS環境、何を確認しよう 166 S3データログ → 167 EC2の設定 → 169
AthenaでS3データログを見ていく 167 主 見える… 見えるぞ! 攻撃者が実 行したAPI 全数もわか る
SSE-Cで上書きされた回数 168 主 SSE-Cで暗号化さ れた回数が特定で きた [情報]影響のあった範囲 をゲットした 他の調査を継続する →
142
EC2のIMDS設定 169 主 IMDS設定がv1 も許可されている [情報]IMDSv1が有効 をゲットした 調査完了確認 → 170
調査完了確認 170 下記2つは見つかった? • アプリの脆弱性 • AWS上での対策方法 見つかっている → 171
見つかっていないので調査再開 → 142
調査結果 171 アプリにSSRF の脆弱性があり、 IMDSv1が許 可されていたの が攻撃が成功 した要因 主 SSRFの
脆弱性 IMDSv1有効
対応をしていく 172 主 わかったよ〜 わかりました!IMDSの設定変更お願いします ア 主 SSRFの脆弱性の対応おねがいね
脆弱性の要因 173 主 ん? そもそも開発スケジュールが多く遅れて対応しきれない ことが多くなったんですよね しばらく前にAWSのアクセスキーが使えなくなって開 発速度が大幅に落ちちゃったので ア 主
しかし、どうしてこんな脆弱性を作り込んでし まったのか
まさに諸刃の剣 174 G chat どうやらアクセスキー禁止令が裏目 に出たようだぜ 主 アクセスキーを撲滅するのは大事だ が撲滅するだけはだめか… 現場を犠牲にしてはならない
前の世界線を目指すか 175 G chat アクセスキー禁止令を取り消すか? 主 今ならGuardDutyを有効化した 状態で戻れるか? それはおそらく大丈夫だぜ
両方やらなきゃいけない 176 G chat 主 アプリ側の開発を強化した上でセキ ュリティも強化する アクセスキーは諦めるのか? 主 ついでに別のアクセスキー撲滅方
法も模索しよう
前の世界線へ 177 G chat それじゃあやるか? [過去改変]アクセスキー禁止令を取 り消す → 179 どんな事があってもこのアクセスキ
ー禁止令は解かない → 178
アプリの対応速度があがらず倒産した 178 1つ前に戻る → 177 過去を取り消すし か無いんだ… 主 重要なお知らせ:事業終了および破産手続き開始について 平素より弊社サービスをご利用いただき、誠にありがとうご
ざいます。 2025年9月に発生したセキュリティインシデントへの対応遅 延により、お客様の重要なデータが流出し、甚大な被害を及 ぼす結果となりました。 この度、事業継続が困難と判断したため、破産手続きを開始 することとなりました。 ご利用いただいた全てのお客様に、心よりお詫び申し上げま す。
前の世界線へ 179 次のエピソードへ → 55 G chat 主 過去のアクセスキー禁止令を取り 消す
受理したぜ。世界線移動に備えろ 主 これで最後かな。うぐっ、ぁああ!
体験版終了のお知らせ 180 • 体験版のお話はここまでです。 • つづきは製品版でお楽しみください。 制作が間に合わなかった作者のせいだぜ 正直すまんかった エンディングへ →
182
[タイムアップ]体験版終了のお知らせ 181 • 体験版のお話はここまでです。 • つづきは製品版でお楽しみください。 時間切れだぜ 製品版を遊びたければアンケート回答にす るんだぜ エンディングへ
→ 182
バッドエンド: 時間閉鎖のウロボロス
準備が何も無い苦行 183 • 実際のインシデント対応でも、事前の準備が されていなくて対応が難しいことが多い • ログの保存、セキュリティサービスの有効化、 セキュアな設定などなど、今すぐやる必要が あるし継続する必要がある リアルな過去は変えられないんだぜ
AWSセキュリティを学ぼう 184 常にAWSのセキュリティを学び AWS以外のセキュリティも学び 時間やコストの制約に負けずに がんばろう
シナリオ解説
アルファ世界線 186 • 最初の世界線移動を経てたどり着いたアルファ世界線では、S3ランサムウ ェアの被害を受ける • これはアクセスキー禁止令により開発速度が大幅に低下した反動で、アプ リの脆弱性がたくさん生まれている状況だ(ホントは他にも色々隠れている) • 今回はSSRFの脆弱性がアプリにあることによりS3ランサムウェアの被害に
あったが、実際にはアクセスキーの漏洩でも同様にS3ランサムウェアの被 害に合う • S3にある資産に価値があればあるほど、単純な漏洩ではなくS3ランサムウ ェアの被害影響は大きくなる • 最小権限の原則を意識しつつ、アプリ等権限を利用できるものもしっかり 守る必要がある
ベータ世界線 187 • 主人公が召喚された世界線及び、アクセスキー禁止令を取り消して戻って いく世界線では、コインマイニングの被害を受けている • 本当はもっといろんな展開をしていく予定だったが、体験版ではここまで • 熱量があれば、ちゃんと続きが出るかも? •
ハッピーエンドはそれまでお預け
None