Rapid Vulnerability Detection の概要

このページでは、次のような Rapid Vulnerability Detection の概要について説明します。

  • Rapid Vulnerability Detection がサポートするスキャン ターゲット
  • Rapid Vulnerability Detection で実行できるスキャンの種類
  • Rapid Vulnerability Detection で検出される脆弱性(スキャン結果)の種類

このページでは、Rapid Vulnerability Detection のスキャンのテストに関するベスト プラクティスについても説明します。

概要

Security Command Center Premium の組み込みサービスである Rapid Vulnerability Detection は、パブリック エンドポイントを積極的にスキャンして、脆弱な認証情報、不完全なソフトウェア インストール、公開されている管理者ユーザー インターフェースなど、悪用される可能性が高い脆弱性を検出する、ゼロ構成のネットワーク アプリケーションとウェブ アプリケーション スキャナです。このサービスは、ネットワーク エンドポイント、プロトコル、開いているポート、ネットワーク サービス、インストールされているソフトウェア パッケージを自動的に検出します。

Rapid Vulnerability Detection の検出結果は脆弱性の早期警告で、直ちに修正することをおすすめします。検出結果は Security Command Center で確認できます。

サポートされるスキャン ターゲット

Rapid Vulnerability Detection は、次のリソースをサポートしています。

  • Compute Engine
    • Rapid Vulnerability Detection は、パブリック IP アドレスを持つ VM のみをサポートしています。ファイアウォールの内側にある VM、またはパブリック IP アドレスを持たない VM はスキャンから除外されます。
  • Cloud Load Balancing
    • Rapid Vulnerability Detection では、外部ロードバランサのみがサポートされます。
  • Google Kubernetes Engine Ingress
  • Cloud Run
    • Rapid Vulnerability Detection は、Cloud Run がアプリケーションに提供するデフォルトのドメイン、または外部ロードバランサの背後にある Cloud Run サービス用に構成されたカスタム ドメインをスキャンします。組み込みドメイン マッピングを使用するカスタム ドメインはサポートされていません。ただし、ドメイン マッピングが使用されている場合でも、デフォルト ドメインは常に使用できます。
  • App Engine
    • Rapid Vulnerability Detection では、App Engine によってアプリケーションに提供されるデフォルト ドメインのみがスキャンされます。カスタム ドメインはサポートされていません。ただし、カスタム ドメインが使用されている場合でも、デフォルト ドメインは常に使用できます。

スキャン

Rapid Vulnerability Detection は、「N 日間の脆弱性」を検出するマネージド スキャンを実行します。この既知の脆弱性が悪用されると、任意のデータがアクセスされ、リモートからコードが実行される可能性があります。このような脆弱性には、脆弱な認証情報、不完全なソフトウェア インストール、公開されている管理者ユーザー インターフェースなどがあります。

サービスを有効にすると、スキャンが自動的に構成され、Security Command Center によって管理されます。セキュリティ チームは、ターゲット URL を指定したり、スキャンを手動で開始する必要はありません。Rapid Vulnerability Detection は、Cloud Asset Inventory を使用してプロジェクト内の新しい VM とアプリケーションに関する情報を取得し、1 週間に 1 回スキャンを実行してパブリック エンドポイントを見つけ、脆弱性を検出します。 Rapid Vulnerability Detection を実行するユーザー エージェントは、ログ エクスプローラで TsunamiSecurityScanner という名前になります。

Rapid Vulnerability Detection は、オープンポート(HTTP、HTTPS、SSH、MySQL など)用のサポートされているターゲットをスキャンし、スキャン ターゲットを評価して、インストールされたウェブ アプリケーションと公開されたネットワーク サービスを確認します。Rapid Vulnerability Detection は公開エンドポイントで複数のスキャンを実行し、「フィンガープリント」を使用して既知のサービスを特定するため、リスクが高く重大な脆弱性が最低限の偽陽性率で報告されます。

Rapid Vulnerability Detection でサポートされているスキャン ターゲット アセットの詳細については、サポートされているスキャン ターゲットをご覧ください。

スキャンの検出結果と改善策

次の表に、Rapid Vulnerability Detection の検出タイプと推奨される改善策を記載します。

Rapid Vulnerability Detection スキャンでは、次のタイプの検出結果が識別されます。

知見のタイプ 検出の説明 OWASP トップ 10 コード
脆弱な認証情報の検出結果
WEAK_CREDENTIALS この検出機能は、ncrack ブルート フォース手法を使用して、弱い認証情報をチェックします。

サポートされているサービス: SSH、RDP、FTP、WordPress、TELNET、POP3、IMAP、VCS、SMB、SMB2、VNC、SIP、REDIS、PSQL、MYSQL、MSSQL、MQTT、MONGODB、WINRM、DICOM

改善策: 安全なパスワード ポリシーを適用します。サービスに固有の認証情報を作成し、パスワードに辞書の単語を使用しないでください。

2021
  A07

2017
  A2
公開されたインターフェースの検出結果
ELASTICSEARCH_API_EXPOSED Elasticsearch API を使用すると、呼び出し元は任意のクエリを実行し、スクリプトを作成して実行し、サービスにドキュメントを追加できます。

対策: アプリケーションからリクエストをルーティングすることで Elasticsearch API への直接アクセスを削除するか、認証されたユーザーのみにアクセスを制限します。詳細については、 Elasticsearch のセキュリティ設定をご覧ください。

2021
  A01、A05

2017
  A5、A6
EXPOSED_GRAFANA_ENDPOINT

Grafana 8.0.0 から 8.3.0 では、ユーザーはディレクトリ トラバーサルの脆弱性があるエンドポイントに認証なしでアクセスできます。この脆弱性を悪用すると、認証なしでサーバー上のファイルを読み取ることができます。詳細については、CVE-2021-43798 をご覧ください。

対策: Grafana にパッチを適用するか、Grafana を新しいバージョンにアップグレードします。詳細については、Grafana のパス トラバーサルをご覧ください。

2021
  A06、A07

2017
  A2、A9
EXPOSED_METABASE

オープンソースのデータ分析プラットフォームである Metabase のバージョン x.40.0~x.40.4 には、カスタム GeoJSON マップサポートの脆弱性が存在し、環境変数などのローカル ファイルへのインクルードが行われる可能性があります。URL は読み込み前に検証されていません。詳細については、CVE-2021-41277 をご覧ください。

対策: メンテナンス リリース 0.40.5 以降または 1.40.5 以降にアップグレードします。 詳細については、 GeoJSON URL 検証でサーバー ファイルと環境変数を未承認のユーザーに公開できるをご覧ください。

2021
  A06

2017
  A3、A9
EXPOSED_SPRING_BOOT_ACTUATOR_ENDPOINT この検出機能は、Spring Boot アプリケーションの機密性の高いアクチュエータ エンドポイントが公開されているかどうかを確認します。/heapdump など、一部のデフォルトのエンドポイントでは機密情報が公開される可能性があります。/env などの他のエンドポイントでは、リモートコードが実行されるおそれがあります。現在のところ、/heapdump のみがチェックされます。

改善策: 機密性の高い Actuator エンドポイントへのアクセスを無効にします。詳細については、 HTTP エンドポイントの保護をご覧ください。

2021
  A01、A05

2017
  A5、A6
HADOOP_YARN_UNAUTHENTICATED_RESOURCE_MANAGER_API この検出機能により、Hadoop クラスタの計算リソースとストレージ リソースを制御する Hadoop Yarn ResourceManager API が公開され、未認証のコード実行を許可しているかどうかが確認されます。

対策: API で アクセス制御リストを使用します。

2021
  A01、A05

2017
  A5、A6
JAVA_JMX_RMI_EXPOSED Java Management Extension(JMX)を使用すると、Java アプリケーションに対してリモート モニタリングと診断を行うことができます。保護されていない Remote Method Invocation エンドポイントで JMX を実行すると、リモート ユーザーは javax.management.loading.MLet MBean を作成し、それを使用して任意の URL から新しい MBeans を作成できます。

対策; リモート モニタリングを適切に構成するには、JMX テクノロジーを使用したモニタリングと管理をご覧ください。

2021
  A01、A05

2017
  A5、A6
JUPYTER_NOTEBOOK_EXPOSED_UI この検出機能は、未認証の Jupyter Notebook が公開されているかどうかをチェックします。Jupyter では、ホストマシン上で設計することでリモートコード実行が可能となります。 未認証の Jupyter Notebook を使用すると、ホストしている VM がリモート コード実行で危険にさらされます。

対策: Jupyter Notebook サーバーにトークン認証を追加するか、デフォルトでトークン認証を使用する最新バージョンの Jupyter Notebook を使用します。

2021
  A01、A05

2017
  A5、A6
KUBERNETES_API_EXPOSED Kubernetes API が公開されており、未認証の呼出し元からもアクセス可能です。これにより、Kubernetes クラスタで任意のコードを実行できます。

対策: すべての API リクエストで認証を必須にします。詳細については、Kubernetes API の認証ガイドをご覧ください。

2021
  A01、A05

2017
  A5、A6
UNFINISHED_WORDPRESS_INSTALLATION この検出機能によって、WordPress のインストールが完了していないことがチェックされます。WordPress のインストールが完了していないと /wp-admin/install.php ページが表示されるため、攻撃者が管理者パスワードを設定でき、場合によってはシステムが侵害される可能性があります。

対策: WordPress のインストールを完了します。

2021
  A05

2017
  A6
UNAUTHENTICATED_JENKINS_NEW_ITEM_CONSOLE Jenkins インスタンスがチェックされます。認証済みの Jenkins インスタンスは、createItem フォームを表示します。このフォームを使用すると、リモートコード実行を引き起こす可能性のある任意のジョブの作成を許可します。

改善策: Jenkins のセキュリティ管理ガイドに沿って、未認証アクセスをブロックします。

2021
  A01、A05

2017
  A5、A6
脆弱なソフトウェアの検出
APACHE_HTTPD_RCE

Apache HTTP Server 2.4.49 で、攻撃者がパス トラバーサル攻撃を使用して、想定されるドキュメント ルート外のファイルに URL をマッピングし、CGI スクリプトなどの解釈されたファイルのソースを確認できる欠陥が発見されました。この問題は、実際に悪用されていることが確認されています。この問題は、Apache 2.4.49 と 2.4.50 に影響しますが、以前のバージョンには影響しません。この脆弱性の詳細については、以下をご覧ください。

  1. CVE レコード CVE-2021-41773
  2. Apache HTTP Server 2.4 の脆弱性

対策: Apache HTTP Server で「すべての拒否」ディレクティブを構成することで、ドキュメント ルートの外部にあるファイルを保護します。

2021
  A01、A06

2017
  A5、A9
APACHE_HTTPD_SSRF

攻撃者は、Apache ウェブサーバーへの URI を作成し、mod_proxy が攻撃者によって選択された配信元サーバーにリクエストを転送させることができます。 この問題は、Apache HTTP サーバー 2.4.48 以前に影響します。 この脆弱性の詳細については、以下をご覧ください。

  1. CVE レコード CVE-2021-40438
  2. Apache HTTP Server 2.4 の脆弱性

対策: Apache HTTP サーバーを新しいバージョンにアップグレードします。

2021
  A06、A10

2017
  A9
CONSUL_RCE

Consul インスタンスで -enable-script-checkstrue に設定されて構成され、Consul HTTP API が保護されておらずネットワーク経由でアクセスできるため、攻撃者は Consul サーバーで任意のコードを実行できます。Consul 0.9.0 以前では、スクリプト チェックはデフォルトでオンになっています。詳細については、 特定の構成での RCE リスクからの Consul の保護をご覧ください。 この脆弱性を確認するため、Rapid Vulnerability Detection は /v1/health/service REST エンドポイントを使用して Consul インスタンスにサービスを登録します。これにより、次のいずれかが実行されます。

  1. ネットワーク外のリモート サーバーへの curl コマンド。攻撃者は、curl コマンドを使用してサーバーからデータを抜き取ることができます。
  2. printf コマンド。Rapid Vulnerability Detection は、/v1/health/service REST エンドポイントを使用して、コマンドの出力を検証します。

確認後、Rapid Vulnerability Detection は /v1/agent/service/deregister/ REST エンドポイントを使用してサービスをクリーンアップし、登録解除します。

対策: Console インスタンス構成で enable-script-checks を false に設定します。

2021
  A05、A06

2017
  A6、A9
DRUID_RCE

Apache Druid には、さまざまなタイプのリクエストに埋め込まれたユーザー提供の JavaScript コードを実行する機能があります。この機能は高信頼性環境で使用することを想定しており、デフォルトでは無効になっています。 ただし、Druid 0.20.0 以前では、サーバー構成に関係なく、認証済みユーザーが Druid に対してそのリクエストに対してユーザー指定の JavaScript コードを実行するよう特別に作成されたリクエストを送信できます。 これにより、Druid サーバー プロセスの権限を使用してターゲット マシンでコードを実行できます。詳細については、CVE-2021-25646 の詳細をご覧ください。

対策: Apache Druid を新しいバージョンにアップグレードします。

2021
  A05、A06

2017
  A6、A9
DRUPAL_RCE

このカテゴリには、Drupal の 2 つの脆弱性があります。このタイプの検出結果が複数ある場合、複数の脆弱性を示している可能性があります。

Drupal の 7.58 より前のバージョン、8.3.9 より前のバージョン 8.x、8.4.6 より前のバージョン 8.4.x、8.5.1 より前のバージョン 8.5.x は、Form API AJAX リクエストでのリモートコード実行に対して脆弱です。

対策: 代替バージョンの Drupal にアップグレードします。

2021
  A06

2017
  A9
Drupal の 8.5.11 より前のバージョン 8.5.x、8.6.10 より前のバージョン 8.6.x では、RESTful Web Service モジュールまたは JSON:API のいずれかが有効になっている場合、リモートコード実行に対して脆弱です。この脆弱性は、認証されていない攻撃者がカスタム POST リクエストを使用することによって悪用される可能性があります。

対策: 代替バージョンの Drupal にアップグレードします。

2021
  A06

2017
  A9
FLINK_FILE_DISCLOSURE Apache Flink バージョン 1.11.0、1.11.1、1.11.2 に脆弱性があり、攻撃者は、JobManager プロセスの REST インターフェースを介して JobManager のローカル ファイルシステム上のファイルを読み取ることができます。アクセスは、JobManager プロセスがアクセスできるファイルに制限されます。

対策: Flink インスタンスが公開されている場合は、Flink 1.11.3 または 1.12.0 にアップグレードします。

2021
  A01、A05、A06

2017
  A5、A6、A9
GITLAB_RCE

GitLab Community Edition(CE)と Enterprise Edition(EE)バージョン 11.9 以降では、GitLab はファイル パーサーに渡される画像ファイルを正しく検証しません。 この脆弱性が悪用され、リモートからコマンドが実行される可能性があります。

対策: GitLab CE または EE リリース 13.10.3、13.9.6、13.8.8 以降にアップグレードします。詳細については、 CVE-2021-22205 に対しセルフマネージド型のお客様が行う必要がある対応をご覧ください。

2021
  A06

2017
  A9
GoCD_RCE

GoCD 21.2.0 以前に、認証なしでアクセスできるエンドポイントがあります。このエンドポイントにはディレクトリ走査の脆弱性があり、ユーザーは認証を受けることなくサーバー上の任意のファイルを読み取ることができます。

改善: バージョン 21.3.0 以降にアップグレードします。詳細については、GoCD 21.3.0 のリリースノートをご覧ください。

2021
  A06、A07

2017
  A2、A9
JENKINS_RCE Jenkins バージョン 2.56 以前と 2.46.1 LTS 以前は、リモートコード実行に対して脆弱です。この脆弱性は、悪意のあるシリアル化された Java オブジェクトを使用して、未認証の攻撃者によってトリガーされる可能性があります。

対策: 代替バージョンの Jenkins をインストールします。

2021
  A06、A08

2017
  A8、A9
JOOMLA_RCE

このカテゴリには、Joomla の脆弱性が 2 つ含まれています。このタイプの検出結果が複数ある場合、複数の脆弱性を示している可能性があります。

Joomla の 3.4.6 より前の バージョン 1.5.x、2.x、3.x は、リモートコード実行に対して脆弱です。この脆弱性は、シリアル化された PHP オブジェクトを含む詳細なヘッダーによってトリガーされる可能性があります。

対策: 代替バージョンの Joomla をインストールします。

2021
  A06、A08

2017
  A8、A9
Joomla のバージョン 3.0.0 ~ 3.4.6 は、リモートコード実行に対して脆弱です。この脆弱性は、細工され、シリアル化された PHP オブジェクトを含む POST リクエストを送信することでトリガーされる可能性があります。

対策: 代替バージョンの Joomla をインストールします。

2021
  A06

2017
  A9
LOG4J_RCE

Apache Log4j2 2.14.1 以前では、構成、ログメッセージ、パラメータで使用される JNDI 機能は、攻撃者が制御する LDAP やその他の JNDI 関連エンドポイントから保護しません。詳細については、CVE-2021-44228 をご覧ください。

対策: 対策情報については、Apache Log4j のセキュリティ脆弱性をご覧ください。

2021
  A06

2017
  A9
MANTISBT_PRIVILEGE_ESCALATION MantisBT バージョン 2.3.0 では、verify.php に空の confirm_hash 値を指定することで、任意のパスワードのリセットと未認証管理者のアクセスを許可します。

対策: MantisBT を新しいバージョンに更新するか、Mantis の手順に従って重要なセキュリティ修正を適用します。

2021
  A06

2017
  A9
OGNL_RCE

Confluence Server インスタンスと Data Center インスタンスには、未認証の攻撃者が任意のコードを実行する可能性のある OGNL インジェクションの脆弱性が存在します。詳細については、CVE-2021-26084 をご覧ください。

対策: 対策情報については、 Confluence Server Webwork OGNL インジェクション - CVE-2021-26084 をご覧ください。

2021
  A03

2017
  A1
OPENAM_RCE

OpenAM サーバー 14.6.2 以前と ForgeRock AM サーバー 6.5.3 以前には、複数のページの jato.pageSession パラメータに Java のシリアル化解除の脆弱性があります。悪用には認証が不要であり、細工した 1 つの /ccversion/* リクエストをサーバーに送信することでリモートコード実行がトリガーされます。 この脆弱性は、Sun ONE アプリケーションの使用が原因で発生します。詳細については、CVE-2021-35464 をご覧ください。

改善策: より新しいバージョンにアップグレードします。ForgeRock の対策については、 AM セキュリティ アドバイザリ #202104 をご覧ください。

2021
  A06

2017
  A9
ORACLE_WEBLOGIC_RCE

Oracle Fusion Middleware(コンポーネント: Console)の Oracle WebLogic Server プロダクトの特定のバージョン(10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0、14.1.1.0.0 など)には脆弱性が含まれています。 この脆弱性は悪用されやすく、認証されていない攻撃者が HTTP 経由でネットワーク アクセス権限により Oracle WebLogic Server を不正使用することができます。 この脆弱性が攻撃されると、Oracle WebLogic Server が乗っ取られる可能性があります。詳細については、 CVE-2020-14882 をご覧ください。

対策: パッチ情報については、 Oracle Critical Patch Update Advisory - October 2020をご覧ください。

2021
  A06、A07

2017
  A2、A9
PHPUNIT_RCE 5.6.3 より前のバージョンの PHPUnit を使用すると、未認証の POST リクエストでリモートコードを実行できます。

対策: 新しい PHPUnit バージョンにアップグレードします。

2021: A05
2017: A6
PHP_CGI_RCE PHPのバージョン 5.3.12 以前と 5.4.2 より前のバージョン 5.4.x では、CGI スクリプトとして構成されている場合、リモートコード実行が可能です。脆弱性のあるコードでは、=(等号)文字のないクエリ文字列が適切に処理されません。これにより攻撃者は、サーバー上で実行されるコマンドライン オプションを追加できます。

対策: 代替バージョンの PHP をインストールします。

2021
  A05、A06

2017
  A6、A9
PORTAL_RCE 7.2.1 CE GA2 より前の Liferay Portal バージョンでは、信頼できないデータを逆シリアル化することで、リモートの攻撃者が JSON ウェブサービス経由で任意のコードを実行できます。

対策: Liferay Portal の新しいバージョンにアップグレードします。

2021
  A06、A08

2017
  A8、A9
REDIS_RCE

Redis インスタンスで管理者コマンドを実行するための認証が不要な場合、攻撃者は任意のコードを実行できる可能性があります。

回避策: 認証を要求するように Redis を構成します。

2021
  A01、A05

2017
  A5、A6
SOLR_FILE_EXPOSED

認証が、オープンソースの検索サーバーである Apache Solr で有効になっていません。Apache Solr が認証を必要としない場合、攻撃者は特定の構成を有効にするリクエストを直接作成し、最終的にサーバー側のリクエスト フォージェリ(SSRF)を実装するか、任意のファイルを読み取ることができます。

対策: 代替バージョンの Apache Solr にアップグレードします。

2021
  A07、A10

2017
  A2
SOLR_RCE Apache Solr のバージョン 5.0.0 ~ 8.3.1 は、params.resource.loader.enabledtrue に設定されている場合、VelocityResponseWriter からのリモートコード実行に対して脆弱です。この設定により、攻撃者が悪意のあるベロシティ テンプレートを含むパラメータを作成できます。

対策: 代替バージョンの Apache Solr にアップグレードします。

2021
  A06

2017
  A9
STRUTS_RCE

このカテゴリには、Apache Struts の脆弱性が 3 つ含まれています。このタイプの検出結果が複数ある場合、複数の脆弱性を示している可能性があります。

Apache Struts の 2.3.32 より前のバージョンと 2.5.10.1 より前のバージョン 2.5.x は、リモートコード実行に対して脆弱です。この脆弱性は、未認証の攻撃者が細工した Content-Type ヘッダーを提供することでトリガーされる可能性があります。

対策: 代替バージョンの Apache Struts をインストールします。

2021
  A06

2017
  A9
Apache Struts の 2.3.34 より前のバージョン 2.1.1 ~ 2.3.x と、2.5.13 より前のバージョン 2.5.x の REST プラグインは、細工された XML ペイロードをシリアル化解除する場合、リモートコード実行に対して脆弱です。

対策: 代替バージョンの Apache Struts をインストールします。

2021
  A06、A08

2017
  A8、A9
Apache Struts のバージョン 2.3 ~ 2.3.34、2.5 ~ 2.5.16 は、alwaysSelectFullNamespacetrue に設定されていて、特定のバージョン他のアクション構成が存在する場合、リモートコード実行に対して脆弱です。

対策: バージョン 2.3.35 または 2.5.17 をインストールします。

2021
  A06

2017
  A9
TOMCAT_FILE_DISCLOSURE Apache Tomcat のバージョン 9.x(9.0.31 より前)、8.x(8.5.51 より前)、7.x(7.0.100 より前)、6.x(すべて)は、公開されている Apache JServ Protocol コネクタを使用するソースコードと構成開示に対して脆弱です。ファイルのアップロードに許可されている場合、リモートコード実行にこの脆弱性が利用されることがあります。

対策: 代替バージョンの Apache Tomcat にアップグレードします。

2021
  A06

2017
  A3、A9
VBULLETIN_RCE バージョン 5.0.0 から 5.5.4 を実行する vBulletin サーバーには、リモートコード実行に対する脆弱性があります。この脆弱性は、routestring リクエストでクエリ パラメータを使用している未認証の攻撃者に悪用される可能性があります。

対策: 代替バージョンの VMware vCenter Server にアップグレードします。

2021
  A03、A06

2017
  A1、A9
VCENTER_RCE VMware vCenter Server の 7.0 U1c より前のバージョン 7.x、6.7 U3l より前のバージョン 6.7、6.5 U3n より前のバージョン 6.5は、リモートのコード実行に対して脆弱です。この脆弱性は、細工された Java Server Pages ファイルを攻撃者がウェブアクセス可能なディレクトリにアップロードしてから、そのファイルの実行を引き起こす可能性があります。

対策: 代替バージョンの VMware vCenter Server にアップグレードします。

2021
  A06

2017
  A9
WEBLOGIC_RCE

Oracle Fusion Middleware(コンポーネント: Console)の Oracle WebLogic Server プロダクトの特定のバージョン(10.3.6.0.0、12.1.3.0.0、12.2.1.3.0、12.2.1.4.0、14.1.1.0.0 など)にはリモートコード実行の脆弱性が含まれています。 この脆弱性は、CVE-2020-14750、CVE-2020-14882、CVE-2020-14883 に関連しています。詳細については、 CVE-2020-14883 をご覧ください。

対策: パッチ情報については、 Oracle Critical Patch Update Advisory - October 2020をご覧ください。

2021
  A06、A07

2017
  A2、A9

検出結果の例

Rapid Vulnerability Detection の検出結果は、Security Command Center ダッシュボード、Google Cloud CLI、Security Command Center API を使用して JSON にエクスポートできます。検出結果の JSON 出力は、次のようになります。

  {
    "finding": {
      "canonicalName": "projects/PROJECT_NUMBER/sources/SOURCE_ID/findings/FINDING_ID",
      "category": "WEAK_CREDENTIALS",
      "compliances": [
        {
          "ids": [
            "A2"
          ],
          "standard": "owasp",
          "version": "2017"
        },
        {
          "ids": [
            "A07"
          ],
          "standard": "owasp",
          "version": "2021"
        }
      ],
      "contacts": {
        "security": {
          "contacts": [
            {
              "email": "EMAIL_ADDRESS_1"
            },
            {
              "email": "EMAIL_ADDRESS_2"
            }
          ]
        },
        "technical": {
          "contacts": [
            {
              "email": "EMAIL_ADDRESS_3"
            }
          ]
        }
      },
      "createTime": "2021-08-19T06:26:20.038Z",
      "description": "Well known or weak credentials have been detected.",
      "eventTime": "2022-06-24T19:21:22.783Z",
      "findingClass": "MISCONFIGURATION",
      "mute": "UNDEFINED",
      "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID",
      "parent": "organizations/ORGANIZATION_ID/sources/SOURCE_ID",
      "resourceName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "securityMarks": {
        "name": "organizations/ORGANIZATION_ID/sources/SOURCE_ID/findings/FINDING_ID/securityMarks"
      },
      "severity": "CRITICAL",
      "sourceProperties": {
        "description": "Well known or weak credentials have been detected.",
        "targets": [
          {
            "ipv4Address": {
              "address": "IP_ADDRESS",
              "subnetMask": 32
            },
            "port": PORT_NUMBER,
            "resourceName": "//compute.googleapis.com/projects/PROJECT_ID/zones/ZONE_NAME/instances/VM_NAME",
            "transportProtocol": "TCP"
          }
        ]
      },
      "state": "ACTIVE"
    },
    "resource": {
      "displayName": "PROJECT_NAME",
      "name": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "parentDisplayName": "ORGANIZATION_NAME",
      "parentName": "//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID",
      "projectDisplayName": "PROJECT_NAME",
      "projectName": "//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER",
      "type": "google.cloud.resourcemanager.Project"
    }
  }

上の例では、次のプレースホルダ変数を使用しています。

  • EMAIL_ADDRESS_[N]: 検出結果の検出時に通知されるユーザーまたはエンティティのメールアドレス。
  • FINDING_ID: 検出結果を識別する一意の値。
  • IP_ADDRESS: 脆弱性が検出された IP アドレス。
  • ORGANIZATION_ID: 脆弱性が検出された組織の ID。
  • ORGANIZATION_NAME: 脆弱性が検出された組織の名前。
  • PORT_NUMBER: 脆弱性が検出されたポート番号。
  • PROJECT_ID: 脆弱性が検出されたプロジェクトの英数字の ID。
  • PROJECT_NUMBER: 脆弱性が検出されたプロジェクトの数値 ID。
  • SOURCE_ID: 脆弱性を検出した Security Command Center サービスを識別する、組織内で一意の数値 ID。
  • VM_NAME: 脆弱性が検出された Compute Engine 仮想マシン(VM)。
  • ZONE_NAME: スキャン ターゲットが配置されている Compute Engine ゾーン。

おすすめの方法

Rapid Vulnerability Detection は VM にログインし、公開済みの管理者ユーザー インターフェースにアクセスしようとします。そのため、機密データへのアクセスが生じたり、リソースに望ましくない影響を及したりする可能性があります。Rapid Vulnerability Detection は、テストリソースをスキャンするために使用し、可能であれば、本番環境でこのサービスを使用することを避けてください。

リソースを保護するには、以下の推奨事項を使用します。

  1. テスト環境でスキャンを実行します。 別の Compute Engine プロジェクトを作成し、そのプロジェクトにアプリケーションとデータを読み込みます。Google Cloud CLI を使用する場合、アプリをアップロードするときにコマンドライン オプションとしてターゲット プロジェクトを指定できます。
  2. テスト アカウントを使用します。機密データや有害なオペレーションへのアクセス権を持たないユーザー アカウントを作成し、VM をスキャンするときに使用します。
  3. データをバックアップします。スキャンする前にデータのバックアップを検討してください。
  4. 非本番環境のリソースをスキャンする。非本番環境リソースに対してスキャンを実行し、本番環境にデプロイする前に脆弱性を捕捉します。

スキャンする前に、スキャンしようとしている範囲を超えてデータやシステムに影響を及ぼす可能性がある機能がないか慎重にアプリケーションを調べてください。

次のステップ