CWE-406 对网络消息容量的控制不充分(网络放大攻击)
Insufficient Control of Network Message Volume (Network Amplification)
结构: Simple
Abstraction: Class
状态: Incomplete
被利用可能性: unkown
基本描述
The software does not sufficiently monitor or control transmitted network traffic volume, so that an actor can cause the software to transmit more traffic than should be allowed for that actor.
扩展描述
In the absence of a policy to restrict asymmetric resource consumption, the application or system cannot distinguish between legitimate transmissions and traffic intended to serve as an amplifying attack on target systems. Systems can often be configured to restrict the amount of traffic sent out on behalf of a client, based on the client's origin or access level. This is usually defined in a resource allocation policy. In the absence of a mechanism to keep track of transmissions, the system or application can be easily abused to transmit asymmetrically greater traffic than the request or client should be permitted to.
相关缺陷
-
cwe_Nature: ChildOf cwe_CWE_ID: 405 cwe_View_ID: 1000 cwe_Ordinal: Primary
-
cwe_Nature: ChildOf cwe_CWE_ID: 405 cwe_View_ID: 699 cwe_Ordinal: Primary
适用平台
Language: {'cwe_Class': 'Language-Independent', 'cwe_Prevalence': 'Undetermined'}
常见的影响
范围 | 影响 | 注释 |
---|---|---|
Availability | ['DoS: Amplification', 'DoS: Crash, Exit, or Restart', 'DoS: Resource Consumption (CPU)', 'DoS: Resource Consumption (Memory)', 'DoS: Resource Consumption (Other)'] | System resources can be quickly consumed leading to poor application performance or system crash. This may affect network performance and could be used to attack other systems and applications relying on network performance. |
可能的缓解方案
Architecture and Design
策略: Separation of Privilege
An application must make network resources available to a client commensurate with the client's access level.
Policy
策略:
Define a clear policy for network resource allocation and consumption.
Implementation
策略:
An application must, at all times, keep track of network resources and meter their usage appropriately.
示例代码
例
This code listens on a port for DNS requests and sends the result to the requesting address.
bad Python
sock.bind( (UDP_IP,UDP_PORT) )
while true:
if not data:
(requestIP, nameToResolve) = parseUDPpacket(data)
record = resolveName(nameToResolve)
sendResponse(requestIP,record)
This code sends a DNS record to a requesting IP address. UDP allows the source IP address to be easily changed ('spoofed'), thus allowing an attacker to redirect responses to a target, which may be then be overwhelmed by the network traffic.
分析过的案例
标识 | 说明 | 链接 |
---|---|---|
CVE-1999-0513 | Classic "Smurf" attack, using spoofed ICMP packets to broadcast addresses. | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-0513 |
CVE-1999-1379 | DNS query with spoofed source address causes more traffic to be returned to spoofed address than was sent by the attacker. | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-1379 |
CVE-2000-0041 | Large datagrams are sent in response to malformed datagrams. | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2000-0041 |
CVE-1999-1066 | Game server sends a large amount. | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-1999-1066 |
CVE-2013-5211 | composite: NTP feature generates large responses (high amplification factor) with spoofed UDP source addresses. | https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2013-5211 |
Notes
Relationship
This can be resultant from weaknesses that simplify spoofing attacks.
Theoretical
Network amplification, when performed with spoofing, is normally a multi-channel attack from attacker (acting as user) to amplifier, and amplifier to victim.
分类映射
映射的分类名 | ImNode ID | Fit | Mapped Node Name |
---|---|---|---|
PLOVER | Network Amplification |
文章来源于互联网:scap中文网
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论