BIOSおよびUEFIのアップデートを解読する作業は、通常は人目につかないところで行われます。これらのファイルは、ファームウェア、ドライバ、コンテナ、イメージ、実行可能モジュールが入り組んだ迷宮のような集合体でありながら、その内容を一貫したアーキテクチャの観点から把握できるツールはほとんど存在しません。この不足を補うべく、カーネギーメロンSEIのCERTチームは、ROMファームウェアイメージ、インストーラ、そして各種UEFI関連アーティファクトを精密に検査するために設計されたPythonベースのユーティリティ「CERT UEFI Parser」を公開しました。
Python 3向けに開発されたCERT UEFI Parserは、Constructフレームワークを活用して複雑なバイナリ構造を定義します。開発者らは、このパーサーがEDK2のリファレンス実装よりも高い柔軟性を提供し、プロプライエタリまたは実験的な形式への拡張を容易にすると主張しています。本プロジェクトの最終目標は、PEファイルや多様な画像構造を含め、UEFI ROM内に存在するあらゆるデータ型を包括的に解釈することです。
このツールは、正式なUEFI仕様だけでなく、独立系ファームウェア研究の成果—たとえばIgor SkochinskyによるIntel MEの深い分析—からも知見を得ています。重要な点として、著者らは本プロジェクトが秘密保持契約(NDA)に縛られていないことを明確にしています。すべてのプロプライエタリ形式は、オープンソース・インテリジェンスと独自のフォレンジック分析によって再構築されました。
パーサーを運用するには、バイナリの展開と操作に特化した低レベルユーティリティ群であるcert-uefi-supportパッケージが必要です。両パッケージは仮想環境へのインストール用にPyPIでホストされています。PySide6によるグラフィカルユーザーインターフェースも利用できますが、依存関係による大きなオーバーヘッドを避けるため、これは任意のコンポーネントとして位置づけられています。
CERT UEFI Parserは、4つの異なる動作モードを提供します。GUI、ANSIカラー表示に対応したターミナルベースのテキスト出力、包括的なJSONエクスポート、そしてSoftware Bill of Materials(SBOM)生成に最適化された簡易版の「lite」JSON形式です。開発者は、ハードウェアメーカーから直接入手したBIOSまたはUEFIアップデートをテスト標本として使用することを推奨しています。すべてのハードウェアモデルに対する普遍的な互換性が保証されるわけではありませんが、主要ベンダーの一般的な形式の幅広い範囲はすでにサポートされており、これらのアップデートを精査することで、このツールの分析能力を即座に実感できます。