Slashdot Mirror


More Info on the October 2002 DNS Attacks

MondoMor writes "One of the guys who invented DNS, Paul Mockapetris, has written an article at ZDnet about the October '02 DNS attacks. Quoting the article: "Unlike most DDoS attacks, which fade away gradually, the October strike on the root servers stopped abruptly after about an hour, probably to make it harder for law enforcement to trace." Interesting stuff."

15 of 232 comments (clear)

  1. What outage? by Synithium · · Score: 2, Informative

    Didn't even notice the outage, none of my customers or people browing my sites indicated that they noticed either. In the nature of multiple providers and the way the DNS structure works, it would take an awfully long time for a large number of people to notice anything.

  2. It would take about a week by missing000 · · Score: 2, Informative

    DNS info is cached and times out in about a week, so if you had updated just before the attack, you wouldnt notice for a week.

    1. Re:It would take about a week by missing000 · · Score: 3, Informative

      Yes. And unless you are running your own DNS, your ISP in all probability does this for you.
      If you run your own DNS, you should cache it.

    2. Re:It would take about a week by Martin+Blank · · Score: 4, Informative

      In WinNT/2K/XP, you can also clear the DNS cache by using ipconfig /flushdns from the command line.

      --
      You can never go home again... but I guess you can shop there.
  3. Re:Why we need to abandon DNS by Desert+Raven · · Score: 2, Informative

    Have you ever actually programmed to the DNS protocol? If so, and you don't like the current clients (?), write your own. I've done it, it's not the easiest piece of code I've written, but it sure wasn't the most difficult either. If you've never written to the protocol, how do you know it's bad?

    If things were as bad as you seem to think they are, the whole Internet system would have crumbled to rubble long ago. In reality, it has scaled amazingly well, and has been unbelievably robust.

    Perhaps you should go purchase a clue, you obviously don't have one of your own.

  4. Re:Solution? by pla · · Score: 5, Informative

    Also, I wonder if switching the default permissions on ping so that only root (or some other privileged user -- I don't know how/if Windows implements this these days) wouldn't be a good idea.

    Windows has only the most vague concept of a "root" user, and rooting a Windows box takes about 40 lines of code (basically, the problem comes from the GUI - any program running with administrator privelage, such as a virus scanner, can spawn additional processes also running as the administrator. Making them do so requires nothing more than getting a handle to a text edit control, pasting in the desired malicious code, and using the address of the edit's buffer as a start-of-execution point. All of which *any* user can do.

  5. IDEA for DNS Survivability by evilviper · · Score: 4, Informative

    I have a question... Why does a cache have to expire?

    Why not allow the admin to specify the maximum diskspace that the cache can use up, and then only prun the records when that (possibly huge) database grows too large? In addition, DNS records should not just arbitrarily expire...

    If a record has not reached it "expire" date, the cache is just fine. If a record HAS reached it's "expire", it should still remail valid UNTIL the DNS server has been able to get a valid update. Now, that would allow large DNS servers to maintain quite a bit of functionality even if all other DNS servers go down, and would do so while requiring only the most popular queries are saved on the server (so not everyone has to become a full root DNS server).

    --
    Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    1. Re:IDEA for DNS Survivability by Anonymous Coward · · Score: 0, Informative

      > I have a question... Why does a cache have to expire?

      If the cache doesn't expire, you'll forever have the wrong information when something changes.

      This is like asking why we need to get new phone books every year. The one from 1967 should be just as good, right?

      > In addition, DNS records should not just arbitrarily expire...

      They don't. The person that owns the information picks the expiration time. This lets them control how often their servers get hit by requests.

      > If a record HAS reached it's "expire", it should still remail valid UNTIL the DNS server has been able to get a valid update.

      Why does crap like this get modded up? If you don't have a clue about what you're saying, ask questions instead of proposing stupid solutions.

    2. Re:IDEA for DNS Survivability by dmeranda · · Score: 2, Informative

      Any caching system must have a way to update itself or its data will decay and not keep up with changes. Companies change ISP or hosting services all the time, so there DNS entries must be able to change in a timely manner to reflect the IP address changes. Also when a domain name is not renewed it's DNS entries should likewise expire. There are many reasons why an out-of-date cache is bad.

      Generally there are two ways to keep caches relatively fresh: expire records based on some precondition (such as time) or have the master source send out notifications when data was changed. And DNS can do BOTH.

      First, there are three kinds of expirations in DNS, all time based where the periods are selected by the owner of the domain. The first is when you attempt to look up a name which doesn't exist; that's called negative caching and is typically set to just and hour or two. The next is the refresh time which indicates when an entry in a cache should be checked to see if it is still current and is typically about a half a day. And finally the time-to-live is the time after which the cache entry is forcibly thrown away, and is usually set to a couple weeks or more.

      Finally DNS servers can coordinate notification messages, whereby the primary name server for a domain will send a message to any secondaries whenever the data has changed. This allows dirty cache entries to be flushed out almost immediately . But DNS notifications are usually used only between coordinated DNS servers, and not all the way to your home PC.

      It should be noted though that most end users' operating systems do not really perform DNS caching very well if at all...usually it is your ISP that is doing the caching. Windows users are mostly out of luck unless you are running in a server or enterprise configuration. Linux can very easily run a caching nameserver if you install the package. I don't know what the Macs do by default.

  6. Re:Dalnet DDOS Attacks by nautical9 · · Score: 4, Informative
    Although tracing back to the actual attackers can be very difficult, it can still be done with enough investigation and willpower. For an amusing tale of how a popular (although not always loved) windows security guy did just that, go here.

    He basically got his hands on one of the "zombie" trojans the DDoS'ers use, reverse engineered it to find out how it works (and which IRC servers it talks to to receive its commands), wrote his own to connect to said server and waited until the attackers personally logged in. It really is a good read.

  7. Re:Egress Filtering by umofomia · · Score: 3, Informative
    • If my organization owns the A.B.C network, there is no reason why any packets bearing a source address of anything other than A.B.C.* should be permitted to leave my network.
    Easier said than done... that may be true for smaller networks, but isn't the case for larger ISPs. The IP address structure is no longer strictly heirarchical anymore (e.g. CIDR and multihomed networks) and peering relationships between different AS's make this extremely difficult to implement.
  8. Re:TLD Question by Anonymous Coward · · Score: 1, Informative

    There are basically two kinds of attacks...prevent the system from working (such as with a DDoS attack), or corrupt the data they serve by inserting replacing or making unauthorized changes. The former is a pretty well understood networking problem for all kinds of protocols, although DNS by its design of being heavily distributed and mirrored has some natural immunity.

    However the protection of the data that the TLD (or subdomain) servers hold is perhaps the most important. That data is after all what our beloved TLS/SSL web browsers use to verify the sites that we visit. All TLDs run with the DNSSEC extensions which includes all the crypto stuff which signs and protects the zone data, along with many other standard computer security techniques. There are even minimal requirements that all TLD servers must adhere to RFC2870, which contains some very interesting clues as to what they do. Also the Internet Software Consortium which runs the F root server sometimes provides information about their operations on their site; especially when they were bidding to take over the .org domain a while back. Diversity is the other protection, different TLD servers use different hardware and software as well as being locating in different geopolitical regions.

  9. Re:Solution? by pla · · Score: 5, Informative

    Start the antivirus UI process as part of an isolated job with limited UI privs. It'll be in a separate windowing namespace, and the shatter attack will no longer work.

    Tell me, do you run *all* your programs in a private UI context? The antivirus program just makes the "classic" example. How about your usually-hidden-but-always-instantiated NVidia setup panel? Any services you run that have a control panel for configuring them (Tardis, for example)? A local web server? One of those annoying (but often necessary for proper functioning of the related device) printer or scanner control panels?

    Aside from not trusting the so-called "privacy" of running something on a private desktop, you don't even need to bother breaking that layer of security. Just look for something else running as administrator... or backup... or power user... or replicator... or even "guest", which by default has an obscenely high level of privelage (relative to a Unix box, which doesn't even usually *have* an account as conceptually insecure as Window's guest account). If you've managed to configure a Windows box to have *everything* run as a specific, seperate user, in its own UI context, I tip my hat to you. I also do not envy the hell of making even trivial config changes to such systems, nor do I envy the frustration your users must feel at trying to use such a system productively. Put simply, Windows lacks the *design level* security to make it generally useable yet reasonably safe against its own users.

    Finally, even if you change the default permissions on "ping" as the parent suggested, under Windows that doesn't do a damned thing to stop a trojan that *includes* its own ping program from working just fine. Remember that, in dealing with a DDoS problem, it doesn't matter if a security expert *can* lock down a given box - It only matters that 99% of the people out there won't bother to fix (or even *know about*) a given exploit allowing raw network access.

  10. Re:Egress Filtering by Phasedshift · · Score: 3, Informative

    If my organization owns the A.B.C network, there is no reason why any packets bearing a source address of anything other than A.B.C.* should be permitted to leave my network.

    Actually, there is at least one very good reason. If company A has 2 internet connections through provider A and B, and wishes to do load balancing, but for one reason or another can not announce a single subnet through both providers, they can at least do outbound load balancing and change the source address on a per packet basis, so incoming traffic for connections initiated by someone local are evenly distributed through both connections. Obviously any connections that originate from the outside world (i.e. someone on the internet trying to view this company's website) have to be answered with the same IP that the request originally went to as the source address (or stuff will break(tm)), so this wont work in that situation, but any request that originated on the company's network, and goes out to the internet, can have the outbound traffic load balanced on a per packet basis over their multiple internet connections, even if they can't announce the same block through both providers. This however requires that some packets have a source address in the subnet of for instance provider A, when they go out through the circuit with provider B, to evenly load balance packets.

    The other option, which does not require sending packets with a source address for one provider when it goes through another, is to do it on a per connection basis, and not a per packet basis, however depending on your traffic, etc.. this may not work nearly as well.

    While obviously, the number of people implimenting something like this is few, and the benefits are many to implement anti-spoof measures, to the few people doing something like the above, it sucks. However, there is an answer, that will satisfy both causes.

    To the few people that do load balance in the method mentioned above, a simple ACL allowing only packets with either subnet as the source (for either line A or B's block), and deny all other sources, will both allow them to load balance outbound traffic, and it will protect your network (and others) (since they can't spoof any other address, other than their block with the other provider through you, as the ACL will drop it).

    For everyone else, you can use the following command on a Cisco with CEF enabled, which drops all traffic that does not have a source address that is routed through the interface the packet was received on:

    "ip verify unicast reverse-path"

  11. Re:End users don't need root or TLD servers by Anonymous Coward · · Score: 1, Informative

    >So my first thought was why not have multiple
    >separate servers with the same IP address
    there is a recently announced plan to provide
    several copies of the F root nameserver in the
    asia-pacific region. See
    http://www.isc.org/ISC/news/pr-11172002.html
    http://www.apnic.net/services/rootserver/

    presumably this will be extended to other root
    nameservers