In
computing, a
denial-of-service attack (
DoS attack) or
distributed denial-of-service attack (
DDoS attack) is an attempt to make a machine or network resource unavailable to its intended
users.
Although the means to carry out, motives for, and targets of a DoS
attack may vary, it generally consists of the efforts of one or more
people to temporarily or indefinitely interrupt or suspend
services of a
host connected to the
Internet.
Perpetrators of DoS attacks typically target sites or services hosted on high-profile
web servers such as banks,
credit card payment gateways, and even
root nameservers.
This technique has now seen extensive use in certain games, used by
server owners, or disgruntled competitors on games such as
Minecraft and
League of Legends. The term is generally used relating to
computer networks, but is not limited to this field; for example, it is also used in reference to
CPU resource management.
[1]
One common method of attack involves saturating the target machine
with external communications requests, so much so that it cannot respond
to legitimate traffic, or responds so slowly as to be rendered
essentially unavailable. Such attacks usually lead to a
server overload. In general terms, DoS attacks are implemented by either forcing the targeted computer(s) to reset, or consuming its
resources
so that it can no longer provide its intended service or obstructing
the communication media between the intended users and the victim so
that they can no longer communicate adequately.
Denial-of-service attacks are considered violations of the
IAB's
Internet proper use policy, and also violate the
acceptable use policies of virtually all
Internet service providers. They also commonly constitute violations of the laws of individual nations.
Symptoms and manifestations
The
United States Computer Emergency Readiness Team (US-CERT) defines symptoms of denial-of-service attacks to include:
- Unusually slow network performance (opening files or accessing web sites)
- Unavailability of a particular web site
- Inability to access any web site
- Dramatic increase in the number of spam emails received—(this type of DoS attack is considered an e-mail bomb)[2]
- Disconnection of a wireless or wired internet connection
- The term "hit offline" being used on you, then you (the target) may disconnect from the internet
Denial-of-service attacks can also lead to problems in the network
'branches' around the actual computer being attacked. For example, the
bandwidth of a router between the Internet and a
LAN may be consumed by an attack, compromising not only the intended computer, but also the entire network.
If the attack is conducted on a sufficiently large scale, entire
geographical regions of Internet connectivity can be compromised without
the attacker's knowledge or intent by incorrectly configured or flimsy
network infrastructure equipment.
Methods of attack
A "denial-of-service" attack is characterized by an explicit attempt
by attackers to prevent legitimate users of a service from using that
service. There are two general forms of DoS attacks: those that crash
services and those that flood services.
A DoS attack can be perpetrated in a number of ways. The five basic types of attack are:
- Consumption of computational resources, such as bandwidth, disk space, or processor time.
- Disruption of configuration information, such as routing information.
- Disruption of state information, such as unsolicited resetting of TCP sessions.
- Disruption of physical network components.
- Obstructing the communication media between the intended users and the victim so that they can no longer communicate adequately.
A DoS attack may include execution of
malware intended to
- Max out the processor's usage, preventing any work from occurring.
- Trigger errors in the microcode of the machine.
- Trigger errors in the sequencing of instructions, so as to force the computer into an unstable state or lock-up.
- Exploit errors in the operating system, causing resource starvation and/or thrashing, i.e. to use up all available facilities so no real work can be accomplished or it can crash the system itself
- Crash the operating system itself.
ICMP flood
A
smurf attack
is one particular variant of a flooding DoS attack on the public
Internet. It relies on misconfigured network devices that allow packets
to be sent to all computer hosts on a particular network via the
broadcast address
of the network, rather than a specific machine. The network then serves
as a smurf amplifier. In such an attack, the perpetrators will send
large numbers of
IP
packets with the source address faked to appear to be the address of
the victim. The network's bandwidth is quickly used up, preventing
legitimate packets from getting through to their destination.
[3] To combat Denial of Service attacks on the Internet, services like the
Smurf Amplifier Registry have given
network service providers the ability to identify misconfigured networks and to take appropriate action such as
filtering.
Ping flood is based on sending the victim an overwhelming number of
ping packets, usually using the "ping" command from unix-like hosts (the -t flag on
Windows
systems is much less capable of overwhelming a target, also the -l
(size) flag does not allow sent packet size greater than 65500 in
Windows). It is very simple to launch, the primary requirement being
access to greater
bandwidth than the victim.
Ping of death is based on sending the victim a malformed ping packet, which might lead to a system crash.
(S)SYN flood
A
SYN flood
occurs when a host sends a flood of TCP/SYN packets, often with a
forged sender address. Each of these packets is handled like a
connection request, causing the server to spawn a
half-open connection,
by sending back a TCP/SYN-ACK packet (Acknowledge), and waiting for a
packet in response from the sender address (response to the ACK Packet).
However, because the sender address is forged, the response never
comes. These half-open connections saturate the number of available
connections the server is able to make, keeping it from responding to
legitimate requests until after the attack ends.
[4]
Teardrop attacks
A Teardrop attack involves sending
mangled IP
fragments with overlapping, over-sized payloads to the target machine.
This can crash various operating systems because of a bug in their
TCP/IP fragmentation re-assembly code.
[5] Windows 3.1x,
Windows 95 and
Windows NT operating systems, as well as versions of
Linux prior to versions 2.0.32 and 2.1.63 are vulnerable to this attack.
Around September 2009, a vulnerability in
Windows Vista was referred to as a "teardrop attack", but the attack targeted
SMB2 which is a higher layer than the TCP packets that teardrop used.
[6][7]
Low-rate Denial-of-Service attacks
The Low-rate DoS (LDoS) attack exploits TCP’s slow-time-scale
dynamics of retransmission time-out (RTO) mechanisms to reduce TCP
throughput. Basically, an attacker can cause a TCP flow to repeatedly
enter a RTO state by sending high-rate, but short-duration bursts, and
repeating periodically at slower RTO time-scales. The TCP throughput at
the attacked node will be significantly reduced while the attacker will
have low average rate making it difficult to be detected.
[8]
Peer-to-peer attacks
Attackers have found a way to exploit a number of bugs in
peer-to-peer servers to initiate DDoS attacks. The most aggressive of these peer-to-peer-DDoS attacks exploits
DC++. Peer-to-peer attacks are different from regular
botnet-based
attacks. With peer-to-peer there is no botnet and the attacker does not
have to communicate with the clients it subverts. Instead, the attacker
acts as a "puppet master," instructing clients of large
peer-to-peer file sharing
hubs to disconnect from their peer-to-peer network and to connect to
the victim's website instead. As a result, several thousand computers
may aggressively try to connect to a target website. While a typical web
server can handle a few hundred connections per second before
performance begins to degrade, most web servers fail almost instantly
under five or six thousand connections per second. With a moderately
large peer-to-peer attack, a site could potentially be hit with up to
750,000 connections in short order. The targeted web server will be
plugged up by the incoming connections.
While peer-to-peer attacks are easy to identify with signatures, the
large number of IP addresses that need to be blocked (often over 250,000
during the course of a large-scale attack) means that this type of
attack can overwhelm mitigation defenses. Even if a mitigation device
can keep blocking IP addresses, there are other problems to consider.
For instance, there is a brief moment where the connection is opened on
the server side before the signature itself comes through. Only once the
connection is opened to the server can the identifying signature be
sent and detected, and the connection torn down. Even tearing down
connections takes server resources and can harm the server.
This method of attack can be prevented by specifying in the peer-to-peer protocol which ports are allowed or not. If
port 80 is not allowed, the possibilities for attack on websites can be very limited.
Asymmetry of resource utilization in starvation attacks
An attack which is successful in consuming resources on the victim computer must be either:
- carried out by an attacker with great resources, by either:
- controlling a computer with great computation power or, more commonly, large network bandwidth
- controlling a large number of computers and directing them to attack as a group. A DDOS attack is the primary example of this.
- taking advantage of a property of the operating system or
applications on the victim system which enables an attack consuming
vastly more of the victim's resources than the attacker's (an asymmetric
attack). Smurf attack, SYN flood, Sockstress and NAPTHA are all asymmetric attacks.
An attack may utilize a combination of these methods in order to magnify its power.
Permanent denial-of-service attacks
A permanent denial-of-service (PDoS), also known loosely as flashing,
[9] is an attack that damages a system so badly that it requires replacement or reinstallation of hardware.
[10]
Unlike the distributed denial-of-service attack, a PDoS attack exploits
security flaws which allow remote administration on the management
interfaces of the victim's hardware, such as routers, printers, or other
networking hardware. The attacker uses these vulnerabilities to replace a device's
firmware with a modified, corrupt, or defective firmware image—a process which when done legitimately is known as
flashing. This therefore "
bricks" the device, rendering it unusable for its original purpose until it can be repaired or replaced.
The PDoS is a pure hardware targeted attack which can be much faster
and requires fewer resources than using a botnet in a DDoS attack.
Because of these features, and the potential and high probability of
security exploits on Network Enabled Embedded Devices (NEEDs), this
technique has come to the attention of numerous
hacker
communities. PhlashDance is a tool created by Rich Smith (an employee
of Hewlett-Packard's Systems Security Lab) used to detect and
demonstrate PDoS vulnerabilities at the 2008
EUSecWest Applied Security Conference in London.
[11]
Application-level floods
Various DoS-causing
exploits such as
buffer overflow can cause server-running software to get confused and fill the disk space or consume all available memory or
CPU time.
Other kinds of DoS rely primarily on brute force, flooding the target
with an overwhelming flux of packets, oversaturating its connection
bandwidth or depleting the target's system resources.
Bandwidth-saturating floods rely on the attacker having higher bandwidth
available than the victim; a common way of achieving this today is via
Distributed Denial of Service, employing a
botnet.
Other floods may use specific packet types or connection requests to
saturate finite resources by, for example, occupying the maximum number
of open connections or filling the victim's disk space with logs.
A "banana attack" is another particular type of DoS. It involves
redirecting outgoing messages from the client back onto the client,
preventing outside access, as well as flooding the client with the sent
packets.
An attacker with shell-level access to a victim's computer may slow it until it is unusable or crash it by using a
fork bomb.
A kind of application-level DoS attack is
XDoS (or XML DoS) which can be controlled by modern Web
Application Firewalls (WAFs).
Nuke
A Nuke is an old denial-of-service attack against
computer networks consisting of fragmented or otherwise invalid
ICMP packets sent to the target, achieved by using a modified
ping utility to repeatedly send this corrupt data, thus slowing down the affected computer until it comes to a complete stop.
A specific example of a nuke attack that gained some prominence is the
WinNuke, which exploited the vulnerability in the
NetBIOS handler in
Windows 95. A string of out-of-band data was sent to
TCP port 139 of the victim's machine, causing it to lock up and display a
Blue Screen of Death (BSOD).
R-U-Dead-Yet? (RUDY)
This attack is one of many web application DoS tools available to
directly attack web applications by starvation of available sessions on
the web server. Much like
Slowloris,
RUDY keeps sessions at halt using never-ending POST transmissions and
sending an arbitrarily large content-length header value.
Slow Read attack
Slow Read attack sends legitimate application layer requests but
reads responses very slowly, thus trying to exhaust the server's
connection pool. Slow reading is achieved by advertising very small
number for the TCP Receive Window size and at the same time by emptying
clients' TCP receive buffer slowly. That naturally ensures a very low
data flow rate.
Distributed attack
A distributed denial of service attack (DDoS) occurs when multiple
systems flood the bandwidth or resources of a targeted system, usually
one or more web servers. This is the result of multiple compromised
systems (for example a botnet) flooding the targeted system(s) with
traffic. When a server is overloaded with connections, new connections
can no longer be accepted.
Malware can carry DDoS attack mechanisms; one of the better-known examples of this was
MyDoom.
Its DoS mechanism was triggered on a specific date and time. This type
of DDoS involved hardcoding the target IP address prior to release of
the malware and no further interaction was necessary to launch the
attack.
A system may also be compromised with a
trojan, allowing the attacker to download a
zombie agent
(or the trojan may contain one). Attackers can also break into systems
using automated tools that exploit flaws in programs that listen for
connections from remote hosts. This scenario primarily concerns systems
acting as servers on the web.
Stacheldraht is a classic example of a DDoS tool. It utilizes a layered structure where the attacker uses a
client program to connect to handlers, which are compromised systems that issue commands to the
zombie agents,
which in turn facilitate the DDoS attack. Agents are compromised via
the handlers by the attacker, using automated routines to exploit
vulnerabilities in programs that accept remote connections running on
the targeted remote hosts. Each handler can control up to a thousand
agents.
[12]
These collections of systems compromisers are known as
botnets. DDoS tools like
Stacheldraht still use classic DoS attack methods centered on
IP spoofing and amplification like
smurf attacks and
fraggle attacks
(these are also known as bandwidth consumption attacks). SYN floods
(also known as resource starvation attacks) may also be used. Newer
tools can use DNS servers for DoS purposes. See next section.
Simple attacks such as SYN floods may appear with a wide range of
source IP addresses, giving the appearance of a well distributed DoS.
These flood attacks do not require completion of the TCP
three way handshake
and attempt to exhaust the destination SYN queue or the server
bandwidth. Because the source IP addresses can be trivially spoofed, an
attack could come from a limited set of sources, or may even originate
from a single host. Stack enhancements such as
syn cookies may be effective mitigation against SYN queue flooding, however complete bandwidth exhaustion may require involvement.
Unlike MyDoom's DDoS mechanism, botnets can be turned against any IP address.
Script kiddies use them to deny the availability of well known websites to legitimate users.
[13] More sophisticated attackers use DDoS tools for the purposes of
extortion – even against their business rivals.
[14]
If an attacker mounts an attack from a single host it would be
classified as a DoS attack. In fact, any attack against availability
would be classed as a Denial of Service attack. On the other hand, if an
attacker uses many systems to simultaneously launch attacks against a
remote host, this would be classified as a DDoS attack.
The major advantages to an attacker of using a distributed
denial-of-service attack are that: multiple machines can generate more
attack traffic than one machine, multiple attack machines are harder to
turn off than one attack machine, and that the behavior of each attack
machine can be stealthier, making it harder to track and shut down.
These attacker advantages cause challenges for defense mechanisms. For
example, merely purchasing more incoming bandwidth than the current
volume of the attack might not help, because the attacker might be able
to simply add more attack machines.
In some cases a machine may become part of a DDoS attack with the
owner's consent. An example of this is the 2010 DDoS attack against
major credit card companies by supporters of
WikiLeaks. In cases such as this, supporters of a movement (in this case, those opposing the arrest of WikiLeaks founder
Julian Assange) choose to download and run DDoS software.
Reflected / Spoofed attack
A distributed reflected denial of service attack (DRDoS) involves
sending forged requests of some type to a very large number of computers
that will reply to the requests. Using
Internet Protocol address spoofing, the source address is set to that of the targeted victim, which means all the replies will go to (and flood) the target.
ICMP Echo Request attacks (
Smurf Attack)
can be considered one form of reflected attack, as the flooding host(s)
send Echo Requests to the broadcast addresses of mis-configured
networks, thereby enticing many hosts to send Echo Reply packets to the
victim. Some early DDoS programs implemented a distributed form of this
attack.
Many services can be exploited to act as reflectors, some harder to block than others.
[15]
DNS amplification attacks involve a new mechanism that increased the
amplification effect, using a much larger list of DNS servers than seen
earlier.
[16]
Unintentional denial of service
This describes a situation where a website ends up denied, not due to
a deliberate attack by a single individual or group of individuals, but
simply due to a sudden enormous spike in popularity. This can happen
when an extremely popular website posts a prominent link to a second,
less well-prepared site, for example, as part of a news story. The
result is that a significant proportion of the primary site's regular
users – potentially hundreds of thousands of people – click that link in
the space of a few hours, having the same effect on the target website
as a DDoS attack. A VIPDoS is the same, but specifically when the link
was posted by a celebrity.
When
Michael Jackson died in 2009, websites such as Google and Twitter slowed down or even crashed.
[17]
Many sites' servers thought the requests were from a virus or spyware
trying to cause a Denial of Service attack, warning users that their
queries looked like "automated requests from a
computer virus or spyware application".
[18]
News sites and link sites – sites whose primary function is to
provide links to interesting content elsewhere on the Internet – are
most likely to cause this phenomenon. The canonical example is the
Slashdot effect when receiving traffic from
Slashdot. Sites such as
Reddit,
Digg, the
Drudge Report,
Fark,
Something Awful, and the webcomic
Penny Arcade
have their own corresponding "effects", known as "the Digg effect",
being "drudged", "farking", "goonrushing" and "wanging"; respectively.
Routers have also been known to create unintentional DoS attacks, as both
D-Link and
Netgear routers have created
NTP vandalism by flooding NTP servers without respecting the restrictions of client types or geographical limitations.
Similar unintentional denials of service can also occur via other
media, e.g. when a URL is mentioned on television. If a server is being
indexed by
Google or another
search engine
during peak periods of activity, or does not have a lot of available
bandwidth while being indexed, it can also experience the effects of a
DoS attack.
Legal action has been taken in at least one such case. In 2006,
Universal Tube & Rollform Equipment Corporation sued
YouTube:
massive numbers of would-be youtube.com users accidentally typed the
tube company's URL, utube.com. As a result, the tube company ended up
having to spend large amounts of money on upgrading their bandwidth.
[19]
Denial-of-Service Level II
The goal of DoS L2 (possibly DDoS) attack is to cause a launching of a
defense mechanism which blocks the network segment from which the
attack originated. In case of distributed attack or IP header
modification (that depends on the kind of security behavior) it will
fully block the attacked network from Internet, but without system
crash.
Performing DoS-attacks
A wide array of programs are used to launch DoS-attacks. Most of
these programs are completely focused on performing DoS-attacks, while
others are also true
Packet injectors,
thus able to perform other tasks as well. Such tools are intended for
benign use, but they can also be utilized in launching attacks on victim
networks.
Prevention and response
Defending against Denial of Service attacks typically involves the
use of a combination of attack detection, traffic classification and
response tools, aiming to block traffic that they identify as
illegitimate and allow traffic that they identify as legitimate.
[20] A list of prevention and response tools is provided below:
Firewalls
Firewalls
can be set up to have simple rules such to allow or deny protocols,
ports or IP addresses. In the case of a simple attack coming from a
small number of unusual IP addresses for instance, one could put up a
simple rule to drop all incoming traffic from those attackers.
More complex attacks will however be hard to block with simple rules:
for example, if there is an ongoing attack on port 80 (web service), it
is not possible to drop all incoming traffic on this port because doing
so will prevent the server from serving legitimate traffic.
[21]
Additionally, firewalls may be too deep in the network hierarchy.
Routers may be affected before the traffic gets to the firewall.
Nonetheless, firewalls can effectively prevent users from launching
simple flooding type attacks from machines behind the firewall.
Some
stateful firewalls, like OpenBSD's
pf(4)
packet filter, can act as a proxy for connections: the handshake is
validated (with the client) instead of simply forwarding the packet to
the destination. It is available for other BSDs as well. In that
context, it is called "synproxy".
Switches
Most switches have some rate-limiting and
ACL capability. Some switches provide automatic and/or system-wide
rate limiting,
traffic shaping,
delayed binding (
TCP splicing),
deep packet inspection and
Bogon filtering
(bogus IP filtering) to detect and remediate denial of service attacks
through automatic rate filtering and WAN Link failover and balancing.
[citation needed]
These schemes will work as long as the DoS attacks are something that
can be prevented by using them. For example SYN flood can be prevented
using delayed binding or TCP splicing. Similarly content based DoS may
be prevented using deep packet inspection. Attacks originating from
dark addresses or going to dark addresses can be prevented using
Bogon filtering.
Automatic rate filtering can work as long as you have set
rate-thresholds correctly and granularly. Wan-link failover will work as
long as both links have DoS/DDoS prevention mechanism.
[citation needed]
Routers
Similar to switches, routers have some rate-limiting and
ACL capability. They, too, are manually set. Most routers can be easily overwhelmed under DoS attack.
Cisco IOS has features that prevent flooding, i.e. example settings.
[22]
Application front end hardware
Application front end hardware is intelligent hardware placed on the
network before traffic reaches the servers. It can be used on networks
in conjunction with routers and switches. Application front end hardware
analyzes data packets as they enter the system, and then identifies
them as priority, regular, or dangerous. There are more than 25
bandwidth management vendors.
IPS based prevention
Intrusion-prevention systems
(IPS) are effective if the attacks have signatures associated with
them. However, the trend among the attacks is to have legitimate content
but bad intent. Intrusion-prevention systems which work on content
recognition cannot block behavior-based DoS attacks.
An
ASIC based IPS may detect and block denial of service attacks because they have the
processing power and the granularity to analyze the attacks and act like a
circuit breaker in an automated way.
[citation needed]
A
rate-based IPS (RBIPS)
must analyze traffic granularly and continuously monitor the traffic
pattern and determine if there is traffic anomaly. It must let the
legitimate traffic flow while blocking the DoS attack traffic.
DDS based defense
More focused on the problem than IPS, a DoS Defense System (DDS) is
able to block connection-based DoS attacks and those with legitimate
content but bad intent. A DDS can also address both protocol attacks
(such as Teardrop and Ping of death) and rate-based attacks (such as
ICMP floods and SYN floods).
Like IPS, a purpose-built system, such as the well-known Corero DDS
products, can detect and block denial of service attacks at much nearer
line speed than a software based system.
Blackholing and sinkholing
With blackholing, all the traffic to the attacked DNS or IP address
is sent to a "black hole" (null interface, non-existent server, ...). To
be more efficient and avoid affecting network connectivity, it can be
managed by the ISP.
[23]
Sinkholing routes to a valid IP address which analyzes traffic and
rejects bad ones. Sinkholing is not efficient for most severe attacks.
Clean pipes
All traffic is passed through a "cleaning center" or a "scrubbing
center" via various methods such as proxies, tunnels or even direct
circuits, which separates "bad" traffic (DDoS and also other common
internet attacks) and only sends good traffic beyond to the server. The
provider needs central connectivity to the Internet to manage this kind
of service unless they happen to be located within the same facility as
the "cleaning center" or "scrubbing center".
[24]
Prolexic,
Tata Communications and
Verisign are examples of providers of this service.
[25][26]
Side effects of DoS attacks
Backscatter
In computer network security, backscatter is a side-effect of a
spoofed denial-of-service attack. In this kind of attack, the attacker
spoofs (or forges) the source address in
IP packets
sent to the victim. In general, the victim machine cannot distinguish
between the spoofed packets and legitimate packets, so the victim
responds to the spoofed packets as it normally would. These response
packets are known as backscatter.
[27]
If the attacker is spoofing source addresses randomly, the
backscatter response packets from the victim will be sent back to random
destinations. This effect can be used by
network telescopes as indirect evidence of such attacks.
The term "backscatter analysis" refers to observing backscatter packets arriving at a statistically significant portion of the
IP address space to determine characteristics of DoS attacks and victims.