CWE

常见的弱点枚举

一个由社区开发的软件&硬件缺陷类型的列表

2021 CWE最重要的硬件的弱点
CWE最危险的弱点
>CWE列表> CWE -个人字典定义(4.10)
ID

cwe - 1220:足够的粒度的访问控制

弱点ID: 1220
抽象:基地
结构:简单的
视图定制的信息:
+描述
产品实现访问控制通过政策或其他特征与有意禁用或限制访问(读和/或写)资产在系统不可信的代理。然而,实现访问控制缺乏所需的粒度,使得控制策略过于广泛,因为它允许从未经授权的代理访问安全敏感的资产。
+扩展描述

集成电路和硬件引擎可以公开访问资产(设备配置、钥匙等)可信固件或软件模块(通常由BIOS设置/引导装载程序)。这种访问通常访问权限控制的已命名。电源复位后,硬件或系统通常开始于默认值寄存器,并可信固件(引导固件)配置必要的访问控制保护。

一个共同的弱点,可以存在于这样的保护方案是不够细粒度的访问控制或政策。这种情况允许代理除了信任代理访问资产和可能导致失去功能或设置设备安全的能力。这进一步导致安全风险从泄露,敏感,修改设备配置的关键材料。

+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 支柱支柱——一个弱点是最抽象类型的弱点和代表一个主题类/基地/变体相关弱点。支柱是不同于一个类别作为支柱技术上仍然是一种弱点,描述了一个错误,而一个类别代表一个共同特征用于组相关的东西。 284年 访问控制不当
ParentOf 变体变体——一个弱点与某种类型的产品,通常涉及到一个特定的语言或技术。更具体的比基本的弱点。变异水平弱点通常描述问题的3到5以下维度:行为、财产、技术、语言,和资源。 1222年 粒度不足解决地区注册保护锁
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为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只有可读的不受信任的核心核心{低氮}。

硬件的信任根

安全策略不够细粒度访问控制,因为它使用了一点,使读和写访问。这给写访问一个应该只被贫穷的代理可读。

访问控制逻辑应区分读写访问和粒度有足够的地址。

+潜在的缓解措施

阶段:体系结构和设计;实施;测试

  • 访问控制策略的保护必须审查设计不一致和共同的弱点。
  • 访问控制策略定义和编程流必须测试pre-silicon post-silicon测试。

有效性:高

+内容的历史
+提交
提交日期 提交者 组织
2020-02-05 Arun Kanuparthi Hareesh Khattri Parbati Kumar吗哪,哈Kumar V Mangipudi 英特尔公司
+贡献
贡献的日期 贡献者 组织
2021-07-16 龟岛的逻辑
为硬件的信任根提供了示范例子
+修改
修改日期 修饰符 组织
2020-06-25 CWE内容团队 主教法冠
更新Demonstrative_Examples
2020-08-20 CWE内容团队 主教法冠
更新Related_Attack_Patterns
2021-07-20 CWE内容团队 主教法冠
更新Demonstrative_Examples
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日