cwe - 1245:不当有限状态机(FSMs)硬件逻辑
描述
错误的有限状态机(FSMs)硬件逻辑允许攻击者把系统在一个未定义的状态,造成拒绝服务(DoS)或获得受害者的系统上的特权。
扩展描述
系统的功能和安全严重依赖FSMs的实现。FSMs可以用来显示系统的当前安全状态。大量的安全数据操作和数据传输依靠FSM的状态报告。错误的FSM设计不占所有国家,通过定义状态不关心(左)或通过不正确的实现,可能导致攻击者驱动系统进入不稳定状态的系统无法恢复没有复位,从而导致DoS。取决于使用FSM,攻击者也可能获得更多特权发动进一步攻击和妥协的安全保障。
的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关的视图”研究概念”(cwe - 1000)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
684年 |
不正确的提供指定的功能 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
相关观点“硬件设计”(cwe - 1194)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1199年 |
一般的电路与逻辑设计问题 |
模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
可用性 访问控制
|
技术的影响:意想不到的状态;DoS:崩溃,退出或重新启动;DoS:不稳定;获得特权或假设的身份
|
|
示范例子
示例1
有限状态机(FSM)“坏”的代码片段所示分配输出(“”)基于状态的价值,确定基于用户提供的输入(user_input)。
模块fsm_1 (, user_input) clk rst_n); 输入[2:0]user_input; 输入时钟,rst_n; 输出reg (2:0); 注册(1:0)状态; 总是@ (posedge clk或negedge rst_n)
开始
如果(! rst_n)
国家= 3 'h0; 其他的 案例(user_input)
3 'h0: 3 'h1: 3 'h2: = 2 'h3 3 'h3:状态; = 2 'h2 3 'h4:状态; = 2 'h1 3 'h5:状态;
endcase 结束 从< = {1 'h1状态};
endmodule
case语句不包含一个默认的处理3 'h6的场景当用户提供输入和3 'h7。这些输入推系统一个未定义的状态,可能会导致崩溃(拒绝服务)或任何其他意外的结果。
添加一个默认的语句来处理未定义的输入,缓解了这一问题。这是“好”的代码片段所示。默认语句以粗体显示。
案例(user_input)
3 'h0: 3 'h1: 3 'h2: = 2 'h3 3 'h3:状态; = 2 'h2 3 'h4:状态; = 2 'h1 3 'h5:状态;
默认值:国家= 2 'h0;
endcase
潜在的缓解措施
阶段:体系结构和设计;实现
定义所有可能的状态和处理所有未使用的状态通过默认语句。确保系统默认为一个安全的状态。
|
脆弱性映射笔记
用法:允许
(CWE ID可以用来映射到现实世界的漏洞) |
原因:可接受的使用 |
理由是: 这CWE条目底部的抽象级别,这是一个首选的抽象级别映射到漏洞的根本原因。 |
评论: 仔细阅读这两个名称和描述,以确保此映射是一个适当的配合。不要试图“力”映射到底层基础/变体只是遵守这首选的抽象级别。 |
引用
更多的信息是可用的,请编辑自定义过滤器或选择一个不同的过滤器。
|