Google Cloud Build の深刻な脆弱性:MOVEit 悪用のような問題を生じる恐れ

Google Cloud Build bug lets hackers launch supply chain attacks

2023/07/18 BleepingComputer — クラウド・セキュリティ企業 Orca Security が発見した、Google Cloud Build サービスの重大な設計上の欠陥は、攻撃者を特権へとエスカレートさせ、Google Artifact Registry コード・リポジトリへの、ほぼ完全なアクセスを提供する可能性があるというものだ。この Bad.Build と名付けられた欠陥を悪用する脅威アクターたちは、Google Cloud Build の CI/CD (continuous integration and delivery) サービスのアカウントになりすまし、アーティファクト・レジストリに対して API コールを実行し、アプリケーション・イメージを制御することが可能になる。たとえば、悪意のコードの注入や、脆弱なアプリの作成などを行った後に、顧客の環境内に悪意のあるアプリをデプロイした攻撃者が、サプライチェーン攻撃を仕掛ける可能性が生じてくる。


Orca の Security Researcher である Roi Nisimi は、「潜在的な影響は多岐にわたり、Artifact レジストリをメイン/セカンダリのイメージ・リポジトリとして使用している、すべての組織で問題が起こり得る。まず、直接的な影響として挙げられるのは、これらのイメージに依存しているアプリケーションを混乱させることだ。たとえば、DOS や データ窃取に加えて、ユーザーへのマルウェア拡散につながる可能性がある。SolarWinds/3CX/MOVEit を介したサプライチェーン攻撃で見られるように、広範囲に影響を及ぼす可能性がある」と述べている。

Rhino Security Lab も、この脆弱性を観測しており、ここで報告されている。しかし、この特権昇格の不具合を悪用する Rhino の方法は複雑であり、GCP API と流出した Cloud Build Service Account のアクセス・トークンが用いられるというものだ。

その一方で、Orca Security が証明した方法は、cloudbuild.bills.create パーミッションを用いて特権へと昇格した攻撃者が、artifactregistry パーミッションを介して Google Kubernetes Engine (GKE) の Docker イメージを改ざんし、Docker コンテナ内で root としてコードを実行するというものだ。

Google Cloud Build Bad.Build vulnerability
Bad.Build vulnerability kill chain (Orca Security)

この問題を報告した Orca Security に対応するかたちで、Google のセキュリティ・チームは、Artifact Registry とは無関係なデフォルトの Cloud Build Service アカウントから、logging.privateLogEntries.list パーミッションを削除するという、部分的な修正を実施した。

この対策は Artifact Registry の根本的な脆弱性に対処するものではないため、特権昇格のベクターとサプライチェーン攻撃のリスクが、そのまま残されていることに注意が必要である。

Roi Nisimi は、「この Google による修正は、発見された特権昇格 (PE) ベクターを取り消すものではない。つまり、発見された特権昇格 (PE) ベクターを取り消すものではなく、それを制限するだけのものだ。したがって、Google Cloud Build のデフォルト・サービス・アカウントの動作に、細心の注意を払うことが重要となる。最小特権の原則を適用した上で、異常を特定するためのクラウド検出/対応の機能を実装することが、リスクを低減するための推奨事項となる」と指摘している。

Google Cloud Build の顧客に対しては、デフォルトの Cloud Build サービス・アカウントの権限を、ニーズに応じて変更することが推奨される。さらに、特権昇格のリスクを軽減するための、最小特権の原則 (PoLP:Principle of Least Privilege) に反する資格情報の削除も推奨される。

2023年4月にも Google は、Google Cloud Platform (GCP) のセキュリティ脆弱性である、GhostToken の問題に対処している。この脆弱性の悪用に成功した攻撃者は、悪意の OAuth アプリケーションを使用して、あらゆる Google アカウントにバックドアを仕掛けられる。

Update:7月18日14時22分 (EDT):この記事の掲載後に、Google の広報担当者は以下の声明を発表した。

私たちは、今回のような脆弱性を特定/修正するために、脆弱性報奨プログラムを創設している。私たちは、Orca などのを含むセキュリティ・コミュニティが、このプログラムに参加してくれたことに感謝している。私たちは、研究者の取り組みに感謝し、6月上旬に発行されたセキュリティ速報に記載されているように、研究者の報告に基づく修正を反映している – Google 広報担当者

この Google Artifact Registry コード・リポジトリの欠陥ですが、Rhino と Orca が、それぞれの方式で悪用を証明しているようです。上記のリンクをたどると、Cloud Build からのアーティファクトを保存し、Google Cloud ランタイムへ向けてデプロイすると、記されています。ここのパーミッションの不具合を、脅威アクターが悪用することで、コードの改ざんなどが可能になるとのことです。文中にあるように、アカウントの権限のニーズに応じた変更や、最小特権の原則での緩和といった、対応策が必要になるとのことです。よろしければ、Google Cloud で検索も、ご利用ください。