クリプトマイニング検出のベスト プラクティス

このページでは、Google Cloud 環境の Compute Engine 仮想マシン(VM)に対する暗号通貨マイニング(クリプトマイニング)攻撃を検出するためのベスト プラクティスについて説明します。

これらのベスト プラクティスは、Google Cloud クリプトマイニング対策プログラムの資格要件としても機能します。プログラムの詳細については、Security Command Center のクリプトマイニング対策プログラムの概要をご覧ください。

組織で Security Command Center の Premium または Enterprise ティアを有効にする

Security Command Center の Premium ティアまたは Enterprise ティアの有効化は、Google Cloud に対するクリプトマイニング攻撃を検出するための基本要素です。

Premium と Enterprise のティアの 2 つの脅威検出サービス(Event Threat Detection と VM Threat Detection)は、クリプトマイニング攻撃を検出するために重要です。

クリプトマイニング攻撃は、組織内のどのプロジェクトのどの VM でも発生する可能性があるため、Event Threat Detection と VM Threat Detection を有効にして、組織全体で Security Command Center Premium または Enterprise を有効にすることは、Security Command Center のクリプトマイニング対策プログラムのベスト プラクティスであり、必要条件でもあります。

詳細については、Security Command Center の有効化の概要をご覧ください。

すべてのプロジェクトで主要な脅威検出サービスを有効にする

組織内のすべてのプロジェクトで、Security Command Center の Event Threat Detection と VM Threat Detection の検出サービスを有効にします。

Event Threat Detection と VM Threat Detection は、クリプトマイニング攻撃につながる可能性のあるイベント(ステージ 0 イベント)と、攻撃が進行中であることを示すイベント(ステージ 1 イベント)を検出します。以下では、これらの検出サービスが検出するイベントについて詳しく説明します。

詳しくは以下をご覧ください。

ステージ 0 イベントの検出を有効にする

ステージ 0 イベントは、環境内のイベントで、一般的なクリプトマイニング攻撃に先行するか、その最初のステップとしてよく発生します。

Event Threat Detection は Security Command Center Premium または Enterprise で利用できる検出サービスで、なんらかのステージ 0 イベントを検出すると、検出結果をアラートします。

これらの問題をすばやく検出して修正できれば、多額の費用の発生させることなく、多くのクリプトマイニング攻撃を防ぐことができます。

Event Threat Detection は、次の検出結果カテゴリを使用して、これらのイベントを警告します。

ステージ 1 イベントの検出を有効にする

ステージ 1 イベントは、クリプトマイニング アプリケーション プログラムが Google Cloud 環境で実行されていることを示すイベントです。

Event Threat Detection と VM Threat Detection はどちらも、なんらかのステージ 1 イベントを検出すると Security Command Center の検出結果を発行してアラートします。

これらの調査結果を直ちに調査して修正することで、クリプトマイニング アプリケーションのリソース消費に関連する多大な費用の発生を防ぎます。

次のいずれかのカテゴリにある検出結果は、Google Cloud 環境のプロジェクトのいずれかの VM でクリプトマイニング アプリケーションが実行されていることを示します。

  • 実行: クリプトマイニング YARA ルール: このカテゴリの検出結果は、VM Threat Detection がクリプトマイニング アプリケーションで使用されるプルーフオブワークの定数などのメモリパターンを検出したことを示します。
  • 実行: クリプトマイニング ハッシュの一致: このカテゴリの検出結果は、VM Threat Detection がクリプトマイニング アプリケーションで使用されるメモリハッシュを検出したことを示します。
  • 実行: 複合検出: このカテゴリの検出結果は、VM Threat Detection がクリプトマイニング アプリケーションで使用されているメモリパターンとメモリハッシュの両方を検出したことを示します。
  • マルウェア: 不正 IP: このカテゴリの検出結果は、Event Threat Detection がクリプトマイニング アプリケーションでの使用が確認されている IP アドレスへの接続またはルックアップを検出したことを示します。
  • マルウェア: 不正ドメイン: このカテゴリの検出結果は、Event Threat Detection がクリプトマイニングでの使用が確認されているドメインへの接続またはルックアップを検出したことを示します。

Cloud DNS ロギングを有効にする

クリプトマイニング アプリケーションが既知の不正なドメインに対して行った呼び出しを検出するには、Cloud DNS ロギングを有効にします。Event Threat Detection は Cloud DNS ログを処理し、クリプトマイニング プールでの使用が確認されているドメインの参照解決を検出すると、検出結果を発行します。

SIEM と SOAR 製品を Security Command Center と統合する

Security Command Center を既存の SIEM や SOAR などのセキュリティ オペレーション ツールに統合すると、潜在的または実際のクリプトマイニング攻撃を示すステージ 0 イベントとステージ 1 イベントに対する Security Command Center の検出結果を優先度に判断し、それに応じて対応することができます。

SIEM または SOAR 製品を使用していない場合、セキュリティ チームは、Google Cloud コンソールでの Security Command Center の検出結果の操作に慣れている必要があります。また、クリプトマイニング攻撃の検出結果を効果的にルーティングするために、Pub/Sub または Security Command Center の API を使用して検出結果の通知とエクスポートを設定する方法に精通している必要があります。

セキュリティ オペレーション ツールにエクスポートする必要がある具体的な検出結果については、すべてのプロジェクトで主な脅威検出サービスを有効にするをご覧ください。

SIEM と SOAR 製品を Security Command Center と統合する方法については、SIEM と SOAR の統合を設定するをご覧ください。

検出結果の通知またはエクスポートの設定については、次の情報をご覧ください。

セキュリティ通知のエッセンシャル コンタクトを指定する

会社が Google からのセキュリティ通知にできるだけ迅速に対応できるように、IT セキュリティやオペレーション セキュリティなど、社内のどのチームがセキュリティ通知を受信するかを Google Cloud に指定します。チームを指定する場合は、[エッセンシャル コンタクト] にメールアドレスを入力します。

時間が経過してもこれらの通知が確実に配信されるようにするには、組織の担当チームへの配信と配布の一貫性を確保するメーリング リスト、グループ、その他のメカニズムへの配信を構成するよう強くおすすめします。個人が別のチームに異動したり、退職したりしても通信が中断される可能性があるため、重要な連絡先として個人のメールアドレスは指定しないでください。

エッセンシャル コンタクトを設定したら、セキュリティ チームがメールの受信トレイを継続的にモニタリングするようにしてください。敵対者は、週末、休日、夜間など注意がおろそかになりがちなときに頻繁にクリプトマイニング攻撃を行うため、継続的なモニタリングが重要なベスト プラクティスとなります。

セキュリティのエッセンシャル コンタクトを指定して、そのメールアドレスをモニタリングすることは、Security Command Center のクリプトマイニング対策プログラムのベスト プラクティスであり、必要条件でもあります。

必要な IAM 権限を維持する

セキュリティ チームと Security Command Center 自体に、Google Cloud 環境内のリソースへのアクセスの認可が必要です。認証と認可は、Identity and Access Management(IAM)を使用して管理します。

ベスト プラクティスとして、また、Security Command Center の場合は基本的な要件として、クリプトマイニング攻撃を検出して対応するために必要な IAM のロールと権限を維持または保持する必要があります。

Google Cloud での IAM の一般的な情報については、IAM の概要をご覧ください。

セキュリティ チームで必要な認可

Security Command Center の検出結果を表示して、Google Cloud のクリプトマイニング攻撃やその他のセキュリティの問題に迅速に対応できるようにするには、発生する可能性のある問題に対応し、修正と調査を行うために、セキュリティ担当者の Google Cloud ユーザー アカウントをあらかじめ認可しておく必要があります。

Google Cloud では、IAM のロールと権限を使用して認証と認可を管理できます。

Security Command Center の操作に必要なロール

ユーザーが Security Command Center を操作するために必要な IAM のロールについては、IAM によるアクセス制御をご覧ください。

他の Google Cloud サービスの操作に必要なロール

クリプトマイニング攻撃を適切に調査するには、影響を受ける VM インスタンスやそこで実行中のアプリケーションの表示と管理ができる Compute Engine のロールなど、他の IAM ロールが必要になる可能性があります。

攻撃を調査する場所によっては、Compute Engine ネットワーク ロールCloud Logging ロールなどのロールも必要になります。

また、セキュリティを確保するためにエッセンシャル コンタクトを作成して管理するための IAM 権限も必要です。セキュリティに関する連絡先の管理に必要な IAM ロールについては、必要なロールをご覧ください。

Security Command Center で必要な認可

Security Command Center を有効にすると、スキャンの実行とログの処理の際に Security Command Center が認証と認可に使用するサービス アカウントが Google Cloud で自動的に作成されます。有効化プロセスで、サービス アカウントに付与されている権限を確認してください。

このサービス アカウントや、そのロール、権限を削除または変更しないでください。

クリプトマイニング検出のベスト プラクティスの実装を確認する

組織のメタデータをチェックするスクリプトを実行することで、組織でクリプトマイニングを検出するベスト プラクティスが採用されているかどうかを確認できます。このスクリプトは GitHub から入手できます。

README を確認してスクリプトをダウンロードするには、SCC クリプトマイニング検出のベスト プラクティス検証スクリプトをご覧ください。