Index
DoS / DDoS Attacks
TCP SYN Flood Attack
UDP Flood Attacks
Ping of Death Attacks
Smurf Attacks
Teardrop Attacks
Bonk Attacks
Land Attacks
Distributed Denial of Service (DDoS) Attacks
4.1 DoS / DDoS Attacks
A Denial of Service (DoS) attack is one
of the most simple and common attacks today. DoS attacks are not
targeted at stealing, modifying or destroying information, but to
prevent legitimate users from using a service. A DOS attack comes
in many forms, from simply cutting of the power to a system, or
flooding a system with seemingly legitimate network traffic, anything
that will results in a denial of service. The public nature of the
Internet makes it particularly vulnerable to DoS attacks. The DoS/DDoS
attacks described below are all network-based DoS attacks.
DoS/DDoS attacks are also active attacks, as the attacker
actively attempts to change something, in this case the availability
of a server or service.
TCP SYN Flood Attack
A common example of a DoS attack is the TCP SYN flood attack,
in which the attacker exploits behavior inherit to the TCP protocol.
A TCP session is established by using a three-way handshake
mechanism, which allows the client and the host to synchronize the
connection and agree upon the initial sequence numbers. When the
client connects to the host, it sends a SYN request to establish
and synchronize the connection. The host replies with a SYN / ACK,
again to synchronize. Then the client acknowledges it received the
SYN/ ACK packet by sending and ACK. When the host receives the ACK
the connection will become OPEN, allowing traffic from both sides
(full-duplex). The connection remains open until the client or the
host issues a FIN or RST packet, or the connection times out. This
process is illustrated below:

In a TCP SYN flood attack, the attacker creates
half-open TCP connections by sending the initial SYN packet with
a forged IP address, and never acknowledges the SYN /ACK from the
host with an ACK. This will eventually lead to the host reaching
a limit and stop accepting connections from legitimate users as
well. Many routers and other network nodes today are able to detect
SYN floods by monitoring the amount of unacknowledged TCP sessions
and kill them before the session queue is full. They can often be
configured to set the maximum allowed number of half-open connections,
and limit the amount of time the host waits for the final acknowledgement.
Without these preventive measures, the server could eventually run
out of memory, causing it to crash entirely.
UDP Flood Attacks
UDP is a connectionless protocol that doesn’t use a handshake
mechanism to establish a connection. This makes it relatively easy
to abuse for flood attacks. A common type of UDP flood attack often
referred to as a Pepsi attack, is an attack in which the
attacker sends a large number of forged UDP packets to random diagnostic
ports on a target host. The CPU time, memory, and bandwidth required
to process these packets may cause the target to become unavailable
for legitimate users. To minimize the risk of a UDP flood attack,
disabling all unused UDP services on hosts and block the unused
UDP ports if you use a firewall to protect your network.
Ping of Death Attacks
Another well-known DoS attack is the Ping of Death. It
is also targeted at hosts with a weak implementation of the TCP/IP
stack. The attacker sends an ICMP Echo request packet with a size
larger than 65,535 bytes, causing the buffer at the receiver to
overflow when the packet is included in the reassemble process.
This can lead to the target system to crash and/or reboot. Especially
older Windows versions (95/NT4), but also older MAC and Linux operating
systems and other network devices such as routers were vulnerable
to the Ping of Death. Modern operating systems and network devices
safely disregard these oversized packets. Older systems can usually
be updated with a patch.
Smurf Attacks
A nasty type of DoS attack is the Smurf attack, which is
made possible mostly because of badly configured network devices
that respond to ICMP echoes sent to broadcast addresses. The attacker
sends a large amount of ICMP traffic to a broadcast address and
uses a victim’s IP address as the source IP so the replies
from all the devices that respond to the broadcast address will
flood the victim. The nasty part of this attack is that the attacker
can use a low-bandwidth connection to kill high-bandwidth connections.
The amount of traffic sent by the attacker is multiplied by a factor
equal to the number of hosts behind the router that reply to the
ICMP echo packets.

The diagram above depicts a Smurf attack in progress.
The attacker sends a stream of ICMP echo packets to the router at
128Kbps. The attacker modifies the packets by changing the source
IP to the IP address of the victim’s computer so replies to
the echo packets will be sent to that address. The destination address
of the packets is a broadcast address of the so-called bounce
site, in this case 129.64.255.255. If the router is (mis-)configured
to forward these broadcasts to hosts on the other side of the router
(by forwarding layer 3 broadcasts to the layer 2 broadcast address
FF:FF:FF:FF:FF:FF) all these host will reply. In the above example
that would mean 640Kbps (5 x 128Kbps) of ICMP replies will be sent
to the victim’s system, which would effectively disable its
512Kbps connection. Besides the target system, the intermediate
router is also a victim, and thus also the hosts in the bounce site.
A similar attack that uses UDP echo packets instead of ICMP echo
packets is called a Fraggle attack.
It is difficult to prevent Smurf attacks entirely
because they are made possible by incorrectly configured networks
from a third party. The Smurf Amplifier Registry (SAR) http://www.powertech.no/smurf/
Netscan.org is one of several publicly available databases that
can be used to configure routers and firewalls to block ICMP traffic
from these networks. The Smurf Amplifier Registry (SAR) can be downloaded
in Cisco ACL format. If you use Cisco routers, make sure all interfaces
are configured with the no ip-directed broadcast
command (default since IOS 12.0).
The following three DoS attacks are not likely to appear on the
Security+ exam, but are listed for completeness. Especially older
versions of Windows but many other systems as well were
vulnerable to these attacks. As many other attacks, they are aimed
at the IP stack. The first two use packet fragmentation and reassembly
vulnerabilities in specific. If older systems are patched, they
are usually no longer vulnerable.
Teardrop Attacks
When data is sent across a TCP/IP network, it is fragmented into
small fragments. The fragments contain an Offset field
in their TCP header that specifies where certain data starts and
ends. In a Teardrop attack, the attacker sends fragments
with invalid overlapping values in the Offset field, which may cause
the target system to crash when it attempts to reassemble the data.
Today’s implementations of the TCP/IP stack safely disregard
such invalid packets.
Bonk Attacks
The Bonk attack is similar to a Teardrop attack. Instead
of sending IP fragments with overlapping Offset values in the TCP
header, the Offset values that are too large. As with the Teardrop
attack, this may cause the target system to crash.
Land Attacks
During a Land attack, the attacker sends a forged TCP SYN
packet with the same source and destination IP address. This confuses
systems with outdated versions of the TCP/IP stack because it receives
a TCP connection request from itself. This may cause the target
system to crash.
Distributed Denial of Service (DDoS) Attacks
When an attacker attacks from multiple source systems, it is called
a Distributed Denial of Service (DDoS) attack. If the attacker
is able to organize a large amount of users to connect to the same
website at the same time, the web server, often configured to allow
a maximum number of client connections, will deny further connections.
Hence, a denial of service will occur. This is a common method used
by ‘Hacktivists’. An organization like Green Peace could
organize such an attack against a Fortune 500 company’s website
that sells fur, for example.
However, the attacker typically does not own these
computers. The actual owners are usually not aware of their system
being used in a DDoS attack. The attacker usually distributes
Trojan Horses that contain malicious code that allows the attacker
to control their system. Such malicious code is also referred to
as a Backdoor. Once these Trojan Horses are executed, they
may use email to inform the attacker that the system can be remotely
controlled. The attacker will then install the tools required to
perform the attack. Once the attacker controls enough systems, which
are referred to as zombies or slaves, he or she
can launch the attack. The following diagram depicts such a scenario:

In most cases, it is difficult or even impossible
to prevent DDoS attacks entirely. Some routers, firewalls, and IDSs
are able to detect DoS attacks and block suspicious connections
to prevent a service from being overloaded. When you are the victim
of an ongoing DDoS attack, you should contact your ISP to block
the IP addresses that seem to be the source of the attack. However,
the attacker may forge the source addresses, making it very difficult
to trace the actual source(s) of the attack without extensive cooperation
of your ISP.
|