このページでは、Virtual Machine Threat Detection の概要について説明します。
概要
Virtual Machine Threat Detection は、エンタープライズ ティアとプレミアム ティアで利用できる Security Command Center の組み込みサービスです。このサービスは、Compute Engine インスタンスをスキャンして、侵害されたクラウド環境で実行されている、悪質な可能性のあるアプリケーション(暗号通貨マイニング ソフトウェア、カーネルモード ルートキット、マルウェアなど)を検出します。
VM Threat Detection は、Security Command Center の脅威検出スイートの一部であり、Event Threat Detection と Container 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 に書き込む方法を示す簡略図です。
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 上の実行可能ファイルを分析して、ファイルが既知のマルウェア シグネチャと一致するかどうかを判断します。生成された検出結果には、ファイルと検出されたマルウェア シグネチャに関する情報が含まれます。
スキャンの頻度
メモリスキャンの場合、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 は 3 日おきに各 VM のカテゴリごとに 1 つの検出結果を生成します。
既知のマルウェアのプレゼンスを検出する永続ディスク スキャンの場合、VM Threat Detection は各 VM インスタンスを少なくとも 1 日に 1 回スキャンします。
Security Command Center のプレミアム ティアを有効にすると、VM Threat Detection のスキャンが自動的に有効になります。必要であれば、サービスを無効にしたり、プロジェクト レベルで有効にすることができます。詳細については、VM Threat Detection を有効または無効にするをご覧ください。
検出
このセクションでは、VM Threat Detection によって生成される脅威の検出結果について説明します。
VM Threat Detection では、次の脅威を検出します。
暗号通貨マイニングの脅威の検出
VM Threat Detection は、ハッシュ マッチングまたは YARA ルールによって次の検出結果のカテゴリを検出します。
カテゴリ | コース | 説明 |
---|---|---|
Execution: Cryptocurrency Mining Hash Match
|
CRYPTOMINING_HASH
|
実行中のプログラムのメモリハッシュを、暗号通貨マイニング ソフトウェアの既知のメモリハッシュと照合します。 |
Execution: Cryptocurrency Mining YARA Rule
|
CRYPTOMINING_YARA
|
暗号通貨マイニング ソフトウェアによって使用されることが確認されているプルーフオブワーク定数などのメモリパターンと照合します。 |
Execution: Cryptocurrency Mining Combined Detection
|
|
CRYPTOMINING_HASH モジュールと CRYPTOMINING_YARA モジュールの両方で検出された脅威を識別します。詳細については、複合検出をご覧ください。 |
カーネルモード ルートキットの脅威の検出
VM Threat Detection は、実行時にカーネルの整合性を分析し、マルウェアによって使用される一般的な回避手法を検出します。
KERNEL_MEMORY_TAMPERING
モジュールは、仮想マシンのカーネルコードとカーネルの読み取り専用データメモリに対してハッシュの比較を行い、脅威を検出します。
KERNEL_INTEGRITY_TAMPERING
モジュールは、重要なカーネルデータ構造の整合性をチェックすることで脅威を検出します。
カテゴリ | コース | 説明 |
---|---|---|
ルートキット | ||
Defense Evasion: Rootkit
|
|
既知のカーネルモード ルートキットに一致するシグナルの組み合わせが存在します。このカテゴリの検出結果を受け取るには、両方のモジュールが有効になっていることを確認してください。 |
カーネルメモリの不正使用 | ||
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 の永続ディスクをスキャンして、以下の検出結果カテゴリを検出します。
カテゴリ | コース | 説明 |
---|---|---|
Malware: Malicious file on disk (YARA)
|
MALWARE_DISK_SCAN_YARA
|
既知のマルウェアで使用されるシグネチャと照合します。 |
制限事項
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 を使用するには、セキュリティ センター サービス エージェントがプロジェクト内の VM を一覧表示し、Google 所有のプロジェクトにディスクのクローンを作成できる必要があります。VPC Service Controls 境界や組織ポリシーの制約など、セキュリティとポリシーの一部の構成がこのようなオペレーションの妨げになる可能性があります。この場合、VM Threat Detection のスキャンが機能しない可能性があります。
VM Threat Detection は、Google Cloud のハイパーバイザと Compute Engine の機能を利用しています。したがって、VM Threat Detection は、オンプレミス環境や他のパブリック クラウド環境では実行できません。
プライバシーとセキュリティ
VM Threat Detection は、実行中の VM のディスク クローンとメモリにアクセスして分析を行います。このサービスは脅威の検出に必要なものだけを分析する。
VM メモリとディスク クローンの内容は、VM Threat Detection リスク分析パイプラインの入力として使用されます。データは転送中に暗号化され、自動システムによって処理されます。処理中、データは Google Cloud のセキュリティ管理システムによって保護されます。
VM Threat Detection は、モニタリングとデバッグを目的として、サービスが保護するプロジェクトについて基本的な診断情報と統計情報を保存します。
VM Threat Detection は、それぞれのリージョンにある VM メモリの内容とディスク クローンをスキャンします。ただし、検出結果とメタデータ(プロジェクト番号や組織番号など)がそれらのリージョンの外部に保存される可能性があります。
次のステップ
- VM Threat Detection の使用方法を学習する。
- VM Threat Detection の検出結果の調査方法を確認する。
- VM を検査してカーネル メモリの改ざんの兆候を確認する方法を確認する。