CWE

普遍的弱点

社区开发的软件和硬件弱点类型清单

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

CWE-336:伪随机数生成器(PRNG)中的相同种子

弱点ID:336
抽象:变体
结构:简单的
查看自定义信息:
+描述
每次初始化产品时,伪随机数生成器(PRNG)都会使用相同的种子。
+扩展描述
给定PRNG的确定性性质,对于每个初始化,使用相同的种子将以相同的顺序导致相同的输出。如果攻击者可以猜测(或知道)种子,那么攻击者可能能够确定PRNG产生的随机数。
+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 根据基础 - 仍然主要独立于资源或技术的弱点,但有足够的细节来提供特定的检测和预防方法。基本水平的弱点通常用以下维度的2或3来描述问题:行为,财产,技术,语言和资源。 335 伪随机数生成器(PRNG)中种子的使用不正确
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“建筑概念”(CWE-1008)有关
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1013 加密数据
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
建筑和设计 开发人员可能不会考虑在设计过程中使用新种子。
执行 实现:这种弱点是在实施建筑安全策略期间引起的。
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

班级:不是特定语言的(不确定的患病率)

+常见后果
部分帮助该表指定与弱点相关的不同个人后果。该范围确定了违反的应用程序安全区域,而影响描述了如果对手成功利用这一弱点,就会产生负面的技术影响。其可能性提供了有关预期相对于列表中其他后果的特定后果的可能性的信息。例如,可能会利用弱点来实现一定的影响,但很可能会利用它来实现不同的影响。
范围 影响 可能性
其他
访问控制

技术影响:其他;旁路保护机制

+示例的例子

示例1

以下代码使用统计PRNG生成帐户ID。

(不良代码)
示例语言:爪哇
私人静态最终长种子= 1234567890;
public int int generateaccountid(){
随机随机=新的随机(种子);
返回random.nextint();
}

由于该程序对PRNG的每个调用都使用相同的种子值,因此其值是可以预测的,使系统容易受到攻击。

示例2

该代码试图为用户会话生成唯一的随机标识符。

(不良代码)
示例语言:php
函数生成essionsId($ userId){
srand($ userId);
返回rand();
}

因为PRNG的种子始终是用户ID,因此会话ID始终是相同的。因此,攻击者可以预测任何用户的会话ID并可能劫持会话。

如果用户ID是顺序生成的,或者以其他方式仅限于狭窄的值范围,则此示例还显示一个小的种子空间(CWE-339)。

+潜在的缓解

阶段:建筑和设计

请勿重用Prng种子。考虑一个从高质量的伪随机输出(例如硬件设备)中定期重新种子的PRNG。

阶段:建筑和设计;要求

策略:图书馆或框架

使用符合FIPS 140-2的产品或模块[Ref-267]避免明显的熵问题,或使用最近的FIPS 140-3 [Ref-1192] 如果可能的话。
+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 861 Java(2011)第18章的CERT ORACLE SECURE编码标准 - 其他(MSC)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 905 SFP主集群:可预测性
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1152 Java的SEI CERT ORACLE SECURE编码标准 - 指南49.其他(MSC)
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1346 OWASP前十2021年A02:2021-加密故障
+笔记

维护

从CWE 4.5开始,与随机性,熵和可预测性有关的术语可能会差异很大。在开发人员和其他社区中,“随机性”被严重使用。但是,在密码学中,“熵”是不同的,通常暗示为测量。即使在标准文件和密码论文中,也没有常用的定义。CWE的未来版本将尝试定义这些术语,并在必要时以适合不同社区的方式区分它们,但不会降低CWE在映射,理解或其他情况下的可用性。
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
plover prng中的相同种子
Java(2011)的CERT ORACLE SECURE编码标准 MSC02-J 产生强大的随机数
+参考
[Ref-267]国家标准技术研究所信息技术实验室。“密码模块的安全要求”。附件C,批准的随机数生成器。2001-05-25。<http://csrc.nist.gov/publications/fips/fips140-2/fips1402.pdf>。
[Ref-1192]国家标准技术研究所信息技术实验室。“ FIPS Pub 140-3:加密模块的安全要求”。2019-03-22。<https://csrc.nist.gov/publications/detail/fips/140/3/final>。
+内容历史记录
+提交
提交日期 提交者 组织
2006-07-19 plover
+修改
修改日期 修饰符 组织
2008-07-01 Sean Eidemiller 雪茄
添加/更新的示例
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的time_of_introduction
2008-09-08 CWE内容团队 MITER
更新的关系,分类_mappings
2009-03-10 CWE内容团队 MITER
更新的势_MINEIGATIONS
2009-12-28 CWE内容团队 MITER
更新的势_MINEIGATIONS
2010-06-21 CWE内容团队 MITER
更新的势_MINEIGATIONS
2011-06-01 CWE内容团队 MITER
更新的common_conconquence,关系,分类_mappings
2011-09-13 CWE内容团队 MITER
更新势_的限制,参考
2012-05-11 CWE内容团队 MITER
更新的关系
2014-07-30 CWE内容团队 MITER
更新了示范_examples
2017-11-08 CWE内容团队 MITER
更新已更新的适用_platforms,描述,模式_OF_INTRODUCTION,名称,参考,关系
2019-01-03 CWE内容团队 MITER
更新的关系,分类_mappings
2019-06-20 CWE内容团队 MITER
更新类型
2020-02-24 CWE内容团队 MITER
更新的关系
2021-07-20 CWE内容团队 MITER
更新的explyative_examples,描述,维护_notes,modes_of_introduction,entigal_mitigations,参考
2021-10-28 CWE内容团队 MITER
更新的关系
+先前的输入名称
改变日期 先前的输入名称
2017-11-08 prng中的相同种子
提供更多信息 - 请选择其他过滤器。
页面最后更新:2023年1月31日