描述
硬件IP和父母之间的信号系统设计不正确连接造成的安全风险。
扩展描述
个人硬件IP必须与家长沟通系统为了使产品功能正确。如果正确实现,而不造成任何明显的功能性问题,可能会引起安全问题。例如,如果IP应该只被一个系统范围的硬复位复位,而是复位输入连接到一个software-triggered调试模式重置(也宣称在硬重置),数据在IP可以违反的完整性。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
实现 |
介绍了这一弱点当父母将IP集成到设计。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
示范例子
示例1
许多soc使用硬件分区系统资源之间的信任和不受信任的实体。这个概念的一个例子是手臂TrustZone,处理器和所有意识到安全性问题的IP试图孤立资源基于特权的状态。这种特权是在所有TrustZone-aware IP输入接口的一部分。如果这种特权时意外地接地或孤立的IP被实例化,特权升级可能发生的所有输入数据。
/ / IP的定义 模块tz_peripheral(时钟、复位、data_in data_in_security_level,…);
输入时钟、复位; 输入[31:0]data_in; 输入data_in_security_level; …
endmodule / /实例化父系统的IP 模块soc (…)
… tz_peripheral u_tz_peripheral (
.clk(时钟), 首要(rst), .data_in (rdata), / /复制粘贴错误或错误为由data_in_security_level(在这个例子中0 =安全,1 =不安全)有效地促进所有数据到“安全”) .data_in_security_level (1 'b0)
); …
endmodule
下面Verilog代码的安全级别TrustZone意识到外围输入正确是由一个适当的信号,而不是脚踏实地。
/ /实例化父系统的IP 模块soc (…)
… tz_peripheral u_tz_peripheral (
.clk(时钟), 首要(rst), .data_in (rdata), / /这个港口不再是接地,而是由适当的信号 .data_in_security_level (rdata_security_level),
); …
endmodule
潜在的缓解措施
测试阶段:
系统级验证可以用来确保组件正确连接和设计安全需求不是违反了由于不同的IP块之间的相互作用。 |
脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞) |
原因:可接受的使用 |
理由是: 这CWE条目底部的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。 |
评论: 仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。 |
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|