CWE

普遍的弱点

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

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

CWE-335:伪随机数生成器(PRNG)中种子的使用不正确

弱点ID:335
抽象:根据
结构:简单的
查看自定义信息:
+描述
该产品使用伪随机数生成器(PRNG),但不能正确管理种子。
+扩展描述

PRNG是确定性的,尽管它们的输出看起来随机,但实际上无法创建熵。他们依靠密码安全和独特的种子来熵,因此适当的播种对于PRNG的安全操作至关重要。

种子的管理可以分为两个主要领域:

  • (1)将种子作为加密材料(例如加密密钥)保护;
  • (2)尽可能使用来自密码安全源的独特生成的种子

PRNG需要种子作为输入来生成与随机数无法区分的数字流。尽管在许多情况下,输出足以用于加密用途,但任何PRNG的输出都由提供的种子直接确定为输入。如果可以通过第三方确定种子,则可以使PRNG的整个输出已知。因此,种子应该保密,理想情况下应该无法猜测。例如,当前时间可能是一个差的种子。知道PRNG的大约时间大大降低了可能的关键空间。

种子不一定需要是唯一的,但是如果发现种子,重用种子可能会打开攻击。

+关系
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与观点“研究概念”相关(CWE-1000)
自然 类型 ID 姓名
Childof 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 330 使用不足的随机值
父母 变体变体 - 与某种类型的产品相关的弱点,通常涉及特定的语言或技术。比基本弱点更具体。变体级别的弱点通常以以下维度的3到5来描述问题:行为,财产,技术,语言和资源。 336 伪随机数生成器(PRNG)中的相同种子
父母 变体变体 - 与某种类型的产品相关的弱点,通常涉及特定的语言或技术。比基本弱点更具体。变体级别的弱点通常以以下维度的3到5来描述问题:行为,财产,技术,语言和资源。 337 伪随机数生成器(PRNG)中的可预测种子
父母 变体变体 - 与某种类型的产品相关的弱点,通常涉及特定的语言或技术。比基本弱点更具体。变体级别的弱点通常以以下维度的3到5来描述问题:行为,财产,技术,语言和资源。 339 prng中的小种子空间
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“软件开发”视图相关(CWE-699)
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1213 随机数问题
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 310 加密问题
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“简化已发表漏洞的简化映射”(CWE-1003)相关的视图相关(CWE-1003)
自然 类型 ID 姓名
Childof 班级班级 - 以非常抽象的方式描述的弱点,通常与任何特定的语言或技术无关。比支柱弱点更具体,但比基本弱点更一般。班级弱点通常用以下维度的1或2来描述问题:行为,属性和资源。 330 使用不足的随机值
部分帮助该表显示了与该弱点相关的弱点和高级类别。这些关系定义为childof,parentof,ementof,并深入了解可能存在于较高和较低抽象水平的类似项目。此外,定义了诸如Peerof和Canalsobe之类的关系,以显示用户可能想要探索的类似弱点。
+与“建筑概念”(CWE-1008)有关
自然 类型 ID 姓名
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1013 加密数据
+介绍模式
部分帮助引言的不同模式提供了有关如何以及何时引入这种弱点的信息。该阶段识别可能发生介绍的生命周期中的一个点,而音符提供了与给定阶段中引言有关的典型情况。
阶段 笔记
建筑和设计
执行 实现:这种弱点是在实施建筑安全策略期间引起的。
+适用的平台
部分帮助该清单显示了可能出现的弱点的可能区域。这些可能适用于特定的命名语言,操作系统,体系结构,范式,技术或一类此类平台。该平台与给定弱点出现在该实例的频率一起列出。

语言

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

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

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

如果不正确地使用了PRNG,例如为每个初始化使用相同的种子或使用可预测的种子,则攻击者可以轻松猜测种子,从而猜测随机数。如果种子用于身份验证和授权,这可能会导致对系统的未经授权访问。
+观察到的例子
参考 描述
Kubernetes上的云应用程序使用基于部署时间的弱随机数生成器生成密码。
服务器使用erlang:now()将PRNG播种,从而为潜在的随机种子提供了一个较小的搜索空间
产品的prng并未用于会话ID的生成
路由器的引脚生成基于兰德(时间(0))播种。
+会员资格
部分帮助此成员关系表显示了其他CWE类别和视图,将此弱点称为成员。该信息通常可用于理解弱点适合外部信息源的何处。
自然 类型 ID 姓名
成员 看法查看 - CWE条目的子集,提供了一种检查CWE内容的方法。两个主视图结构是切片(平面列表)和图(包含条目之间的关系)。 884 CWE横截面
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 905 SFP主集群:可预测性
成员 类别类别 - 包含共享共同特征的其他条目的CWE条目。 1346 OWASP前十2021年A02:2021-加密故障
+笔记

维护

从CWE 4.5开始,与随机性,熵和可预测性有关的术语可能会差异很大。在开发人员和其他社区中,“随机性”被严重使用。但是,在密码学中,“熵”是不同的,通常暗示为测量。即使在标准文件和密码论文中,也没有常用的定义。CWE的未来版本将尝试定义这些术语,并在必要时以适合不同社区的方式区分它们,但不会降低CWE在映射,理解或其他情况下的可用性。
+分类映射
映射的分类名称 节点ID 合身 映射的节点名称
plover PRNG种子错误
+参考
[Ref-44] Michael Howard,David Leblanc和John Viega。“软件安全性的24个致命罪”。“罪20:弱随机数。”第299页。McGraw-Hill。2010年。
+内容历史记录
+提交
提交日期 提交者 组织
2006-07-19 plover
+修改
修改日期 修饰符 组织
2008-07-01 埃里克·达奇(Eric Dalci) 雪茄
更新的time_of_introduction
2008-09-08 CWE内容团队 MITER
更新的关系,分类_mappings
2011-06-01 CWE内容团队 MITER
更新的common_cconsquences
2012-05-11 CWE内容团队 MITER
更新了COMMON_CCONSQUENCES,参考,关系
2017-11-08 CWE内容团队 MITER
更新已更新的适用_platforms,描述,模式_of_introduction,name,关系,类型
2019-06-20 CWE内容团队 MITER
更新的关系
2020-02-24 CWE内容团队 MITER
更新的关系
2021-07-20 CWE内容团队 MITER
更新的描述,维护_notes,obsoved_examples
2021-10-28 CWE内容团队 MITER
更新的关系
2022-10-13 CWE内容团队 MITER
更新了观察到的examples
2023-01-31 CWE内容团队 MITER
更新的描述
+先前的输入名称
改变日期 先前的输入名称
2017-11-08 PRNG种子错误
提供更多信息 - 请选择其他过滤器。
页面最后更新:2023年1月31日