Denial of service

From Citizendium
Revision as of 06:34, 20 April 2010 by imported>Sandy Harris (ping of death)
Jump to navigation Jump to search
This article is developing and not approved.
Main Article
Discussion
Related Articles  [?]
Bibliography  [?]
External Links  [?]
Citable Version  [?]
 
This editable Main Article is under development and subject to a disclaimer.

Many attacks on computer security try to get the computer to do something for the miscreant, perhaps give him or her data that he/she is not authorised to have — credit card numbers, medical records, military secrets, ... — or let him or her perform some computer-mediated action — make bank withdrawals, launch some nuclear missiles, ... A denial of service, or DOS or DoS, attack does not do that; it just tries to deny normal computer services to the authorised users.

Some DoS attacks are flooding attacks; if an attacker sends you 10,000 emails, your normal email will likely not get through. 100,000,000 might take out not only your personal mail, but the whole mail server. Resource attacks attempt to exhaust some resource on the target system. Amplification attacks work by sending a small amount of data which will cause other systems to produce a flood.

However, not all DoS attacks involve flooding; an attacker may try to craft a really evil mail message, deliberately breaking the rules for mail formats in such a way that your mail server or your mail-reading software will crash when it tries to process the beast. Or he might take down the mail server with an attack unrelated to mail. In any case, a successful attack denies you mail service.

In general, this is easier than other attacks, like trying to read your mail or produce forged mail that appears to be from you. Unfortunately, those aren't necessarily hard either, but that's another topic.

In the late 90s, an attack called ping of death, abbreviated POD, became rather common, a single packet that would crash many machines. It first became widespread among gamers — crash another player's machine and you may be able to score while he is offline — but later became a standard tool for miscreants. IP allows a maximum packet size of 64K-1 bytes. when a packet is fragmented, each fragment carries a start address and a length to be used in re-assembly. What happens if you send a packet that says start me at 60K bytes and go for 32K from there? Of course, the operating system should reject such a packet, but if it does not then chaos may ensue because a large chunk of memory outside the packet buffer (60+32-64=28K in the example) is overwritten. At the time, this would crash nearly all desktop operating systems, either Windows or Macintosh, some server systems, and some routers. Since about 1998, however, the attack has been almost entirely ineffective; all the operating systems now check fragment sizes carefully.

Distributed denial of service

It is fairly common for attackers to take over a few tens of thousands of insecure machines. The "owned" machines are "zombies" and the network of them is a botnet (i.e., "robot network"). Botnets are now a business; spammers rent time on botnets to send their rubbish. The attackers search blocks of addresses used for broadband Internet, looking for vulnerable machines. Windows machines that have not done Microsoft's upgrades are their favorite target; such a machine is almost guaranteed to be taken over sooner or later.

Botnets are one way to carry out DDoS, Distributed denial of service attack, where thousands or millions of machines attack a single target, with no single attacker to stop. In other contexts, this multiple attacker model is that of swarming. Botnets are not the only way to carry out DDoS; a national attacker could use large numbers of owned machines.

The server may crash, and even if it doesn't, normal web services will be disrupted.

Defense

The first line of defense is detection, which can be especially difficult with DDoS because the attack traffic is light at any given point. When correlation among multiple network intrusion detection systems points to an attack in progress, or the attack becomes obvious at a host, a next step, in service provider networks, is to shift traffic directed at the attack point to a sinkhole for detailed analysis.

As long as the host under attack is unusable anyway, collateral damage to other hosts may be avoided by blackholing the traffic, typically by sending blackhole routes to edge routers via internal BGP.