Name |
XML Flood |
|
Likelyhood of attack |
Typical severity |
Low |
Medium |
|
Summary |
An adversary may execute a flooding attack using XML messages with the intent to deny legitimate users access to a web service. These attacks are accomplished by sending a large number of XML based requests and letting the service attempt to parse each one. In many cases this type of an attack will result in a XML Denial of Service (XDoS) due to an application becoming unstable, freezing, or crashing. XDoS is most closely associated with web services, SOAP, and Rest, because remote service requesters can post malicious XML payloads to the service provider designed to exhaust the service provider's memory, CPU, and/or disk space. The main weakness in XDoS is that the service provider generally must inspect, parse, and validate the XML messages to determine routing, workflow, security considerations, and so on. It is exactly these inspection, parsing, and validation routines that XDoS targets. This attack exploits the loosely coupled nature of web services, where the service provider has little to no control over the service requester and any messages the service requester sends. |
Prerequisites |
The target must receive and process XML transactions. An adverssary must possess the ability to generate a large amount of XML based messages to send to the target service. |
Execution Flow |
Step |
Phase |
Description |
Techniques |
1 |
Explore |
[Survey the target] Using a browser or an automated tool, an attacker records all instance of web services to process XML requests. |
- Use an automated tool to record all instances of URLs to process XML requests.
- Use a browser to manually explore the website and analyze how the application processes XML requests.
|
2 |
Experiment |
An adversary crafts input data that may have an adverse effect on the operation of the web service when the XML data sent to the service. |
|
3 |
Exploit |
[Launch a resource depletion attack] The attacker delivers a large number of XML messages to the target URLs found in the explore phase at a sufficiently rapid rate. It causes denial of service to the target application. |
- Send a large number of crafted XML messages to the target URL.
|
|
Solutions | Design: Build throttling mechanism into the resource allocation. Provide for a timeout mechanism for allocated resources whose transaction does not complete within a specified interval. Implementation: Provide for network flow control and traffic shaping to control access to the resources. |
Related Weaknesses |
CWE ID
|
Description
|
CWE-770 |
Allocation of Resources Without Limits or Throttling |
|
Related CAPECS |
CAPEC ID
|
Description
|
CAPEC-125 |
An adversary consumes the resources of a target by rapidly engaging in a large number of interactions with the target. This type of attack generally exposes a weakness in rate limiting or flow. When successful this attack prevents legitimate users from accessing the service and can cause the target to crash. This attack differs from resource depletion through leaks or allocations in that the latter attacks do not rely on the volume of requests made to the target but instead focus on manipulation of the target's operations. The key factor in a flooding attack is the number of requests the adversary can make in a given period of time. The greater this number, the more likely an attack is to succeed against a given target. |
|
Taxonomy: ATTACK |
Entry ID
|
Entry Name
|
1499.002 |
Endpoint Denial of Service:Service Exhaustion Flood |
|