 描述
产品生成哈希密码,但它使用一个计划没有提供足够水平的计算工作量,使密码破解攻击不可行或昂贵。
 扩展描述
许多密码存储机制计算哈希散列和储存,而不是储存原始密码明文。在这个设计中,验证涉及到接受传入密码,计算其散列,比较散列存储。
许多散列算法被设计用来执行迅速以最小的开销,甚至密码散列。然而,这对密码存储效率是一个问题,因为它可以减少对强力密码破解攻击者的工作负载。如果攻击者可以通过其他方式获取散列(如SQL注入数据库存储散列),攻击者可以离线存储散列和使用各种技术来破解密码有效地通过计算散列。没有内置工作负载,现代攻击可以计算大量的散列,甚至耗尽整个空间的所有可能的密码,在很短的时间内,使用大规模并行计算(比如云计算)和GPU, ASIC或FPGA硬件。在这种情况下,一个有效的散列算法帮助攻击者。
有几个属性的一个哈希方案相关的强度对离线,大规模并行攻击:
- 所需的CPU时间计算散列(“拉伸”)
- 所需的内存计算散列(“memory-hard”操作)
- 包括一个随机值,以及密码,作为散列计算的输入(“盐”)
- 给定一个散列,没有已知的方法确定一个输入(如密码),产生的散列值,除了通过猜测可能的输入(单向散列)
- 相对于所有可能的散列的数量,可以生成的计划,有一个低的可能性为多个不同的输入生产相同的散列(“碰撞阻力”)
注意,产品的安全需求可能取决于环境和密码的值。不同方案可能不提供所有这些属性,但仍可能对环境提供足够的安全。相反,一个解决方案可能是很强的保留一个属性,它仍在为攻击另一个属性很弱,或者它可能无法显著降低大规模并行攻击的效率。
 的关系
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 简化映射的相关视图”缺点漏洞发布”(cwe - 1003)
自然 |
类型 |
ID |
的名字 |
ChildOf |
类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 |
327年 |
使用损坏或危险的密码算法 |
此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
 相关视图”架构概念”(cwe - 1008)
自然 |
类型 |
ID |
的名字 |
MemberOf |
类别——CWE条目包含一组其他条目,共享一个共同的特点。 |
1010年 |
验证的演员 |
 模式的介绍
不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 |
请注意 |
架构和设计 |
实现:造成这一弱点在建筑安全策略的实施。 |
 常见的后果
这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 |
影响 |
可能性 |
访问控制
|
如果攻击者可以访问散列,则缺乏足够的计算工作将更容易进行强力攻击使用技术,如彩虹表,或专门的硬件如gpu,速度远远超过通用cpu计算散列。 |
|
 观察到的例子
参考 |
描述 |
|
路由器不使用盐散列,使其更容易破解的密码。 |
|
路由器不使用盐散列,使其更容易破解的密码。 |
|
博客软件使用硬编码的盐在计算密码散列。 |
|
数据库服务器使用盐当加密的用户名密码,简化蛮力攻击。 |
|
服务器使用一个常数盐当加密密码,简化蛮力攻击。 |
|
链:产品产生可预见的MD5散列使用恒定值加上用户名,允许绕过身份验证。 |
 潜在的缓解措施
阶段:体系结构和设计
使用一个自适应哈希函数,可以配置为改变计算的工作量需要计算散列,如迭代的数量(“拉伸”)或所需的内存。哈希函数自动执行盐。这些函数可以显著增加蛮力攻击的开销相比intentionally-fast MD5等功能。例如,彩虹表攻击会变得不可行,由于高计算开销。最后,由于计算能力变得更快和更便宜的随着时间的推移,这项技术可以改造增加工作量没有迫使整个更换使用的算法。
注意,使用这些函数可以对性能有影响,所以他们需要特殊考虑避免拒绝服务攻击。然而,他们的可配置性提供了更好的控制有多少CPU和内存使用,所以它可以调节以适应环境的需要。
|
阶段:实施;架构和设计
当使用有技术,正确地使用它们。不偷工减料,跳过资源密集型步骤( cwe - 325)。这些步骤通常是必不可少的预防常见的攻击。 |
 弱点Ordinalities
Ordinality |
描述 |
主 |
(其他弱点的弱点存在独立的) |
 检测方法
自动静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
-
字节码的弱点分析,包括反汇编程序+源代码弱点分析
-
二进制弱点分析,包括反汇编程序+源代码弱点分析
|
人工静态分析——二进制或字节码
根据飙升,以下检测技术可能是有用的:
|
人工静态分析源代码
根据飙升,以下检测技术可能是有用的:
-
关注人工抽查,手动分析来源
-
手工源代码审查(不检查)
|
自动静态分析源代码
根据飙升,以下检测技术可能是有用的:
-
源代码缺陷分析仪
-
Context-configured源代码分析器
|
自动静态分析
根据飙升,以下检测技术可能是有用的:
|
体系结构或设计审查
根据飙升,以下检测技术可能是有用的:
|
 会员资格
这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
 引用
|