[论文解读] FVCARE:Formal Verification of Security Primitives in Resilient Embedded SoCs
FVCARE 是首个针对弹性小型嵌入式系统中安全启动和远程认证的端到端形式化联合验证框架,结合了通过 SMV 进行的硬件验证与使用 Frama-C 及自定义插件(用于断言、LTL 和弱点预测)进行的软件验证。该框架在 0.2 秒内完成了对 5.6 KB 安全启动实现的完整安全属性与功能正确性验证。
With the increased utilization, the small embedded and IoT devices have become an attractive target for sophisticated attacks that can exploit the devices security critical information and data in malevolent activities. Secure boot and Remote Attestation (RA) techniques verifies the integrity of the devices software state at boot-time and runtime. Correct implementation and formal verification of these security primitives provide strong security guarantees and enhance user confidence. The formal verification of these security primitives is considered challenging, as it involves complex hardware software interactions, semantics gaps and requires bit-precise reasoning. To address these challenges, this paper presents FVCARE an end to end system co-verification framework. It also defines the security properties for resilient small embedded systems. FVCARE divides the end to end system co verification problem into two modules: 1) verifying the (bit precise) initial system settings, registers, and access control policies by hardware verification techniques, and 2) verifying the system specification, security properties, and functional correctness using source-level software abstraction of the hardware. The evaluation of proposed techniques on SRACARE based systems demonstrates its efficacy in security co verification.
研究动机与目标
- 解决在安全关键型嵌入式系统中验证复杂软硬件交互的挑战。
- 为小型嵌入式设备和物联网设备中的安全原原子(如安全启动和远程认证)提供形式化验证。
- 弥合现有工具在系统级安全属性端到端联合验证方面的空白。
- 实现对初始系统状态、寄存器设置和访问控制策略的位精确验证,同时保证功能正确性。
- 展示基于 SRACARE 的弹性系统在本地恢复机制和强安全保证下的实际形式化验证。
提出的方法
- 将系统验证划分为两部分:使用 SMV 和 NuSMV 对初始设置和访问控制策略进行硬件验证。
- 通过将硬件抽象为软件,实现硬件-软件联合验证,并利用 Frama-C 进行形式化分析。
- 使用 Frama-C 配合三个自定义插件:弱点预测(WP)、断言检查和线性时序逻辑(LTL)验证。
- 将 SystemVerilog 硬件模块转换为 SMV,以对安全关键属性进行形式化硬件验证。
- 应用有界模型检测和基于 K-归纳法的验证,以确保功能正确性和安全属性的全面覆盖。
- 通过结合硬件对加密核心的验证与软件对系统行为的抽象,验证系统级正确性。

实验结果
研究问题
- RQ1如何有效将形式化验证应用于小型嵌入式系统中的软硬件交互?
- RQ2在弹性 SoC 中,验证安全启动和远程认证的最可扩展且精确的方法是什么?
- RQ3混合硬件-软件联合验证框架能否实现对安全属性和功能正确性的全面覆盖?
- RQ4如何实现对初始系统状态和访问控制策略的位精确验证?
- RQ5形式化验证工具能否扩展以支持如密钥机密性与攻击检测等安全特定属性?
主要发现
- FVCARE 利用硬件抽象和 Frama-C 插件,在 0.2 秒内完成了对 5.6 KB 固件的安全启动形式化验证。
- 该框架成功验证了 100% 的指定安全属性,包括访问控制强制执行、密钥机密性和攻击检测。
- 通过 SMV 和 NuSMV 的硬件验证确认了系统寄存器和访问控制策略的正确初始化。
- Frama-C 与自定义插件的集成实现了断言检查、LTL 模型检查和弱点预测,支持软件层面的验证。
- FVCARE 是首个为基于 SRACARE 的系统提供安全启动、远程认证和本地恢复端到端联合验证的框架。
- 评估结果表明,FVCARE 通过结合硬件与软件形式化验证,实现了对边界情况和安全属性的全面覆盖,性能优于现有方法。

更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。