【正解】D
【0からの解説】
①前提知識
・Security Command Center(SCC)は Google Cloud のセキュリティとリスクを一元管理するサービスで、各種の組み込みサービス(検出サービス)が見つけた問題を「検出結果(finding)」として SCC に集約します。
・Container Threat Detection(CTD)は SCC の組み込みサービスの一つで、GKE ノードの Container-Optimized OS イメージの状態を継続的にモニタリングし、コンテナのランタイムの振る舞いから攻撃をほぼリアルタイムで検出します。代表的な検出器に「Added Binary Executed(追加されたバイナリの実行)」「Added Library Loaded(追加されたライブラリの読み込み)」「Malicious Script Executed(悪意のあるスクリプトの実行)」「Reverse Shell」などがあり、検出したインシデントは SCC の検出結果として書き込まれます(必要に応じて Cloud Logging にも出力)。
・CTD は SCC の Premium ティア(または Enterprise ティア)でのみ利用でき、組織・フォルダ・プロジェクト単位で有効化できます。なお Added Binary Executed や Added Library Loaded など一部の検出器は、予期しない影響を避けるためにデフォルトで無効になっているので、モジュールの設定で有効にします。通知は SCC の通知構成(Pub/Sub)で受け取れます。
②要件と制約語の整理
・コンテナの「ランタイム」の脅威検出であること(構成ミスや脆弱性のスキャンではない)。
・追加ライブラリの読み込みと、悪意のあるスクリプトの実行を検出して通知を受けたい。
・対象は本番環境フォルダのプロジェクト。
・検出結果が SCC 内に表示されること。
③正解の理由
D の Container Threat Detection は、まさに「追加ライブラリの読み込み」「悪意のあるスクリプトの実行」を検出する専用の検出器を持ち、結果は SCC の検出結果として表示されます。本番環境フォルダ配下のプロジェクトを対象に有効化でき、通知も SCC の機能で構成できます。すべての要件を満たすマネージドな方法です。
【誤りの選択肢】
A:ログベースの指標とアラートは自前で検知ロジックを作る方法であり、そもそもコンテナ内のライブラリ読み込みやスクリプト実行をカーネル レベルで捉えるログは標準では得られません。また結果は Cloud Monitoring のアラートになり、SCC の検出結果としては表示されないため、「SCC 内で確認できること」という要件を満たしません。
B:Security Health Analytics は、公開バケット、過剰な権限、開放されたファイアウォールなど、リソースの「構成ミス(misconfiguration)」をスキャンするサービスです。実行中のコンテナ内で起きるプロセスの実行やライブラリの読み込みといったランタイムの振る舞いは検出できません。
C:Container-Optimized OS は CTD がモニタリング対象とするノード イメージであり前提条件の一部ですが、OS を使うだけでは脅威検出は行われません。検出サービスを有効にしない限り、通知も SCC の検出結果も得られません。
【参考】
Container Threat Detection の概要 | Security Command CenterContainer Threat Detection を使用する | Security Command Center