Wizは、Azure Cosmos DBの脆弱性によりすべてのデータベースが露呈する可能性があったと述べた

Wizは、Microsoftがプラットフォーム全体の署名シークレットに到達したGremlin APIの脆弱性チェーンであるCosmosEscapeを完全に修正したと述べた。

By · Published

Primary source: Wiz Research

Why it matters

CosmosEscape shows how one provider-side sandbox failure can bypass customer network controls when an internal service holds credentials with cross-tenant authority.

Cloud database architecture, illustrating a detected and remediated vulnerability (Isotype infographic poster with mid-century pictograms)

Wizのリサーチチームは、CosmosEscapeに関する技術レポートを公開しました。CosmosEscapeは Azure Cosmos DB の Gremlin API における脆弱性連鎖で、サービス上のすべてのデータベースに対する完全な読み取りおよび書き込みアクセスを可能にした可能性があるとされています。Wizのレポートに含まれる Microsoft の声明では、Wiz の調査以外での悪用の証拠は見つかっておらず、顧客側での対応は不要であると述べられています。

この発見には異例の創業者の経歴が絡んでいます。Assaf Rappaport、Ami Luttwak、Yinon Costica、Roy Reznik は 2020 年に Wiz を創業しましたが、その前に Adallom を開発し、2015 年に Microsoft に売却し、Microsoft のクラウドセキュリティ組織を率いていました。Wiz は現在、創業者たちの以前の雇用主が運営するインフラストラクチャの奥深くにある欠陥について研究結果を公開しています。

Wiz の著者らはこの連鎖を CosmosEscape と名付けました。Wiz の技術レポートによれば、研究者らは自分たちが制御するデータベースに対して特別に細工した Gremlin クエリを使用し、Cosmos DB バックエンド上でのコード実行を獲得し、最終的に Wiz が「Cosmos Master Key」と呼んだプラットフォーム全体の署名シークレットに到達したとされています。

One query crossed the tenant boundary

最初の手がかりは、Wiz の研究者が制御するデータベースに対してクエリを実行している間に生成された .NET 例外でした。多くのオープンソースの Gremlin システムは Java Virtual Machine に基づいているため、その例外は Microsoft が Gremlin クエリを .NET コードに翻訳するカスタムエンジンを構築していることを示していました。

Wiz によると、そのエンジンは生成されたコードに対する制限を設けていましたが、サンドボックスは .NET のリフレクションを十分に考慮していませんでした。研究者らはファイルの読み書き機能を開発し、その後 Cosmos DB バックエンド上での任意のコード実行に至りました。レポート内のスクリーンショットは、細工したクエリが hostname コマンドを実行している様子を示しています。

そのコードは DB Gateway と呼ばれるコンポーネント上で実行されました。DB Gateway はマルチテナントの Service Fabric クラスター上で顧客のクエリを処理します。顧客データベースは別の場所にホストされていましたが、ゲートウェイはそれらにアクセスするためにプライマリ キーを必要としていました。これらのキーは完全な読み取りおよび書き込みアクセスを付与します。

ゲートウェイはクラスタから利用可能な署名クレデンシャルを介してアカウントキーを取得していました。Wiz は、そのクレデンシャルが顧客、リージョン、および SQL、MongoDB、Cassandra、Gremlin を含む Cosmos DB のインターフェイス全体で動作することを発見しました。レポートによれば、公開アクセス可能なエンドポイントはそれを使用して選択したアカウントのプライマリキーを要求することができました。

同じクレデンシャルは、Wiz が Config Store と呼ぶリージョナルなデータベースを介した第2の経路も開きました。そのディレクトリには Cosmos DB アカウント名、テナントおよびサブスクリプション識別子、ネットワーク設定やタグが含まれていました。攻撃者は特定組織をそこから検索し、その組織のアカウントに対するプライマリキーを要求することができた可能性があります。

Wiz によれば、このチェーンはプライベートかつネットワークで分離されたデータベースにも到達しました。侵害された DB Gateway はこれらのネットワーク制限を強制する責任があり、攻撃は顧客が隔離のために依存していた境界の内部に置かれました。この欠陥は Cosmos DB のサービス層に存在していたため、顧客は自分たちの設定でそれをパッチすることができませんでした。

この潜在的な到達範囲は Microsoft 自身の製品にも及びました。Wiz は Microsoft Teams、Microsoft Entra ID、Microsoft Copilot を Cosmos DB にデータを保存するサービスとして特定しました。レポートは、これらのサービスを支えるデータベースが同じチェーンを通じて到達可能であった可能性があると述べています。Wiz のレポートに含まれる声明によれば、Microsoft は研究者らのテスト以外で誰かが脆弱性を悪用した証拠を見つけていません。

Microsoft says it fully remediated the issue

Wiz によると Microsoft は問題を完全に修復し、Cosmos Master Key を廃止し、同様の攻撃を防ぐためのガードレールを追加しました。Wiz のレポートに含まれるベンダー声明で、Microsoft はアクセスログをレビューし、研究者らのテストを超える不正な活動は見つからなかったと述べています。Microsoft はまた、顧客側での対応は不要であるとも述べました。

Wiz が説明する修復措置は Gremlin のサンドボックスを超えています。テナント間を跨ぐ署名クレデンシャルの削除は、一つのサンドボックス脱出がサービス全体の侵害に転じた設計上の判断に対処しました。

Wiz は、完全なクエリを近日開催される Black Hat USA の講演で提示すると述べています。同社はそのプレゼンテーションまで公開レポートから完全なクエリを差し控えています。

Atlas gets a real-world test

この公開はまた、Wiz の AI セキュリティ作業にライブ調査での具体的役割を与えます。Wiz は Atlas, its AI vulnerability researcher の初期バージョンが CosmosEscape の支援を行ったと述べています。

Wiz は Atlas を、脆弱性の再現や調査を支援できるシステムとして提示しており、未知の欠陥をゼロから発見することはより難しいと認めています。

CosmosEscape は Atlas をそのより難しいカテゴリに近づけます。技術的な叙述は研究者らの観察により導かれています:予期しない例外を見つけ、カスタム実行エンジンの存在を推測し、ゲートウェイのクレデンシャルをたどって Cosmos DB の内部アカウントディレクトリに到達した、という流れです。

Atlas の具体的な貢献が、CosmosEscape が AI 支援のセキュリティ研究についてどれだけ語るかを決定します。テストとエクスプロイトの検証を加速するエージェントはすでに有用です。サンドボックス脱出からプラットフォーム全体のクレデンシャルに至る重要なアーキテクチャ上の飛躍を独力で特定するシステムは、より大きな進歩を示すことになるでしょう。

Research becomes part of Wiz's multicloud case

この公開は、Google が 3 月 11 日に Wiz を買収完了した 4 か月後に行われました。Google は Wiz がブランドを維持し、Microsoft Azure、Amazon Web Services、Oracle Cloud などの環境のサポートを継続すると述べています。

深刻な Azure に関する発見を公開することは、そのマルチクラウドの立場に資するものです。Wiz は現在クラウドプロバイダ内で運営されつつ、競合するクラウド全体にわたるセキュリティカバレッジを販売しています。Microsoft のインフラストラクチャを綿密に検査にかける研究は、Google の所有下でも Azure に対する取り組みが引き続き有効であることを示すのに役立ちます。

商業的にも Wiz に有利に働きます。顧客のネットワーク隔離を回避し、プロバイダの内部認証レイヤに到達した脆弱性は、Rappaport と共同創業者たちが Wiz を始める際に用いた前提を強化します:クラウドのリスクは単一の誤設定されたサーバーからではなく、アイデンティティ、サービス、コントロールプレーンコンポーネント間の関係から生じることが多い、という主張です。

CosmosEscape はクラウドプラットフォーム構築者に対する警告でもあります。サンドボックスの脱出はクエリ処理環境内に留まるべきでしたが、その境界の向こう側にプラットフォーム全体で有効なクレデンシャルが存在したため、ある顧客のワークフローでのコード実行がすべてのテナントへの経路となる可能性が生じました。Microsoft は長期的な修正の一環としてそのクレデンシャルを廃止しました。アーキテクチャは一つの内部コンポーネントに対して安全に保持できる以上の権限を与えてしまっていました。

Reader comments

Conversation for this story loads after sign-in.