Cloud Run Threat Detection は、Security Command Center の組み込みサービスです。サポートされている Cloud Run リソースの状態を継続的にモニタリングし、一般的なランタイム攻撃を検出します。Cloud Run の脅威検出が攻撃を検出すると、Security Command Center で検出結果が準リアルタイムで生成されます。
Cloud Run Threat Detection のランタイム検出機能は、Cloud Run リソースで不審なバイナリとライブラリをモニタリングし、自然言語処理(NLP)を使用して悪意のある Bash コードと Python コードを検出します。
また、コントロール プレーン検出機能は Event Threat Detection で使用できます。これらの検出器は、組織またはプロジェクトの Cloud Logging ストリームをモニタリングして、Cloud Run リソースのコントロール プレーンに対する潜在的な攻撃を検出します。
サポートされているリソース
Cloud Run の脅威検出は、次のリソースをモニタリングします。
サポートされている実行環境
ランタイム検出機能とコントロール プレーン検出機能では、サポートされている実行環境が異なります。
ランタイム検出機能でサポートされている実行環境
Cloud Run の脅威検出のランタイム検出機能は、第 2 世代の実行環境で実行される Cloud Run リソースのみをサポートします。Cloud Run の脅威検出を有効にする前に、次の点を考慮してください。
Cloud Run Threat Detection を有効にすると、第 1 世代の実行環境で実行される Cloud Run サービスまたはサービス リビジョンを作成できなくなります。Cloud Run サービスは、第 2 世代の実行環境を使用する必要があります。Cloud Run の脅威検出を有効にする前に、第 2 世代の実行環境でワークロードをテストすることをおすすめします。
サービスでランタイム脅威検出を有効にするには、サービスの実行環境を第 2 世代またはデフォルトの実行環境に設定するリビジョンをデプロイします。
コントロール プレーン検出機能でサポートされている実行環境
コントロール プレーン検出機能は、第 1 世代と第 2 世代の両方の実行環境をサポートしています。
Cloud Run の脅威検出のランタイム脅威検出の仕組み
Cloud Run Threat Detection を有効にすると、サポートされている Cloud Run リソースからテレメトリーが収集され、ランタイム攻撃を示す可能性のあるプロセス、スクリプト、ライブラリが分析されます。イベントが検出された場合の実行パスは次のとおりです。
- Cloud Run の脅威検出は、Cloud Run ワークロードの全期間にわたってコンテナとイベントの情報を収集するウォッチャー プロセスを使用します。ウォッチャー プロセスが開始されるまでに最大 20 秒かかることがあります。
Cloud Run Threat Detection は、収集されたイベント情報を分析して、イベントがインシデントを示すかどうかを判断します。NLP を使用して、Bash スクリプトと Python スクリプトを分析し、悪意のあるコードを検出します。
Cloud Run の脅威検出がインシデントを特定すると、そのインシデントは 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 コードを識別できます。 |
悪意のある URL の観測 | CLOUD_RUN_MALICIOUS_URL_OBSERVED |
Cloud Run Threat Detection は、実行中のプロセスの引数リストに悪意のある URL を検出しました。 この検出機能では、Google のセーフ ブラウジング サービスによって管理されている、安全でないウェブリソースのリストと、実行中のプロセスの引数リストで観測された URL が照合されます。URL が誤ってフィッシング サイトまたはマルウェアに分類されている場合は、 間違ったデータの報告で報告します。 |
リバースシェル | CLOUD_RUN_REVERSE_SHELL |
リモート接続ソケットへのストリーム リダイレクトで始まるプロセス。この検出機能は、リモート ソケットにバインドされている リバースシェルを使用すると、攻撃者は不正使用されたワークロードから攻撃者制御マシンに通信できます。攻撃者は、たとえばボットネットの一部として、ワークロードのコマンドと制御を行うことができます。 |
予期しない子シェル | 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 サービスまたはジョブに接続されました。検出結果は、デフォルトで重大度「高」に分類されます。 |
権限昇格: デフォルトの Compute Engine サービス アカウントの SetIAMPolicy | CLOUD_RUN_SERVICES_SET_IAM_POLICY |
Cloud Audit Logs: 管理アクティビティ ログ |
デフォルトの Compute Engine サービス アカウントを使用して、Cloud Run サービスの IAM ポリシーが設定されました。これは、サーバーレス サービスから Compute Engine トークンが漏洩した場合に発生する可能性のあるエクスプロイト後のアクションです。検出結果は、デフォルトで重大度「低」に分類されます。 |
次のステップ
- Cloud Run の脅威検出を使用する方法を学習する。
- Event Threat Detection の使用方法を確認する。