Virtual Machine Threat Detection の概要

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

このページでは、Virtual Machine Threat Detection の概要について説明します。

概要

Virtual Machine Threat Detection は、Security Command Center Premium の組み込みサービスで、ハイパーバイザ レベルの計測を使用して脅威を検出します。VM Threat Detection は、暗号通貨マイニング ソフトウェアやカーネルモードのルートキットなど、不正使用されたクラウド環境で実行されている悪意のあるアプリケーションを検出します。

VM Threat Detection は、Security Command Center Premium の脅威検出スイートの一部であり、Event Threat DetectionContainer Threat Detection の既存の機能を補完するように設計されています。

VM Threat Detection で検出された脅威は重大度の高い脅威であるため、直ちに修正することをおすすめします。VM Threat Detection の検出結果は Security Command Center で確認できます。

Security Command Center Premium に登録されている組織では、VM Threat Detection のスキャンが自動的に有効になります。必要であれば、サービスを無効にしたり、プロジェクト レベルで有効にすることができます。詳細については、VM Threat Detection を有効または無効にするをご覧ください。

VM Threat Detection の仕組み

VM Threat Detection は、有効な Compute Engine プロジェクトと仮想マシン(VM)インスタンスをスキャンし、VM で実行されている潜在的に悪意のあるアプリケーション(暗号通貨マイニング ソフトウェアやカーネルモード ルートキットなど)を検出するマネージド サービスです。

次の図は、VM Threat Detection の分析エンジンが VM ゲストメモリからメタデータを取り込み、検出結果を Security Command Center に書き込む方法を示す簡略図です。

Virtual Machine Threat Detection の簡素化されたデータパス
Virtual Machine Threat Detection の簡素化されたデータパス

VM Threat Detection は、すべての Compute Engine VM の作成と管理を行う安全なプラットフォームである Google Cloud のハイパーバイザに組み込まれています。

VM Threat Detection は、ゲストのオペレーションを一時停止することなく、ハイパーバイザからゲスト VM のライブメモリを定期的にスキャンします。このサービスはゲスト VM インスタンスの外部から動作するため、ゲスト エージェントやゲスト オペレーティング システムの特別な構成は必要ありません。また、高度なマルウェアによって使用される手法にも耐性があります。ゲスト VM 内で CPU サイクルは使用されません。ネットワーク接続も必要ありません。セキュリティ チームは、シグネチャの更新やサービスの管理を行う必要はありません。

暗号通貨マイニングの検出の仕組み

VM Threat Detection は、Google Cloud の脅威検出ルールに基づいて、VM 上で実行されているソフトウェアに関する情報を分析します。アプリケーション名のリスト、プロセスごとの CPU 使用率、メモリページのハッシュ、CPU ハードウェアのパフォーマンス カウンタ、実行されたマシンコードに関する情報などを分析し、アプリケーションが既知の暗号通貨マイニングのシグネチャと一致するかどうか判定します。可能な場合、VM Threat Detection は、検出されたシグネチャに関連する実行中のプロセスを特定し、そのプロセスに関する情報を検出結果に追加します。

カーネルモードのルートキット検出の仕組み

VM Threat Detection は、VM 上で実行されているオペレーティング システムの種類を推測し、その情報を使用して、メモリ内のカーネルコード、読み取り専用データ リージョン、その他のカーネルデータ構造を決定します。VM Threat Detection は、これらの手法を改ざんするかどうかをカーネル イメージに想定される事前計算のハッシュと比較し、重要なカーネルデータ構造の整合性を検証することで、さまざまな手法を改ざんします。

スキャンの頻度

VM Threat Detection は、インスタンスが作成された直後に各 VM インスタンスをスキャンします。また、VM Threat Detection は各 VM インスタンスを 30 分ごとにスキャンします。

暗号通貨のマイニング検出では、VM Threat Detection はプロセスごとに、VM ごとに 1 日に 1 つの検出結果を生成します。各検出結果には、検出結果で特定されたプロセスに関連する脅威のみが含まれます。検出した脅威をプロセスに関連付けることができない場合、VM Threat Detection は、VM ごとに関連付けられていないすべての脅威を 1 つの検出結果にグループ化します。この検出結果は 24 時間ごとに発行されます。脅威が 24 時間を超えて存在している場合、VM Threat Detection は 24 時間ごとに 1 回新しい検出結果を生成します。

プレビューのカーネルモードのルートキット検出の場合、VM Threat Detection は VM ごとに 3 日ごとに 1 つの検出結果を生成します。

Security Command Center のプレミアム ティアを有効にすると、VM Threat Detection のスキャンが自動的に有効になります。必要であれば、サービスを無効にしたり、プロジェクト レベルで有効にすることができます。詳細については、VM Threat Detection を有効または無効にするをご覧ください。

検出結果

このセクションでは、VM Threat Detection によって生成される脅威と観察の検出結果について説明します。

脅威の検出

VM Threat Detection には、次の脅威検出があります。

暗号通貨のマイニング脅威の検出

VM Threat Detection は、ハッシュ マッチングまたは YARA ルールを使用して次の検出カテゴリを検出します。

VM Threat Detection 暗号通貨マイニングの脅威の検出
Category コース 説明
Execution: Cryptocurrency Mining Hash Match CRYPTOMINING_HASH 実行中のプログラムのメモリハッシュを、暗号通貨マイニング ソフトウェアの既知のメモリハッシュと照合します。
Execution: Cryptocurrency Mining YARA Rule CRYPTOMINING_YARA 暗号通貨マイニング ソフトウェアによって使用されることが確認されているプルーフオブワーク定数などのメモリパターンと照合します。
Execution: Cryptocurrency Mining Combined Detection
  • CRYPTOMINING_HASH
  • CRYPTOMINING_YARA
CRYPTOMINING_HASH モジュールと CRYPTOMINING_YARA モジュールの両方によって検出された脅威を識別します。 詳細については、複合検出をご覧ください。

カーネルモードのルートキットによる脅威の検出

VM Threat Detection は、実行時にカーネルの整合性を分析し、マルウェアによって使用される一般的な回避手法を検出します。

KERNEL_MEMORY_TAMPERING モジュールは、仮想マシンのカーネルコードとカーネルの読み取り専用データメモリに対してハッシュ比較を行うことで、脅威を検出します。

KERNEL_INTEGRITY_TAMPERING モジュールは、重要なカーネルデータ構造の整合性をチェックして、脅威を検出します。

VM Threat Detection のカーネルモードのルートキットによる脅威の検出
Category コース 説明
カーネルメモリの不正使用
Defense Evasion: Unexpected kernel code modificationプレビュー KERNEL_MEMORY_TAMPERING カーネルコード メモリの予期しない変更が存在する。
Defense Evasion: Unexpected kernel read-only data modificationプレビュー KERNEL_MEMORY_TAMPERING カーネルの読み取り専用データメモリの予期しない変更が存在する。
カーネルの完全性の改ざん
Defense Evasion: Unexpected ftrace handlerプレビュー KERNEL_INTEGRITY_TAMPERING ftrace ポイントが、予想されるカーネルまたはモジュール コードの範囲にないリージョンを指すコールバックとともに存在します。
Defense Evasion: Unexpected interrupt handlerプレビュー KERNEL_INTEGRITY_TAMPERING 予想されるカーネルまたはモジュール コードのリージョンに存在しない割り込みハンドラが存在します。
Defense Evasion: Unexpected kernel modulesプレビュー KERNEL_INTEGRITY_TAMPERING 想定されているカーネルまたはモジュール コード リージョンに存在しないカーネルコード ページが存在します。
Defense Evasion: Unexpected kprobe handlerプレビュー KERNEL_INTEGRITY_TAMPERING kprobe ポイントが、予想されるカーネルまたはモジュール コードの範囲にないリージョンを指すコールバックとともに存在します。
Defense Evasion: Unexpected processes in runqueueプレビュー KERNEL_INTEGRITY_TAMPERING スケジューラの実行キューに予期しないプロセスが存在する。このようなプロセスは実行キューにありますが、プロセスタスク リストにはありません。
Defense Evasion: Unexpected system call handlerプレビュー KERNEL_INTEGRITY_TAMPERING 想定されているカーネルまたはモジュール コード リージョンにないシステムコール ハンドラが存在する。

観察結果

VM Threat Detection では、次のモニタリング検出結果が生成されます。

VM Threat Detection の検出結果
カテゴリ名 API 名 概要 重大度
VMTD disabled VMTD_DISABLED

VM Threat Detection が無効になっています。有効にするまで、このサービスは Compute Engine プロジェクトと VM インスタンスをスキャンしません。不要なアプリケーションを検出することはできません。

この検出結果は、30 日後に INACTIVE に設定されます。その後、この検出結果が再度生成されることはありません。

サポートされているアセットと環境

VM Threat Detection は Compute Engine VM インスタンスをサポートしますが、次の制限があります。

  • Windows VM の制限付きサポート。

    • 暗号通貨のマイニング検出では、VM Threat Detection は主に Linux バイナリに焦点を当てており、Windows で実行される暗号通貨マイナーのサポートは限定されています。

    • プレビュー版のカーネルモードのルートキット検出の場合、VM Threat Detection は Linux オペレーティング システムのみをサポートします。

  • Confidential VMs を使用する Compute Engine VM に対するサポートはありません。Confidential VMs インスタンスは、暗号を使用して CPU に入出力されるメモリの内容を保護します。VM Threat Detection はこれらのデータをスキャンできません。

VM Threat Detection は、Google Cloud のハイパーバイザの機能を利用しています。そのため、オンプレミス環境やその他のパブリック クラウド環境では実行できません。

プライバシーとセキュリティ

VM Threat Detection はライブ VM メモリにアクセスして分析を行います。このサービスは、脅威の検出に必要なものだけを分析します。

VM のメモリ内容は、VM Threat Detection のリスク分析パイプラインの入力として使用されます。メモリデータは転送中に暗号化され、自動システムによって処理されます。処理中、データは Google Cloud のセキュリティ管理システムによって保護されます。

VM Threat Detection は、モニタリングとデバッグを目的として、サービスが保護するプロジェクトについて基本的な診断情報と統計情報を保存します。

VM Threat Detection は、それぞれのリージョンにある未加工の VM メモリの内容をスキャンします。ただし、検出結果とメタデータ(プロジェクト番号や組織番号など)がそれらのリージョンの外部に保存される可能性があります。

次のステップ