描述
Security-version数字硬件是可变的,导致降级的能力(回滚)脆弱的引导固件代码版本。
扩展描述
芯片系统(SoC)实现安全启动或启动验证。它可能支持安全版本号,从而防止下调当前脆弱的版本的固件。一旦降级为以前版本,敌人可以发射利用SoC和因此妥协SoC的安全性。这些降级攻击也被称为回滚的攻击。
安全版本号必须安全地存储和持续在接通电源的重置。共同的缺点是,敌人的安全版本号修改,允许回滚或降级攻击,或者在某些情况下,防止升级(例如拒绝服务升级)。在这两种情况下,SoC处于脆弱的状态。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
|
实现 |
期间推出的这些问题可能是硬件架构和设计,并且可以确定以后在测试或系统配置阶段。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 身份验证 授权
|
影响包括回滚或降级到脆弱的版本的固件或DoS(防止升级)。 |
高 |
示范例子
示例1
新版本的固件签署安全的版本号高于之前的版本。在固件更新过程中安全的SoC检查版本号和SoC固件升级最新版本。这个安全版本号存储在持久的记忆在接通电源的重置成功升级使用。
一般来说,如果安全版本号是可变的,实现是脆弱的。一个可变的安全版本号允许敌人变化降到一个较低的值允许的安全版本回滚或更高的值,以防止未来的升级。
安全应该存储在版本号不变的硬件如保险丝、和写这些保险丝应该高度以适当的身份验证和授权访问权限控制的已命名的保护。
潜在的缓解措施
阶段:体系结构和设计
在设计系统时,应指定安全版本数据存储在寄存器中,要么是只读或访问控制,防止修改由一个不可信的代理。 |
实施阶段:
在实现和测试,安全版本数据应该显示只读和访问控制验证。 |
检测方法
自动动态分析
可变性的存储安全版本号和旧的固件编程图片应该是自动化测试的一部分。
|
体系结构或设计审查
应当检查Anti-roll-back特性作为体系结构或设计审查的一部分。
|
|