CWE观点:2021 CWE弱点最重要的硬件缺陷列表
 客观的
CWE条目在这个视图中列出2021年CWE最重要的硬件缺陷列表,由硬件CWE特殊利益集团(HW CWE团体)。
 观众
利益相关者 |
描述 |
硬件设计师 |
按照这个列表,硬件设计人员和实现人员能够大大降低缺陷的数量发生在他们的产品。 |
产品的客户 |
客户可以使用这个视图中的弱点,以制定独立的由产品供应商索赔的证据消除/减少最危险的弱点。 |
教育工作者 |
教育者可以使用这个视图集中课程最重要的硬件上的弱点。 |
 会员
自然 |
类型 |
ID |
的名字 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1189年 |
不当隔离系统级芯片(SoC)的共享资源 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1191年 |
片上调试和测试接口与访问控制不当 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1231年 |
预防不当锁一些修改 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1233年 |
丢失的安全敏感的硬件控制锁保护 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1240年 |
使用加密的原始风险实现 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1244年 |
内部资产暴露于不安全的访问级别调试或状态 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1256年 |
不当限制软件接口硬件的功能 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1260年 |
处理不当的重叠范围受保护的内存 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1272年 |
敏感信息未清偿前调试/功率状态转换 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1274年 |
不当易失存储器包含引导代码的访问控制 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1277年 |
固件没有可更新 |
HasMember |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1300年 |
保护不当的物理通道 |
 引用
 查看指标
|
连续波在这个视图 |
|
总连续波 |
弱点 |
12 |
的 |
933年 |
类别 |
0 |
的 |
352年 |
的观点 |
0 |
的 |
47 |
总 |
12 |
的 |
1332年 |
 内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2021-09-29 |
CWE内容团队 |
主教法冠 |
|
视图组件
 描述
产品不提供其用户能够更新或修补其固件解决可能出现的任何缺陷或弱点。
 扩展描述
没有补丁或更新固件的能力,消费者将离开容易受到剥削的任何已知的漏洞,或任何的漏洞被发现在未来。这可以让消费者永久设备的风险在整个一生中,这可能是几年或者几十年。一些外部防护措施和移植可能是用来帮助预防或减少恶意攻击的风险,但根疲软不能纠正。
 的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1329年 |
依赖组件,它不是可更新 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关观点“硬件设计”(cwe - 1194)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1208年 |
横切问题 |
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
需求 |
需求开发可能不考虑更新的重要性,在产品的生命周期,也可以不选择的能力由于费用或速度等市场的担忧。 |
架构和设计 |
缺乏规划在结构开发和设计,或外部压力速度等市场,可以忽略更新的能力。 |
实现 |
可以通过监督在实现期间出现的弱点。 |
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 访问控制 身份验证 授权
|
技术的影响:获得特权或假设的身份;旁路保护机制;执行未经授权的代码或命令;DoS:崩溃,退出或重新启动
如果攻击者可以识别一个可利用的漏洞在一个设备,没有修补的方法,这次袭击可能是用来对付整个类的设备。 |
媒介 |
 示范例子
示例1
冰箱有一个网络接口,用于提醒制造商的官方目的时,冰箱检测到一个故障。因为设备连接到互联网,冰箱是黑客的目标可能希望使用其他设备可能更邪恶的目的。
冰箱里没有打补丁和破解成为呕吐者的电子邮件垃圾邮件。
 观察到的例子
参考 |
描述 |
|
|
|
硬件“智能锁”弱键生成,允许攻击者窃取BLE嗅探的关键,但设备的固件不能升级,因此仍然脆弱的( ref - 1095]。 |
 潜在的缓解措施
阶段:需求
指定需求包括更新固件的能力。包括完整性检查和认证,以确保不可信固件不能安装。 |
阶段:体系结构和设计
设计设备,以便更新固件。确保设计指定如何分发更新并确保其完整性和身份验证。 |
实施阶段:
实现必要的功能,以允许固件更新。 |
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
创建一个新的安装当前构建与未成年人的引导映像版本号变化。使用标准的安装方法更新引导映像。验证小版本号已经改变了。创建一个虚假的形象。确认启动更新程序不会安装假形象和生成一个错误消息或同等“无效的形象”。
|
体系结构或设计审查
检查消费者或维护者文档架构/设计文档,或原始需求,确保文档包括细节如何更新固件。
|
手动动态分析
确定有一个缺乏能力更新只读存储器(ROM)结构。这可能表现为最新的固件版本和当前版本的区别在设备里。
|
 笔记
术语
“固件”一词没有一个广泛认同的定义,所以可能会有变化在如何解释这个CWE条目映射。
 引用
cwe - 1274:不当易失存储器包含引导代码的访问控制
 描述
的产品进行secure-boot过程转移引导装载程序代码从非易失性内存(NVM)挥发性记忆(VM),但它没有足够的访问控制或其他保护易失存储器。
 扩展描述
对手可以绕过secure-boot过程和执行自己的不可信的,恶意的引导代码。
secure-boot过程的一部分,存储器芯片系统(SoC) (ROM)代码或其他系统获取引导装载程序代码从非易失性内存(NVM)和商店挥发性记忆(VM)中的代码,如动态、随机存取存储器(DRAM)或静态随机存取存储器(SRAM)。NVM通常是外部的SoC, VM内部SoC。代码从NVM转移到VM,它是经过身份验证的SoC的ROM代码。
如果volatile-memory-region保护或访问控制不足以防止修改的敌人或不可信的代理,安全引导可以绕过或替换为敌人的代码的执行。
 的关系
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
这个弱点可以介绍在硬件体系结构或设计,但可以确定以后在测试期间。 |
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
访问控制 完整性
|
技术的影响:修改内存;执行未经授权的代码或命令;获得特权或假设的身份
|
高 |
 示范例子
示例1
一个典型的SoC安全引导的流程包括获取下一段代码(即。引导加载程序)从NVM(如连续、外围接口(SPI) flash),并转移到DRAM / SRAM波动,内存,更有效率。
引导加载程序执行的内存可以修改的对手。
好的架构应该定义适当的保护或访问控制,以防止修改的对手或不可信的代理,一旦引导装载程序进行身份验证。
 观察到的例子
参考 |
描述 |
|
锁定内存区域可以通过其他接口修改secure-boot-loader图像由于不当访问控制。 |
 潜在的缓解措施
阶段:体系结构和设计
确保易失存储器保护的设计足以防止敌人或不受信任的代码修改。 |
测试阶段:
测试修改的易失存储器的保护措施,以确保它们是安全或不受信任的代码。 |
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
确保易失存储器可封闭的或已锁。确保易失存储器锁定写的不可信的代理或对手。试着从一个不可信的代理修改易失存储器,并确保这些写道。
|
手动分析
分析该设备使用以下步骤:
-
1)识别所有织物时活跃主代理系统启动流初始代码加载时从非易失性存储易失存储器。
-
2)识别易失存储器区域用于存储加载系统可执行程序。
-
3)在系统启动,测试编程确定内存区域在步骤2中所有步骤1中确定的大师。
只有信任大师应该允许写入内存区域。例如,可插拔设备外设不应该写访问程序加载内存区域。
|
cwe - 1260:处理不当受保护的内存范围之间的重叠
 描述
 扩展描述
内存区域隔离和访问控制(读/写)政策是由硬件保护特权软件使用。软件组件通常允许更改或重新映射内存区域定义为了支持灵活和动态多变的内存管理系统软件。
如果一个软件组件运行在较低特权可以计划一个内存地址区域重叠与其他内存区域所使用的软件运行在更高的特权,特权升级可能会提供给攻击者。内存保护单元(微处理器)逻辑可以正确处理这样一个地址重叠和允许lower-privilege软件读取或写入受保护的内存区域,导致特权升级攻击。一个地址重叠的弱点也可以用来发动拒绝服务攻击higher-privilege软件内存区域。
 的关系
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
期间推出的这些问题可能是硬件架构和设计或实施和确认后在测试阶段。 |
实现 |
|
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
 示范例子
示例1
例如,考虑一个设计一个16位的地址有两个软件特权级别:Privileged_SW Non_privileged_SW。孤立系统内存区域可以访问这两个特权级别,设计支持三个内存区域:Region_0 Region_1, Region_2。
每个区域被定义为两个32位寄存器:其范围和访问策略。
- Address_range[15:0]:指定地区的基地址
- Address_range[31:16]:指定区域的大小
- Access_policy[31:0]:指定什么类型的软件可以访问这一地区和行为是允许的
访问政策的一些象征性的定义如下:
- Access_policy。read_np:如果设置为1,允许从Non_privileged_SW读取
- Access_policy。write_np:如果设置为1,允许从Non_privileged_SW写道
- Access_policy。execute_np:如果设置为1,由Non_privileged_SW允许代码执行
- Access_policy。read_p:如果设置为1,允许从Privileged_SW读取
- Access_policy。write_p:如果设置为1,允许从Privileged_SW写道
- Access_policy。execute_p:如果设置为1,由Privileged_SW允许代码执行
任何请求的软件,一个address-protection过滤器检查地址范围和访问策略的三个区域,并只允许软件访问如果所有三个过滤器允许访问。
考虑以下目标访问控制目的的设计师:
- Privileged_SW Region_0 & Region_1:寄存器是可编程的
- Non_privileged_SW Region_2:寄存器是可编程的
意图是Non_privileged_SW不能修改内存区域和政策定义为Privileged_SW Region_0 Region_1。因此,它不能读或写Privileged_SW正在使用的内存区域。
Non_privileged_SW可以程序Address_range注册Region_2以便其地址与Region_0或Region_1定义的范围。使用此功能,有可能Non_privileged_SW阻止任何内存区域被Privileged_SW访问,即。,Region_0 Region_1。
这种设计在很多方面可以改进。
确保软件访问内存区域只允许如果所有三个过滤器允许访问。此外,该计划可以定义一个内存区域优先确保Region_2 (Non_privileged_SW定义的内存区域)不能重叠Region_0或Region_1 Privileged_SW(使用)。
 观察到的例子
参考 |
描述 |
|
硬件产品的虚拟化产品允许妥协通过访问某些重新映射寄存器。 |
|
处理器设计缺陷允许0代码以访问更多特权环通过导致寄存器窗口重叠一系列保护系统内存( ref - 1100] |
 潜在的缓解措施
阶段:体系结构和设计
按计划确保内存区域隔离和访问控制(读/写)政策是由硬件保护特权软件使用。
|
实施阶段:
所有可编程的内存保护地区,内存保护单位(微控制器)设计可以定义一个优先级方案。
例如:如果三个内存区域可以被编程(Region_0、Region_1 Region_2),设计可以执行优先配屋计划,这样,如果一个系统地址是在多个区域,然后最低的区域ID需要优先和访问控制政策的地区将被应用。在某些微处理器的设计,优先配屋计划也可以被信任的软件编程。
硬件逻辑或可信固件还可以定义和检查区域块编程的内存区域重叠的地址。
memory-access-control-check过滤器也可以设计政策滤波器应用于所有的重叠范围,即。内,如果一个地址是Region_0 Region_1,然后访问这个地址只授予如果Region_0和Region_1政策允许的访问。
|
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
合成 |
(缺点是通常与其他弱点的存在) |
 检测方法
手动分析
创建一个高特权任意大小的内存块。尝试创建一个低特权内存块重叠高特权的内存块。如果创建工作,解决硬件。重复测试。
|
 笔记
 引用
cwe - 1189:不适当的隔离系统级芯片(SoC)的共享资源
 描述
系统级芯片(SoC)不适当的隔离可信和不可信的代理之间共享资源。
 扩展描述
系统级芯片(SoC)有很多功能,但它可能有一个有限数量的别针或垫。一根针一次只能执行一个函数。然而,它可以配置为执行多个不同的功能。这种技术叫做销多路复用。同样,芯片上的一些资源可以共享多路复用和支持不同的功能或功能。当这些资源之间共享可信和不可信的代理,不可信的代理可以访问资产只能由可信代理访问。
 的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
668年 |
曝光资源错误的球体 |
ChildOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
653年 |
隔离不当或划分 |
ParentOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1303年 |
不透明的Microarchitectural资源的共享 |
PeerOf |
Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 |
1331年 |
隔离不当共享资源在网络芯片(NoC) |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
访问控制
|
如果被信任的用户资源共享一个不受信任的用户,不受信任的用户可以修改的功能信任用户的共享资源。 |
|
完整性
|
共享资源的功能可能是故意的。 |
|
 示范例子
示例1
考虑下面的SoC设计。硬件的信任根(HRoT)当地SRAM内存映射在核心{低氮}地址空间。HRoT允许或不允许访问私有内存范围,因此允许sram作为邮箱不可信的和可信的HRoT分区之间的沟通。

我们假设从恶意软件的威胁是不可信域。我们假设这个软件访问核心{低氮}内存映射,可以运行在任何特权级别不可信的核心。这一威胁的能力在这个例子中是交流与邮箱的SRAM hrot_iface调制。为了解决这个威胁,信息不能进入或离开时通过hrot_iface SRAM的共享区域安全或特权模式。
 观察到的例子
参考 |
描述 |
|
基板管理控制器(BMC)设备实现了先进的高性能总线(AHB)桥梁,为任意的读和写访问不需要身份验证的BMC从主机物理地址空间,并可能网络( ref - 1138]。 |
 潜在的缓解措施
阶段:体系结构和设计
当共享资源,避免混合不同的信任级别的代理人。
与代理可信不可信的代理不应该共享资源。
|
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
自动动态分析
Pre-silicon / post-silicon:测试访问共享系统资源(内存范围、控制寄存器等)不受信任的软件验证资产不是错误地暴露在不可信的代理。注意,对共享资源的访问可以动态地允许或撤销基于系统流动。安全性测试应该覆盖动态共享资源分配和访问控制等修改流。
|
 引用
 描述
产品使用一个可信的锁位限制访问寄存器,解决地区,或其他资源,但产品不防止锁位的值修改后。
 扩展描述
在集成电路和硬件知识产权(IP)核心,设备配置控制设备电源复位后通常程序由一个可信固件或软件模块(例如,BIOS /引导装载程序)然后锁定任何进一步的修改。
这种行为通常是使用一个可信实现锁定。设置时,锁定一些禁用写入保护的寄存器或地址区域。设计或编码错误的实现锁一点一点保护功能可能允许锁要修改或通过软件集。攻击者就可以解锁系统和功能,旨在保护。
 的关系
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
期间推出的这些问题可能是硬件架构和设计和确定后在测试或系统配置阶段。 |
实现 |
期间推出的此类问题可以实现和确认后在测试或系统配置阶段。 |
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
访问控制
|
寄存器锁位可以修改即使锁保护。 |
高 |
 示范例子
示例1
考虑下面的示例设计的数字温度传感器检测到过热的硅和触发系统关闭。系统临界温度限制(CRITICAL_TEMP_LIMIT)和热传感器校准(TEMP_SENSOR_CALIB)数据必须被固件编程,然后注册需要锁定(TEMP_SENSOR_LOCK)。
注册 |
字段描述 |
CRITICAL_TEMP_LIMIT |
[31:8]保留字段;只读;默认值0 [7:0]临界温度摄氏0 - 255;Read-write-lock;默认125 |
TEMP_SENSOR_CALIB |
31:0热传感器校准数据。斜率值用于将传感器读取映射到摄氏度。 |
TEMP_SENSOR_LOCK |
[31:1]保留字段;只读;默认值0 [0]锁,锁CRITICAL_TEMP_LIMIT TEMP_SENSOR_CALIB寄存器;Write-1-once;默认值0 |
TEMP_HW_SHUTDOWN |
[31:2]保留字段;只读;默认值0 [1]上启用硬件关闭临界温度检测;读写;默认值0 |
CURRENT_TEMP |
[31:8]保留字段;只读;默认值0 当前温度摄氏0 - 255 (7:0);只读;默认值0 |
在这个例子中,注意,如果系统加热到临界温度,系统的响应由TEMP_HW_SHUTDOWN控制[1],这不是可锁定的。因此,预期的临界温度传感器的安全属性不能充分保护,因为软件可以错误地配置TEMP_HW_SHUTDOWN寄存器即使锁位设置为禁用关闭响应。
修复这个弱点,人能改变TEMP_HW_SHUTDOWN字段被TEMP_SENSOR_LOCK锁定。
TEMP_HW_SHUTDOWN |
[31:2]保留字段;只读;默认值0 [1]上启用硬件关闭临界温度检测;Read-write-Lock;默认值0 [0]TEMP_SENSOR_LOCK卡住了 |
 观察到的例子
参考 |
描述 |
|
芯片重置清除关键读/写锁权限RSA函数 |
 潜在的缓解措施
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
设置锁。动力循环装置。试图明确锁。如果信息被更改,实现一个设计解决。重新测试。同时,试图间接清楚锁或绕过它。
|
 会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
 描述
设备不包含足够的保护机制来防止身体两侧通道暴露敏感信息将在物理上可观察到的现象,比如模式功耗的变化,电磁排放(电磁辐射),或声学排放。
 扩展描述
敌人可以监视和测量物理现象来检测模式和推断,即使是不可能在数字域提取信息。
身体侧通道的上下文中已经研究了几十年打破加密算法的实现或其他攻击的安全特性。这些侧通道可能很容易观察到敌人的物理访问设备,或使用一个工具,在附近。如果对手可以监控硬件操作和相关数据处理能力,电磁辐射,和声学测量,对手可以恢复的密钥和数据。
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
 示范例子
示例1
考虑的设备检查密码来解锁屏幕。
每个字符的密码,输入正确的展览一个电流脉冲的形状,一个不正确的字符展览不同的电流脉冲波形。
密码用于解锁手机不应该表现出任何关于他们自己的特点。这将创建一个频道。攻击者可以使用示波器监视脉冲或其他方法。一旦第一个字符是正确的猜测(基于示波器读数),他们就可以进入下一个角色,这是更有效的比蛮力猜每一个可能的字符序列的方法。
而不是每个字符比较正确的销值作为输入,该设备可以积累销登记,和做比较。另外,比较的组件可以被修改,这样当前脉冲形状是一样的,不管你输入的字符的正确性。
示例2
考虑设备漏洞cve - 2021 - 3011,影响某些微控制器(ref - 1221]。谷歌泰坦安全关键是使用加密算法用于双因素身份验证。为此设备使用一个内部秘密密钥和交流信息基于这个身份验证的关键。如果内部秘密密钥和加密算法被敌人,关键函数可以被复制,让对手冒充合法用户。
当地的方法提取密钥由将钥匙插入一个USB端口,使用电磁(EM)嗅探工具和电脑。
一些解决方案可以被认为是由制造商。例如,制造商可以保护电路的关键或添加随机延迟,间接计算涉及随机值,或者随机命令计算提取更加困难或这些方法的组合。
 观察到的例子
参考 |
描述 |
|
电磁波边信道与安全相关的微控制器允许提取的私钥 |
|
消息加密软件使用特定的指令序列,允许使用选择密文攻击RSA密钥提取和声学密码分析 |
|
虚拟化产品允许恢复从来宾操作系统使用AES键侧信道攻击电力/能源监控界面。 |
|
功耗变化基于显示的像素被照亮,让阅读的秘密如销通过USB接口来测量功耗 |
 潜在的缓解措施
阶段:体系结构和设计
致盲或屏蔽技术应用于加密算法的实现。 |
实施阶段:
添加屏蔽或防伪保护装置来增加获得的边信道测量的困难。 |
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
合成 |
(缺点是通常与其他弱点的存在) |
 检测方法
手动分析
|
手动分析
Post-silicon,执行完整的边信道攻击(渗透测试)覆盖尽可能多的已知的泄漏模型对测试代码。
|
手动分析
Pre-silicon——而上述TVLA方法可以post-silicon执行,设备功耗模型或其他物理实体可以由发散信息出现在制造前硬件设计过程的各个阶段。TVLA或已知的边信道攻击可以应用到这些模拟tape-out之前跟踪和应用对策。在这一领域的学术研究包括( ref - 1231][ ref - 1232][ ref - 1233]。
|
 功能区域
 引用
 描述
产品提供software-controllable设备功能的电源和时钟管理等功能,但不适当的限制功能,会导致修改硬件内存或寄存器位,或观察身体两侧通道的能力。
 扩展描述
它经常认为物理攻击如故障注入和边信道分析需要攻击者对目标设备的物理访问。这种假设可能是错误的,如果设备不安全的电源管理功能,或类似的功能。为移动设备,减少功耗至关重要,但这些设备运行各种应用程序有不同的性能要求。Software-controllable机制动态规模设备电压和频率和监控能耗是常见的特性在今天的芯片组,但他们也使攻击者故障注入和山边信道攻击而无需对该设备的物理访问。
故障注入攻击涉及战略操纵位设备达到预期效果如跳过一个身份验证步骤,提升特权,或改变加密操作的输出。操作设备的时钟和电压供应是一个著名的廉价技术注入故障和实现与物理设备的访问。差保护电源管理特性允许执行这些攻击来自软件。其他功能,如能够反复写DRAM快速从未经授权的软件,可以导致其他内存位翻转位置(Rowhammer, (ref - 1083])。
侧信道分析需要收集测量功耗等物理量的痕迹。现代处理器通常包括电力计量功能的硬件本身(例如,英特尔RAPL),如果没有充分保护使攻击者能够收集测量执行边信道攻击所需的软件。
 的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
285年 |
不适当的授权 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关观点“硬件设计”(cwe - 1194)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1206年 |
电源、时钟、温度和复位问题 |
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
架构师可能开始介绍这个弱点通过软件访问能力的严格需求/时钟管理需求 |
实现 |
实现者可能介绍这个弱点的假设没有后果无限权力和时钟管理安全组件不可信的。 |
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
完整性
|
技术的影响:修改内存;修改应用程序数据;旁路保护机制
|
|
 示范例子
示例1
这个例子中认为Rowhammer问题[ref - 1083]。Rowhammer问题是由一个程序中的一个紧凑循环反复写入一个位置的程序被允许写但导致相邻的内存位置值改变。
连续相同的值写入相同的地址导致相邻位置的价值变化值。
防止击败Rowhammer所需的循环利用并不总是可能的:
重新设计内存设备减少国米电容耦合使Rowhammer利用不可能的。
而重新设计可能为新设备,重新设计在现有的设备是不可能的。还有一种可能性,减少电容与relayout将影响设备的密度导致性能较低、更昂贵的设备。
示例2
假设一个硬件设计实现了一套software-accessible寄存器缩放时钟频率和电压,但不控制访问这些寄存器。攻击者可能会导致寄存器和内存变化和竞争条件下通过改变设备的时钟或电压控制。
示例3
考虑下面的SoC设计。强调安全设置缩放时钟频率和电压可在一系列寄存器(PRIV_END_ADDR PRIV_START_ADDR):有界的tmcu。csr模块HW根的信任。这些值是基于lock_bit寄存器可写在同一个模块。lock_bit只可写的特权tmcu上运行的软件。

我们假设不受信任的软件运行在任何的核心{低氮}处理器访问hrot_iface的输入和输出端口。如果不受信任的软件可以清除lock_bit或写时钟频率和电压不足导致注册保护,故障注入攻击可以被执行。
 观察到的例子
参考 |
描述 |
|
Plundervolt:不当条件检查电压设置一些英特尔(R)的处理器可能允许特权用户可能使升级特权和/或通过本地访问(信息披露 ref - 1081]。 |
|
鸭嘴兽:Linux内核驱动程序的访问控制不足英特尔处理器允许信息披露。 |
|
在RAPL界面中可观察到的差异对于一些英特尔处理器允许信息披露。 |
|
AMD扩展到Linux服务不需要特权访问RAPL接口,允许边信道攻击。 |
|
氯化钠在2015年允许CLFLUSH指令,使Rowhammer攻击成为可能。 |
 潜在的缓解措施
阶段:体系结构和设计;实现
确保适当的访问控制机制保护software-controllable特性改变物理操作条件如时钟频率和电压。
|
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
执行一个安全评价系统级架构和设计软件辅助物理攻击范围。 |
自动动态分析
使用自定义软件改变寄存器控制时钟设置或电源设置,试图绕过安全锁,或反复写DRAM试图改变相邻的位置。这可以有效地提取或更改数据。缺点是它不能运行在生产之前,它可能需要专门的软件。
|
 功能区域
 引用
cwe - 1244:内部资产暴露于不安全的访问级别调试或状态
 描述
产品采用物理调试或测试接口,支持多种访问的水平,但它分配错误的调试访问级别内部资产,提供意想不到的不可信的调试代理访问资产。
 扩展描述
调试授权可以有多个级别的访问,这样的定义,不同的系统内部资产可根据当前授权调试水平。除了调试器验证(例如,使用密码或挑战),授权也可以基于系统状态或引导阶段。例如,全系统调试访问可能只被允许在启动后,系统复位,确保前一交易日数据是经过身份验证的调试器无法访问。
如果这种保护机制确保内部资产并没有正确的调试访问级别在每次启动阶段或系统状态的变化,攻击者可以从内部获取敏感信息资产使用调试器。
 的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
863年 |
错误的授权 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关观点“硬件设计”(cwe - 1194)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1207年 |
调试和测试问题 |
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
 示范例子
示例1
JTAG接口是用于执行调试和提供CPU核心开发人员访问。JTAG-access保护实现的一部分JTAG_SHIELD在hw_digctl_ctrl登记。这个寄存器在启动没有默认值和设置只有在系统引导ROM和控制转移到用户软件。
1位 |
0 x0 =启用了JTAG调试器(默认) |
JTAG_SHIELD |
0 x1 = JTAG调试器是禁用的 |
这意味着从最终用户有权访问JTAG在ROM代码执行系统复位和控制转移到用户软件之前,一个JTAG的用户可以修改引导流和随后披露所有CPU信息,包括数据加密密钥。
 观察到的例子
参考 |
描述 |
|
ROM代码执行后,JTAG访问是禁用的。但在执行ROM代码之前,JTAG访问是可能的,允许用户完整的系统访问权限。这允许用户修改引导流和成功地绕过secure-boot过程。 |
 潜在的缓解措施
阶段:体系结构和设计;实现
对安全敏感资产可通过调试/测试接口,只允许可信的代理。
|
阶段:体系结构和设计
|
实施阶段:
添加屏蔽或防伪保护设备,这就增加了难度和成本用于访问调试/测试接口。
|
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
检查2设备的密码进行身份验证访问JTAG /调试端口。如果缺失或相同的密码,更新设计修复和重新测试。检查通信通过JTAG /调试端口加密。如果沟通不加密,解决设计和重新测试。
|
 笔记
 引用
 内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2020-02-12 |
Arun Kanuparthi Hareesh Khattri Parbati Kumar吗哪,哈Kumar V Mangipudi |
英特尔公司 |
|
贡献 |
贡献的日期 |
贡献者 |
组织 |
2021-10-22 |
Hareesh Khattri |
英特尔公司 |
澄清之间的差异cwe - 1191和cwe - 1244,并建议描述的描述和名称。 |
修改 |
修改日期 |
修饰符 |
组织 |
2020-08-20 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples,名称、Observed_Examples Related_Attack_Patterns |
2021-03-15 |
CWE内容团队 |
主教法冠 |
更新Maintenance_Notes |
2021-10-28 |
CWE内容团队 |
主教法冠 |
更新Demonstrative_Examples、描述Detection_Factors Maintenance_Notes,名字,Observed_Examples, Potential_Mitigations,引用,Relationship_Notes,关系,Weakness_Ordinalities |
2022-04-28 |
CWE内容团队 |
主教法冠 |
更新Related_Attack_Patterns |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2020-08-20 |
授权不当物理调试和测试接口 |
|
2021-10-28 |
不当使用调试和测试接口访问敏感信息 |
|
cwe - 1191:片上调试和测试接口与访问控制不当
 描述
芯片没有实现或不正确地执行访问控制检查用户是否授权访问内部寄存器和测试模式通过物理调试/测试接口。
 扩展描述
设备的内部信息可以通过扫描链相互连接的内部寄存器,通常通过JTAG接口。JTAG接口提供了串行的方式访问这些寄存器的形式扫描链的目的调试程序在设备上运行。因为几乎所有信息包含在一个设备可以通过这个接口,设备制造商通常插入某种形式的身份验证和授权,以防止意外使用这种敏感信息。这种机制除了实现片上已经存在的保护。
如果授权、身份验证、或其他形式的访问控制是实现或不实现正确,用户可以绕过通过调试接口芯片上的保护机制。
有时,设计师选择不公开调试针在主板上。相反,他们选择隐藏这些针的中间层次。这主要是为了解决缺少调试授权芯片内。在这种情况下(没有调试授权),调试接口暴露时,芯片内部攻击者可以访问。
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
|
|
高 |
保密
|
|
高 |
授权
|
|
高 |
完整性
|
|
高 |
完整性
|
|
高 |
访问控制
|
|
高 |
 示范例子
示例1
一个家,无线路由器设备实现了一个登录提示,防止未经授权的用户在设备上发出任何命令,直到不提供相应的凭证。检查设备上的凭证是保护和对攻击强度。
如果JTAG接口这个设备制造商,不是隐藏的接口可能会使用工具,如JTAGulator确认。如果它是隐藏而不是残疾,它可以通过物理线路暴露。
发出“停止”命令在操作系统启动时,未经授权的用户暂停看门狗定时器和阻止路由器重启(一旦看门狗定时器过期)。停顿了一下路由器,未经授权的用户能够执行代码并检查和修改数据的设备,甚至提取所有的路由器的固件。这可能允许用户查看路由器和利用它。
JTAG是有用的芯片和设备制造商在设计、测试、生产和包含在几乎每一个产品。没有适当的身份验证和授权,允许篡改产品的接口。
为了防止暴露调试接口,制造商可能会混淆JTAG接口或吹设备内部引线禁用JTAG接口。添加身份验证和授权,防止未经授权的人使用这个接口使得更加困难。
 观察到的例子
 潜在的缓解措施
阶段:体系结构和设计
如果可行,制造商应该禁用JTAG接口或实现JTAG接口的身份验证和授权。如果添加身份验证逻辑,它应该对时机攻击。安全敏感数据存储在寄存器,钥匙等时应清除进入调试模式。
|
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
动态分析与人工解释结果
身份验证和授权的调试和测试接口应架构和设计审查过程的一部分。扣缴的私人注册文件的调试和测试接口的公共规范(“晦涩的安全性”)不应该被认为是足够的安全。 |
动态分析与人工解释结果
动态测试应该在pre-silicon和post-silicon阶段验证调试和测试接口默认不开放。 |
起毛
模糊测试,调试和测试接口应该确保没有不适当的身份验证和授权访问是可能的。
|
 笔记
 引用
cwe - 1233:安全敏感的硬件控制与失踪的锁保护
 描述
产品使用寄存器锁保护机制,但它并不能保证锁防止修改的系统寄存器或控制执行重要的硬件系统配置变化。
 扩展描述
集成电路和硬件知识产权(ip)可能提供设备配置控件需要编程设备电源复位后一个可信固件或软件模块,一般由BIOS设置/引导装载程序。重置后,可以有一个期望的控制不能用于执行任何进一步的修改。这种行为通常是使用一个可信实现锁,这可以设置为禁用写入保护的寄存器或地址区域。锁保护的目的是防止某些系统配置的修改(例如,内存/内存保护单元配置)。
然而,如果锁位并不能有效的写保护所有系统寄存器或控件,可以修改保护系统配置,那么敌人可以使用软件来访问寄存器/控制和修改受保护的硬件配置。
 的关系
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
期间推出的这些问题可能是硬件架构和设计和确定后在测试或系统配置阶段。 |
实现 |
期间推出的此类问题可以实现和确认后在测试或系统配置阶段。 |
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
访问控制
|
可以修改系统配置的保护锁位即使锁设置。 |
|
 示范例子
示例1
考虑下面的示例设计的数字温度传感器检测到过热的硅和触发系统关闭。系统临界温度限制(CRITICAL_TEMP_LIMIT)和热传感器校准(TEMP_SENSOR_CALIB)数据必须由固件编程。
注册 |
字段描述 |
CRITICAL_TEMP_LIMIT |
[31:8]保留字段;只读;默认值0 [7:0]临界温度摄氏0 - 255;Read-write-lock;默认125 |
TEMP_SENSOR_CALIB |
31:0热传感器校准数据。斜率值用于传感器读取映射到一个度。读写;默认的25 |
TEMP_SENSOR_LOCK |
[31:1]保留字段;只读;默认值0 [0]锁,锁CRITICAL_TEMP_LIMIT登记;Write-1-once;默认值0 |
TEMP_HW_SHUTDOWN |
[31:2]保留字段;只读;默认值0 [1]上启用硬件关闭临界温度检测;读写;默认值0 |
CURRENT_TEMP |
[31:8]保留字段;只读;默认值0 当前温度摄氏0 - 255 (7:0);只读;默认值0 |
在这个示例中只注意CRITICAL_TEMP_LIMIT寄存器TEMP_SENSOR_LOCK的保护,而安全设计意图是保护任何修改的临界温度检测和响应。
的反应系统,如果系统加热到临界温度,控制TEMP_HW_SHUTDOWN[1],这不是可锁定的。此外,TEMP_SENSOR_CALIB寄存器不是保护锁。
通过修改温度传感器校准,传感器数据的转换度可以改变,这样当前温度不会超过临界温度检测程序价值的保护锁。
同样,通过修改TEMP_HW_SHUTDOWN。Enable bit, the system response detection of the current temperature exceeding critical temperature can be disabled.
改变TEMP_HW_SHUTDOWN TEMP_SENSOR_CALIB控制由TEMP_SENSOR_LOCK锁定。
TEMP_SENSOR_CALIB |
31:0热传感器校准数据。斜率值用于传感器读取映射到一个度。Read-write-Lock;默认25;被TEMP_SENSOR_LOCK一点[0] |
TEMP_HW_SHUTDOWN |
[31:2]保留字段;只读;默认值0[1]上启用硬件关闭临界温度检测;Read-write-Lock;默认值0;被TEMP_SENSOR_LOCK一点[0] |
 观察到的例子
参考 |
描述 |
|
某些服务器留下写保护锁位设置启动后,可能允许闪存的修改部分。 |
|
链:芯片组竞态条件( cwe - 362),当一个中断处理程序检测到一个试图允许写入BIOS(违反锁位),当处理程序重置允许写入位回0,允许攻击者问题BIOS写在时间窗口( ref - 1237]。 |
 潜在的缓解措施
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
设置锁。试图修改信息的保护锁。如果信息被更改,实现一个设计解决。重新测试。同时,试图间接清楚锁或绕过它。
|
 会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
 引用
cwe - 1272:敏感信息未清偿前调试/功率状态转换
 描述
产品执行权力或调试状态转换,但它不清楚应该不再访问敏感信息变化信息访问限制。
 扩展描述
一个设备或系统经常雇佣了许多力量和睡眠状态在其正常运行(例如,正常的权力,更多的权力,低功率,hibernate,深度睡眠,等等)。设备也可能操作在一个调试条件。状态转换可能发生从一种权力或调试状态到另一个地方。如果有信息在前面的国家不应该被用于下一个状态和不适当的删除之前的过渡到下一个状态,从系统可能泄漏敏感信息。
 的关系
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 可用性 访问控制 问责制 身份验证 授权 不可抵赖性
|
敏感信息可用于解锁设备的额外功能,利用隐藏的功能,可以用来妥协的设备安全。 |
高 |
 示范例子
示例1
这个例子展示了如何攻击者可以利用一个不正确的状态转换。
假设一个设备从a状态过渡到B .在状态,它可以读取某些私有密钥从隐藏的融合,只有访问状态而不是状态B设备读取键,执行操作使用这些钥匙,然后过渡到状态B,那些私钥应该不再是可访问的。
后过渡到状态B,尽管私钥不再是可以直接从状态B的保险丝,可以间接地访问他们通过阅读记忆包含私钥。
 观察到的例子
参考 |
描述 |
|
产品软件没有设置一个标志按照TPM的规范,从而防止授权失败尝试记录后失去权力。 |
 潜在的缓解措施
阶段:体系结构和设计;实现
在状态转换,信息不需要下一个状态应该删除之前的过渡到下一个状态。 |
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
手动分析
写一个已知模式到每个敏感的位置。输入电源/调试状态的问题。读取数据的敏感位置。如果读取成功,数据是一样的模式,最初编写,测试失败和设备需要修复。注意,这个测试可能可以自动化。
|
 功能区域
 引用
 描述
实现需要加密原语,使用非标准产品实现了一种加密算法,未经证实的,或不允许/不一致的加密实现。
 扩展描述
加密协议和系统依赖于加密原语(和相关的算法)的基本构建块。一些常见的原语的例子有数字签名、单向散列函数,密码,公钥密码术;然而,“原始”的概念可以取决于的观点。看到“术语笔记”概念的进一步解释。
加密原语来完成一个特定任务定义精确定义和数学上可靠的方式。例如,假设为一个特定的加密原语(如一个加密程序),原始的共识是只能被打破后尝试不同输入N (N的值越大,越强加密)。aes - 256这样的加密方案,一个希望N是如此之大,是不可行的,在合理的时间内执行。
如果漏洞发现表明,可以打破一个加密原始显著低于预期数量的尝试,那么原始的被认为是削弱(有时在极端情况下,一般是“破”)。因此,任何使用该加密原始现在将被视为不安全或危险。因此,甚至破坏或削弱一个看似小加密原语有可能使整个系统脆弱,因为它依赖于原始。一个历史的例子可以发现在TLS使用DES。人会通俗的叫DES加密原始运输在这个版本的TLS加密。在过去,DES被认为是强大的,因为没有发现弱点;重要的是,DES密钥长56位。在N = 2 ^ 56键对于大多数演员被认为是不切实际的。不幸的是,与56位密钥攻击系统现在实际通过蛮力,这使得击败DES加密实用。现在对敌人实际发送的任何信息在这个版本的TLS和使用此信息来攻击系统。结果,它可以声称这使用TLS是弱,,任何系统根据TLS DES可能使整个系统更容易受到攻击。
加密原语和相关算法只考虑安全从学术界广泛研究和审查经验的密码后,工业和政府实体寻找任何可能的缺陷。此外,加密原语和相关算法经常重新评估安全当新的数学发现和攻击技术。结果,随着时间的推移,甚至著名的加密原语可以失去合规状态与小说的发现攻击可能击败算法或显著减少其鲁棒性。
如果特别加密原语实现,它几乎可以肯定的是,实现将所了解的密码容易受到攻击,导致暴露敏感信息和其他后果。
这个弱点更加难以管理的hardware-implemented部署加密算法。首先,因为硬件不是patchable软件好用,释放后发现的任何缺陷和生产通常不能固定没有召回的产品。其次,硬件产品往往是工作多年,在此期间计算功率提供给攻击者只会增加。因此,对于硬件的实现加密原语,它是绝对必要的,只有坚强,证明使用加密原语。
 的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
327年 |
使用损坏或危险的密码算法 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关观点“软件开发”(cwe - 699)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
310年 |
密码问题 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关观点“硬件设计”(cwe - 1194)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1205年 |
安全原语和加密问题 |
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
这个弱点主要是在体系结构和设计阶段引入风险包括原语。 |
实现 |
即使在正常情况下建筑阶段指定一个密码安全设计,设计可能会改变在实现由于不可预见的约束。 |
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密
|
不正确的使用加密原语可以渲染所谓的加密数据加密的明文在最坏的情况下。 |
高 |
 示范例子
示例1
再利用随机值可能会影响安全。
假设一个加密算法需要一个关键的随机值。而不是使用DRNG(确定性随机数字生成器),设计师使用了一个线性反馈移位寄存器(LFSR)生成的值。
而LFSR可以提供伪随机数生成服务,熵(衡量随机性)产生的输出可能会低于一个公认DRNG (dev / urandom)中使用。因此,使用一个LFSR削弱了加密系统的力量,因为它可能对攻击者猜测LFSR输出和随后的加密密钥。
如果一个密码算法预计一个随机数作为输入,提供一个。不提供一个伪随机值。
 观察到的例子
参考 |
描述 |
|
安全软件使用MD5,低于默认sha - 256使用的相关产品 |
|
默认配置的产品使用MD5代替强算法可用,简化伪造的证书。 |
|
身份证使用MD5哈希的盐和密码 |
|
个人密钥使用替换密码在网络上传播 |
|
产品没有禁用TLS-RSA密码套件,让交通如果TLS 2.0和安全密码解密不启用。 |
|
SSL / TLS库生成16字节目前但减少他们12字节目前ChaCha20-Poly1305密码,将他们的方式违反了密码的要求独特的目前。 |
|
LDAP接口允许使用弱密码 |
|
SCADA产品允许“过时的密码套件的使用” |
|
芯片实现蓝牙使用一个低熵PRNG代替硬件RNG,允许欺骗。 |
|
安全产品在DRBG熵不足,使碰撞和私钥的发现 |
|
Dual_EC_DRBG实现RSA工具并不能正确地处理某些字节请求,简化明文复苏 |
|
推荐Dual_EC_DRBG算法包含点Q的常量,可以简化解密 |
 潜在的缓解措施
阶段:需求
需要遵守strongest-available推荐信任党,和要求合规必须保持最新的,因为建议随时间而变化。例如,美国政府系统需要FIPS 140 - 3认证,它取代FIPS 140 - 2 ( ref - 1192][ ref - 1226]。
|
阶段:体系结构和设计
确保架构/设计使用信任党strongest-available原语和算法。例如,美国政府系统需要FIPS 140 - 3认证,它取代FIPS 140 - 2 ( ref - 1192][ ref - 1226]。
|
阶段:体系结构和设计
不开发自定义或私人密码算法。他们可能会暴露于攻击易于理解的密码。正如所有加密机制,应该用于分析源代码。如果该算法可能会妥协当攻击者发现它是如何起作用的,那么它尤其薄弱。
|
阶段:体系结构和设计
尽量不要使用加密算法的新方法或新模式的操作,即使你“知道”它是安全的。例如,使用SHA-2链接来创建一个加密1次垫可能听起来像一个好主意,但是我们不应该这样做。
|
阶段:体系结构和设计
确保设计可以代替一个加密原语或算法,另一个在下一代(“加密敏捷”)。在可能的情况下,使用包装器进行统一的接口。这将使它更容易升级到更强的算法。这是特别重要的硬件,可以更加难以升级快于软件;设计在一个可替换的块级别的硬件。
|
阶段:体系结构和设计
不要使用过时的或不一致的加密算法。一些老算法,一度被认为需要十亿年的计算时间,现在可以打破在几天或几小时。这包括MD4 MD5、SHA1 DES和其他算法,曾被认为是强大的 ref - 267]。
|
阶段:体系结构和设计;实现
不要使用一个线性反馈移位寄存器(LFSR)或其他传统方法代替一个公认和标准随机数发生器。
|
阶段:体系结构和设计;实现
不要使用校验和代替密码生成的散列。
|
阶段:体系结构和设计
使用一个审查加密库或框架。行业标准的实现将节省开发时间和更有可能避免错误可能发生在加密算法的实现。然而,库/框架可以使用期间不正确的实现。
|
阶段:体系结构和设计;实现
当使用有技术,正确地使用它们。不偷工减料,跳过资源密集型步骤( cwe - 325)。这些步骤通常是必不可少的预防常见的攻击。
|
阶段:体系结构和设计;实现
不存储键访问地区不可信的代理。精心管理和保护密钥(请参阅 cwe - 320)。如果键可以猜测或被盗,那么加密算法的强度是无关紧要的。
|
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
体系结构或设计审查
评审需求、文档和产品设计,以确保原语与信任党strongest-available建议一致。如果产品似乎是使用自定义或专有实现,没有足够的公众审查和批准,然后这是一个重要的问题。
|
手动分析
分析每个原始的产品,以确保实现不包含任何已知的漏洞,不使用任何known-weak算法,包括MD4 MD5、SHA1, DES等。
|
动态分析与人工解释结果
硬件,在实现(pre-Silicon / post-Silicon)阶段,动态测试应该从加密以确保输出例程的确是正常工作,例如测试向量由NIST ( ref - 1236]。
|
动态分析与人工解释结果
需要决定如果缺乏加密原语的输出熵,这是一个明显的迹象表明,出问题时加密的实现。存在许多测量bytestream的熵的方法,从复杂的国家(如香农熵的计算序列的字符)原油的(通过压缩和比较原始bytestream与压缩的大小——一个真正随机的字节流不应可压缩,因此未压缩和压缩bytestreams应该几乎相同的大小)。
|
 笔记
术语
密码学术语变化很大,从非正式的、口语化的理论上,不同精度和形式取决于利益相关者是一个开发人员,密码学家等。然而,有必要为CWE首尾一致的同时保持多个观众理解和接受。
CWE 4.6, CWE术语“原语”和“算法”正成为下面的例子所示,接受未来的协商和协议在CWE和密码学的社区。假设一个希望发送加密数据使用CLI OpenSSL等工具。人们可能会选择使用AES与一个256位的密钥,需要篡改保护(GCM模式,例如)。为了兼容,也可以选择要格式化的密文的PKCS # 5的标准。在这种情况下,“加密系统”将aes - 256 gcm PKCS # 5格式。“密码功能”将AES - 256在GCM的操作模式,和“算法”将AES。通俗,人会说AES(有时AES - 256)是“加密原始,”,因为它是对称加密的算法,实现了概念(没有操作模式或其他协议相关的修改)。在实践中,开发人员和架构师通常指基础加密算法(AES、沙等)作为加密原语。
维护
CWE 4.4以来,各种cryptography-related条目,包括 cwe - 327和 cwe - 1240已定于广泛的研究、分析和社区协商定义一致的术语,改善人际关系,减少重叠或重复。CWE 4.6,这项工作仍在进行中。
 引用
 内容的历史
提交 |
提交日期 |
提交者 |
组织 |
2020-02-10 |
Arun Kanuparthi Hareesh Khattri Parbati Kumar吗哪,哈Kumar V Mangipudi |
英特尔公司 |
|
贡献 |
贡献的日期 |
贡献者 |
组织 |
2021-10-18 |
Parbati k吗哪 |
英特尔公司 |
提供检测方法和观察到的例子 |
修改 |
修改日期 |
修饰符 |
组织 |
2020-08-20 |
CWE内容团队 |
主教法冠 |
更新Background_Details、Common_Consequences Demonstrative_Examples、描述Maintenance_Notes, Modes_of_Introduction, Potential_Mitigations, Related_Attack_Patterns Research_Gaps |
2021-07-20 |
CWE内容团队 |
主教法冠 |
更新Maintenance_Notes Research_Gaps |
2021-10-28 |
CWE内容团队 |
主教法冠 |
更新Background_Details Demonstrative_Examples,描述、Detection_Factors Maintenance_Notes,名字,Observed_Examples, Potential_Mitigations,引用关系,Terminology_Notes Weakness_Ordinalities |
以前的条目名称 |
改变日期 |
以前的条目名称 |
2021-10-28 |
使用危险的加密原语 |
|
|