16歳の研究者がMicrosoftの分析サービスに侵入、17兆行のデータにアクセス可能に

Microsoft社内の分析サービス「Titan」に存在した欠陥を悪用すれば、攻撃者が従業員記録やBingの検索分析データを閲覧できた可能性があります。16歳のセキュリティ研究者が明らかにしました。

「Faav」と名乗るこの研究者は、Titanがログイントークンの署名を検証していないことを発見しました。これにより、サービスの管理者になりすまし、接続された17のデータベースに対してSQLクエリを実行できたといいます。データベースの行数は推定で17.3兆行に上ります。

調査には、自作の自動バグ探索ツール「Antares」を使用しました。Faavの調査報告によると、AntaresがTitanを検出し、10日間にわたってログイン検証を突破する方法を探り続けました。最後の一手は、Faav自身が打ったとのことです。

「Antaresだけではここに到達できなかったでしょうし、私だけでも無理でした。ツールの粘り強さと、人間のひらめき。この二つが揃ったからこそ、今回の発見につながりました」

トークン検証の突破

TitanのWebインターフェースにはMicrosoftのVPN経由でしかアクセスできませんでしたが、Antaresは、公開ドキュメントのある別のAPIエンドポイントを見つけました。ルートの一つである/v2/Queryは、生のSQLを受け付けていました。

認可ヘッダーのないリクエストは拒否されました。Faavが他の数百件の手がかりを調べている間も、AntaresはTitanに繰り返し戻ってきたといいます。

「最初に使ったのは、数か月前に作成し、テストで日常的に使っていた外部のEntraテストテナントのトークンでした。Titanはテナントエラーを返しました。テナントをMicrosoftのものに変えると、今度はオーディエンスのエラーになりました。オーディエンスを変えると、アプリケーションの許可リストのエラーです。アプリケーションIDを変えて、ようやくユーザー検索まで到達しました」と、この若き研究者は説明しています。

「ペイロードを変え続けても署名はまったく同じままでしたが、Titanは新しいクレームを受け入れ続けました。まるで、身分証の名前だけを確認して顔写真を見ない警備員のようです。これが、署名を検証していないと気づいた最初の大きな手がかりでした」と付け加えました。

Faavは次に、アルゴリズムを「none」に設定し、署名部分を空にしたトークンを送信しました。トークンはすべてのチェックを通過してユーザー検索まで進み、「user not found」エラーが返されました。

その後数日間、Antaresはトークンのupnフィールドにメールアドレス形式の値を入れて試行を続けました。9月5日、Faavはこの値を「admin」に変更します。Titanはこのフィールドをローカルのユーザー名として扱い、Admin権限を持つユーザーID 1と照合しました。これにより、Faavは管理者権限を得て、サービス上でSQLクエリを実行できるようになりました。

従業員記録とBingの検索データ

Faavによると、Titanのプラットフォームメタデータデータベースには、約2万5000件のアカウントおよびメールのエントリ、1万7990件の従業員メール記録、1万5001件の従業員組織記録が保存されていました。従業員情報には、Titanに関わる社員の役職、部署、管理階層が含まれていました。

Image

識別情報とログイン履歴を含むアプリケーションユーザーのレコード(出典:ブログ記事)

Faavは、これはMicrosoftの従業員の一部にすぎないとしたうえで、攻撃者が標的を絞ったソーシャルエンジニアリングを仕掛ける際に役立った可能性があると指摘しています。ただし、この点は検証していないということです。

この10代の研究者は、Bingの分析ソースにもアクセスし、最新パーティションから1行ずつのサンプルを2件取得しました。サンプルには、検索、識別子、位置情報のフィールドが含まれていました。位置情報の値は、逆引きIP検索から得られた国または州レベルの情報だったと説明しています。

Microsoftがユーザーのブラウザに保存する識別子「MUID」が複数のデータセットに現れていたため、サービス間でユーザーの行動を突き合わせられた可能性があるとFaavは述べています。

17.3兆という数字については、データベースのメタデータから算出したストレージ上の推定値であり、履歴データ、重複データ、派生データも含まれている可能性が高いとFaavは説明しています。

脆弱性の開示とMicrosoftの対応

Faavは9月5日、この脆弱性をMicrosoft Security Response Center(MSRC)に報告しました。MSRCはテストの中止を求め、調査以外の活動がなかったことを確認するためにIPアドレスの提供を依頼しました。エンドポイントは9月9日に閉鎖され、Faavは9月17日に5000ドルの報奨金を受け取りました。

Faavは、顧客データや個人を特定できる情報(PII)には一切触れておらず、Bingの2件のサンプルも、個人の特定、データセット間のレコードの紐付け、プロファイルの作成には使っていないと強調しています。

「Faav氏が報告した内容を調査する機会をいただき、感謝しています。同氏の報告と協調的な脆弱性開示により、当社のサービスを強化でき、お客様をより適切に保護できました。Microsoft Bug Bountyプログラムの規約に沿った安全なセキュリティ研究を高く評価しており、今後も同氏と協力していきたいと考えています」。Microsoftの声明は、Faavの投稿に掲載されています。

Faavによると、Microsoftはこの投稿に対して編集上の管理権を持っており、公開前に一部の節や数値を削除し、影響の書き方も修正したということです。

翻訳元: https://www.helpnetsecurity.com/2026/09/28/microsoft-titan-jwt-signature-flaw/

本記事は helpnetsecurity.com の記事を翻訳・要約したものです。