2021/08/06 DailySwig — Black Hat USA 2021 において、ハッキング・マエストロである Orange Tsai は、Microsoft Exchange の脆弱性に関する待望の技術情報を公開した。2021年1月に Tsai が発見した認証前のリモートコード実行 (RCE : remote code execution) の欠陥は、Microsoft Exchange 史上で最も深刻な脆弱性かもしれないと、彼はリモート講演で語っていた。この欠陥は、3月にパッチが適用されたが、悪用されると世界の何十万ものエンタープライズ・メッセージング・サーバーがハッキングされるという、きわめて深刻なゼロデイ欠陥の1つだった。このバグを深く掘り下げた後に Tsai は、ProxyLogon は単一のバグではなく、研究者が新しい脆弱性を発見するために役立つ、まったく新しい攻撃対象領域であることに気づいた。
Devcore の Principal Security Researcher である Tsai は、この研究が進んでいなかった領域から、サーバーサイドや、クライアントサイド、暗号のバグなどを含む8つの脆弱性を発見した。これらの ProxyLogon や ProxyShell として知られる認証前の RCE チェーン脆弱性と、平文パスワードを復元する ProxyOracle を組み合わせると、その破壊力はさらに増幅される。この攻撃に成功した攻撃者は、平文パスワードを参照し、Port 443 経由で Microsoft Exchange Server インスタンス上で任意のコードを実行できる。このような脆弱性を発見できたことについて、Tsai は、ロジック・バグやコード・インジェクションといった特定の欠陥を探るのではなく、対象となるアプリケーションをハイレベルなアーキテクチャの観点から分析したことが、功を奏したと考えている。彼は、「今回の発見が脆弱性研究に新たなパラダイムをもたらし、より多くのセキュリティ研究者が、Exchange Server を調査するキッカケになることを期待している」と述べている。
プライム・ターゲット
エンタープライズ・メールサーバーには、優良企業や政府機関の機密情報が保存されており、また Microsoft Exchange が市場を支配していることから、このアプリケーションは長年にわたって国家レベルのハッカーの標的となってきた。その重要性にもかかわらず、インターネットに接続されいる 40万台の Exchange サーバーは、攻撃を受けやすい状況にあることが発見された。Tsai は、2013年に実施された Client Access Services (CAS) における大幅な変更に注目した。この実装により、Exchange の基本的なプロトコル・ハンドラが、フロントエンドとバックエンドのコンポーネントに分割された。Tsai は、この根本的なアーキテクチャの変更により、かなりのレベルの設計上の負担が発生し、コンテキスト間に不整合が生じたと述べている。
ミティゲーション
Tsai は、Microsoft Exchange ユーザーに対して、システムを最新の状態に保ち、インターネットにダイレクト接続されていないことを確認するようアドバイスしている。また、2021年4月に Microsoft が実施した CAS フロントエンドの強化により、攻撃対象となる認証部分が緩和され、pre-auth 攻撃が無効になったとも述べている。最後に Tsai は、「現代の問題には現代の解決策が必要である」として、情報セキュリティの専門家に「より高い視点からアーキテクチャを理解すること」をアドバイスした。Microsoft が導入したパッチや緩和策にもかかわらず、依然として CAS は有望な攻撃対象となっている。
ただし、pre-auth バグがなければ、ProxyLogon の場合と比べて影響は小さくなるだろう。Microsoft Exchange は数多くのバグを抱えた宝の山だと、Tsai は考えている。しかし彼は、「ProxyLogon のような極めて深刻なバグを発見したとしても、オンプレミス Exchange サーバーは報奨金の対象外だ」と述べている。今回の研究により、Tsai の評価が高まったことに間違いはない。彼は、2021年の Pwnie Awards で最優秀サーバーサイド・バグ賞を受賞し、PortSwigger の Top Web Hacking Techniques では 2017年と2018年にトップに立ち、今年の Pwn2Own では Master of Pwn 2021 になっている。
話が飛ぶが、2021年4月に FBI は政府当局に対して、Microsoft Exchange に埋め込まれた Web Shell を削除する権限を与えた。Web Shell の除去は、第三者のコンピュータへの干渉であり、また、違法とみなされる可能性があったので、このような異例の法的執行が必要となった。
いわゆるセキュリティ研究者のスタイルも、時代とともに変化していくのですね。文中の「対象となるアプリケーションをハイレベルなアーキテクチャの観点から分析」という部分と、「Exchange の基本的なプロトコル・ハンドラが、フロントエンドとバックエンドのコンポーネントに分割された。この根本的なアーキテクチャの変更により、かなりのレベルの設計上の負担が発生し、コンテキスト間に不整合が生じる」という部分に、それが現れています。Black Hat 2021 では、Exchange が大人気のようですが、それだけ狙われやすいということなのでしょう。