このドキュメントでは、Security Command Center の脅威の検出結果のタイプについて説明します。脅威の検出結果は、クラウド リソースで潜在的な脅威が検出されたときに、脅威検出機能によって生成されます。利用可能な脅威の検出結果の一覧については、脅威の検出結果のインデックスをご覧ください。
概要
機械学習モデルが、実行された Bash コードを悪意があるものとして識別しました。攻撃者は、Bash を使用してツールを転送し、バイナリなしでコマンドを実行します。コンテナが変更不可であることを確認することは、重要なベスト プラクティスです。 ツールの転送にスクリプトを使用すると、攻撃者によって Ingress ツール転送の手法が模倣され、意図しない検出が引き起こされる可能性があります。
顧客への対処方法
この検出結果に対応する手順は次のとおりです。
ステップ 1: 検出結果の詳細を確認する
検出結果の確認の説明に従って、
Malicious Script Executed
の検出結果を開きます。検出結果の詳細パネルが開き、[概要] タブが表示されます。[概要] タブで、次のセクションの情報を確認します。
- 検出された内容(特に次のフィールド):
- プログラム バイナリ: スクリプトを呼び出したインタープリタの詳細。
- スクリプト: ディスク上のスクリプト名の絶対パス。この属性は、ディスクに書き込まれたスクリプトに対してのみ表示され、リテラル スクリプトの実行では表示されません(例:
bash -c
)。 - 引数: スクリプトの起動時に指定する引数。
- 影響を受けているリソース(特に次のフィールド):
- リソースの完全な名前: プロジェクト番号、ロケーション、クラスタ名を含むクラスタの完全なリソース名。
- 関連リンク(特に次のフィールド):
- VirusTotal インジケーター: VirusTotal の分析ページへのリンク。
- 検出された内容(特に次のフィールド):
検出結果の詳細ビューで、[JSON] タブをクリックします。
[JSON] で、次のフィールドを確認します。
finding
:processes
:script
:contents
: 実行されたスクリプトの内容。パフォーマンス上の理由で切り捨てられる場合があります。これは調査に役立ちますsha256
:script.contents
の SHA-256 ハッシュ
resource
:project_display_name
: アセットを含むプロジェクトの名前。
sourceProperties
:Pod_Namespace
: Pod の Kubernetes Namespace の名前。Pod_Name
: GKE Pod の名前。Container_Name
: 影響を受けるコンテナの名前。Container_Image_Uri
: 実行されているコンテナ イメージの名前。VM_Instance_Name
: Pod が実行された GKE ノードの名前。
このコンテナで同様のタイミングで発生した他の検出結果を特定します。たとえば、スクリプトがバイナリをドロップした場合は、そのバイナリに関連する検出結果を確認します。
ステップ 2: クラスタとノードを確認する
Google Cloud コンソールで [Kubernetes クラスタ] ページに移動します。
Google Cloud コンソールのツールバーで、必要に応じて
resource.project_display_name
に表示されているプロジェクトを選択します。検出結果の詳細の [概要] タブにある [リソースの完全な名前] 行のクラスタを選択します。クラスタとそのオーナーに関するメタデータをメモします。
[ノード] タブをクリックします。
VM_Instance_Name
に表示されているノードを選択します。[詳細] タブをクリックし、
container.googleapis.com/instance_id
アノテーションをメモします。
ステップ 3: Pod を確認する
Google Cloud コンソールで Kubernetes の [ワークロード] ページに移動します。
Google Cloud コンソールのツールバーで、必要に応じて
resource.project_display_name
に表示されているプロジェクトを選択します。必要に応じて、
resource.name
に表示されているクラスタとPod_Namespace
に表示されている Pod の Namespace でフィルタリングします。Pod_Name
に表示されている Pod を選択します。Pod とそのオーナーに関するメタデータをメモします。
ステップ 4: ログを確認する
Google Cloud コンソールで、[ログ エクスプローラ] に移動します。
Google Cloud コンソールのツールバーで、必要に応じて
resource.project_display_name
に表示されているプロジェクトを選択します。[期間の選択] を目的の期間に設定します。
読み込まれたページで、次の操作を行います。
- 次のフィルタを使用して、
Pod_Name
の Pod ログを検索します。resource.type="k8s_container"
resource.labels.project_id="resource.project_display_name"
resource.labels.location="location"
resource.labels.cluster_name="cluster_name"
resource.labels.namespace_name="Pod_Namespace"
resource.labels.pod_name="Pod_Name"
- 次のフィルタを使用して、クラスタの監査ログを検索します。
logName="projects/resource.project_display_name/logs/cloudaudit.googleapis.com%2Factivity"
resource.type="k8s_cluster"
resource.labels.project_id="resource.project_display_name"
resource.labels.location="location"
resource.labels.cluster_name="cluster_name"
Pod_Name
- 次のフィルタを使用して、GKE ノード コンソールのログを検索します。
resource.type="gce_instance"
resource.labels.instance_id="instance_id"
- 次のフィルタを使用して、
ステップ 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
このコマンドを実行するには、コンテナの
/bin/sh
にシェルがインストールされている必要があります。
ステップ 6: 攻撃とレスポンスの手法を調査する
- この検出結果タイプに対応する MITRE ATT&CK フレームワーク エントリ(Command and Scripting Interpreter、Ingress Tool Transfer)を確認します。
- [VirusTotal インジケーター] でリンクをクリックして、VirusTotal で悪意があるというフラグが付いているバイナリの SHA-256 ハッシュ値を確認します。VirusTotal は、悪意のある可能性のあるファイル、URL、ドメイン、IP アドレスに関するコンテキストを提供する Alphabet 社のサービスです。
- 対応計画を策定するには、独自の調査結果と MITRE の調査、VirusTotal の分析を組み合わせる必要があります。
ステップ 7: レスポンスを実装する
次の対応計画は、この検出結果に適切な場合もありますが、運用に影響する可能性もあります。調査で収集した情報を慎重に評価して、検出結果を解決する最適な方法を判断してください。
- スクリプトがコンテナに予定していた変更を行っていた場合は、変更が不要になるようにコンテナ イメージを再ビルドします。こうして、コンテナを変更不可にすることができます。
- そうでない場合は、コンテナが不正使用されているプロジェクトのオーナーに連絡します。
- 不正使用されているコンテナを停止するか削除して、新しいコンテナに置き換えます。
次のステップ
- Security Command Center で脅威の検出結果を操作する方法を学習する。
- 脅威の検出結果のインデックスを参照する。
- Google Cloud コンソールで検出結果を確認する方法を学習する。
- 脅威の検出結果を生成するサービスについて学習する。