このページでは、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 は、次の検出結果カテゴリを使用して、これらのイベントを警告します。
- Account_Has_Leaked_Credentials: このカテゴリの検出結果は、GitHub でサービス アカウント キーが漏洩したことを示します。サービス アカウントの認証情報の取得は、クリプトマイニング攻撃の一般的な前兆です。
- 回避: 匿名化プロキシからのアクセス: このカテゴリの検出結果は、Tor 出口ノードなどの匿名プロキシから Google Cloud サービスに対する変更が行われたことを示します。
- 初期アクセス: 使われていないサービス アカウントに対するアクション: このカテゴリの検出結果は、休止中のサービス アカウントが環境内で操作を行ったことを示します。Security Command Center は、Policy Intelligence を使用して休眠アカウントを検出します。
ステージ 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 クリプトマイニング検出のベスト プラクティス検証スクリプトをご覧ください。