このドキュメントでは、Security Command Center の脅威の検出結果のタイプについて説明します。脅威の検出結果は、クラウド リソースで潜在的な脅威が検出されたときに、脅威検出機能によって生成されます。使用可能な脅威の検出結果の一覧については、脅威の検出結果のインデックスをご覧ください。
概要
Container Threat Detection は、実行可能プロセスの引数リストに悪意のある URL を検出しました。攻撃者は、悪意のある URL を介してマルウェアや悪意のあるライブラリを読み込む可能性があります。
対処方法
この検出結果に対応する手順は次のとおりです。
ステップ 1: 検出結果の詳細を確認する
検出結果の確認の説明に従って、
Malicious URL Observed
の検出結果を開きます。検出結果の詳細パネルが開き、[概要] タブが表示されます。[概要] タブで、次のセクションの情報を確認します。
- 検出された内容(特に次のフィールド):
- URI: 検出された悪意のある URI。
- 追加のバイナリ: 悪意のある URL を含む引数を受け取ったプロセス バイナリのフルパス。
- 引数: プロセス バイナリを呼び出すときに指定する引数。
- 環境変数: プロセス バイナリが呼び出されたときに有効だった環境変数。
- コンテナ: コンテナの名前。
- Kubernetes Pod: Pod 名と Namespace。
- 影響を受けているリソース(特に次のフィールド):
- リソース表示名: 影響を受けるリソースの名前。
- 完全なリソース名: クラスタの完全なリソース名。完全なリソース名には、次の情報が含まれます。
- クラスタを含むプロジェクト(
projects/PROJECT_ID
) - クラスタが配置されているロケーション(
zone/ZONE
またはlocations/LOCATION
) - クラスタの名前:
projects/CLUSTER_NAME
- クラスタを含むプロジェクト(
- 関連リンク(特に次のフィールド):
- VirusTotal インジケーター: VirusTotal の分析ページへのリンク。
- 検出された内容(特に次のフィールド):
[JSON] タブの
sourceProperties
属性にあるVM_Instance_Name
プロパティの値をメモします。
ステップ 2: クラスタとノードを確認する
Google Cloud コンソールで [Kubernetes クラスタ] ページに移動します。
必要に応じて Google Cloud コンソールのツールバーで、[リソースの完全な名前](
resource.name
)に表示されているプロジェクトを選択します。プロジェクト名は、完全なリソース名の/projects/
の後にあります。検出結果の概要の [リソース表示名](
resource.display_name
)でメモしたクラスタ名をクリックします。[クラスタ] ページが開きます。**クラスタの詳細ページの [メタデータ] セクションで、クラスタ オーナーを特定する情報など、脅威の解決に役立ちそうなユーザー定義の情報をメモします。
[ノード] タブをクリックします。
表示されたノードのリストから、先ほどの検出結果の JSON でメモした
VM_Instance_Name
の値と一致するノードを選択します。[ノードの詳細] ページの [詳細] タブで、[アノテーション] セクション内の
container.googleapis.com/instance_id
アノテーションの値をメモします。
ステップ 3: Pod を確認する
Google Cloud コンソールで [Kubernetes ワークロード] ページに移動します。
必要に応じて Google Cloud コンソールのツールバーで、検出結果の概要に含まれるクラスタの [リソースの完全な名前](
resource.name
)でメモしたプロジェクトを選択します。[システム ワークロードを表示] をクリックします。
検出結果の概要の [リソースの完全な名前](
resource.name
)でメモしたクラスタ名と、必要に応じてメモした Pod の [名前空間](kubernetes.pods.ns
)で、ワークロードのリストをフィルタリングします。前の検出結果の JSON でメモした
VM_Instance_Name
プロパティの値と一致するワークロード名をクリックします。[Pod の詳細] ページが開きます。[Pod の詳細] ページで、脅威の解決に役立つ Pod に関する情報をメモします。
ステップ 4: ログを確認する
Google Cloud コンソールで、[ログ エクスプローラ] に移動します。
必要に応じて Google Cloud コンソールのツールバーで、[リソースの完全な名前](
resource.name
)に表示されているプロジェクトを選択します。[期間の選択] を目的の期間に設定します。
読み込まれたページで、次の操作を行います。
- 次のフィルタを使用して、Pod(
kubernetes.pods.name
)の Pod ログを検索します。resource.type="k8s_container"
resource.labels.project_id="PROJECT_ID"
resource.labels.location="LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
resource.labels.namespace_name="NAMESPACE_NAME"
resource.labels.pod_name="POD_NAME"
- 次のフィルタを使用して、クラスタの監査ログを検索します。
logName="projects/PROJECT_NAME/logs/cloudaudit.googleapis.com%2Factivity"
resource.type="k8s_cluster"
resource.labels.project_id="PROJECT_ID"
resource.labels.location="LOCATION_OR_ZONE"
resource.labels.cluster_name="CLUSTER_NAME/var>"
POD_NAME
- 次のフィルタを使用して、GKE ノード コンソールのログを検索します。
resource.type="gce_instance"
resource.labels.instance_id="INSTANCE_ID"
- 次のフィルタを使用して、Pod(
ステップ 5: 実行中のコンテナを調査する
コンテナがまだ実行中の場合は、コンテナ環境を直接調査できる場合があります。
Google Cloud コンソールで [Kubernetes クラスタ] ページに移動します。
resource.labels.cluster_name
に表示されたクラスタの名前をクリックします。[クラスタ] ページで [接続] をクリックし、[Cloud Shell で実行] をクリックします。
Cloud Shell が起動し、ターミナルにクラスタに対するコマンドが挿入されます。
Enter キーを押します。[Authorize Cloud Shell] ダイアログが表示されたら、[承認] をクリックします。
次のコマンドを実行して、コンテナ環境に接続します。
kubectl exec --namespace=POD_NAMESPACE -ti POD_NAME -c CONTAINER_NAME -- /bin/sh
CONTAINER_NAME
は、前に検出結果の概要でメモしたコンテナの名前に置き換えます。このコマンドを実行するには、コンテナの
/bin/sh
にシェルがインストールされている必要があります。
ステップ 6: 攻撃とレスポンスの手法を調査する
- セーフ ブラウジングのサイト ステータスで、URL が悪意のあるものとして分類される理由の詳細を確認します。
- この検出結果タイプに対応する MITRE ATT&CK フレームワーク エントリ(Ingress Tool Transfer)を確認します。
- [VirusTotal インジケーター] でリンクをクリックして、VirusTotal で悪意があるというフラグが付いているバイナリの SHA-256 ハッシュ値を確認します。VirusTotal は、悪意のある可能性のあるファイル、URL、ドメイン、IP アドレスに関するコンテキストを提供する Alphabet 社のサービスです。
- 対応計画を策定するには、独自の調査結果と MITRE の調査、VirusTotal の分析を組み合わせる必要があります。
ステップ 7: レスポンスを実装する
次の対応計画は、この検出結果に適切な場合もありますが、運用に影響する可能性もあります。調査で収集した情報を慎重に評価して、検出結果を解決する最適な方法を判断してください。
次のステップ
- Security Command Center で脅威の検出結果を操作する方法を学習する。
- 脅威の検出結果のインデックスを確認する。
- Google Cloud コンソールで検出結果を確認する方法を学習する。
- 脅威の検出結果を生成するサービスについて学習する。