nanog mailing list archives

Re: Effective ways to deal with DDoS attacks?


From: "Alexei Roudnev" <alex () relcom EU net>
Date: Thu, 2 May 2002 01:42:03 -0700


There is one more usefull policy to decrease effectiveness of attacks such as
DDOS.

This is _refusal_ policy. In case of SYN attack, if system ALWAYS accept SYN
packets, dropping old waiting half-open connections if there is not enougph room,
SYN attack became much less dangerous - if 90% traffic is DDOS and 10% traffic is
usefull, most _right_ connections will compleet succesfully (because if room for
the half-open connections is big enougph, DDOS packets will drop mainly other DDOS
related connections).

It's a common approach - NEVER refuse new requests for the resource, if there is
not enougph resource, drop some of the old users of the resource... In a lot of
cases, it will derevent deadlock because you will be dropping the users who
exhausted resource more than _correct_ users. It relay to the half connections,
memory, etc etc...

If case of _random_ IP addresses - ok, what's happen if you'll drop (always) FIRST
packet from any new IP address? For the good SYN packet, you will receive a second
request in a second; for a false one, you just filter out DDOS itself. This is not
universal, but for the simple DDOS it will work.

It's not too bad to slow down all connections (by requesting _repeated request_,
for example) instead of blocking them.

So, I think things are not so bad.

----- Original Message -----
From: "Hank Nussbacher" <hank () att net il>
To: "Avleen Vig" <lists-nanog () silverwraith com>; "Pete Kruckenberg"
<pete () kruckenberg com>
Cc: <nanog () merit edu>
Sent: Thursday, May 02, 2002 1:51 AM
Subject: Re: Effective ways to deal with DDoS attacks?



At 01:49 AM 02-05-02 +0100, Avleen Vig wrote:

As time goes by, tools are being developed (in fact they're used now) that
completely randomize the TCP or UDP ports attacked, or use a variety of
icmp types in the attack.
So cuurrently the only way you can 'block' such attacks is to block all
packets for the offending protocol as far upstream as you possibly can,
but this is not ideal.

If you're being attacked by a SYN flood, you can ask try to rate-limit the
flood at your border (possible on Cisco IOS 12.0 and higher, and probably
other routers too?)

ACLs have been a good tool for the past number of years to stop DOS attacks
but they suffer one very bad feature - they throw away the good packets
along with the bad packets.  The same goes for CAR.  The same goes for
taking a /32 and null routing it.  Consider Amazon being hit with a DDOS
attack from random spoofed IPs to their web site.  You can't block on
source IP since it is random.  If you block on destination IP - you end up
taking Amazon off the network (the ultimate aim of the attacker) at a daily
revenue loss of over $1M.

Therefore, the solutions in the future will be mechanisms that can filter
and sieve the bad packets out and let the good packets thru.

Disclosure: I consult to an anti-DDOS company with this philosophy.

Hank
Consultant
Riverhead Networks (formerly Wanwall Networks)
www.riverhead.com


If you're being smurfed, you can block ICMP Echo Reply's inbound to the
target IP.

It all depends on the TYPE of attack.

Having said that, it's only a matter of time before somebody releases a
tool that saturates a line by spooofing the source, randomizing the
protocol, and ports, and maybe even atacking other hosts on the same
subnet, etc etc.

The only thing you can try and do is work with your upstream provider and
try to trace the source of the attacks back, but that's incredibly
difficult.

As a side note, does anyone know the status of the ICMP Traceback
proposal? The ieft draft expired yesterday:
http://www.ietf.org/internet-drafts/draft-ietf-itrace-01.txt




Current thread: