
2025/12/22 23:04
**ダシャロ・トラストルート短命キーインシデント**
RSS: https://news.ycombinator.com/rss
要約▶
Japanese Translation:
## Summary Dasharo Security Bulletin DSB‑001 は、リリースエンジニアリングのミスにより、意図しない **ephemeral testing key** で署名されたファームウェアバイナリが特定の NovaCustom V540TU と V560TU デバイスに組み込まれたことを報告しています。2025年10月24日から12月5日までの間、ユーザーは Dasharo Tools Suite (DTS) を使用してフュージング操作を実行しました。DTS は Yocto ベースのミニマル Linux ディストリビューションであり、低レベルのメンテナンスデータを OTP レジスタに書き込むものです。不正なバイナリはアーティファクト公開時のファイル名類似性によって公開されました。 誤ったバイナリは SoC の **Field Programmable Fuses (FPF)** にフュージングされ、Intel Boot Guard が使用する OEM RSA 公開鍵の不変 SHA‑384 ハッシュを格納します。プログラムされた後、FPFs は EOM ビットでロックされ、再書き込みはできません。その結果、製造キーで署名されたファームウェアはすべて拒否されるようになり、デバイスは **アップデート不可・実質的にブリック状態** になります。 OTP フュージの変更が不可能なため、ソフトウェアによる復旧は不可能です。唯一の対処法はメインボード(TPM も交換される)を物理的に交換することであり、その際ユーザーは秘密情報をバックアップしなければなりません。 Dasharo はヒューマンエラーに責任を認め、影響を受けたユーザーへ謝罪し、社内レビュー後に追加の安全策を公開します。ユーザーには DTS の `btg_key_validator` スクリプトを実行して、自分のデバイスが影響を受けているかどうかを確認するよう推奨しています。
本文
導入
注:即時のガイダンスを求めている影響を受けたユーザーは、
Dasharo Security Bulletin DSB‑001 をご参照ください。
本ブログ記事では追加の技術的背景と詳細情報をご提供します。
概要
このレポートは、2025年12月5日に発生し、NovaCustom V540TU と V560TU プラットフォーム向け Dasharo ファームウェアに影響を与えた重大インシデントの開示と事後分析です。リリースエンジニアリング上のミスにより、一時的テストキーで署名されたファームウェアイメージ が、本来はプロダクションキーで署名されるべき Dasharo TrustRoot 統合操作用に公開されてしまいました。
2025年10月24日から12月5日の間に統合作業を実施したユーザーは、誤った暗号鍵ハッシュを SoC の Field Programmable Fuses (FPF) に永続的に書き込んでいる可能性があります。これらのフューズはワンタイムプログラム(OTP)であり、一時キーの秘密部がもはやアクセスできないため、影響を受けたデバイスは将来のファームウェア更新を受け取れません。
Dasharo Tools Suite (DTS)
- DTS は Dasharo ファームウェアイメージの配布と保守を担います。
- Yocto Project をベースにした最小限の Linux ディストリビューションとして構築されています。
- 標準 OS 内からは不可能な低レベル保守タスクを実行するため、ターゲットハードウェア上で直接ブートします。
- SPI フラッシュコントローラー、Embedded Controller (EC)、Intel Management Engine と連携します。
- 最近追加された機能の一つがデバイスベンダーキーの統合です。
統合作業はチップセット内の OTP レジスタに書き込みます。DTS はこの複雑さをユーザーフレンドリーなワークフローへ抽象化しています。本件では DTS が統合操作を正しく実行したものの、選択されたファームウェアイメージが誤っていたことが原因です。
オーナー制御セキュリティ
Dasharo のモデルでは、ユーザーは自分自身でプラットフォームを統合(ファクトリー最終組立手順)することを選択できます。これにより、その操作のペイロードを供給するサプライチェーンに大きな信頼性負担が課せられます。本インシデントではその期待が破られました。
技術的背景:Intel Boot Guard
Intel Boot Guard は、OS がロードされる前にファームウェアの改ざんを防ぐハードウェア支援型ルートオブトラストです。PCH 内の FPF(ワンタイムプログラム可能な e‑fuse)に OEM の RSA 公開鍵(OEM Public Key Hash)の SHA‑384 ハッシュを格納し、これが書き込まれた後は戻せません。
検証チェーンの主要ポイント
- CPU の Authenticated Code Module (ACM) がファームウェアから Key Manifest (KEYM) を読み取り、含まれる公開鍵をハッシュ化して FPF と比較します。
- ハッシュが一致すれば ACM は KEYM を信頼し、Boot Policy Manifest (BPM) を検証します(BPM もそのキーで署名)。
- BPM はブートポリシーを定義し、Initial Boot Block (IBB) のハッシュを含みます。
このチェーンに一致するファームウェアのみが実行されます。
ファームウェア検証フロー(通常運用)
[Boot] → ACM reads KEYM → hash public key → compare to FPF | | v v Match? ------------------------> Verify BPM | | v v Trust KEYM → Execute firmware Reject boot
製造モードから本番モードへの移行
製造時は「Manufacturing Mode」で FPF がエミュレートされ、変更可能です。Dasharo TrustRoot 統合では OEM Public Key Hash を FPF に書き込み、End of Manufacturing (EOM) ビットを設定します。これによりフューズが永久ロックされ、以降のブートで Boot Guard ポリシーが強制されます。
何が起こったか
-
リリースプロセス
NovaCustom ファームウェアのリリースは 3mdeb(開発)と NovaCustom(プロダクションキー管理)の協調で行われます。製造用キーはベンダーが保持し、ハードウェアトラストアンカーをコントロールします。開発段階ではテスト用の一時キーで署名されます。 -
成果物公開失敗
リリースエンジニアがファイル名の類似性により、ephemeral キーで署名されたバイナリを誤ってアップロードしました。標準プロトコルにもかかわらず、最終公開ステップで手動ミスが発生しました。 -
結果としてのフューズプログラミング
統合作業を行ったユーザーは一時キーのハッシュを FPF に書き込みました。既に削除されたキーであるため、将来プロダクションキーで署名されたファームウェアは検証に失敗し、デバイスが機能不全(ブリック)状態になります。
ソフトウェアによる復旧が不可能な理由
- FPF はワンタイムプログラム
EOM ビット設定後はフューズへの変更を永久にブロックします。ハッシュを書き換えることはできません。 - 外部プログラマ(例:CH341a)は SPI フラッシュのみ書き込み可能
CPU/PCH のフューズにはアクセスできず、プロダクション署名済みイメージを外部でフラッシュしても ACM がハッシュ不一致で拒否します。 - 物理的な交換が必要
マザーボードを交換しないと更新機能は回復できません。
今後の取り組みとフォローアップ
社内レビューを進め、追加の安全策やリリース活動の改善点をまとめたフォローアップ記事を公開予定です。オンラインプレゼンテーションも提供し、コミュニティに対して変更内容とその根拠を明確に示します。
あなたは影響を受けていますか?
btg_key_validator スクリプト(Dasharo Tools Suite 内)で確認できます:
- DTS にブート
- S キーでシェルモードへ移行
を実行btg_key_validator
可能な出力例
-
署名に使用されたキーが正しい場合
Reading flash... Extracting key manifest... Key matches NovaCustom Meteor Lake signing key. -
署名に使用されたキーが不正の場合
Reading flash... Extracting key manifest... Key does not match NovaCustom Meteor Lake signing key!
スクリプトで不一致と報告され、統合を実施した場合はデバイスが影響を受けており、ハードウェア交換対象です。
btg_key_validator スクリプトに関する詳細情報は [ここ] にあります。
ノートパソコンの送付前に
-
マザーボード交換 → TPM モジュールも同時に交換され、そこに保存された全秘密情報が失われます。
TPM ベースのストレージ(例:LUKS, BitLocker)を使用している場合は重要データをバックアップしてください。 -
Windows 11 & BitLocker – Windows 11 はデフォルトで BitLocker を有効にすることがあります。不明な場合は提供された手順で確認してください。
結論
本件はハードウェアセキュリティ操作における精度の重要性を示しています。単一のヒューマンエラー(プロダクションバイナリとテストバイナリの入れ替え)が、ユーザーに対してハードウェア強制的なメンテナンスロックアウトへと波及しました。
- 統合は正しく実行されました(EOM ビットは意図通り設定)。
- ペイロード自体が欠陥でした(一時キーで署名されたバイナリ)。
- 責任は私たちにあります:手動アップロード時の誤ったファイル選択は防止すべきでした。
影響を受けたユーザーには深くお詫び申し上げるとともに、ハードウェア交換でのサポートを専念します。デジタル主権への道を共に歩み続ける中で、ご理解いただければ幸いです。
著者
- Michał Kopeć – 3mdeb のファームウェアエンジニア。coreboot と EDKII ベースの x86 ファームウェアを担当。オープンソース愛好家で、余暇にコンピュータを壊すことを楽しむ。
- Maciej Pijanowski – 3mdeb のエンジニアリングマネージャー。エンジニアリング・マネジメント経験豊富。オープンソース貢献者で、組み込みシステム、ビルドシステム、セキュリティに関心がある。