Cloud Run の脅威検出の概要

Cloud Run Threat Detection は、サポートされている Cloud Run リソースの状態を継続的にモニタリングし、一般的なランタイム攻撃を検出する Security Command Center の組み込みサービスです。Cloud Run Threat Detection が攻撃を検出すると、Security Command Center で検出結果がほぼリアルタイムで生成されます。

Cloud Run Threat Detection ランタイム検出機能は、Cloud Run リソースで不審なバイナリとライブラリをモニタリングし、自然言語処理(NLP)を使用して悪意のある Bash コードと Python コードを検出します。

また、コントロール プレーン検出機能は Event Threat Detection で使用できます。これらの検出機能は、組織またはプロジェクトの Cloud Logging ストリームをモニタリングして、Cloud Run リソースのコントロール プレーンに対する潜在的な攻撃を検出します。

サポートされているリソース

Cloud Run Threat Detection は、次のリソースをモニタリングします。

サポートされている実行環境

サポートされている実行環境は、ランタイム検出機能とコントロール プレーン検出機能で異なります。

ランタイム検出機能でサポートされている実行環境

Cloud Run の脅威検出のランタイム検出機能は、第 2 世代の実行環境で実行される Cloud Run リソースのみをサポートします。Cloud Run の脅威検出を有効にする前に、次の点を考慮してください。

  • Cloud Run 脅威検出を有効にすると、第 1 世代の実行環境で実行される Cloud Run サービスまたはサービス リビジョンを作成できません。Cloud Run サービスは第 2 世代の実行環境を使用する必要があります。Cloud Run の脅威検出を有効にする前に、第 2 世代の実行環境でワークロードをテストすることをおすすめします。

  • サービスのランタイム脅威検出を有効にするには、サービスの実行環境を第 2 世代またはデフォルトの実行環境に設定するリビジョンをデプロイします。

コントロール プレーン検出機能でサポートされている実行環境

コントロール プレーン検出機能は、第 1 世代と第 2 世代の両方の実行環境をサポートしています。

Cloud Run Threat Detection ランタイム脅威検出の仕組み

Cloud Run 脅威検出を有効にすると、サポートされている Cloud Run リソースからテレメトリーが収集され、実行時の攻撃を示唆するプロセス、スクリプト、ライブラリが分析されます。イベントが検出された場合の実行パスは次のとおりです。

  1. Cloud Run の脅威検出は、ウォッチャー プロセスを使用して、Cloud Run ワークロードの全期間のコンテナとイベント情報を収集します。ウォッチャー プロセスの開始には最大 20 秒かかる場合があります。
  2. Cloud Run Threat Detection は、収集されたイベント情報を分析して、イベントがインシデントを示すかどうかを判断します。NLP を使用して、Bash スクリプトと Python スクリプトを分析し、悪意のあるコードを検出します。

    • Cloud Run Threat Detection がインシデントを特定すると、Security Command Center で検出結果としてインシデントを報告します。

    • Cloud Run Threat Detection がインシデントを特定しない場合、情報は保存されません。

    • 収集されるデータはすべて一時的なものであり、永続的には保存されません。

Google Cloud コンソールで Cloud Run Threat Detection の検出結果を確認する方法については、検出結果を確認するをご覧ください。

既知の問題

  • 7 日間を超える Cloud Run サービスまたはジョブのインスタンスは、テレメトリー情報の送信を停止します。
  • Cloud Run サービスまたはジョブの実行中のインスタンスでウォッチャー プロセスが早期に停止した場合、ウォッチャー プロセスは再起動されません。インスタンスは、Cloud Run Threat Detection へのテレメトリー情報の送信を停止します。Cloud Run Threat Detection のログがインスタンス ログにありません。ウォッチャー プロセスが停止したことを示すインジケーターはありません。

検出項目

このセクションでは、使用可能なランタイム デテクタとコントロール プレーン デテクタについて説明します。新しいクラウド脅威の出現に伴い、新しい検出機能が定期的に追加されます。

ランタイム検出機能

Cloud Run Threat Detection には、次のランタイム検出機能が含まれています。

表示名 API 名 説明
実行: 追加された悪意のあるバイナリが実行された CLOUD_RUN_ADDED_MALICIOUS_BINARY_EXECUTED

次の条件を満たすバイナリが実行されました。

  • 脅威インテリジェンスに基づいて悪意があると識別されました
  • 元のコンテナ イメージの一部ではありません

追加された悪意のあるバイナリが実行された場合、それは攻撃者がワークロードを制御し、悪意のあるソフトウェアを実行していることを示す強力なサインです。

実行: 追加された悪意のあるライブラリが読み込まれた CLOUD_RUN_ADDED_MALICIOUS_LIBRARY_LOADED

次の条件を満たすライブラリが読み込まれました。

  • 脅威インテリジェンスに基づいて悪意があると識別されました
  • 元のコンテナ イメージの一部ではありません

追加された悪意のあるライブラリが読み込まれた場合、それは攻撃者がワークロードを制御し、悪意のあるソフトウェアを実行していることを示す強力なサインです。

実行: 組み込まれた悪意のあるバイナリが実行された CLOUD_RUN_BUILT_IN_MALICIOUS_BINARY_EXECUTED

次の条件を満たすバイナリが実行されました。

  • 脅威インテリジェンスに基づいて悪意があると識別されました
  • 元のコンテナ イメージに含まれています

組み込みの悪意のあるバイナリが実行された場合、それは攻撃者が悪意のあるコンテナをデプロイしていることを示します。正規のイメージ リポジトリやコンテナビルド パイプラインを制御し、悪意のあるバイナリをコンテナ イメージに注入している可能性があります。

実行: コンテナ エスケープ CLOUD_RUN_CONTAINER_ESCAPE

既知のエスケープ手法またはバイナリを使用して、コンテナの分離を破ろうとするプロセスがコンテナ内で実行されました。このタイプの攻撃により、攻撃者はホストシステムにアクセスできるようになります。これらのプロセスは、インテリジェンス データに基づいて潜在的な脅威として識別されます。

コンテナ エスケープの試行が検出された場合は、攻撃者が脆弱性を悪用してコンテナを破ろうとしている可能性があります。その結果、攻撃者はホストシステムまたはより広範なインフラストラクチャに不正にアクセスし、環境全体を侵害する可能性があります。

実行: Kubernetes 攻撃ツールの実行 CLOUD_RUN_KUBERNETES_ATTACK_TOOL_EXECUTION

Kubernetes 固有の攻撃ツールが環境内で実行されました。これは、攻撃者が Kubernetes クラスタ コンポーネントをターゲットにしていることを示している可能性があります。これらの攻撃ツールは、インテリジェンス データに基づいて潜在的な脅威として識別されます。

攻撃ツールが Kubernetes 環境内で実行されている場合、攻撃者がクラスタにアクセスし、そのツールを使用して Kubernetes 固有の脆弱性や構成を悪用している可能性があります。

実行: ローカル偵察ツールの実行 CLOUD_RUN_LOCAL_RECONNAISSANCE_TOOL_EXECUTION

通常はコンテナや環境に関連付けられていないローカル偵察ツールが実行されたため、内部システム情報の収集が試みられたことを示唆しています。これらの偵察ツールは、インテリジェンス データに基づいて潜在的な脅威として識別されます。

偵察ツールが実行されている場合は、攻撃者がインフラストラクチャのマッピング、脆弱性の特定、システム構成に関するデータの収集を試みて次の計画を企んでいる可能性があります。

実行: 悪意のある Python が実行された(プレビュー CLOUD_RUN_MALICIOUS_PYTHON_EXECUTED

ML モデルが、指定された Python コードを悪意があるものとして識別しました。攻撃者は、Python を使用して、外部システムから不正使用の環境にツールなどのファイルを転送し、バイナリなしでコマンドを実行できます。

検出機能は NLP のテクノロジーを使用して、実行された Python コードの内容を評価します。このアプローチは、署名に基づいていないため、検出機能によって既知の新しい Python コードを識別できます。

実行: 変更された悪意のあるバイナリが実行された CLOUD_RUN_MODIFIED_MALICIOUS_BINARY_EXECUTED

次の条件を満たすバイナリが実行されました。

  • 脅威インテリジェンスに基づいて悪意があると識別されました
  • 元のコンテナ イメージに含まれています
  • 実行時に元のコンテナ イメージから変更される

変更された悪意のあるバイナリが実行された場合、それは攻撃者がワークロードを制御し、悪意のあるソフトウェアを実行していることを示す強力なサインです。

実行: 変更された悪意のあるライブラリが読み込まれた CLOUD_RUN_MODIFIED_MALICIOUS_LIBRARY_LOADED

次の条件を満たすライブラリが読み込まれました。

  • 脅威インテリジェンスに基づいて悪意があると識別されました
  • 元のコンテナ イメージに含まれています
  • 実行時に元のコンテナ イメージから変更される

変更された悪意のあるライブラリが読み込まれた場合、それは攻撃者がワークロードを制御し、悪意のあるソフトウェアを実行していることを示す強力なサインです。

悪意のあるスクリプトの実行 CLOUD_RUN_MALICIOUS_SCRIPT_EXECUTED

ML モデルが、指定された Bash コードを悪意があるものとして識別しました。攻撃者は、Bash を使用して、外部システムから不正使用の環境にツールなどのファイルを転送し、バイナリなしでコマンドを実行できます。

検出機能は NLP のテクノロジーを使用して、実行された Bash コードの内容を評価します。このアプローチは、署名に基づいていないため、検出機能によって既知の悪意のある Bash コードと新しい悪意のある Bash コードを識別できます。

悪意のある URL の観測 CLOUD_RUN_MALICIOUS_URL_OBSERVED

Cloud Run Threat Detection は、実行中のプロセスの引数リストに悪意のある URL を検出しました。

この検出機能では、Google のセーフ ブラウジング サービスによって管理されている、安全でないウェブリソースのリストと、実行中のプロセスの引数リストで観測された URL が照合されます。URL が誤ってフィッシング サイトまたはマルウェアに分類されている場合は、 間違ったデータの報告で報告します。

リバースシェル CLOUD_RUN_REVERSE_SHELL

リモート接続ソケットへのストリーム リダイレクトで始まるプロセス。この検出機能は、リモート ソケットにバインドされている stdin のように機能します。

リバースシェルを使用すると、攻撃者は不正使用されたワークロードから攻撃者制御マシンに通信できます。攻撃者は、たとえばボットネットの一部として、ワークロードのコマンドと制御を行うことができます。

予期しない子シェル CLOUD_RUN_UNEXPECTED_CHILD_SHELL

通常はシェルを起動しないプロセスが、シェルプロセスを生成します。

検出機能はすべてのプロセスの実行をモニタリングします。シェルが呼び出されたときに、親プロセスが通常はシェルを呼び出さないことが判明している場合、検出機能によって検出結果が生成されます。

コントロール プレーン検出機能

Event Threat Detection では、次のコントロール プレーン検出機能が使用できます。これらの検出機能はデフォルトで有効になっています。これらの検出機能は、他の Event Threat Detection 検出機能と同じ方法で管理します。詳細については、Event Threat Detection を使用するをご覧ください。

表示名 API 名 ログソースのタイプ 説明
影響: クリプトマイニング コマンド(プレビュー CLOUD_RUN_JOBS_CRYPTOMINING_COMMANDS Cloud Audit Logs:
IAM システム イベント監査ログ
実行中に、特定のクリプトマイニング コマンドが Cloud Run ジョブに追加されました。
実行: クリプトマイニング Docker イメージ(プレビュー CLOUD_RUN_CRYPTOMINING_DOCKER_IMAGES Cloud Audit Logs:
IAM システム イベント監査ログ
既知の不正な Docker イメージが、新しい Cloud Run サービスまたは既存の Cloud Run サービスまたはジョブに接続されています。
権限昇格: デフォルトの Compute Engine サービス アカウント SetIAMPolicy(プレビュー CLOUD_RUN_SERVICES_SET_IAM_POLICY Cloud Audit Logs:
管理アクティビティ ログ
デフォルトの Compute Engine サービス アカウントを使用して、Cloud Run サービスの IAM ポリシーが設定されました。これは、Compute Engine トークンがサーバーレス サービスから侵害された場合の、エクスプロイト後の潜在的なアクションです。
非推奨のルールとシャットダウン ルールについては、非推奨をご覧ください。

次のステップ