Microsoftが修正を進めていたSurfaceハードウェアの脆弱性——セキュアブート無効環境では1パケットでデバイスが文鎮化

独自報道 Microsoftはこの90日間、ひっそりとSurfaceデバイスのファームウェア脆弱性にパッチを当ててきました。この脆弱性は、Secure CoreおよびSecure Bootを無効にしたデバイスに限りますが、単一のパケットでハードウェアを文鎮化できるものでした。

そして同社のCopilot AIソフトウェアが、この欠陥ファームウェアの発見に思わぬ形で貢献することになりました。

オーストラリア在住のセキュリティ研究者、Jack Darcyによると、彼のMicrosoft CopilotがSurfaceデバイスの画面バックライトを調整するよう指示された際に、偶然このバグを発見したといいます。Copilotが生成したPythonスクリプトは、組み込みコントローラのファームウェアを上書きし、研究者のノートパソコンを使用不能にしてしまいました。

「Copilotはバックライト制御値の探索中に、自律的に4つの段階的に攻撃的なPythonスクリプトを作成・実行しました。このスクリプトはSSAMソフトウェアパスを通じて、生のSSAM ioctlコマンド(SSAM_CDEV_REQUEST = 0xC028A501)をSAMマイクロコントローラに直接送信していました」と、DarcyはThe Registerに説明しました。

SAM(またはSSAM)はSurfaceデバイスに搭載された組み込みコントローラです。情報提供者によれば、MicrosoftのSurfaceデバイスにおけるコントローラ実装には、任意の書き込み値に対する防御機構が含まれていなかったとのことです。

Microsoftはこのバグを現実的な脅威とは見なしていません。「この問題に現実的な攻撃シナリオは存在しません」と広報担当者はThe Registerに述べています。「悪用に成功するには、攻撃者が特定のドライバを操作し、ハードウェアインターフェースにコマンドを送信する必要があります。これにはマシンへの管理者権限と、Secure Boot機能の無効化が前提となります。そのようなアクセス権限があれば、他にも無数の操作が可能になります。」

Darcyによると、一般的にデジタルデバイスでは任意書き込みアクセスを有効にするためにボタンを長押ししたり、ジャンパケーブルを接続したりする必要があります。しかしSurfaceデバイスにはこのセキュリティチェックが存在しないため、Secure CoreとSecure Bootが無効な状態ではCopilotがファームウェアを破壊できてしまうのです。本質的には、このプローブ操作がSAMからのアップデートコマンドを引き起こし、UEFIとSecure Bootのファームウェアが上書きされました。

このようなプローブを受けたSurfaceデバイスは、SAMがすでに初期化されRAM上で動作しているため、その時点では引き続き動作します。しかし再起動すると、SAMが不揮発性ストレージの破損データを使って再ロードしようとした際に初期化に失敗し、システムは電源投入時自己診断(POST)を実行できなくなります。

研究者のSurfaceデバイスでCopilotが生成したPythonスクリプトは、特定のターゲットカテゴリとコマンドID(CID)ペアのセットを盲目的に反復し、WRITEコマンドに空/ヌルペイロードを送信しました。

その結果、Darcyによると、SET Feature Reportがヌルペイロードで呼び出され、Output Reportもヌルペイロードで呼び出され、さらに他のCIDもガベージデータを書き込むSETコマンドの標的になったといいます。

こうしてデバイスは使用不能になりました。長年にわたりオンラインサポートフォーラムでSurfaceデバイスについてよく見られる不満となっていますが、他のSurfaceデバイスで報告されている起動失敗がこの特定の問題に起因するかどうかを確認する手段はありません。

公開されているSurfaceハードウェアの多くの問題は、さまざまなトラブルシューティング手法で修復可能なようです。しかしSAMアクセスによって使用不能になったデバイスは、完全に文鎮化するとのことです。新しいマザーボードへの交換には数百ドルの修理費がかかる場合があります。USB経由の復旧も、工場出荷時リセットも、BIOS/UEFIへのアクセスも、いずれも不可能だということです。

DarcyはSAMバスの設計が極めてお粗末だと述べています。

「現在の値を確認するにはバスをスキャンするしかありませんが、スキャンするとデバイスが壊れてしまいます」と彼は語りました。

問題の核心は、SAMのAPIとも言えるCIDが危険な形で混在していることにあります。

「読み取り専用のCIDがまとまってグループ化され(例:CID 0x01〜0x0F)、書き込み専用のCIDが別に分けられていれば(例:CID 0x10〜0x1F)、プローブスクリプトは書き込み領域に誤って踏み込むことなく安全に読み取り範囲をスキャンできます」とDarcyは言います。「コードに単純な境界チェックを入れるだけで済みます。『0x10未満だけプローブする』というように。シンプルで安全です。

「しかし読み取りと書き込みが同じ番号空間に混在しているため、安全にスキャンできる範囲が存在しません。連続する2つのCIDをスキャンしようとするだけで、書き込みコマンドに当たる確率が五分五分です。列挙しようとした瞬間に、すでに盲目的な書き込みを実行していることになります。コマンド空間が、どの操作が安全でどれが破壊的かを判断するための構造的な情報をまったく提供していないからです。」

管理対象デバイスへの影響なし

The Registerは2026年3月10日にMicrosoftへ情報提供者の主張について問い合わせました。同社の広報担当者は改めて研究者にMicrosoft Security Response Center(MSRC)への連絡を勧めましたが、情報提供者はその手続きが煩雑すぎると感じていました。当時はSecure Boot/Secure Coreの要件について不確かな点もあったため、潜在的なゼロデイ脆弱性の詳細を公表するのではなく、The RegisterはMicrosoft内部の担当者へ直接働きかけることにしました。

3月12日、Microsoftの広報チームの協力により、DarcyとMSRCのシニアプログラムマネージャーであるMadeline Eckertの間で会話を調整することができました。Microsoftはその後、この脆弱性を認め、修正を提供することを約束しました。The Registerは修正作業が行われる間、90日間の公表延期に合意しました。影響を受けたデバイスのほとんどはすでにWindows Update経由でアップデートを受け取っているか、今後数週間以内に受け取る予定だということです。なお、同社によればこの問題はCVEの発行基準を満たさなかったとのことです。

「Jack DarcyとThe Registerが協調的な脆弱性開示の下でこの問題を報告してくれたことに感謝します」とMicrosoftの広報担当者は声明で述べました。「調査の結果、一部のデバイスで非推奨のUEFIインターフェースがブートループを引き起こす可能性があることが判明しました。このループを発生させるには、ユーザーが管理者権限を持ち、かつSecure Bootセキュリティ機能をすでに無効にしている必要があります。影響を受けたほとんどのデバイスに対して、この問題に対処するアップデートをリリースしました。」

つまり、管理対象デバイスにリスクはありません。

しかし、Linuxを使用しているユーザーや、ゲームのためにSecure CoreとSecure Bootを無効にしているWindowsユーザー、カスタムWindowsドライバを使用しているユーザー、USBブートを有効にしているユーザーは、システムがアップデートを受け取っていない場合、依然として脆弱な状態にある可能性があります。

影響を受けるSurfaceデバイスの範囲については不明な点が残っています。情報提供者によると、Surface GoシリーズはSurfaceデバイスのようにもSlimペンも等外とした例外で、Surface Laptop 3〜6、Surface Book 1〜3がすべて影響を受けるように見えるとのことです。なお、ARMバリアントについてはテストされていません。

MicrosoftがSurfaceをRustに移行

この問題の修正に取り組む過程でDarcyから得た情報のひとつは、MicrosoftがSurfaceスタックをRustに移行する計画を持っているということです。MicrosoftのSurfaceチーフアーキテクトであるDavid Abzarianによると、将来のSurface for Businessハードウェアについて、Rustコードに基づくより安全なアーキテクチャへの移行作業が進んでいるとのことです。

「最新のSurface for Businessハードウェアでは、組み込みコントローラ、UEFIだけでなく一部のドライバにも及ぶ、信頼性とセキュリティの大幅な向上という点でアーキテクチャの大きな転換を実現しています」と、AbzarianはThe Registerへの声明で述べました。「私たちはPCのための最も安全な基盤に投資しており、組み込みコントローラファームウェアをRustで一から構築しています(Open Device Partnership(ODP)の活用と貢献の一環として)。さらにUEFI DXEコアのRustによる書き直しも行っています。これらのプロジェクトはそれぞれSecure ECおよびプロジェクトPatinaとして知られています。 

「また、Rustで書かれた一部のドライバを出荷するだけでなく、Windowsエコシステムの幅広いパートナーがこれらの利点を活用できるよう、フレームワークWindows Drivers in Rust(WDR)の共同開発も支援しています。これらの取り組みはすべてオープンソースであり、透明性というセキュリティの重要原則のひとつを体現しています。」

コメントを求められたDarcyは次のように述べました。「ユーザースペースからデバイスを修復不可能な形で破壊できるとは……なかなか興味深い設計上の判断です。美しく革新的なSurfaceシリーズを世に送り出してきたMicrosoftには称賛を惜しみませんが、ファームウェアレベルで受信データを検証するという部分にも、もう少し革新性を発揮していただければ大変ありがたかったと思います。」 

Microsoftは感謝の印としてDarcyにSurfaceノートパソコンを提供したということです。®

翻訳元: https://www.theregister.com/security/2026/06/12/microsoft-has-mostly-repaired-flaw-in-surface-hardware-that-allowed-unprotected-devices-to-be-bricked-by-a-single-packet/5253895

ソース: theregister.com