ある企業のセキュリティチームが、Amazon GuardDutyの検出結果「UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration.OutsideAWS(EC2インスタンスに割り当てられた一時的な認証情報がAWS外部のIPアドレスから使用されている)」を受信しました。調査の結果、本番環境のEC2インスタンスに紐付いたIAMロールの一時的な認証情報が、攻撃者のサーバーと思われる外部IPアドレスから使用されていることが確認されました。 セキュリティチームは以下の要件で対応を進めたいと考えています。 ・漏洩した一時的な認証情報を最も迅速に無効化したい ・EC2インスタンスはフォレンジック調査のために保全する(終了・停止しない) 最も適切な対応はどれですか?
IAMロールに紐付いた一時的な認証情報(STSトークン)は発行後に有効期限まで使用可能であり、インスタンスプロファイルを変更しても既存のトークンは即座には無効化されません。しかし、IAMロールに明示的なDenyポリシーをアタッチすると、IAMの評価ロジック(明示的なDenyは常に優先される)により、既に発行された一時的な認証情報を使用したすべてのAPI呼び出しがリアルタイムで拒否されます。EC2インスタンス自体には手を加えないため、フォレンジック調査の継続も可能です。 選択肢AのIAMコンソールには「アクティブセッションを取り消す」機能があり、TokenIssueTime条件付きのインラインポリシー「AWSRevokeOlderSessions」が自動作成されます。ただしこれはコンソールが自動付与するインラインポリシーであり、アタッチ可能なAWSマネージドポリシーとしては存在しません。選択肢の「マネージドポリシーをアタッチ」という操作は誤りです。 選択肢Bの信頼ポリシーからEC2プリンシパルを削除すると新規の一時的認証情報の発行は防止できますが、既に漏洩した有効なトークンは外部から引き続き使用可能なため、即時封じ込めには不十分です。 選択肢Dのセキュリティグループのアウトバウンドルール削除はEC2インスタンスからの通信を制限しますが、外部に持ち出された一時的認証情報は攻撃者のサーバーから直接AWSのAPIエンドポイントへ使用されるため、この対応では無効化できません。