SJ blog
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段階アプローチが効果的だ。