Info - Denial of Service.


With the number of 'hacking' attacks being reported in the news increasing, this page attempts to describe in general terms how one class of these attacks (denial-of-service) work.

Types of Attack

We'll get into specific attacks in a bit, but in general terms, denial-of-service attacks fall into four broad categories:
     Tying up a server
     Tying up CPU cycles or resources
     Disabling web traffic (this can also happen accidently)
     Mail bombs

What most people don't realize is that network communications consists of several layers. Each layer has its own protocols for information transmission and security. Toward the bottom is the actual telecommunications layer. Because this layer contains the greatest concentration of traffic (after all, everything eventually gets reduced to bits being sent over wires), it is probably the weakest link in the chain. If your telcom layer can be interrupted, everything comes to a halt. In some companies, if communications are interrupted for even a day, the company can be in serious business trouble; those companies will often have triple-redundant routing (or more) so that if one channel gets attacked, other channels are still available.

Specific Attacks

Below are descriptions of six denial-of-service attacks (there are more). The descriptions are kept general and are readily available on the net. Please don't ask for further details.

     SYN Flood
  The basic purpose of a SYN flood is to use up all new network connections at a site and thus prevent legal users from being able to connect. TCP connections are made by first sending a request to connect with an ID in it. The receiving connection sends out an acknowledgment saying it's ready and then the sending system is supposed to send an acknowledgment that the connection has been made. The SYN (SYnchronize sequence Number) packet is the first of these and contains the ID the receiver is supposed to reply to. If a fake ID is in that packet then the receiving system system never gets a connection acknowledgment. Eventually, the connection will time out and that incoming channel on the receiver will become available again for another request. A SYN flood sends so many such requests that all incoming connections are continuously tied up waiting for acknowledgments that never come. This makes the server generally unavailable to legal users (unless one happens to sneak in just at the moment one of the tied-up connections times out).

     Ping of Death
  Ping (short for Packet Internet Groper) is a program that tests a TCP network by sending an echo request, expecting a reply. The Ping of Death uses a test packet larger than that allowed. This can result in either a system crash or problems with network programs running on the targeted computer.

     Mail Bombs
  Unlike the E-mail virus hoaxes which say you can get a virus by simply reading E-mail, the mail bomb is the sending of very large volumes of mail to a mail server. Many can't handle large volumes of mail and this will cause legal users to be denied service or maybe lost mail for legal users.

     Host System Hogging
  One of the oldest methods of attack, basically this involves causing a program to run on the attacked system; a program that effectively ties up the CPU on the system, making it unavailable to other users. When this happens, the operating system generally crashes and takes the system down with it. Since this type of attack has been around for some time, most operating systems have safeguards against this built in. But, newer operating systems are sometimes vulnerable (e.g., at this writing, 'hackers' are still finding some holes in NT that, in theory, could be exploited by an ActiveX control or, perhaps, a Netscape plug-in; as found, these holes are being plugged).

     Rogue Applets
  These attacks are not directed against a server but against users. Most user operatins systems are not particularly secure and hostile applets embedded in web pages have already been published which can, when downloaded and run, effectively put the users' system into an infinite loop which requires a restart to end. This is why it's very important to browse with automatic running of applets turned off. If you get to a page that requires an applet and you trust the source, just change your browser's security level and reload the page (but, don't forget to turn automatic running off again when done).

     Accidental Denial-of-Service
  The internet is a complicated place and there is no single, central point of control for everything. With so many individuals and companies involved, there are bound to be errors. One happened in 1997 when a corrupted DNS table (the table that connects domain names to their actual numerical locations) was released for distribution. The error was quickly discovered but it took roughly three hours for the good table to propogate across the internet and replace the bad one. During this time, many systems could not be reached because the DNS table contained incorrect information.

Attacks can be sent by an individual or individuals or can be set up to be sent automatically by programs known as Zombies that may have been installed in various computers in advance of the attack. With Zombies, all the attacker need do is send a single command and they perform the attack. This method can more easily isolate the attacker from those who might want to find him/her as the attack itself is coming from completely unrelated computers that may be half a world away.

What Can Be Done?

Often, nothing; particularly as a user (except for applet attacks which you can prevent from loading). If a server you use is attacked, you must wait for the administrator of that server to take actions; and, even those are sometimes hard to take because it's often hard to trace where an attack is coming from (it takes the cooperation of server administrators upstream to determine exactly where an attack is coming from and by the time the research can be done the attack is often over, only to be started from some other location).

Some specific attacks can be countered by upgrades to the network operating system; so if you operate a server make certain you have the latest software and know about all the various patches that have been issued for it relating to security.

The bottom line is, as in all cases of "bad" behavior, the ultimate solution would be for an improvement in the behavior of those who would take servers down just for the fun of it. Until those morals improve there will always be attacks and countermeasures. Those in the middle just have to keep up to date.