「Microsoft Azure」上でNoSQLデータベースを運用している人の多くは、おそらく「Cosmos DB」を使用しているはずだ。そのCosmos DBに重大な脆弱性が発見された。Microsoft自身も、この新たに発見された重大な脆弱性「ChaosDB」が悪用されると、侵入者が全てのデータベースを読み書きでき、全て削除してしまうことさえ可能であることを認めている。
Microsoftがこの問題の影響を受ける顧客に送信したメールでは、「Microsoftは最近、Azure Cosmos DBに、ユーザーが別の顧客のアカウントのプライマリー読み取り/書き込みキーを使用して、その顧客のリソースへのアクセスを獲得できる可能性がある脆弱性が存在することを認識した。この脆弱性は、外部のセキュリティ研究者から内密に報告されたもので、当社は2021年8月12日にこの問題を認識した後、直ちに脆弱性を緩和する措置を講じた」と述べている。
これは幸いなことだと言えるだろう。というのも、ChaosDBを発見したクラウドセキュリティ企業であるWIZによれば、この脆弱性は、Azureのユーザーが無許可で別の顧客が所有するCosmos DBのインスタンスに対する完全な管理者権限(読み取り、書き込み、削除)を得られるというものであり、この脆弱性を利用するには、ターゲットとなる環境に対する事前のアクセスは必要なく、多数のFortune 500企業を含む何千もの組織に影響を与える簡単な悪用方法が存在するからだ。
では、どれくらい簡単にこの脆弱性を悪用できるのだろうか?
WIZによれば、攻撃者はCosmos DBの「Jupyter Notebook」に存在する簡単に悪用可能な脆弱性の連鎖を利用するだけでいい。Jupyter Notebookはオープンソースのウェブアプリケーションで、AzureのポータルやCosmos DBアカウントに直接的に統合されている。Jupyter Notebookを使えば、実行可能なコードや数式、グラフ、説明のテキストなどを含むドキュメントを作成し、共有することができる。
しかも悪いことに、Jupyter Notebookに一度アクセスすれば、ターゲットのCosmos DBアカウントの認証情報を入手することができ、これにはデータベースのプライマリーキーも含まれているという。これらの認証情報を使えば、攻撃者はターゲットのCosmos DBアカウントのデータをさまざまな方法で閲覧、修正、削除することができる。
影響を受けた組織がこの問題を解決するには、影響を受けるAzure Cosmos DBアカウントごとにプライマリーキーを再生成して、キーのローテーションを行う必要がある。
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。