cwe - 1291:公钥签名调试和生产代码的重用
描述
扩展描述
公开密匙加密的常见用法是验证另一个实体的完整性和真实性(例如一个固件二进制)。如果一个公司想要确保其固件只运行在自己的硬件上,在固件运行之前,一个固件图像的加密散列将与公钥解密,然后验证now-computed散列的固件图像。这意味着公众信任的关键形式根,这需要公钥本身必须保护和正确使用。
在开发阶段,调试固件支持许多硬件调试钩子,调试模式,用于测试和调试消息。这些调试设施提供重要的、关于固件的附加意见的能力,在某些情况下,附加功能的芯片或SoC。如果妥协,这些功能可以被攻击者利用系统的完全控制。
一旦产品出口制造阶段,进入生产,是一种很好的做法,使用不同的公钥。调试固件镜像被泄漏。与调试关键被重用为生产关键,调试图像也将工作在生产的形象。因此,它将打开所有的内部,调试能力的攻击者。
如果不同的公钥用于生产形象,即使攻击者可以访问调试固件映像,他们将无法在生产机器上运行它。因此,损失将是有限的,产生的知识产权泄露调试的形象。
的关系
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 可用性 访问控制 问责制 身份验证 授权 不可抵赖性 其他
|
技术的影响:读记忆;修改内存;执行未经授权的代码或命令;获得特权或假设的身份;不同的上下文
|
高 |
示范例子
示例1
这个例子说明了使用相同的危险公钥对调试和生产。
假设房地产产品设计需要节俭的硅。假设最初的架构允许足够的存储融合两个2048位的RSA密钥:一个用于调试和另一个用于生产。然而,与此同时,企业决定进行安全不会过时的2030年以后,这意味着建筑需要使用NIST-recommended 3072位密钥而不是原计划的2048位的密钥。这意味着,最多的一个关键可以完全存储在融合,不是两个。因此产品设计团队决定使用相同的公钥对调试和生产。
潜在的缓解措施
检测方法
体系结构或设计审查
比较的调试主要生产关键确保他们是不一样的。
|
动态分析与人工解释结果
比较的调试主要生产关键确保他们是不一样的。
|
脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞) |
原因:可接受的使用 |
理由是: 这CWE条目底部的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。 |
评论: 仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。 |
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|