
アメリカのコンピュータメーカーFrameworkの約20万台のLinuxコンピュータシステムが、Secure Bootの保護を回避するために悪用可能な署名付きUEFIシェルコンポーネントとともに出荷されていました。
攻撃者はこれを利用して、OSレベルのセキュリティ制御を回避し、OSの再インストール後も持続するブートキット(例:BlackLotus、HybridPetya、Bootkittyなど)を読み込むことができます。
強力なmmコマンド
ファームウェアセキュリティ企業Eclypsiumによると、この問題はFrameworkがシステムに同梱した正規署名済みUEFIシェルに「メモリ修正(mm)」コマンドが含まれていたことに起因しています。
このコマンドはシステムメモリへの直接的な読み書きアクセスを提供し、低レベルの診断やファームウェアのデバッグを目的としています。しかし、UEFIモジュールの署名検証プロセスにおける重要な要素であるgSecurity2変数を標的にすることで、Secure Bootの信頼チェーンを破壊するためにも利用可能です。
mmコマンドはgSecurity2をNULLで上書きすることで、署名検証を実質的に無効化することができます。
「アドレスが特定されると、mmコマンドはセキュリティハンドラーポインタをNULLで上書きするか、常に“成功”を返す関数にリダイレクトすることができます。これにより、検証を一切行わずに処理が進みます。」 – Eclypsium
「このコマンドはセキュリティハンドラーポインタが格納されているメモリ領域にゼロを書き込み、以降の全てのモジュール読み込みに対する署名検証を実質的に無効化します。」
研究者らはまた、この攻撃がスタートアップスクリプトを通じて自動化され、再起動後も持続可能であることを指摘しています。
約20万台のシステムが影響
Frameworkは、モジュラー式で修理が容易なノートパソコンやデスクトップを設計することで知られる米国のハードウェア企業です。
リスクのあるmmコマンドの存在は侵害によるものではなく、むしろ見落としによるものと思われます。問題を認識したFrameworkは、脆弱性の修正に取り組み始めました。
Eclypsiumの研究者によれば、この問題は約20万台のFrameworkコンピュータに影響を与えています:
- Framework 13(第11世代Intel)、3.24で修正予定
- Framework 13(第12世代Intel)、3.18で修正済み、DBXアップデートは3.19で予定
- Framework 13(第13世代Intel)、3.08で修正済み、DBXアップデートは3.09で提供
- Framework 13(Intel Core Ultra)、3.06で修正済み
- Framework 13(AMD Ryzen 7040)、3.16で修正済み
- Framework 13(AMD Ryzen AI 300)、3.04で修正済み、DBXアップデートは3.05で予定
- Framework 16(AMD Ryzen 7040)、3.06(ベータ)で修正済み、DBXアップデートは3.07で提供
- Framework Desktop(AMD Ryzen AI 300 MAX)、3.01で修正済み、DBXアップデートは3.03で予定
影響を受けるユーザーは、利用可能なセキュリティアップデートを適用することが推奨されます。パッチがまだ提供されていない場合は、物理的なアクセス防止などの二次的な保護策が重要です。もう一つの一時的な対策として、BIOSからFrameworkのDBキーを削除する方法もあります。