VPNのドアと、開いたままのAPIの窓
16歳の研究者Faavは、自身の自動化ツール「Antares」を活用して、Microsoftの内部分析サービス「Titan」を発見しました。この発見により、重大なアーキテクチャ上のミスが露呈しました。企業のVPNがTitanのWebインターフェースを保護していた一方で、クラウドホスト型のAPIとその関連ドキュメントは公開されたままになっていたのです。この境界の不一致が、即時の脆弱性を生み出しました。
重要なことに、特定のAPIルートである「/v2/Query」が、標準的なEntra ID認証をバイパスしていました。文書化された他のルートとは異なり、「/v2/Query」は生のSQLクエリを直接受け入れ、Microsoftの内部データインフラへの認証なしのアクセス経路を提供していたと報告されています。この単一の露出は、アクセス制御における重大な欠落を意味していました。
Faavはこの開いた窓を悪用し、公開されたAPIと認証メカニズムのバイパスが組み合わさることで、いかに強固な境界防御さえも無力化できるかを実証しました。このインシデントは、フロントエンドだけでなく、すべてのサービスインターフェースにわたる包括的なセキュリティ監査の必要性を強調しています。
JWTはすべてをチェックしていたが、署名だけは別だった
Faavの次のステップは、Titanの内部アーキテクチャを理解することでした。彼は2023年のWayback Machineのスナップショットを使用して56個のテーブル定義を復元し、サービスのデータ構造の重要な設計図を入手しました。この偵察により、クエリ可能な正確なデータポイントが明らかになりました。
次に認証の課題が立ちはだかりました。TitanはJSON Web Tokens (JWT) を使用しており、Faavは重大な欠陥に気づきました。サービスはテナント、オーディエンス、アプリIDなどの様々なトークンクレームをチェックしていましたが、暗号署名の検証を完全にスキップしていたのです。この見落としにより、クレーム検証は無意味なものとなっていました。
したがって、ヘッダーに「"alg": "none"」を含み、署名ペイロードが空のトークンであっても、すべてのチェックを通過することができました。トークンの整合性と起源を検証する署名がなければ、Titanは偽造された資格情報を正当なものとして受け入れてしまいました。クレーム検証だけでは信頼を確立することはできません。トークンの送信者を認証し、改ざんを防ぐのは「署名検証」なのです。FaavはこれでTitanのセキュリティをバイパスする経路を手に入れました。
たった一つの単語が、壊れたトークンを管理者アクセスに変えた
Faavは最後のハードルであるユーザー認証に直面しました。偽造されたJWTにもかかわらず、Titan用のメール形式のユーザー名は一貫して失敗しました。粘り強い試行の末、単純な「admin」というユーザー名が成功し、それがローカルのUserID 1にマッピングされ、本質的に管理者権限を持つことが判明しました。このたった一つの単語が、広範なアクセスを可能にしたのです。
管理者権限により、重大な内部フットプリントが明らかになりました。Faavは30のライブルーティングターゲットと、重要なBing Analyticsを含む17の分析データベースを可視化しました。露出したメタデータには、約25,000件のMicrosoft内部アカウントが含まれていました。
推定17.3兆行という見出しの数字は、アクセス可能なデータベースの理論上のストレージ容量を表したものであり、実際にアクセスや流出が確認されたレコード数ではありません。Faavは厳格な倫理的境界線を守り、顧客データには一切触れず、脆弱性を発見したその日に報告しました。この注目すべき開示に関する詳細については、Open Microsoft Database With 17 Trillion Total Rows and 25,000 User Accounts Hacked by a Bored Teenagerをご覧ください。Microsoftは4日以内にエンドポイントを修正し、5,000ドルの報奨金を支払いました。
この記事が気に入ったら、毎朝同じようなものをメールで受け取れます。
1日1通 · 2クリックで解除 · サードパーティのトラッキングなし
4日間の修正と、より大きなセキュリティの教訓
Faavは責任ある開示を行い、顧客データに一切アクセスしていないことを確認しました。Microsoftは迅速に対応し、4日以内に公開されていたエンドポイントを制限し、トークンのチェックを強化しました。この迅速な対応により、Faavがアクセス可能だった17.3兆行ものデータという、壊滅的な侵害になり得た事態を食い止めました。
Faavに授与された5,000ドルの報奨金は、コミュニティで議論を呼びました。30のルーティングターゲットやBing Analyticsを含む17の分析データベースへの管理者アクセスという潜在的な影響を考えると、この金額は控えめであるという意見が多くありました。しかし、より広範な教訓は、報奨金の額を超えたところにあります。
このインシデントは、クラウドセキュリティチームにとって重要な教訓を提供しています。システムが JWT署名を検証 し、特に alg: "none" 脆弱性を悪用するものなど、署名のないトークンを完全に拒否するようにしてください。さらに、予測可能なユーザーIDにマッピングされる admin のような デフォルトの特権アカウント を排除してください。
最後に、バックエンドAPIルートの独立したテストが不可欠です。VPNで保護されたインターフェースであっても、認証されていないパブリッククラウドのエンドポイントが公開されたままでは、誤った安心感を与えるだけです。堅牢なセキュリティには、正面玄関だけでなく、すべての層にわたる警戒が必要です。
よくある質問
Microsoft Titanとは何でしたか?
Titanは、ルーティングターゲットや分析データベースへのアクセスを提供するMicrosoftの内部分析サービスでした。
Faavはどのようにして管理者権限を取得しましたか?
APIが署名を検証せずにJWTを受け入れたこと、およびユーザー名「admin」が管理者権限を持つアカウントにマッピングされていたことが原因です。
17.3兆行のデータは盗まれましたか?
顧客データの盗難は確認されていません。この数字は理論上の最大ストレージ容量を表したものであり、Faavは顧客データにはアクセスしていないと述べています。
Microsoftはどのように対応しましたか?
Microsoftは4日以内に公開されていたエンドポイントを修正し、Faavに5,000ドルのバグ報奨金を授与したと報告されています。

