AWS認定資格 WEB問題集&徹底解説

セキュリティ-専門知識

正解 A問題
分野2:インシデント対応 タスクステートメント2.2:セキュリティイベントに対応する。
合格に向けて、もっと深く学習する
豊富な問題と詳細なAWSサービス解説を、24時間無料でお試しいただけます
プレミアム会員機能を無料で試す ❯
問題文と選択肢
あるヘルスケア企業のシステムを開発している業務委託先エンジニアが、誤ってIAMユーザーのアクセスキーを含むソースコードをパブリックなGitHubリポジトリにプッシュしてしまった。セキュリティチームがこれを検知し、直ちにアクセスキーを無効化するとともに、このキーが不正に使用されて何らかの被害が生じていないかを調査する必要がある。

取るべき対応として最も適切なものはどれか。
  • 漏えいしたアクセスキーを直ちに削除または無効化する。あわせて、すべてのAWSリージョンでそのアクセスキーに関連するAWS CloudTrailログを確認し、不正に作成・変更されたリソースがあれば削除する
  • エンジニアに依頼してリポジトリの履歴からアクセスキーを削除させ、アクセスキーをローテーションした上で、新しい認証情報を使って既存のワークロードを再デプロイする
  • Amazon GuardDutyを有効化し、漏えいしたアクセスキーによる異常なAPI呼び出しの検出結果(Finding)が生成されるのを待ってから、無効化と是正の対応を検討する
  • 漏えいしたアクセスキーに紐づくIAMユーザーを削除し、新規にIAMユーザーを作成した上で、そのユーザー配下ですべてのリソースを再デプロイする
解説 頻出度★★★★
この問題は、認証情報漏えいのインシデント対応として「即座に無効化する(封じ込め)」と「CloudTrail で全リージョンの悪用有無を調査し、不正リソースを是正する」をセットで実施するという原則を選べるかがポイントです。
正解

A. 漏えいしたアクセスキーを直ちに削除または無効化する。あわせて、すべてのAWSリージョンでそのアクセスキーに関連するAWS CloudTrailログを確認し、不正に作成・変更されたリソースがあれば削除する

漏えいした認証情報への対応は、まず無効化(Inactive 化)または削除で悪用を止める封じ込めから始めます。
次に、そのアクセスキー ID を条件に AWS CloudTrail のイベント履歴を全リージョンにわたって確認します。IAM の認証情報はグローバルに有効なので、攻撃者は普段使っていないリージョンで暗号資産マイニング用の EC2 を起動するなど、目の届きにくい場所を狙います。
そのうえで不正に作成・変更されたリソースを削除して原状へ戻す、という「封じ込め → 調査 → 根絶」の流れを満たす唯一の選択肢です。

B. エンジニアに依頼してリポジトリの履歴からアクセスキーを削除させ、アクセスキーをローテーションした上で、新しい認証情報を使って既存のワークロードを再デプロイする

リポジトリの履歴からキーを消してローテーションすること自体は必要な作業ですが、公開された時点で第三者に取得済みと考えるのが前提であり、履歴の削除は漏えいをなかったことにはしません。
さらに、この案にはすでに悪用されていないかを調べる工程が一切ありません。設問は「被害が生じていないかを調査する必要がある」と明示しているため、要件を満たしません。

C. Amazon GuardDutyを有効化し、漏えいしたアクセスキーによる異常なAPI呼び出しの検出結果(Finding)が生成されるのを待ってから、無効化と是正の対応を検討する

Amazon GuardDuty は不正利用の検知に有効で、実際に UnauthorizedAccess:IAMUser/InstanceCredentialExfiltration のような検出結果を出しますが、あくまで検知であって封じ込めではありません
検出結果が出るのを待つ間も漏えいしたキーは有効なままで、被害が拡大します。既知の漏えいに対して「検知されるのを待つ」のは初動として明確に誤りです。

D. 漏えいしたアクセスキーに紐づくIAMユーザーを削除し、新規にIAMユーザーを作成した上で、そのユーザー配下ですべてのリソースを再デプロイする

IAM ユーザーを削除して作り直せばキーは無効になりますが、すべてのリソースを再デプロイするのは過剰で、稼働中のワークロードに不要な停止リスクを持ち込みます。
そしてこの案にも悪用の調査が含まれていません。攻撃者が別リージョンに作成したリソースやバックドア用の IAM ユーザーは、既存ユーザーを消しても残ったままです。

これだけ覚える(記憶フック)
キー漏えいは「止める」だけで終わらせない。全リージョンの CloudTrail で悪用を洗い、不正リソースを消すまでが対応。
正解への思考ルート 問題文から要件を抽出し、選択肢の適否を判断するのがポイントです。
要件 判断ポイント
アクセスキーがパブリックリポジトリに公開された 公開された時点で取得済みと想定する。最優先は無効化・削除による封じ込め
→選択肢(A)が正解、選択肢(C)を消す
不正使用による被害が生じていないか調査する必要がある 調査の主役は AWS CloudTrail。アクセスキー ID を軸に API 呼び出しを追跡する
→選択肢(B・D)を消す
IAM の認証情報はグローバル 悪用は普段使っていないリージョンで起きやすいため、全リージョンのログを確認する
→選択肢(A)が正解
対応は「止める」だけでなく「戻す」まで 不正に作成・変更されたリソースの削除まで行って初めて根絶。是正が無い案は不十分
→選択肢(B・D)を消す
既知の漏えいに対する初動のスピード 検知サービスの結果を待つ判断は被害拡大を許す
→選択肢(C)を消す
ひっかけポイント
  • 選択肢(B)の「リポジトリの履歴から削除」は一見もっともらしいが、公開済みの情報は回収できない。履歴の削除は再発防止であって、インシデント対応の代わりにはならない
  • 選択肢(D)の「IAM ユーザーごと削除して作り直す」は思い切った対応に見えるが、攻撃者が別に作ったバックドア(IAM ユーザー・アクセスキー・EC2)は残る。消す対象を取り違えている
  • GuardDuty は正しいサービス名なので選びたくなるが、本問は漏えいが既に判明している状況。検知の出番はすでに過ぎており、必要なのは封じ込めと調査
  • CloudTrail を見るときに普段使っているリージョンだけを確認するのが実務でもよくある失敗。設問の正解が「すべての AWS リージョン」と明記している点が採点ポイント
出題バリエーション 同じ知識が本番では条件を変えて出題されます。
問題文がこう変わったら 正解はこう変わる
「漏えいしたのがIAM ロールの一時認証情報だった」 キーの無効化ではなく、ロールのセッションの失効(AWSRevokeOlderSessions 相当のポリシー付与)が正解軸に。
「そもそも長期のアクセスキーを使わせない仕組みにしたい」 IAM ロール・IAM Identity Center・IAM Roles Anywhere による一時認証情報の利用が正解軸に。
「コードへの認証情報混入をコミット前に止めたい」 Amazon CodeGuru Reviewer のシークレット検出や git-secrets、Secrets Manager への外出しが正解軸に。
「漏えいキーの悪用を自動で封じ込めたい」 GuardDuty 検出結果を EventBridge で受けて Lambda でキーを無効化する自動化が正解軸に。
「攻撃者が何をしたのかを関係性まで含めて可視化したい」 Amazon Detective による調査(動作グラフ)が正解軸に。
関連サービスの解説 AWS CloudTrail
AWS Identity and Access Management (AWS IAM)
+ 質問 / コメント
解答・解説に疑問がある場合や、よりよい解説がある場合など、お気軽にコメントください。ただし、短文コメントは表示されません。また、中傷などコメントの内容によっては、会員機能を停止させて頂きます。教え学び合える場になれば嬉しいです。(コメント投稿にはログインが必要です)
正答率 0%
No.7 解説
あるヘルスケア企業のシステムを開発している業務委託先エンジニアが、誤ってIAMユーザーのアクセスキーを含むソースコードをパブリックなGitHubリポジトリにプッシュしてしまった。セキュリティチームがこれを検知し、直ちにアクセスキーを無効化するとともに、このキーが不正に使用されて何らかの被害が生じていないかを調査する必要がある。

取るべき対応として最も適切なものはどれか。
  • 漏えいしたアクセスキーを直ちに削除または無効化する。あわせて、すべてのAWSリージョンでそのアクセスキーに関連するAWS CloudTrailログを確認し、不正に作成・変更されたリソースがあれば削除する
  • エンジニアに依頼してリポジトリの履歴からアクセスキーを削除させ、アクセスキーをローテーションした上で、新しい認証情報を使って既存のワークロードを再デプロイする
  • Amazon GuardDutyを有効化し、漏えいしたアクセスキーによる異常なAPI呼び出しの検出結果(Finding)が生成されるのを待ってから、無効化と是正の対応を検討する
  • 漏えいしたアクセスキーに紐づくIAMユーザーを削除し、新規にIAMユーザーを作成した上で、そのユーザー配下ですべてのリソースを再デプロイする

(会員限定)当問題の評価をお願いします。改善に活用します。