mununuを用いたCaliptraのブートFSMバグ検証

#Tech

mununuを用いたCaliptraのブートFSMバグ検証 FSMバグを発見するmunu

オープンソースのSiC Root-of-TrustであるCaliptraのブートFSMには、ステートレジスタの不定な状態遷移を引き起こす設計上のバグ(CWE-1245)が存在します。

このバグは構文的に検出可能ですが、従来のリンターやシミュレーションでは、不正な状態エンコーディングの到達可能性を end-to-endで証明することは困難です。

本記事では、オープンソースの検証フレームワークmununuがこの課題をどのように解決するかを解説します。

mununuは、サイドカーJSONによる宣言的抽象化と3値モーダルμ-calculusを活用することで、不正な全ビットパターンを含む状態空間を効率的にモデル化し、バグの存在を論理的に証明します。

原文の冒頭を表示(英語・3段落のみ)

Caliptra is an open-source silicon root-of-trust developed under the Open Compute Project, contributed to by Microsoft, AMD, Google, and NVIDIA, and intended to be reused as a hardened, auditable RoT block inside larger datacenter SoCs. Among its constituent modules is soc_ifc_boot_fsm.sv, the boot-time state machine in the SoC interface block, which sequences the chip from cold reset through fuse loading and into operation. It has a small, readable footprint — a handful of internal signals, a few reset-domain registers, and one typedef-enum carrying the FSM’s state.The state encoding is declared in soc_ifc_pkg.sv like this:typedef enum logic [2:0] {

BOOT_IDLE = 3'b000,

BOOT_FUSE = 3'b001,

※ 著作権に配慮し、引用は冒頭3段落までです。続きは元記事をご覧ください。

元記事を読む ↗