描述
产品实现访问控制通过政策或其他特征与有意禁用或限制访问(读和/或写)资产在系统不可信的代理。然而,实现访问控制缺乏所需的粒度,使得控制策略过于广泛,因为它允许从未经授权的代理访问安全敏感的资产。
扩展描述
集成电路和硬件引擎可以公开访问资产(设备配置、钥匙等)可信固件或软件模块(通常由BIOS设置/引导装载程序)。这种访问通常访问权限控制的已命名。电源复位后,硬件或系统通常开始于默认值寄存器,并可信固件(引导固件)配置必要的访问控制保护。
一个共同的弱点,可以存在于这样的保护方案是不够细粒度的访问控制或政策。这种情况允许代理除了信任代理访问资产和可能导致失去功能或设置设备安全的能力。这进一步导致安全风险从泄露,敏感,修改设备配置的关键材料。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“软件开发”(cwe - 699)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1212年 |
授权错误 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“硬件设计”(cwe - 1194)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1198年 |
权限分离和访问控制问题 |
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
期间推出的这些问题可能是硬件架构和设计和确定后在测试或系统配置阶段。 |
实现 |
期间推出的此类问题可以硬件实现和确定以后在测试或系统配置阶段。 |
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
保密 完整性 可用性 访问控制
|
技术的影响:修改内存;读记忆;执行未经授权的代码或命令;获得特权或假设的身份;旁路保护机制;其他
|
高 |
示范例子
示例1
考虑一个系统,一个寄存器,用于存储AES加密或解密的关键。关键是128位,实现为一组4个32位寄存器。关键寄存器是资产和寄存器,AES_KEY_READ_POLICY AES_KEY_WRITE_POLICY,定义提供必要的访问控制。
读策略寄存器定义了AES-key寄存器,代理可以读和写策略定义了注册代理程序或可以写的寄存器。每个寄存器是一个32位寄存器,它可以支持最多32个代理访问控制。当设置的数量(即。,“1”)允许各自行动代理人的身份匹配点的数量,如果“0”(即。、清晰),不允许各自的行动,相应的代理。
注册 |
字段描述 |
AES_ENC_DEC_KEY_0 |
AES加密或解密的关键[0:31] 默认值0 x00000000 |
AES_ENC_DEC_KEY_1 |
AES加密或解密的关键[32:63] 默认值0 x00000000 |
AES_ENC_DEC_KEY_2 |
AES加密或解密的关键[64:95] 默认值0 x00000000 |
AES_ENC_DEC_KEY_4 |
AES加密或解密的关键[96:127] 默认值0 x00000000 |
AES_KEY_READ_WRITE_POLICY |
(31:0)默认0 x00000006——这意味着代理身份“1”和“2”既可以读取和写入寄存器的关键 |
在上面的例子中,只有一个政策寄存器控制访问AES-key寄存器读写访问,从而设计不够细粒度的独立的读和写访问不同的代理。这里,代理身份“1”和“2”既能读和写。
一个好的设计应该足够颗粒提供单独的访问控制分离操作。访问控制读应该分开写。下面是一个例子的实现两个政策寄存器定义这些操作。的政策是这样定义的:AES-key寄存器只能阅读或使用加密代理身份# 1是设置了“1”位。AES-key寄存器只能由一个可信的固件编程与身份# 2是设置了“2”位。
AES_KEY_READ_POLICY |
(31:0)默认0 x00000002——这意味着只有加密引擎身份“1”可以读取寄存器:AES_ENC_DEC_KEY_0, AES_ENC_DEC_KEY_1, AES_ENC_DEC_KEY_2 AES_ENC_DEC_KEY_3 |
AES_KEY_WRITE_POLICY |
(31:0)默认0 x00000004 -意义只有可信固件身份“2”程序寄存器:AES_ENC_DEC_KEY_0, AES_ENC_DEC_KEY_1, AES_ENC_DEC_KEY_2 AES_ENC_DEC_KEY_3 |
示例2
考虑下面的SoC设计。HRoT的sram的地址范围可由无特权的读和写软件,它有一个区域只有可读的未经授权的软件。tbus互连强制访问控制总线上的奴隶,但只使用一个控制读写访问。地址0 xa0000000 - 0 xa000ffff是可读和可写的不受信任的核心核心{低氮}和地址0 xa0010000 - 0 xa001ffff只有可读的不受信任的核心核心{低氮}。
安全策略不够细粒度访问控制,因为它使用了一点,使读和写访问。这给写访问一个应该只被贫穷的代理可读。
访问控制逻辑应区分读写访问和粒度有足够的地址。
潜在的缓解措施
|