FAQ
Here are answers to questions I have received or anticipated:
Is this really a new discovery?
The basic attack I described is certainly not new. I've been using
it for many years, and I certainly didn't invent it either. In fact,
it is somewhat straightforward for people with a strong background in
TCP/IP networking. A thorough description of this attack, with
proof-of-concept source code,
was posted to
Bugtraq by Stanislav Shalunov in April 2000. Then in December 2000, Bindview expanded
the research with
their much more methodical “Naptha”
project.
I'm sure Robert and Jack probably found various ways to extend this
attack. Once you start with the basics described above, it is
relatively straightforward to optimize it for different scenarios or
target operating systems. Robert acknowledges as much
in one
of his podcast interviews: “I think, total, I have five
[attacks] documented. But it certainly isn't hard to come up with new
ones.” You have many variables to control, including the number
of connections, payload data (a ton of flexibility here), source IP
addresses to use, window size, attack timing, IP fragmentation, TCP
segmentation, etc.
One thing Robert and Jack have done is bring increased attention to
this serious and long-running problem. While it isn't a serious
threat to the Internet as a whole, I do consider it an important issue
which should be fixed. Unfortunately, the attention only helps when
it comes with details about the problem. That is why I wrote this
page.
How do you know this is the same bug Robert and Jack found?
I don't, since they have refused to release full details. But this
sounds like the same fundamental bug. Robert and Jack are smart
fellows, so, again, I'm sure that they've found ways to extend and
improve the attack in certain situations. But the simple approach
described above is quite effective on its own. You don't even need to
use more specific and esoteric attacks when the basics are so
effective.
Robert says on his blog that their attack is different.
Well, slides from their SecT presentation on sockstress are now available (PDF, Powerpoint), and slide 17 says:
“Why Full Connection Flooding isn't more popular
—A full connection requires attacker to consume state tracking resources too”
The attack described previously allows
connection flooding without tracking any state, so they must not have
known about it. While I think this is the fundamental weakness on
which their attacks are built, they have probably extended and
improved on it. My main issue is not with the research, per se, but
with trying to hype the weakness in press interviews and the like
before they are willing to share details about the claimed weakness.
I don't believe that sharing the details would cause any problems on
the Internet, as there are already many simple and effective denial of
service attacks against TCP services (including those listed on this
page). Many of the same techniques used to defend against all the
other TCP DoS attacks will work against these newer ones.
How serious is this problem? If it is well known, why aren't attackers using it?
In part this is because the sort of attackers who perform DoS
attacks are often lazy and unskilled. But the brute force packet
flooding preferred by most attackers also has advantages over this
admittedly more elegant technique. One is that the brute force packet
floods can often be forged, making them harder to track down. For
resource exhaustion attacks such as this one which require a full TCP
connection, the attackers must use real IP addresses, making the
attack sources easier to track down or simply block at the firewall. Note that the sources
may be infected zombie hosts rather than the attackers themselves.
Another advantage of brute force packet flooding is that it is harder
for an end user to block. With these full-TCP connection attacks, I
can just block the attacker IPs. Packet floods, even when not
spoofed, can be harder to block since by the time they reach your
firewall they may have already caused their damage (wasted bandwidth).
So you often have to work with your higher level service providers to
block them upstream. This requires more time and coordination.
There are many ways to DoS a web site (or other services). If someone with moderate resources or skills really wants to shut down your site, they will probably succeed (at least temporarily). The good news is that organized attackers don't focus on this as much as other types of security attacks because it is harder to make money through DoS (though we have seen some "protection racket" style extortion cases).
Is it true that there are no workarounds or fixes for this problem? Robert Lee said in an interview that “There's no real workaround right now”.
Once an attack has started, it is relatively easy to identify and
block the culprit IP addresses. Robert and Jack have confirmed that
their attacks do not allow for IP spoofing. So you just block the
attacker's IP addresses, just as is commonly done when fighting off
other DoS attacks and resource hogs. Of course the attackers might
find new IPs to attack from later. And they may cause significant
disruption before you determine what is going on. Inline IDS/IPS
software can detect attack patterns and automatically block them.
Even the relatively simple Linux iptables firewall command has a
connlimit module which can prevent an individual host or network
from initiating too many concurrent connections to your servers. If
you do this, you need to be careful about your thresholds so you don't
block legitimate traffic. Normal web browsers often open many
connections to a single site at once to retrieve different components
of a page (images, scripts, etc.) Operating systems and applications
can also be improved or tuned to be more resilient to this attack by
using fewer resources per connection.
Robert and Jack disclosed the problem to CERT-FI, who put out a statement noting that “Based on our evaluation, the vulnerability can be mitigated by source address level filtering.”
Where can I obtain your Ndos tool?
I did not release it, since it was a quick hack (not production
quality) and I was worried that it would be abused. In 2004 I
co-authored a
book, Stealing
the Network: How to Own a Continent where I discuss Ndos and show the help/usage screen. My
chapter, which is available free
online notes that:
“Web sites are taken down by attackers daily, usually using a brute packet flood from many source machines (known as a distributed denial of service attack). Sendai realizes that much more elegant and effective attacks are possible by exploiting weaknesses in TCP protocol implementations rather than raw packet floods. Sendai has taken down much bigger Web sites than Fiasco's from a simple modem connection.”
What does this have to do with SYN cookies and SYN flooding?
A SYN flood attack is a very simple and well known TCP attack. It
does not involve creating full TCP connections as this newer attack
does. SYN cookies were developed more than a decade ago to combat the
SYN flooding problem, but they don't help against this newer attack
because it creates a full TCP connection and does not spoof source
addresses. In
the podcast
which seems to have ignited this storm of publicity, Robert uses SYN cookies as an
analogy for an aspect of their technique. He calls these
“client-side SYN cookies” and they are a relatively
unimportant implementation detail. In fact, they're not even required
for the attack. But some news reports and commenters misunderstood
his analogy and even recommended disabling normal (server side)
SYN cookies
(example).
Doing so does not help prevent this newer attack, and will only make
you vulnerable again to the simpler SYN flood attack.
Where can I learn more about this situation?
Here are some resources and articles related to this issue (I'm not endorsing them, just making a list):
- Cisco put out a response to the issue. They say that “the TCP vulnerabilities that Outpost24 announced are an extension of well-known weaknesses in the TCP protocol” and are still evaluating whether it affects them.
- After more evaluation of the attack under NDA, Cisco put out this newer bulletin. Here they classify the attack with a severity level 3 (“mild damage”) and urgency level 2 (“unlikely use”).
- Robert has been posting frequent updates to blog.robertlee.name. Note that user comments are heavily screened and usually not posted.
- The Sockstress slides from Jack and Robert's SEC-T presentation are now available in PDF and Powerpoint formats.
- sockstress.com uses a nuclear explosion logo and asks whether this issue is “the end of the Internet as we know it”. Oh dear.
- A Podcast interview with Brenno de Winter (trimmed to just the English portion by GRC) is available here.
- Article in The Register: “DoS attack reveals (yet another) crack in net's core”
- Slashdot article: “New Denial-of-Service Attack is a Killer”
- Upcoming T2 talk description: Sockstress - The Saga Continues.... Here is the description:
This talk will divulge new technical details about Outpost24s (Jack C. Louis) research into TCP state table manipulation vulnerabilities that affect availability.
Specifically this talk will showcase new attacks that will render a remote system unavailable using a very low bandwidth attack stream. Attacks against Windows, BSD, Linux, and embedded systems TCP/IP stack implementations will be discussed and demonstrated.
In-line devices that keep track of state for multiple systems (read firewalls) tend to feel the effects of the attack even more quickly.
- DarkReading article: “New DOS Attack Is a Killer”
- ars technica article: “Researchers disclose deadly cross-platform TCP/IP flaws”
- Steve Gibson has an article and podcast about the issue.
- Dan Kaminsky discusses the issue.
- CERT-FI has a page on the issue, where they state that “Based on our evaluation, the vulnerability can be mitigated by source address level filtering.”
- CNET News article: “TCP flaws puts Web sites at risk”
- SearchSecurity article: “TCP is fundamentally borked”
What if I have more questions for you?
Feel free to email me (Fyodor) at fyodor@insecure.org.