WEB問題集
ある企業は AWS Organizations で多数のアカウントを運用しており、各アカウントのセキュリティ検出結果を単一の場所に集約し、相関分析できるようにしたいと考えています。要件を満たす対応を 2 つ選択してください。
解説
【正解: B / D】の理由
AWS Security Hub は、複数の AWS セキュリティサービスの検出結果を共通フォーマットに正規化して集約・相関するためのサービスです。組織全体で一元管理するには、まず Security Hub の委任管理者アカウントを指定し、メンバーアカウントを取り込んだうえでクロスリージョン集約を有効化して、複数リージョンの検出結果を単一の集約リージョンに集めます(B)。さらに、Amazon GuardDuty(脅威検出)や Amazon Macie(機微データ検出)などの検出結果を Security Hub に統合すると、各サービスのファインディングが Security Hub に取り込まれ、単一のコンソールで横断的に確認・相関できます(D)。この 2 つにより、集約と相関という要件を運用負荷を抑えて満たせます。
【他選択肢が違う理由】
- A: 個別メール転送と手作業の突合は集約・相関の自動化にならず、大規模組織では運用が破綻します。
- C: CloudTrail は API 操作の記録であり、脅威検出結果の集約・相関基盤にはなりません。
- E: Trusted Advisor はベストプラクティス点検のサービスで、セキュリティ検出結果の集約先ではありません。
【参考】
ある企業は AWS Organizations の全アカウントの API アクティビティを、改ざん検知が可能な形で単一の場所に集約し、後からクエリできるようにしたいと考えています。次の候補から該当するものだけを選び、実施すべき順に 3 ステップを並べてください(使用しない候補があります)。
解説
【正しい順序】
- ステップ 1: 管理アカウント(または委任管理者)で AWS CloudTrail の組織の証跡を作成する。
- ステップ 2: ログファイル検証を有効化し、改ざん検知用のダイジェストファイルを生成する。
- ステップ 3: 中央のログアーカイブ用 S3 バケットへ配信し、Amazon Athena でクエリできるようにする。
【ポイント】
組織全体の API アクティビティを集約するには、まず管理アカウントまたは委任管理者から CloudTrail の組織の証跡を作成します。組織の証跡は、既存および将来追加されるメンバーアカウントを自動的に対象に含めるため、アカウント追加のたびに手作業を行う必要がありません。次に、ログファイル検証を有効化すると、CloudTrail が署名付きのダイジェストファイルを生成し、S3 配信後にログが改ざんされていないことを暗号的に検証できるようになります。最後に、集約先の中央 S3 バケットへログを配信し、Amazon Athena を用いて SQL でクエリできるようにすることで、監査や調査の要件を満たします。各アカウントでの個別作成は運用負荷が高く、CloudTrail の無効化や S3 サーバーアクセスログのみの利用は、改ざん検知や網羅的な API 記録の要件を満たしません。
【参考】
あるセキュリティ担当者が、単一の AWS アカウントで複数のリージョンにわたり Amazon GuardDuty を運用しています。GuardDuty の detector(検出機能)リソースの性質として、最も適切なものはどれですか。
解説
【正解: A】の理由
Amazon GuardDuty の detector は、特定の AWS リージョンにおける GuardDuty サービスそのものを表すリソースで、リージョンごと・アカウントごとに 1 つだけ存在します。detector を作成(有効化)するとそのリージョンで脅威検出が開始され、無効化・削除するとそのリージョンの検出が停止します。GuardDuty はリージョナルサービスであるため、複数リージョンを保護するにはリージョンごとに detector を有効化する必要があり、あるリージョンの detector は他リージョンのアクティビティを分析しません。detector には detectorId という一意の識別子が割り当てられ、保護プランの構成やフィルター作成などの各種 API 呼び出しはこの detectorId を単位として行います。したがって「リージョン単位で 1 つ」という性質と、有効化・無効化の単位である点を正しく理解することが運用設計上きわめて重要です。
【他選択肢が違う理由】
- B: detector はグローバルではなくリージョナルなリソースであり、1 つ作成しても他リージョンの検出は自動的に有効になりません。各リージョンで個別に有効化する必要があります。
- C: GuardDuty は VPC フローログや CloudTrail を利用者が事前に有効化しなくても、独立した複製ストリームから直接取り込むため、この前提条件は誤りです。
- D: detector は IAM ロールではなく検出機能を表すリソースで、ログアクセスはサービスにリンクされたロールが自動的に扱うため、手動アタッチは不要です。
【参考】
解説
【正解: A / B】の理由
GuardDuty を組織全体で効率よく運用する標準手法は、AWS Organizations の管理アカウントから GuardDuty の委任管理者アカウントを指定し(A)、その委任管理者で自動有効化(auto-enable)を構成して既存および新規のメンバーアカウントを一括オンボードすること(B)である。委任管理者を使うと、セキュリティチームは専用アカウントから組織全体の検出結果を集約・可視化でき、後から追加されたアカウントでも自動的に GuardDuty が有効化されるため、カバレッジの抜け漏れと運用負荷を最小化できる。GuardDuty は CloudTrail 管理イベント・VPC フローログ・DNS クエリログを裏側で自動取り込みし、機械学習と脅威インテリジェンスにより既知・未知の脅威を検出するマネージドサービスであり、ログ基盤を個別に構築する必要はない。
【他選択肢が違う理由】
- C: 各アカウントに個別ログインして手動で有効化する運用はアカウント数の増加で破綻し、新規アカウントの有効化漏れも生じるためスケールしない。
- D: AWS WAF はレイヤー7の Web リクエストをフィルタする防御サービスであり、アカウント横断で脅威を検出する GuardDuty の代替にはならない。
- E: CloudTrail は API 操作を記録するログサービスにすぎず、相関分析や機械学習ベースの脅威検出は行わないため GuardDuty の代わりにはならない。
【参考】
次の Amazon GuardDuty 検出結果の一部を確認しました。
{
"schemaVersion": "2.0",
"accountId": "111122223333",
"region": "ap-northeast-1",
"type": "CryptoCurrency:EC2/BitcoinTool.B!DNS",
"resource": { "resourceType": "Instance" },
"severity": 8.0,
"title": "EC2 instance is querying a domain associated with cryptocurrency-related activity."
}この検出結果の重要度区分と型名の解釈として正しいものはどれですか。
解説
【正解: B】の理由
GuardDuty の個々の検出結果の重要度は 1.0〜8.9 の数値で表され、1.0〜3.9 が Low、4.0〜6.9 が Medium、7.0〜8.9 が High に区分されます(攻撃シーケンスを検出する Extended Threat Detection では 9.0 の Critical も加わります)。したがって severity が 8.0 の本検出結果は High に分類され、優先的な調査が推奨される重大なアクティビティです。型名(finding type)は ThreatPurpose:ResourceTypeAffected/ThreatFamilyName.DetectionMechanism!Artifact という規則的な構造を持ち、この例では脅威の目的が CryptoCurrency、影響を受けたリソース種別が EC2、脅威ファミリが BitcoinTool、検出機構が DNS であることを表します。すなわち EC2 インスタンスが暗号通貨マイニングに関連する既知の悪意あるドメインへ DNS クエリを行っていることを示しています。重要度は数値が大きいほど深刻度が高いことを意味し、誤検知の確率を示すものではありません。この命名規則と重要度スケールの理解は、検出結果のトリアージや EventBridge によるフィルタリングの基礎となります。
【他選択肢が違う理由】
- A: 重要度 8.0 は Medium ではなく High です。また型名の 2 番目の要素 EC2 は検出手法ではなく、影響を受けたリソース種別(ResourceTypeAffected)を示します。
- C: 重要度 8.0 は Critical ではなく High に分類され、また値の大小は誤検知の可能性ではなく深刻度の高さを示すため、この説明は二重に誤りです。
- D: GuardDuty の重要度は 0〜100 ではなく 1.0〜8.9 のスケールで、8.0 は Low ではなく High に相当するため、スケールと区分の双方が誤っています。
