Denial of Service Attacks

advertisement
Denial of Service Attacks
Milutinović Veljko
IEEE Fellow and Professor on Faculty of Electrical Engineering, University of Belgrade, Serbia
vm@etf.bg.ac.yu
Milić Bratislav
Undergraduate student on Faculty of Electrical Engineering, University of Belgrade, Serbia
zverko@eunet.yu
Savić Milan
Undergraduate student on Faculty of Electrical Engineering, University of Belgrade, Serbia
savicm@net.yu
Jana Dittmann
Professor on Otto-von-Guericke Universität Magdeburg Fakultät für Informatik
jana.dittmann@iti.cs.uni-magdeburg.de
Matthias Hemmje
Professor on Institut für Informatik Lehr- und Forschungseinheit Medieninformatik Ludwig-MaximiliansUniversität München
hemmje@informatik.uni-muenchen.de
Frederic Patriceli
Telecom Italia Learning Services
frederic.patricelli@ssgrr.it
Recently, the entire World is experiencing problems with external attacks, and an important class of these
attacks is in the category of Denial of Service (DoS). So, here we give a classification of methods, examples of
attacks, about tools to fight against, plus comments about future.
What is Denial of Service Attack?
There's been lots of talk about these attacks in the past. Yet, some people are not completely clear with notion
of denial of service attacks. One of the most influential organizations in the area of security, CERT/CC, defines
it as "attack in which the primary goal is to deny the victim(s) access to a particular resource". It's a broad
definition and in real world, Denial of Service attack can be done in various ways: changing of configuration
information in such a way that some users are denied for some services; internal attacks, in which malicious
user, thanks to some operating system weaknesses can crash system processes, take large amounts of memory
or do anything else that can prevent other users from their usual jobs; taking and keeping database connections
which will prevent all other users from using the database.
Examples are numerous, but the ones mentioned so far are not really the attacks we want to talk about. All
those examples have one thing in common: attacker has access to a system that is being attacked. Therefore, if
we can prevent attackers from gaining access to our systems, we'll have no fear of attacks.
Our interest here is only a subset of DoS attacks - only attacks that are external and committed against web
servers. We have a good reason for this. Those attacks are the most common and create greatest impact on the
whole Internet community.
One of largest DoS attacks ever, was committed in February 2000. It lasted for three days, and targeted large
sites like Amazon, e-Buy, CNN, Yahoo. During the attack, those sites were almost completely inaccessible.
Study made by Keynote systems showed that the whole Internet experienced slowdown because of the traffic
generated by the attacks. On the last day of the attack, slowdown was nearly 30%.
That was a great example of a well-prepared and organized attack. However, it took lots of effort for attackers
to develop tools that provided them with such power.
Darwin was right!
Evolution theory seems to work not only for the living world, but also for DoS attacks. If we take a look on
early DoS attacks, and compare them with the later development of attacks, we can see all the important parts
of the evolution theory. New versions, some are successful and some aren't; the successful ones are improved
and incorporated in larger attack tools; occasionally, some completely new development shows up and all other
parts of security systems must adapt to it in order to stop it.
Probably the first type of DoS attack did not even have a specifically made tool. It was (in)famous "Ping of
Death" that used the badly implemented ping command to send IP packets larger than 65536 bytes (upper limit
for IP packet) and to crash down operating systems with bad implementation of TCP/IP layer - the systems that
could not handle such oversized packets. Solution for this attack was simple - only a patch for operating system
that solved all the problems.
Next generation of attacks tools developed first applications that are used for attacks. Techniques that were
developed include:
 UDP flood - attacker sends many UDP packets to victim, taking part, or even whole victim's
bandwidth. Usually, the attacker spoofs source address. That makes tracking back of the attacker and
stopping the flood much harder.
 SYN flood - attacker sends many false TCP connection requests and outnumbers regular connection
requests, so legitimate users have difficulties in connecting to attacked host. Attacked host also needs
to resolve every such request and looses lots of processing time on it.
 Smurf flood - attacker uses IP's broadcast ability to send ICMP_ECHOREQUEST packets to
intermediate networks. If intermediate network allows broadcasting, all the hosts in it will send
ICMP_ECHOREPLY packet to sender. The attacker changes original request by altering source
address - instead of originating host address, the attacker puts address of the victim. The intermediate
network is used as traffic amplifier.
These new techniques had given the attackers edge, but not for a long time. Knowledge on DoS attacks has
been collected, so administrators of attacked hosts were able to learn from others that had experienced DoS
attacks. Technology improvements also decreased effectiveness of attacks. High-speed links were available on
reasonable prices.
Attackers had to change something. If peer-to-peer attack is not enough, many-to-one attack should do it. That
was the notion behind Distributed Denial of Service attacks (DDoS).
DDoS attack tools are built to use DDoS networks. Networks that consist of hundreds and thousands of
compromised systems, all under control of a single attacker. Typical DDoS network has three layers. The
uppermost (client) layer is directly controlled by the attacker. It consists of a small number of machines since
the attacker controls them by hand. Client layer controls the middle (handler) layer. Handler layer is used to
provide the attacker easy way of changing sets of lowest (agent) layer machines. Agent layer does the flooding.
Flooding techniques are already described: UDP and SYN flood, Smurf. The power of DDoS attack is in huge
number of hosts used for attack and not in some new flooding technique. Using peer-to-peer attack mechanism,
the attacker would have to control every machine used in attack by hand, but architecture of DDoS network
provides control over thousands of machines with a single command. Several DDoS tools have been created so
far: Trinoo, TFN/TFN2K, Stacheldraht, etc.
To make bad things worse, source code of lots of DoS attack tools can be easily found on the Internet. In a
small experiment, we have been able to find fifteen different source codes using only Google. That provides
excellent base for new, improved version of such tools. Even attacker with moderate knowledge of
programming and basic understanding of TCP/IP can create very dangerous tools based on those sources.
How to defend?
Prepare and prevent. Although lots of work has already been done in this area, there is no ultimate and quick
solution.
Prevention should be done in two ways:
 Be prepared to respond quickly in case of an attack
 Do not become source of an attack
In case that your network is being attacked, damage of the attack will be substantially reduced if some defense
plans have already been made. Established chain of command with clearly divided responsibilities, together
with good and reliable communication is of great importance.
Nevertheless, no matter how good your organization, experience shows that in case of large scale DoS attack,
good cooperation with ISP (Internet Service Provider) is necessary. This applies both to small and large
networks. In case of the small ones, it is obvious that such a network cannot afford many experienced, high
quality staff, so additional help in the case of an attack will be needed. On the other hand, large networks can
afford numerous and trained staff, but to minimize the damage and reduce duration of an attack additional help
is needed. Don't forget - the larger the network is, the larger financial loss will be generated if the network does
not function properly.
Another very important aspect is preventing that your network becomes source of an attack. Attack that had
originated from your network can bring lots of bad publicity, and depending of law regulation in your country it
can even get you to court.
The first and the best solution for this is education. Educate both your administrators and ordinary users.
Administrators must be educated all the time. We have recently seen an advertisement in which is claimed that
a person can become certified system administrator in only eighteen days (certificate is provided by a large and
respectable company). We believe that in eighteen days can be learned a lot, but that is not enough. Such an
administrator can, based on the certificate, get a responsible job that requires more knowledge and more
experience, and in case of an attack (not only DoS attack) he/she will not know what to do. Additional
education together with gained experience is probably the best way to get excellent administrators.
Network staff must be motivated to do their jobs properly. To keep a system secured, appropriate patches must
be applied on time. Otherwise, attackers can easily compromise such system. In Honeynet experiment
(project.honeynet.org) was shown that out-of-box systems have lifetime between 24 and 72 hours (depending
on operating system) before they are compromised.
Ordinary users must be aware of security issues too. If users are reckless, administrators cannot do much, no
matter how good they are. Every mail worm or Trojan horse that is activated by some user can destroy all the
effort put in keeping the network secure.
So, what can your network administrator do to protect computer systems in your network from becoming
compromised victims of intruder attacks that will be the basis for further DoS activities? To recognize attacks
and intruders, Intrusion Detection Systems (IDS) become more and more popular especially in combination
with firewall techniques like Checkpoint Firewall 1 with INSPECT.
Based on experiences about the normal system activities and about existing attacks, an IDS tries to recognize
potential hacking activities. The technology combines protocol functions with filter functions from different
layers like network or application layer and different points of the systems itself, e.g. very often the firewall
itself as single-point-of-entry to the system provides a lot of traffic filtering. A distributed firewall concept is
very useful basis for DoS attack detection. The IDS filtering is mainly based on the observation of the normal
system behaviour to differ from a chain of single activities and to conclude to a potential hacking incident.
The general IDS model consists of an Event Generator, a Detection Engine and an Activity Profile. The
detection is performed by a Statistical Anomaly Detection or Pattern Matching Detection approach. Security
policies are the main requirement and precondition to configure an IDS and the success to detect DoS attacks is
depending on the design to detect complex patterns from the filter functions, which is still an active research
field.
Conclusion
Similar to other fields of computer security, there is no ultimate solution for the DoS attacks. Defenses are
constantly improving, but so are the attack tools. Yet, some improvements have been made. With increased care
of network security, attackers are forced to seek their victims in smaller networks and home users, which
reduces the impact of attacks. Still work has to be done to convince users to apply patches and update their
systems frequently. Attackers are using very common security flaws to compromise systems, so recently
patched and updated system will not become their prey. Increased awareness of DoS attack threat has created
lots of data on them, so in case of such attack, people can share others experiences and reduce the impact of the
attack.
Download