CWE

常见的弱点枚举

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

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

cwe - 405:不对称的资源消耗(放大)

弱点ID: 405
抽象:
结构:简单的
视图定制的信息:
+描述
产品不适当控制敌人的情况下可以导致产品消耗或生产过度资源不需要敌人投资相当于工作或其他证明授权,即。对手的影响是“不对称”。
+扩展描述
这可能会导致糟糕的性能由于资源消耗的“放大”,通常以一种非线性的方式。这种情况恶化如果产品允许恶意用户或攻击者比他们的访问级别允许消耗更多的资源。
+的关系
部分帮助此表显示了弱点和高水平类别相关的这一弱点。这些关系被定义为ChildOf、ParentOf MemberOf,并洞察类似项目可能存在的在较高和较低的抽象级别。此外,关系如PeerOf和CanAlsoBe定义显示类似的弱点,用户可能想要探索。
+相关的视图”研究概念”(cwe - 1000)
自然 类型 ID 的名字
ChildOf 支柱支柱——一个弱点是最抽象类型的弱点和代表一个主题类/基地/变体相关弱点。支柱是不同于一个类别作为支柱技术上仍然是一种弱点,描述了一个错误,而一个类别代表一个共同特征用于组相关的东西。 664年 资源的不当控制通过它的生命周期
ParentOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 406年 控制的网络消息量不足(网络放大)
ParentOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 407年 低效率的算法复杂度
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 408年 不正确的行为秩序:早期的放大
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 409年 处理不当的高度压缩的数据(数据放大)
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1050年 一个循环内过度平台资源消耗
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1072年 数据资源访问,而不使用连接池
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1073年 非sql调用控制元件过多的数据资源访问
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1084年 调用控制元件与过度的文件或数据访问操作
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1089年 大数据表与过度数量的指标
ParentOf 基地Base -一个弱点,仍主要是独立的资源或技术,但有足够的细节来提供特定的检测和预防方法。基础水平的弱点通常描述问题的2或3以下维度:行为、财产、技术、语言,和资源。 1094年 过度的索引范围扫描数据资源
ParentOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 1176年 低效的CPU计算
PeerOf 类类——一个弱点,描述的是一个非常抽象的时尚,通常独立于任何特定的语言或技术。更具体的比一个支柱的弱点,但更普遍的基本的弱点。类级别的弱点通常描述问题的1或2以下维度:行为、财产和资源。 404年 不当关机或释放资源
+模式的介绍
部分帮助不同模式的引入提供了信息如何以及何时可以纳入这一弱点。生命周期的阶段识别点的介绍可能发生,而相关的报告提供了一个典型的场景介绍在给定的阶段。
阶段 请注意
架构和设计
实现
操作
+适用的平台
部分帮助该清单显示了给定的弱点可以可能的地区出现。这些可能是为特定命名的语言,操作系统,架构、模式、技术、或一个类这样的平台。列出的平台是随着频率的出现疲态实例。

语言

类:不是特定于语言的患病率(待定)

操作系统

类:不使用患病率(待定)

体系结构

类:不是特定于体系结构的患病率(待定)

技术

类:不是特定于技术的患病率(待定)

类:客户端服务器患病率(待定)

+常见的后果
部分帮助这个表指定不同的个人相关后果的弱点。标识应用程序范围的安全领域侵犯,而影响了负面的技术影响,如果敌人成功利用这个弱点。可能提供的信息如何可能的具体结果预计将看到列表中相对于其它后果。例如,可能会有高可能性,缺点将被利用来实现一定的影响,但较低的可能性,它将被利用来实现不同的影响。
范围 影响 可能性
可用性

技术的影响:DoS:放大;DoS:资源消耗(CPU);DoS:资源消耗(内存);DoS:资源消耗(其他)

有时这是“洪水”攻击的一个因素,但其他类型的放大存在。
+示范例子

示例1

这段代码监听一个端口上的DNS请求并将结果发送给请求的地址。

(坏的代码)
例如语言:Python
袜子= socket.socket(插座。AF_INET socket.SOCK_DGRAM)
袜子。绑定((UDP_IP UDP_PORT))
而真正的:
data = sock.recvfrom (1024)
如果没有数据:
打破

(requestIP nameToResolve) = parseUDPpacket(数据)
记录= resolveName (nameToResolve)
sendResponse (requestIP记录)

这段代码将DNS记录发送给请求的IP地址。UDP允许容易改变源IP地址(“欺骗”),从而允许攻击者重定向响应一个目标,这可能是被网络流量。

示例2

这个数据打印指定文件的内容要求由用户。

(坏的代码)
例如语言:PHP
函数printFile(用户名、文件名美元){

/ /文件读入字符串
美元$ file = file_get_contents(文件名);
如果($文件& & isOwnerOf(用户名、文件名美元)){
echo $文件;
返回true;
}
其他{
回应“你未被授权查看这个文件”;
}
返回错误;
}

这段代码首先读取指定文件到内存中,然后打印文件如果用户被授权查看其内容。文件的读取到内存可能是资源密集型是不必要的,如果用户不允许看到文件。

示例3

下面简短XML DTD和XML炸弹。说明是什么意思零实体包含一个字符,字母a实体名称的选择零被用来表明长度相当于两个指数,即零的长度是2 ^ 0。同样,一指零的两倍,因此XML解析器将扩大一个长度为2或2 ^ 1。最终,我们到达实体THIRTYTWO(这将扩大到2 ^ 32个字符的长度,或4 GB,可能消耗数据远远超过预期。

(攻击代码)
例如语言:XML
< ?xml version="1.0"?>
< !DOCTYPE MaliciousDTD [
< !实体零“A”>
< !实体一个"零,零;" >
< !实体两个“一个;一个;" >

< !实体THIRTYTWO " &THIRTYONE; &THIRTYONE; " >
]>
<数据> &THIRTYTWO; < /数据>

示例4

这个例子试图检查是否输入字符串是“句子”ref - 1164]。

(坏的代码)
例如语言:JavaScript
var test_string =“坏字符:$ @ #”;
var bad_pattern = / ^ (\ w + \ s ?) * $ /我;
var =结果test_string.search (bad_pattern);

正则表达式有一个脆弱的回溯条款内(\ w + \ s ?) *美元可以触发引起拒绝服务,处理特定的短语。

删除修复回溯问题,回溯的? =表达式的一部分它变化超前\ 2,阻止了回溯。修改后的示例:

(好的代码)
例如语言:JavaScript
var test_string =“坏字符:$ @ #”;
var good_pattern = / ^ ((? = (\ w +)) 2 \ \ s ?) * $ /我;
var =结果test_string.search (good_pattern);

请注意,(ref - 1164)有一个更全面和冗长的解释发生的一切在正则表达式中。

示例5

敌人可以通过过滤造成严重的资源消耗在一个服务器上的客户端提供的加密算法是最消耗资源在服务器端。在发现服务器支持的加密算法,恶意客户端可以发送初始密码握手消息只包含资源密集型算法。对于一些加密协议,这些信息可以完全预制,作为资源密集型握手的一部分发生在服务器端(如TLS),而不是在客户端。在加密协议的情况下,资源密集型的部分应该首先发生在客户端(比如SSH)、恶意客户端可以发送伪造/预先计算的计算结果,这似乎是正确的服务器,因此,资源密集型的握手会发生在服务器端。恶意客户端需要发送只有最初的消息加密握手发起的耗费资源的部分加密握手。这些消息通常是小,生成他们需要最少的计算工作,使拒绝服务攻击。另一个风险是较高的关键尺寸增加攻击的有效性。加密协议,客户有影响的大小常用的钥匙(如TLS 1.3或SSH)是最危险的,客户端可以执行最高的服务器支持的关键尺寸。

+观察到的例子
参考 描述
经典的“蓝精灵”攻击,使用欺骗ICMP数据包广播地址。
解析库允许XML炸弹
工具创建目录之前对用户进行身份验证。
Python有“二次复杂性”问题将字符串转换为int意想不到的许多数字时,基地
服务器允许重新制作的用户代理字符串,由于重叠捕捉组导致过度的回溯。
综合:国家结核控制规划特性生成大响应(高放大系数)与伪造了UDP来源地址。
diffie - hellman(她)关键协议协议允许攻击者发送任意的数字不是公钥,导致服务器执行昂贵,不必要的计算模幂运算。
diffie - hellman密钥协议的协议允许使用长指数,更需要大量的计算比使用某些具有特定属性的“短指数”。
+潜在的缓解措施

阶段:体系结构和设计

客户端应用程序必须使可用资源符合客户的访问级别。

阶段:体系结构和设计

在任何时候,应用程序必须跟踪分配适当的资源和仪表使用。

阶段:系统配置

考虑禁用服务器端的资源密集型的算法,比如diffie - hellman密钥交换。

有效性:高

注意:业务需求可能防止禁用资源密集型算法。
+会员资格
部分帮助这MemberOf关系表显示额外CWE类别和视图引用这个弱点作为成员。这些信息通常是有用的在理解一个弱点符合外部信息源的上下文中。
自然 类型 ID 的名字
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 730年 OWASP十大2004类别A9 -拒绝服务
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 855年 CERT甲骨文安全Java编码标准(2011)第十二章-线程池(TPS)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 857年 CERT甲骨文安全Java编码标准(2011)第14章-输入输出(FIO)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 977年 SFP二级集群:设计
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1145年 SEI CERT Oracle 11安全的Java编码标准——指导方针。线程池(TPS)
MemberOf 类别类别——CWE条目包含一组其他条目,共享一个共同的特点。 1147年 SEI CERT甲骨文Java安全编码标准,指南13。输入输出(FIO)
+分类法映射
映射分类名称 节点ID 适合 映射节点名
千鸟 不对称的资源消耗(放大)
OWASP十大2004 A9 CWE更具体 拒绝服务
WASC 41 XML属性崩溃
CERT甲骨文安全Java编码标准(2011) TPS00-J 使用线程池,使优雅降级服务期间的交通
CERT甲骨文安全Java编码标准(2011) FIO04-J 不再需要时释放资源
+引用
(ref - 1164) Ilya。坎特。“灾难性的回溯”。2020-12-13。<https://javascript.info/regexp-catastrophic-backtracking>。
+内容的历史
+提交
提交日期 提交者 组织
2006-07-19 千鸟
+贡献
贡献的日期 贡献者 组织
2021-11-11 Szilɕrd菲佛 Balasys IT安全
提交的内容,导致适用修改平台,共同影响,潜在的缓解措施,示范例子,观察到的例子。
+修改
修改日期 修饰符 组织
2008-07-01 Eric Dalci Cigital
更新Time_of_Introduction
2008-09-08 CWE内容团队 主教法冠
更新的关系,Other_Notes Taxonomy_Mappings
2008-10-14 CWE内容团队 主教法冠
更新描述
2009-07-27 CWE内容团队 主教法冠
更新Common_Consequences Other_Notes
2010-02-16 CWE内容团队 主教法冠
更新Taxonomy_Mappings
2010-12-13 CWE内容团队 主教法冠
更新描述
2011-06-01 CWE内容团队 主教法冠
更新Common_Consequences、关系、Taxonomy_Mappings
2011-06-27 CWE内容团队 主教法冠
更新Common_Consequences
2012-05-11 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2012-10-30 CWE内容团队 主教法冠
更新Potential_Mitigations
2014-07-30 CWE内容团队 主教法冠
更新的关系
2015-12-07 CWE内容团队 主教法冠
更新的关系
2017-11-08 CWE内容团队 主教法冠
更新Applicable_Platforms Functional_Areas
2019-01-03 CWE内容团队 主教法冠
更新的关系,Taxonomy_Mappings
2019-06-20 CWE内容团队 主教法冠
更新的关系
2020-02-24 CWE内容团队 主教法冠
更新的关系
2023-01-31 CWE内容团队 主教法冠
更新Applicable_Platforms、Common_Consequences Demonstrative_Examples、描述Observed_Examples, Potential_Mitigations,引用,Time_of_Introduction
更多的信息是可用的,请选择一个不同的过滤器。
页面最后更新:2023年1月31日