暗号署名の検証が一か所抜けていたために、16歳の学生がMicrosoft社内の重要な分析基盤の管理者権限を手にしました。この基盤は、推定17兆3000億行のデータを格納するデータベース群を支えていました。
「Faav」という偽名で活動するこの研究者は、Microsoftが大規模な分析に使う社内専用サービス「Titan」を詳細に調べました。Webインターフェースは厳格なVPN認証を求めていましたが、関連するAPIはインターネット上に無防備なまま公開されていました。エンドポイントの一つには、生のSQLクエリを実行できるメソッドがありました。認可にはJSON Web Token(JWT)が使われ、Titanはテナント、オーディエンス、アプリケーション識別子、ユーザーIDといったトークン内のパラメーターを検証しているように見えました。
暗号署名をめぐる見落とし
致命的な欠陥は、その後の検証段階に潜んでいました。Titanはトークンの暗号署名をまったく検証していなかったのです。そのため、攻撃者はペイロードの内容を自由に書き換え、正規のものとしてサーバーに提示できました。Faavは技術的な詳細を解説した記事で、手口を明らかにしています。まず「none」アルゴリズムを使って署名なしのJWTを作成し、UPN(ユーザープリンシパル名)フィールドに「admin」という値を入れました。サービスはこの値を、絶対的な管理者権限を持つローカルユーザーID 1に誤って対応付けました。そのうえで、無害なテストクエリ「SELECT 1」を実行しました。
侵入に成功した少年は、自分がアクセスできる範囲の途方もない大きさを調べました。古い設定ファイルから見つかった56のルートのうち、30が稼働していました。これらの経路は24種類の設定を介して、17の巨大なClickHouseデータベースにつながっていました。リポジトリには、9,863種類のテーブル名が含まれていました。Faavはデータベース自体の内部統計テレメトリを利用し、最終的な推定行数を17,333,335,124,315行と算出しました。
データ露出の規模をどう読むか
この天文学的な数字は、17兆3000億件ものユーザー記録が漏えいしたという意味ではありません。集計対象には、過去のアーカイブ、重複の多いデータセット、派生的な情報テーブルが含まれています。研究者はTitanのメタデータから、有効なアカウントとメールアドレスに関する約25,000件の記録、従業員の実住所17,990件、企業の組織構造を示す記録15,001件を確認しました。これとは別に、この学生はBingの詳細な分析データにアクセスできることも確かめています。確認のために抽出したのは、1行ずつの2サンプルだけです。大規模な不正データ持ち出しは、慎重に避けました。
偵察の大部分は、Faavが開発したAIエージェント「Antares」が担いました。この自律システムは約10日間、変数を試行しながらサーバーの応答を解析し続け、Titanの初期段階の検証を少しずつ突破しました。ところがエージェントは、メールアドレスを注入することに固執しました。UPNフィールドが単純なローカルユーザー名も受け付けるとは、推論できなかったのです。「admin」という変種は、この学生が自力で思いつきました。複雑なペネトレーションテストにおいて、自律型エージェントの能力と人間の直感との間に今も境界があることを、この出来事は鮮やかに示しています。
責任ある開示と修正対応
Antaresが公開されたAPIを最初に発見したのは、8月25日です。Faavは管理者アクセスを確認したうえで、9月5日にMicrosoft Security Response Centerへ詳細な報告書を提出しました。4日後に同社は脆弱なAPIを保護し、9月17日に報奨金5,000ドルを研究者へ支払いました。Faavは協調的開示の手順を踏んだうえで、技術的な分析結果を公開しました。
Titanの事例は、トークンの内容を暗号署名の厳密な検証なしに信頼してしまうと、追加の認証チェックがまったく無意味になることを如実に示しています。サーバーは複数のパラメーターを入念に照合していました。しかし攻撃者は、まさにそれらのフィールドを任意の値に書き換えられたのです。この件は、バグバウンティにおける模範的な行動の典型例でもあります。研究者はアクセスを確認した時点で手を止め、脆弱性を報告し、修正を辛抱強く待ちました。早まった公開でユーザーを無防備な状態に置く行為とは、対照的です。
非常によく似た種類のミスは、2026年にもpac4j-jwtライブラリで見つかっています。署名なしトークンの扱いに欠陥があり、攻撃者はJWTに「admin」を含む任意のロールを注入できました。正規の秘密鍵を持たなくても、認証を完全に回避できたのです。
一方でMicrosoftは、こうした脆弱性の発見にAIをいっそう深く組み込もうとしています。同社はこの春、AIエージェントのセキュリティ態勢を設計段階で検証するオープンソースツール「RAMPART」と「Clarity」を公開しました。Titanの事例は、この流れの裏側を浮き彫りにします。自動化は技術的な偵察を何週間も休まず続けられますが、決定的な最後の突破口は、人間の直感によるたった一つの推論に左右されることが少なくありません。
翻訳元: https://meterpreter.org/teen-discovers-microsoft-titan-vulnerability/