
2026/02/27 7:14
ヒドロフィオビア – Insyde H2O(2025)のUEFIファームウェアに対するSecureBoot回避の固定版
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
記事では、最近発見されたファームウェア欠陥 Hydroph0bia(CVE‑2025‑4275 / INSYDE‑SA‑2025002)について説明しています。このサプライチェーン脆弱性は Insyde H2O BIOS を標的にしており、現在までにパッチを公開したのは Dell のみです。Lenovo は 2025 年 7 月 30 日以降に独自の修正を予定し、Framework は問題を確認しましたが ETA は示されていません。Acer、Fujitsu、および HP はまだアドバイザリやアップデートを公開していません。
著者は InsydeImageExtractor、UEFITool、Beyond Compare、および bindiff/diaphora を使用して、パッチ前後の Dell BIOS イメージを横並びで比較しました。分析では BdsDxe は変更されておらず、SecurityStubDxe が 32 バイト縮小し、SecureFlashDxe が 704 バイト増加したことが示されました。これにより、コア修正は SecureFlashDxe に存在することが明らかになりました。
主なパッチ変更点には、raw の
gRT->SetVariable 呼び出しを SMM ベースの LibSetSecureVariable へ置き換え、変数シェーディングに対する対策を追加し、SecureFlashSetupMode および SecureFlashCertData 用に VariablePolicy を登録したことが含まれます。これらの修正にもかかわらず、攻撃者は NVRAM を手動で編集したりフラッシュ書き込み保護機構を悪用することで防御を回避できる可能性があります。
著者は、NVRAM ベースのセキュリティデータ保存から離れ、代わりに証明書をメモリへロードすることを推奨しています。Insyde の CTO Tim Lewis と Security Strategist Kevin Devis は現在のパッチに回帰問題があると認めており、それを「一時的な簡易解」と表現し、約 6 ヶ月以内に非変数ソリューションを検討するための Engineering Change Request(ECR)を計画しています。
記事では Dell のセキュリティチームが早期パッチを公開したことに感謝するとともに、Insyde スタッフ(Lewis、Devis)が迅速な開示に応じたことを認めています。著者はまた、Hydroph0bia 修正が適用されていない自らの Acer Swift Go 16 が、ファームウェア整合性を確保するために Intel BootGuard 保護付き FlashDeviceMap を使用していると指摘しています。
広範な修正展開が行われるまで、ユーザーは NVRAM を編集したりフラッシュ保護機構を悪用して現在の対策を迂回できる攻撃に脆弱であり続けます。業界がメモリのみで証明書を扱う方向へ移行することで、これらのリスクは時間とともに低減されるでしょう。
本文
Hydroph0bia – CVE‑2025‑4275 / INSYDE‑SA‑2025002
最終報告
はじめに
サプライチェーンへの影響が極めて大きい脆弱性を、各OEMがどのように修正し、フリート全体へ迅速に配布できるかを見るのは常に興味深いものです。
- 埋蔵(エンブargo)が終了してから10日経過
- Dell だけが Hydroph0bia をパッチする BIOS 更新を提供済み
- Lenovo は問題を確認したものの、2025‑07‑30(あるモデルはそれ以降)まで修正を出さないことを表明
- Framework は脆弱性を認めたが、リリース時期は未定
- Acer、Fujitsu、HP など他社はまだアドバイザリーや修正を公開していない
Insyde のパッチの逆解析
Dell BIOS 更新ファイルを2つ比較します:修正前と直後のもの。
イメージのアンラップ
まずは更新イメージをアンラップし、ファームウェアアップデータにだけ必要なデータを除去します。
私は自身で作成した InsydeImageExtractor(11年前に開発)を使用しました。ファイル形式は変更されていないため、このステップはほぼ手間がかからずです。
更新イメージの差分
- それぞれのイメージについて UEFITool レポートを生成
- テキスト diff ツール(Beyond Compare が便利)でレポートを比較
diff では多くの変更が見られますが、Hydroph0bia に直接関係するものは一部に限ります。フォーカス対象はファームウェア更新に関わるドライバです。
- BdsDxe – ブート遅延ドライバ
- SecurityStubDxe – 認証処理を担当
- SecureFlashDxe – ファームウェア書き込み
PE イメージのサイズ比較
| ドライバ | 旧サイズ | 新サイズ | Δ |
|---|---|---|---|
| BdsDxe | 同じ | 同じ | 0 |
| SecurityStubDxe | 同じ | –32 B | -32 |
| SecureFlashDxe | 同じ | +704 B | +704 |
詳細な変更点
-
BdsDxe
の裸呼び出し(AW 属性付き Insyde 変数を削除できない)を、SMM 通信が利用可能ならそれを使い AW 属性付き変数も削除できるgRT->SetVariable
に置き換え。LibSetSecureVariable
-
SecurityStubDxe
- ExitBootServices ハンドラの小修正:グローバルフラグはそのまま反転し、自己に対して
を呼び出さなくなった。Hydroph0bia の解決策には関係ないが、依然として “シャドウ” されたgBS->CloseEvent
を信頼できる状態を維持。SecureFlashCertData
- ExitBootServices ハンドラの小修正:グローバルフラグはそのまま反転し、自己に対して
-
SecureFlashDxe
- 同様に Insyde 特殊変数設定時に
を使用。LibSetSecureVariable - ExitBootServices イベントは SecurityStubDxe と同一。
- エントリポイントで新たな対策を追加:
およびSecureFlashSetupMode
が AW 属性付きで設定されていても、削除を試みる。SecureFlashCertData - 両変数に VariablePolicy を登録し、OS からの設定を防止(以前は
のみに使用)。ただし、Part 2 で示した “flip‑global” 攻撃には依然として脆弱性が残る可能性あり。SecureFlashInfo
- 同様に Insyde 特殊変数設定時に
修正は妥当か?
短い答え:はい、条件付きではありますが。
- パッチは
を VariablePolicy とSecureFlashCertData
で設定できないようにしている。LibSetSecureVariable - 攻撃者は物理的な NVRAM 編集(SPI プログラミングハードウェア)やフラッシュ書き込み保護を回避することで変数を設定できる可能性がある。これは UEFI SecureBoot のバイパスの範囲外であり、ファームウェアアップデータは証明書ハイジャックに脆弱なままである。
より良い修正としては NVRAM をセキュリティセンシティブ情報に使わない ことが考えられます。証明書を一度メモリへロード(例:
LoadCertificateToVariable)し、Authenticode 検証時に RAM 上で直接使用する方法です。これにより特殊変数の必要性自体が排除されます。
ベンダーからの回答
Insyde の CTO Tim Lewis にメールを送ったところ、Kevin Devis(Insyde セキュリティストラテジスト)が次のように返信しました:
Hi Nikolaj,
We started on a fix based on your feedback but ran into regression issues and decided to “fix it the easy way” for now.
We are creating an ECR for a solution that will not use variables; this will mitigate the issue and improve the codebase later (≈6 months).
Insyde が責任ある開示に積極的に参加し、アドバイザリーをタイムリーに公開し、緩和策の協議に応じてくれる姿勢は評価できます。
おわりに
最近 Acer Swift Go 16 をテストプラットフォームとして購入しました。まだ Hydroph0bia の修正が入っていないものの、
FlashDeviceMap によって DXE ボリュームを保護しており、Intel BootGuard が適切に機能します。EDK2、Insyde、および Acer のファームウェアセキュリティに関する主張を検証するために使用予定です。
謝辞
- Dell セキュリティチーム – まず修正を提供してくれたこと
- Tim Lewis、Kevin Devis、および Insyde のセキュリティチーム全員 – 成功裏に協力できたこと
リンク集
Dell G15 5535 ファームウェアイメージ(旧 0.13.0 / 新 0.14.0)のアンラップ済みファイル、UEFITool レポート、および抽出したドライバ(
BdsDxe、SecurityStubDxe、SecureFlashDxe)は GitHub 上で公開しています。