security
A
信頼度ランク
| S | 公式ソース確認済み |
| A | 成功実績多数・失敗例少数 |
| B | 賛否両論 |
| C | 動作未確認・セキュリティリスク高 |
| Z | 個人所感 |
Amazon Detective — セキュリティ調査グラフと GuardDuty との連携
Amazon DetectiveのVPC フローログ・CloudTrail・GuardDuty Findingsを統合した調査グラフ、エンティティ関係の可視化、GuardDuty Findingsからのドリルダウン調査、Detective の有効化手順を解説。
一言結論
DetectiveはGuardDutyが検出した脅威の「なぜ・どのように」を調査する専用ツールであり、単体では意味をなさずGuardDutyとのセットで初めて「検出→調査→対応」の流れが完結する。
Amazon Detective の概要
Amazon Detectiveはセキュリティインシデントを調査するための可視化・分析サービスだ。GuardDuty、VPCフローログ、CloudTrailのデータを機械学習で分析し、エンティティ間の関係グラフを自動構築する。
Detective の役割:
→ GuardDutyが検出した脅威の「なぜ?」「どの程度?」を調査
→ 複数データソースを統合した調査グラフ
→ 時系列での行動パターンの可視化
→ 調査時間の短縮(数日 → 数時間)
連携するサービス:
→ GuardDuty(Finding の起点)
→ VPCフローログ(ネットワーク通信)
→ CloudTrail(API操作)
→ Security Hub(統合的な可視化)
GuardDuty Finding からの調査フロー
GuardDuty Finding 例:
UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS
(EC2のIAM認証情報がAWS外から使用された)
Detective を使った調査ステップ:
1. Finding をクリック → Detective で調査を開始
2. EC2インスタンスのエンティティグラフを確認
3. 過去に同じEC2から行われた正常なAPI操作と比較
4. 問題のIPアドレスからの他の活動を確認
5. 影響を受けたIAMロールの全アクティビティを調査
6. インシデントのタイムラインを構築
Detective のエンティティタイプ
Detective が分析するエンティティ:
IAMユーザー / ロール:
→ API呼び出し履歴
→ アクセスしたリソース一覧
→ 地理的な位置情報
→ 新規アクセスパターンの検出
EC2インスタンス:
→ インバウンド/アウトバウンド通信
→ VPCフローログの可視化
→ IAMロールの使用状況
IPアドレス:
→ そのIPからのAPI呼び出し
→ 接続したEC2インスタンス
→ 過去の活動との比較
S3バケット:
→ アクセスしたエンティティ
→ 異常なアクセスパターン
Detective の有効化
# Detective の有効化(GuardDuty が有効である必要がある)
aws detective create-graph
# 組織アカウントをメンバーとして追加(Organizations統合)
aws detective create-members \
--graph-arn arn:aws:detective:ap-northeast-1:123456789012:graph:xxx \
--accounts '[
{"AccountId": "111111111111", "EmailAddress": "account1@example.com"},
{"AccountId": "222222222222", "EmailAddress": "account2@example.com"}
]'
前提条件:
→ GuardDuty が有効であること
→ Detective は GuardDuty, VPCフローログ, CloudTrailを自動で収集
→ データ収集開始後、有意な調査グラフができるまで2週間程度かかる
料金:
→ インジェストしたデータ量に対して課金
→ GuardDuty と VPCフローログのデータが主なコスト要因
→ 30日間の無料トライアルあり
GuardDuty vs Inspector v2 vs Macie vs Detective
GuardDuty:
→ 「何が起きているか」を検出(脅威検出)
→ VPCフローログ、CloudTrail、DNSログを分析
→ 例: 不審なAPI呼び出し、マイニング、C2通信
Inspector v2:
→ 「どの脆弱性があるか」を評価(脆弱性管理)
→ EC2、ECR、Lambda を脆弱性スキャン
→ CVSSスコアで優先順位付け
Macie:
→ 「どのデータが機密か」を発見(データ発見)
→ S3の機密データ(PII、クレジットカード等)を検出
Detective:
→ 「なぜ・どのように起きたか」を調査(インシデント調査)
→ GuardDuty Findingのドリルダウン調査
→ エンティティ関係の可視化
調査のワークフロー例
シナリオ: GuardDuty が Trojan:EC2/DropPoint を検出
Step 1 [GuardDuty]: Finding の確認
→ EC2インスタンス i-xxx が疑わしい外部IPと通信
Step 2 [Detective]: 詳細調査
a. EC2インスタンスのエンティティグラフを開く
b. 「過去2週間の通信パターン」を確認
→ 突然この外部IPへの通信が始まった
c. 「このIPへの接続数の推移」を確認
→ 数分ごとに定期的に接続(C2パターン)
d. 「このEC2が呼び出したIAM API」を確認
→ CreateUser, AttachUserPolicy 等の不審なAPI
Step 3 [インシデント対応]:
→ EC2インスタンスを隔離(SG変更)
→ IAMクレデンシャルを無効化
→ CloudTrailで被害範囲を確認
試験頻出ポイント
| シナリオ | 回答 |
|---|---|
| GuardDuty Findingの詳細調査 | Amazon Detective |
| エンティティ間の関係グラフ | Amazon Detective |
| 脆弱性スキャン | Amazon Inspector v2 |
| 機密データの検出 | Amazon Macie |
| セキュリティインシデントの最初の検出 | GuardDuty |
まとめ
Amazon Detectiveはセキュリティインシデントの調査に特化したサービスで、GuardDuty、VPCフローログ、CloudTrailを統合した調査グラフを自動構築する。GuardDutyで脅威を検出し、Detectiveで「なぜ・どのように」を調査する2段階アプローチが効果的だ。