Slashdot Mirror


"DNS Forgery Pharming" Attack Against BIND 9

Monley writes "Help Net Security is running a story about a severe flaw in BIND's implementation that allows fraudsters to efficiently predict generated random numbers without the need to control the route between the user and the DNS server. (Here are HTML and PDF versions of the paper.) Using this vulnerability, fraudsters can remotely forge DNS responses and direct users to fraudulent websites, which can steal the user's sign-in credentials and do other mischief. The flaw was discovered by security researcher and Trusteer's CTO, Amit Klein." The ISC has released a patch to BIND 9.

105 comments

  1. wow... by Anonymous Coward · · Score: 0, Troll

    anyone still running BIND should just cut their feet off..

    tinydns for ya'll niggaz in ya right mizzinds

    btw, frist!

    1. Re:wow... by Anonymous Coward · · Score: 1, Interesting

      And what to you propose, Troll!

      I won't run DJB's authoritative server as it violates the spec by not answering queries that have the recursive bit set. (The spec doesn't require honoring the bit, just answering the query out of what is knows would do).

    2. Re:wow... by Anonymous Coward · · Score: 0

      I propose you run and patch your bind ASAP, Mr. Clueless.

    3. Re:wow... by Anonymous Coward · · Score: 2, Informative



      OpenBSD's patched and native Bind9 is immune to this attack and has been for many years.

    4. Re:wow... by eneville · · Score: 1



      OpenBSD's patched and native Bind9 is immune to this attack and has been for many years.

      But this article isn't about the OpenBSD stock, or about the DJB stock, it's about the -current version. Running BIND is like running sendmail... pretty stupid unless you *really* know what you're doing.
    5. Re:wow... by Anonymous Coward · · Score: 0

      Sure but OpenBSD had this patched in 1997... 10 years ago! Surely the ISC coders would have accepted the OpenBSD patches if it weren't for their politics.

      OpenBSD++
      ISC--

    6. Re:wow... by eneville · · Score: 1

      Sure but OpenBSD had this patched in 1997... 10 years ago! Surely the ISC coders would have accepted the OpenBSD patches if it weren't for their politics.

      OpenBSD++
      ISC-- The patch would probably be in BSD licence. I don't know what licence the ISC use. Maybe I'll look sometime.
    7. Re:wow... by Wdomburg · · Score: 1

      Neat trick, considering bind9 is only 7 years old.

    8. Re:wow... by Wdomburg · · Score: 2, Interesting

      I personally like my DNS servers to follow the relevent standards personally.

      Of course I could go ahead and run the recommended DJB configuring using rsync + openssh to propogate zone files. Then I would avoid the 10 vulnerabilities filed against BIND9 over it's seven year life span, but open myself to the 40 or so against OpenSSH, 30 or so against OpenSSL, and 10 or so against rsync.

    9. Re:wow... by Anonymous Coward · · Score: 0

      The patch was originally for Bind4 and moved forward.

    10. Re:wow... by rs79 · · Score: 1

      "Of course I could go ahead and run the recommended DJB configuring using rsync + openssh to propogate zone files. Then I would avoid the 10 vulnerabilities filed against BIND9 over it's seven year life span, but open myself to the 40 or so against OpenSSH, 30 or so against OpenSSL, and 10 or so against rsync"

      Looks good on paper, but in reality how many bugs have *ss* caused in real world name service? Zero.

      How many compromised nameservers have there been because of bugs in bind? Non-zero.

      --
      Need Mercedes parts ?
    11. Re:wow... by Wdomburg · · Score: 1

      You seriously think there have never been real world compromises from OpenSSL and OpenSSH? Absolutely none?

      If you look at the specifics of the vulnerabilities, none of the ones discovered so far in the BIND9 codebase have been privilege escalation. Mostly DoS, a couple cache poisons, one client side vulnerability in the backwards compatability stub resolver that's disabled by default, and a case of some leaked environmental variables. In the case of *ss* there are numberous code execution bugs. And yes, some exploits in the wild that led to real compromises.

    12. Re:wow... by RazzleDazzle · · Score: 1
      OR... you could just use OpenBSD and not worry about most discovered vulnerabilities such as this latest BIND one


      unless of course you are of the opinion that BSD is dying.

      --
      ZERO ZERO ONE ZERO ONE ZERO ONE ONE! Just brushing up for my next big invention: Ethernet over Voice (EoV)
  2. New by HomelessInLaJolla · · Score: 1, Insightful

    However, security researcher and Trusteer's CTO, Amit Klein, has discovered a severe flaw in BIND's implementation which allows fraudsters to efficiently predict generated random numbers without the need to control the route between the user and the DNS server. How long has BIND been using the same random number generator? I'm a little bit skeptical that Mr. Klein is the first person to consider the possibility of mimicking its behavior.

    Maybe the headline should read,"Exploit which bored college students figured out fifteen years ago is finally released to the mainstream".
    --
    the NPG electrode was replaced with carbon blac
    1. Re:New by dave562 · · Score: 2, Insightful

      Maybe those bored college students should have gotten off their asses, put down the bongs and published some research that they would have been paid for.

    2. Re:New by TruePoindexter · · Score: 1

      Maybe the headline should read,"Exploit which bored college students figured out fifteen years ago is finally released to the mainstream". They are a source of major innovation aren't they? Whitespace anyone? http://compsoc.dur.ac.uk/whitespace/
    3. Re:New by countSudoku() · · Score: 2, Interesting

      We'll thank goodness the people who are claiming the exploit *also* happen to have a product to defeat said exploit...

      "Existing desktop security solutions cannot protect against this type of attacks since DNS forgery pharming does not involve the user's computer or the DNS server but rather the cached data on the DNS server. Mutual authentication solutions, such as Trusteer's Rapport, which strongly authenticates the destination website and prevents access to unauthenticated websites, can defeat the attack."

      How convenient! ;)

      What version of BIND is going to have the fix? I've got 9.3.2 at the moment.

      --
      This is the NSA, we're gonna geet U h@x0r5! Also, what is a h@x0r5?
    4. Re:New by Charles+Dodgeson · · Score: 4, Interesting

      How long has BIND been using the same random number generator? I'm a little bit skeptical that Mr. Klein is the first person to consider the possibility of mimicking its behavior

      If you read the PDF, you will see that a good history of this kind of attack (and previous responses to it) are detailed. Apparently there has been is history of research into this kind of attack, with various counter measures. But the new attack (which seems like it would apply to almost all versions of BIND9 takes a different approach at "cracking" the PRNG which looks like it could be run against real-world servers.

      I don't pretend to understand everything (or even most things) in the PDF, but it looks like solid research to me.

      --
      Prime numbers are exactly what Alan Greenspan says they are -S. Minsky
    5. Re:New by e9th · · Score: 3, Informative
      This weakness of BIND has been griped about for TEN YEARS!

      http://www.openbsd.org/advisories/res_random.txt http://cr.yp.to/djbdns/forgery-cost.txt

    6. Re:New by Anonymous Coward · · Score: 0

      I think you'll find that the general idea, IE the possibility of forgery if the sequence numbers are predictable, has been well known for quite some time. The thing that's novel in this approach is a new attack against the PRNG that renders the output predictable in the real world.

    7. Re:New by Poltras · · Score: 1

      You're obviously NOT subscribed to full-disclosure...

    8. Re:New by dave562 · · Score: 1

      You sir are correct.

    9. Re:New by hal9000(jr) · · Score: 3, Insightful

      Maybe those bored college students should have gotten off their asses, put down the bongs and and written some bots that they would have been paid for.

      Oh wait, that isn't ethical ...

    10. Re:New by Anonymous Coward · · Score: 0



      OpenBSD patched this back in 1997 Search for "OpenBSD" in that page.

    11. Re:New by Anonymous Coward · · Score: 0

      I agree with your latest JE. You should be given 10 years of probation and 500 hours of community service for harassing the users of slashdot.

      Furthermore, I think we should launch a class action lawsuit against you.

    12. Re:New by Anonymous Coward · · Score: 0

      I concur. Shall I supply the lawyers? Afterall, I do have a job and can actually afford such things.

      Good luck with your court appointed attorney, HILJ.

    13. Re:New by Anonymous Coward · · Score: 0

      If you would, kind sir or ma'am, supply the lawyers. I would be happy to sign a petition against this alleged homeless troll.

    14. Re:New by secolactico · · Score: 1

      According to ISC vulnerability matrix, you are affected.

      --
      No sig
    15. Re:New by Anonymous Coward · · Score: 0

      budsmokers: 1
      establishment: 0

    16. Re:New by ArsenneLupin · · Score: 1

      should have gotten off their asses, Hehe, nice way to put it. Sneak 65.98.92.48 in them DNSes
  3. Come again? by Angst+Badger · · Score: 4, Insightful

    Since when is a severe flaw in BIND's implementation news?

    --
    Proud member of the Weirdo-American community.
    1. Re:Come again? by The+Raven · · Score: 0, Offtopic

      I just wish more places would use djbdns.

      --
      "I will trust Google to 'do no evil' until the founders no longer run it." Hello Alphabet.
  4. The flaw was discovered by... by asphaltjesus · · Score: 1

    ... the CTO's underlings doing the hard work and the CTO gets the credit.

    IMHO, the story wouldn't garner any interest whatsoever if the summary did NOT include mentioning the CTO. Look at the grief your average employee get when they publish an exploit.

    --
    Got Trader Joe's? friendwich.com RSS feeds work now!
  5. Troll? Y'all are NEWBS! by spun · · Score: 1

    Come on, whoever marked this as troll has no idea of the history of BIND, or how many times many of us have had to patch BIND over the last ten years. Consider this: BIND is the only server that I've ever seen a distro package so as to be easily chrooted. Why do you suppose that is?

    --
    - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
    1. Re:Troll? Y'all are NEWBS! by msimm · · Score: 1

      It's news because for a number of readers will be effected (no matter how many times it might have happened in the past). As for chrooting it's really a shame more packages *aren't* commonly jailed. But even bind isn't frequently chroot by default.

      --
      Quack, quack.
    2. Re:Troll? Y'all are NEWBS! by spun · · Score: 1

      Sure, I know it's news, but I think the original poster was being sarcastic. In think he thought it was news, too. It's just, you know, the umpteenth time you have to patch BIND, sometimes you just snap... BIND isn't chroot by default but on several distros, jailing it is as easy as firing up Ye Olde Distro Specific Configurator and checking the "run BIND chroot?" box. I agree, more server packaged should come with the nice little scripts to chroot them easily.

      --
      - None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton
    3. Re:Troll? Y'all are NEWBS! by TheRaven64 · · Score: 2, Insightful

      Consider this: BIND is the only server that I've ever seen a distro package so as to be easily chrooted. Why do you suppose that is?

      Because BIND is the only one that's easy to run in a chroot. OpenBSD also runs Apache in a chroot, but it means you lose features, like the ability to share everyone's ~/public_html. BIND is quite rare among servers in that it's non-trivial but has fairly meagre requirements when it comes to disk access. I can't think of any others off the top of my head that meet this requirement, with the exception of an ftpd that is only used for anonymous FTP, and these tend to support chroot too now.
      --
      I am TheRaven on Soylent News
    4. Re:Troll? Y'all are NEWBS! by Wdomburg · · Score: 2, Insightful

      Eh? BIND9 has a relatively tame history in terms of vulnerabilities. Just using the updates to RHEL3 as a quick and dirty metric, there have been two security updates compared to 5 openssh, 6 openssl, 11 php, 12 apache, 20 kernels, etc.

      Unfortunately a lot of people seem stuck in the past and still judge BIND from the 4.x and 8.x days.

    5. Re:Troll? Y'all are NEWBS! by secolactico · · Score: 0

      Why do so many distros default to sendmail and bind? There was a time when running sendmail felt like an open invitation for people to break into your system. Debian has exim and Redhat offers postfix as one of it's defaults, why hasn't an alternative to bind come forward (from a distro provider point of view. The end user/admin can always install something else).

      --
      No sig
    6. Re:Troll? Y'all are NEWBS! by Crazy+Eight · · Score: 1

      Because no one has published a GPL clone of djbdns?

  6. Our product not vulnerable to flaw we discovered.. by fahrbot-bot · · Score: 3, Insightful
    The flaw was discovered by security researcher and Trusteer's CTO, Amit Klein.

    The TFA recommends using Trusteer's product to defeat this attack:

    Mutual authentication solutions, such as Trusteer's Rapport, which strongly authenticates the destination website and prevents access to unauthenticated websites, can defeat the attack.
    So, to recap. Vendor discovers a flaw and recommends their product.
    Film at 11:00.
    --
    It must have been something you assimilated. . . .
  7. A flaw in BIND? by AliasTheRoot · · Score: 1

    Say it isn't so!

    Isn't it part of the INSTALL doc to run it in a VM/Jail/Chroot?

    1. Re:A flaw in BIND? by phoenix.bam! · · Score: 1

      This isn't an attack on the server. It is a hijack attack against clients of the server.

    2. Re:A flaw in BIND? by Lost+Found · · Score: 1

      Um, this flaw doesn't allow you to take over the process context of the BIND server. Instead, it allows you to poison the BIND DNS cache with phony records of your choosing.

  8. Again.... by gweihir · · Score: 3, Funny

    Bind was and is a mess. The patch is to use something else....

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:Again.... by Xugumad · · Score: 1

      I live in the niave hope that there's only so many bugs you can fit in one piece of software, and as such Bind and Sendmail should be practically impossible to break by now...

    2. Re:Again.... by jZnat · · Score: 1

      Well, maybe if people would move on and use other software like postfix and powerdns (just off the top of my head), we wouldn't be having all these issues, now would we?

      --
      'Yes, firefox is indeed greater than women. Can women block pops up for you? No. Can Firefox show you naked women? Yes.'
    3. Re:Again.... by gweihir · · Score: 1

      I live in the niave hope that there's only so many bugs you can fit in one piece of software, and as such Bind and Sendmail should be practically impossible to break by now...

      Well, I think the thing is that you can fit only so many bugs per line of code, and both are growing...

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    4. Re:Again.... by Tony+Hoyle · · Score: 1

      They pretty much are.. when's the last time you heard of a vulnerability in sendmail?

      This particular one is - as others have pointed out - about 10 years old and really doesn't matter.

  9. Re:Yes but... by Anonymous Coward · · Score: 1, Informative

    Only clueless (windows) admins will install and run bind nowayday. There you go...

  10. Complexity breeds problems. by Anonymous Coward · · Score: 0

    Hmmm. Is a DNS server really that complicated?

    1. Re:Complexity breeds problems. by Kreggan · · Score: 3, Informative

      Frankly, yes. The basic concepts of a DNS server are fairly straightforward, but as demonstrated by this attack, the devil is in the details. This attack uses reasonably advanced cryptanalysis, and exploits the predictable behaviour of DNS clients. I suspect that this attack would also have been mitigated by the use of DNSSEC, but the roll-out of that has been held up for years - and DNSSEC itself introduces even more cryptographic complexity.

    2. Re:Complexity breeds problems. by Anonymous Coward · · Score: 1, Insightful

      Yes, universal deployment of DNSSEC would have completely defeated this attack.

  11. ISC software unfortunately is low quality by Anonymous Coward · · Score: 0

    Also consider the dhclient shipped with at least all Red Hat-based installs.
    Fragile software, non-standard cmdline option parsing, requires certain kernel parameter set (socket filtering for UDP) and is slow and quite big (for its functionality). Media-disconnects or booting without network cable is not handled (the latter resulting in an unreachable box even when the cable is re-attached).
    Don't get me even started.

  12. Don't Diss Bind by toonerh · · Score: 3, Insightful

    Bind has been around since the dawn of Vint Cerf's IP, but it has been redesigned and rewritten several times. The RFC that says replies go via UDP make it a security risk, but also make the net work better.

    In 2007, where 1000,s of "researchers" spend their lives trying to break the Internet.... This stuff happens. BIND, SendMail and classic solutions are attacked. Amazingly they hold up better than Windows!

    1. Re:Don't Diss Bind by Anonymous Coward · · Score: 0

      Yeah, better than Windows.

      Since this is Slashdot the parent post will be modded up and I'll be modded down, but the truth of the matter is that the DNS server that ships with Windows has never has a single vulnerability.

    2. Re:Don't Diss Bind by Anonymous Coward · · Score: 0

      BIND does not hold up better than Windows DNS. You are a stereotypical zealot.

    3. Re:Don't Diss Bind by SaDan · · Score: 2, Informative
    4. Re:Don't Diss Bind by Anonymous Coward · · Score: 2, Insightful

      Yeah, better than Windows.

      Since this is Slashdot the parent post will be modded up and I'll be modded down, but the truth of the matter is that the DNS server that ships with Windows has never has a single vulnerability.


      Wow, you must have a VERY short memory. Try thinking back to just earlier this year, when Microsoft Security Advisory (935964) came out. And that is just one of MANY flaws over the years in MS DNS server! Hell, their DNS server for NT4 and earlier releases of Win2K (pre SP3) ran so sloppy that most people had to write scripts to stop/restart their MS DNS servers nightly! I should know, I was one of them. It was the only way to fix memory leaking problems that would lead to cache lookup failures. And lets not forget the long era of MS DNS cache poisoning...

      No, BIND has proven it self to be MUCH more reliable for serious Internet servers than MS DNS. Just like Unix/Linux has proven to be a better OS for serious Internet servers than MS Windows. There is a reason the REAL Internet servers of the world use Unix/Linux and BIND. It's because they handle more critical traffic than any thing else, they absolutely have to work, and MS products are NOT up to that task! No amount of marketing hype can counter the real world expeirence of professional network engineers, and the pro's choose Unix. Windows Server has become more reliable over the years, and is viable product for small and medium businesses. But it has never been, currently isn't, and may never be reliable enough for those really critical high end servers that large ISPs, governments, and businesses need.

      The only reason people like you bitch about the popularity of Unix/Linux for high end servers is because you obviously know little about such things, but want to pretend that because you can install Windows 2003 Server and Exchange that you now know something about network engineering. Sorry, you don't... No one who does would have said "the DNS server that ships with Windows has never has a single vulnerability" because they would have had the real world expeirence of dealing with the problems that DO EXIST with that product! Knowing your way around a Windows server does make you talented, but it doesn't put you in a position where you know enough to go around dissing technologies you have obviously never even used...

    5. Re:Don't Diss Bind by rs79 · · Score: 1

      "Bind has been around since the dawn of Vint Cerf's IP"

      Not quite, try about 10 years later.

      Paul Vixie when at decwrl was funded by his boss, Brian Reid to take the Berkley B-Tree code and whip up a name daemon. This cost Dec quite a bit of money. This was in the mid to late 80s or so. Remember that the relevenat RFC for the domain name system only came out in 86.

      --
      Need Mercedes parts ?
    6. Re:Don't Diss Bind by CopaceticOpus · · Score: 1

      Bind has been redesigned and rewritten several times... and so has Windows. That doesn't mean anything. They both lack elegance, but they generally get the job done.

  13. at least they are not hackers .. by terbo · · Score: 0

    nice change of terminology there. quite refreshing, fraudsters . .. . .

    --
    If you're interested in facts I'll tell you what they are and I'll give you sources - Chomsky on The Big Idea
  14. slashvertisement for Trusteer's Rapport? by Anonymous Coward · · Score: 0

    Last line in the article:

    "Mutual authentication solutions, such as Trusteer's Rapport, which strongly authenticates the destination website and prevents access to unauthenticated websites, can defeat the attack."

    Seriously, how feasible is this attack against the common web surfer?

  15. entropy? by thibbledorf · · Score: 1

    I bet there's a way to incorporate some qrbgs randomness to improve the security.

  16. djbdns by jsdcnet · · Score: 2, Interesting

    I've been using djbdns for years. It takes some getting used to if you're coming from BIND-land but it's worth making the effort.

    --
    no longer working for cnet
    1. Re:djbdns by Antique+Geekmeister · · Score: 3, Interesting

      Try looking at the copyright on djbdns. None, I repeat *none*, of Dan Bernstein's technically excellent solutions have propagated to broad use because of his extremely poor documentation, installation instructions, violations of the UNIX FileSystem Hierarchy, unwillingness to allow others to fork his code even for ease of packaging reasons, confusing licensing, etc.

      The functionality of clever tools like QMail and djbdns and daemontools has thus wound up sidelined and ignored by mainline developers. There are numerous lengthy and well-frounded rants on this, such as http://linuxmafia.com/~rick/faq/index.php?page=war ez#djb. And like the absurd licensing conditions of Pine and the University of Washington wu-imapd, the refusal to accept input or insights from others or cooperate with its packaging for more stable configurations has led to their being discarded from most distributions.

    2. Re:djbdns by Anonymous Coward · · Score: 0

      I use djbdns also and haven't any serious problems with it. Sendmail and BIND has more problems than I like so that is the reason why the previous admin and I went and left using qmail and djbdns. There is no prefect software package out there or will there ever be but my work has been much easier with djb software.

    3. Re:djbdns by Anonymous Coward · · Score: 2, Interesting

      No, Djbdns is not acceptable. Its list of root name servers is five years out of date, and there is a remote denial of service security problem which has not been fixed. Heck, it won't even compile in any Linux distribution from the last three years or so.

      And, no, you can't fix these issues and distribute a "djbdns-fixed.0.1.tar.bz2" file with the fixes in place, because djbdns is not open source.

      djbdns is dead and has been dead for years now.

    4. Re:djbdns by Crazy+Eight · · Score: 1
      I think you're overstating the case when you slam his documentation. I've found some of it to be so clearly expressed that it seems obvious he is a teacher. The problem with it is that it lives on his server in html format.

      DJB's software is held up only by his licensing. Gerrit Pape's runit is a clone of daemontools with some added functionality. It's packaged in Debian and FreeBSD because it's GPL, not because daemontools is deficient in some way.

      It's a shame Bernstein is such a polarizing figure. His disciples and detractors can be equally annoying and the noise buries a worthy signal.

  17. Re:Yes but... by matthewmok · · Score: 2, Insightful

    Moron,

    It is related to MS DNS -- a SYSTEM you said did not have any vulnerabilities.

    It's not hard to get a connection and a rooted machine in somebody's internal network. Also -- I can't think of anybody that would use MS DNS server outside on the Internet. If you do then that confirms my opinion of you.

  18. FOSSie fix!!! by Anonymous Coward · · Score: 0

    If only BIND were open source, this kind of stuff would never happen.

    Oh, wait...

    1. Re:FOSSie fix!!! by m.dillon · · Score: 3, Insightful

      A large number of programmers can make minor modifications to small software applications.

      A medium number of programmers can make minor modifications to medium-sized software applications.

      Very few programmers can make any sort of modification to very large software applications. Very, very few.

      Bind is a very large, complex piece of software. A good portion of that complexity is due to poor documentation and badly designed algorithms (a problem I've had with bind from the first release on through today), but at this point the majority of the complexity is due to feature creep. I still use bind simply because I do not have the desire to write a replacement for it, and because the only other really good DNS package has a copyright and licence on it that makes it virtually unusable. Software gets stale as it gets older... if I can't keep software up to date after the original author has lost interest then I have no interest incorporating said software, no matter how good it is.

      -Matt

    2. Re:FOSSie fix!!! by Lennie · · Score: 1

      I'm pretty sure you also use gcc, then why not use powerdns-recursor ? I'm pretty sure it has the same license.

      Ohh, euh... I think I know what the problem is.

      Please, please, please, could you implement a good swapcontext and getcontext
      implementation for the BSD's ? :-)

      --
      New things are always on the horizon
    3. Re:FOSSie fix!!! by Anonymous Coward · · Score: 0

      OK, you're clearly talking about djbdns' license. However, I don't think you have really looked at the alternatives: PowerDNS, MaraDNS, and NSD. There are good DNS servers out there, and it's not just a choice between BIND and having to patch djbdns (you have to; djbdns has a remotely exploitable security hole) by hand.

      Seriously, if you have had problems with PowerDNS, MaraDNS, and NSD, please detail them. It sounds like you haven't tried them.

  19. Jeezus freaking A Christ by m.dillon · · Score: 3, Interesting

    Why the hell is bind trying to implement its own random number generator? It's a piece of junk compared to the random numbers modern BSD OS's generate via libc.

    -Matt

    1. Re:Jeezus freaking A Christ by TheRaven64 · · Score: 2, Informative

      Probably because BIND has to be cross-platform. I'm sorry to break this to you Matt, but some people use inferior operating systems without good random number generation function.

      --
      I am TheRaven on Soylent News
    2. Re:Jeezus freaking A Christ by eggnet · · Score: 4, Insightful

      Probably because BIND has to be cross-platform. I'm sorry to break this to you Matt, but some people use inferior operating systems without good random number generation function. That doesn't prevent BIND from using superior OS provided services for platforms that do have good random number generators. They decided not to do it, plain and simple.
    3. Re:Jeezus freaking A Christ by Wdomburg · · Score: 1
      They do utilize /dev/random if it exists, to seed and reseed the PRNG. There's a few reasons I can think of not to use those exclusively:
      • On some platforms /dev/random blocks if the entroy pool is exhausted. Really really great when you're trying to service thousands of queries a second.
      • On platforms where /dev/random doesn't block (or an alternate device like urandom is used for non-blocking random number generation) you're going to end up with a PRNG anyways.
      • They have to ship and support a generator regardless, since some platforms lack a built-in facility.
      • Adding in platform specific hooks adds code paths. Additional code paths add bugs.
      • They would need to track and circumvent vulnerabilities in every external PRNG they would potentially rely on.
      • They would need to issue security alerts every time a weakness was discovered in a third-party PRNG implementation. (And what do you want to bet this would just perpetuate the currently unwarranted poor security reputation even if the fault was outside the ISC codebase?)
  20. Underscores the need for good design by supachupa · · Score: 1

    At my organization, I've configured our DNS as split-split. Split-split means that the outside world only gets nonrecursive advertisements of our authoritative domains, separate servers are configured for the inside to do recursive queries(i.e. forwarders), and a last set is for our user land dns servers which forward to our recursive nameservers. Only these dns servers are allowed to talk to the forwarders, which sit in their own DMZ.
    Now, my servers may have the same vulnerability as yours, but the risk of it being exploited is much lower. This buys me time to patch any given flaw without panicking too much.
    To those that knock BIND, for its lack of security: if a system (i.e a group os servers meant to provide a service) is designed and then configured securely, even when flaws are discovered, the chances of getting hit can be vastly reduced. Yes, there are more secure versions of DNS out there, but BIND is the most popular. DJBDNS has a great reputation, but my solution works just fine and I don't have to learn yet another version of something that when passed on to the next person will go on neglected for years.

    1. Re:Underscores the need for good design by agbinfo · · Score: 1
      Warning: I'm pretty much clueless about this whole thing but I did read the report.

      From what I've read, you're not safe either even with Split-Split.

      What they claim is that you only need to get the caching server to make a few consecutive CNAME requests and they achieve that through CNAME chaining. Using those requests, they get your caching server's next not-so-random sequence number and start sending it DNS responses.

      Like I said, I'm pretty clueless about DNS servers but after reading the article, I felt like I could probably setup an attack myself.

    2. Re:Underscores the need for good design by TheLink · · Score: 1

      BUT, the attacker needs to be _inside_ his organization in order to talk to the caching server (the inside dns server).

      This sort of thing has been done for ages even with BIND.

      With djbdns you actually have NO CHOICE and MUST do it that way - it's split into multiple programs e.g. tinydns = authoritative DNS (tell world about names), dnscache = caching server (to make recursive DNS requests for clients and cache them).

      Anyway, the ISC has never had a good track record with software (dns, sendmail, dhcpd). Trouble is some alternatives are even worse :).

      --
    3. Re:Underscores the need for good design by agbinfo · · Score: 1
      The way I was understanding this, please correct me if I'm wrong, is that you don't need to be inside since you pollute the external DNS server. Once it's polluted, all the inside servers get their DNS information from that polluted server. In order to be able to pollute the external server, it must have no DNS entry for the site you want to pollute or its entry must be expired. You also need to trick some internal user to visit your site. This would probably make it extremely difficult to pollute entries for very popular sites since the DNS entry would be present or updated soon after it expired.

      As mentioned in my previous posts, this is my understanding from reading the article. I am no expert in this domain.

  21. So.. if BIND9 sucks.. what is an alternative? by wethion · · Score: 2, Insightful

    Lets see, it has to be GPLed or BSDed, run on every platform, be insanely robust, free as in beer, tested so thoroughly that it ought to make the law of gravity look like shaky science. So, based on those criteria, what DNS software could hold up? Just wondering. Peace, V

    --
    Jon Postel, R.I.P. You are missed.
    1. Re:So.. if BIND9 sucks.. what is an alternative? by humungusfungus · · Score: 1

      Well, one answer: djbdns

      --
      No sig.
    2. Re:So.. if BIND9 sucks.. what is an alternative? by Just+Some+Guy · · Score: 2, Insightful

      Well, one answer: djbdns

      djbdns is proprietary, source-available software. It's nowhere near BSD or GPL licensed.

      --
      Dewey, what part of this looks like authorities should be involved?
    3. Re:So.. if BIND9 sucks.. what is an alternative? by elp · · Score: 2, Interesting

      Don't forget DJB's legendary personality as well.

      I've been using PowerDNS to manage several thousand domains for almost 3 years and its been the best thing I ever did. Besides being GPL it has an SQL backend so doing things like changing the TTL for 300 domains takes a few seconds instead of the slog or scripting nightmare with BIND. I use mysql replication to keep my slaves uptodate which is also flawless. Load average handling around 150 queries a second is less than 1%

      There is a postgres backend for it as well although I have never tried it.

    4. Re:So.. if BIND9 sucks.. what is an alternative? by yestertech · · Score: 1

      The PostgeSQL backend works smoothly, and fits in with other services and backups. It is a simple table though and does not take any advantage of the relational capabilty.

      --
      there's no replacement for displacement
    5. Re:So.. if BIND9 sucks.. what is an alternative? by Just+Some+Guy · · Score: 1

      Besides being GPL it has an SQL backend so doing things like changing the TTL for 300 domains takes a few seconds instead of the slog or scripting nightmare with BIND.

      I haven't used PowerDNS but I've heard nothing but good about it. I only host about 20 DNS zones and BIND comes with FreeBSD, so I never bothered to learn anything else.

      BIND maintenance doesn't have to be painful, though. The key is to refactor your zone files into smaller include files and let it auto-complete as much as necessary. Here's my standard template file:

      $TTL 1800

      @ IN SOA kanga.honeypot.net. root.kanga.honeypot.net. (
      2007072002 10800 3600 604800 86400 )

      $INCLUDE external/glaakipeerheader

      $ORIGIN @
      $INCLUDE external/www-kanga

      It expands "@" to the domain name that loaded it. That is, if I have something like:

      zone "example.com" {
      type master;
      file "external/standardtemplate";
      };

      then it gets expanded to "example.com". Then it includes a file which pulls in my site's standard secondary NS and MX records, A record, and SPF/LOC records. Finally, it pulls in the standard entry for "www.".

      If I need to update 18 of those 20 domains, I just edit that one file and reload. No, it's not as elegant as an SQL backend, but neither does it have to be a scripting nightmare if you plan it right.

      --
      Dewey, what part of this looks like authorities should be involved?
    6. Re:So.. if BIND9 sucks.. what is an alternative? by kc0dxw · · Score: 1

      I am using (and like) maradns -- http://www.maradns.org/. The format of the zone file is *much* simpler.

      --
      Matt Meola AFOD
      Westminster, CO
      "Gun control means using two hands."
  22. Just an idea by master_p · · Score: 2, Interesting

    Shouldn't login into a web site be bi-directional? not only a user logs in a web site but the web site should log in a user by submitting to the user a password (let's name this password back-password).

    The login sequence should be:

    1) user submits his username.
    2) site submits the back-password.
    3) if back-password is correct, user submits his password.

    By using bi-directional login, if the site is spoofed, the login process will fail, unless the spoofed site knows the back-password.

    After login, communication should be encrypted so as that no 3rd party can eavesdrop on the communications.

  23. Hackers, to your keyboards! by ArsenneLupin · · Score: 1

    Point all A records to 65.98.92.48!

  24. Are you joking? by Generic+Player · · Score: 1

    ISC use the ISC license, which is basically a 2 clause BSD license. OpenBSD also uses the ISC license. The patch is not accepted because its a patch to use the operating system supplied RNG instead of including a worthless broken one. ISC is more concerned about their software running on operating systems that suck than they are about it being secure on operating systems that don't suck.

  25. Split DNS explanation by TheLink · · Score: 1

    You need to be inside, or need to bypass the firewall or other controls.

    He was talking about a split DNS server configuration.

    In my experience this is where you have:
    1) External DNS server(s)
    2) Internal DNS server(s)

    Configuration A
    (where the internal DNS server is allowed to do DNS queries directly)
    An External DNS server provides authoritative replies for the domains it is Authoritative for to externals.
    An External DNS server does NO recursive queries for anyone.
    An Internal DNS server only does recursive queries for all internal clients.
    An Internal DNS server does those queries directly.
    An Internal DNS server may provide authoritative replies to internals for the internal-only domains it is authoritative for.

    Configuration B
    (where the Internal server has no direct access to the outside world - all requests have to be "proxied/forwarded" via an external DNS server)
    An External DNS server provides authoritative replies for its own names to externals.
    An External DNS server only does recursive queries for the Internal DNS server.
    An Internal DNS server does recursive queries for all internal clients.
    An Internal DNS server forwards the queries to an External DNS server (if paranoid, it may be one just for that purpose that does not even answer external queries).
    An Internal DNS server may provide authoritative replies to internals for the internal-only domains it is authoritative for.

    As you can see, you can't really pollute the External DNS server from outside, especially in Configuration A (where the external server doesn't really care about making queries) or a Paranoid Config B (where it's a different external server involved). And you should not be able to even reach the Internal DNS server from outside.

    Note: both the internal and external DNS servers may be authoritative for say www.thecompany.com (and thecompany.com), but resolve those to different IP addresses. So outsiders might get one site. Whereas insiders might see something else. And intranet.thecompany.com and other internal names might only exist on the internal DNS server, and not exist on the external DNS server. I believe this is good practice.

    Note #2: In a fairly secure network config, NONE of the clients get direct access out, not even for DNS queries - they all have to use the DNS server or even a proxy. So it will be a lot rarer to have outsiders complain about your malware infested clients "attacking them" even if someone inadvertently brings one in.

    --
    1. Re:Split DNS explanation by agbinfo · · Score: 1
      Thanks for the explanation. To be honest, I didn't understand it fully. What's a recursive query? Is that the same as the CNAME chaining explained in the article? However, it explains why you can't pollute the DNS server with its own domain names but what about requests from internal clients to access external sites, how would the configurations you described stop the attack presented in the document from polluting the cache for these. If I understood the recursive query thing, I guess that would make it much more difficult indeed. Assuming I got that wrong.

      Assume, I'm on the intranet for mycompany.com. I want to access mybank.com and I receive an email to visit badsite.com. I go to that site, through a proxy, and the page I get has a bunch of CNAME chaining from badsite.com to a.badsite.com to b.badsite.com etc. until the badsite server has figured out the mycompany.com external DNS server's transaction id.

      At this point, badsite.com shows a page which links to somebank.com. If the external DNS server for mycompany.com doesn't have the IP address for somebank.com in its cache (or if the address has expired), it will need to fetch that address and will send a request for the IP address of somebank.com to the authoritative server for somebank.com. Now, if badsite.com sends responses for that DNS request to the mycompany.com DNS server, whose IP address because it made requests for badsite.com and whose transaction ID and port I know because of the problem with bind, bind will think that it's the response from somebank.com and put that in its cache. When mybank.com sends the real response, bind will simply ignore it.

      Now next time some client wants to access mybank.com, it will get the IP address from the DNS server's cache memory.

      Please note that I'm not a network administrator, I don't even play one on TV, so this is strictly for my personal knowledge and so I can look brighter than I am in from of the network administrator. That is, don't waste too much time for this if you think I'm a lost cause. Thanks.

    2. Re:Split DNS explanation by TheLink · · Score: 1

      Yes, with BIND, if an internal user visits the attacker's site there is a higher chance of BIND's cache getting polluted than with a more secure dns server.

      This is because BIND tends to use the same udp port for its dns queries when it starts up. e.g. if it start up using 1055, it'll keep using 1055.

      So a malicious site that got a DNS request for badsite.com would know:
      1) you are about to try to get to mybank.com.
      2) the port BIND is using for queries.
      3) the transaction number(s) (query id) BIND is using for badsite.com (and other domains under the attacker's control), my guess is the report is about a weakness in BIND where knowing one or more transaction numbers can give you a better idea of knowing what the next transaction number BIND would use for mybank.com.

      So the site could send fake replies to that port pretending to be from mybank's DNS servers, with a good chance of one or more of the packets succeeding in being considered valid (matching query id etc) and thus causing BIND to incorrectly believe that mybank.com's IP address is actually the attacker's chosen server's address..

      More secure DNS servers such as djbdns use a different port for each request (about 60000 possible different ports). djbdns may or may not use more secure transaction ids, I'm not sure - I haven't checked nor am I aware of any study on them.

      Anyway, just using different ports makes things harder since the malicious site in addition to spoofing the right reply (guessing the right transaction/query id etc) it will also have to guess the correct port to send to (out of 60000+ possible ports). You need 60000 times more bandwidth, so someone might just notice, or it might just not work due to dropped packets.

      That said, it's nothing really new. AFAIK, it's common opinion in security circles that BIND does the wrong thing, and ISC tends to make insecure or even crappy software.

      --
    3. Re:Split DNS explanation by TheLink · · Score: 1

      Oh yeah, one more thing. If you visit the badsite's webpage, the badsite can also cause you to fetch pages from other sites the badsite wants to "fake". It's not just mybank.com, the webpage could point to any site of the attacker's choice (e.g. www.google.com), it doesn't even have to be visible in the browser.

      --
  26. Won't work by jgoemat · · Score: 1

    1) user submits his username.
    2) site submits the back-password.
    3) if back-password is correct, user submits his password.

    Let's say this occurs with a spoofed site, this is what could happen:

    1) user submits his username to spoofing site
    2) spoofing site connects to actual site and submits user name
    3) actual site submits the back-password to spoofing site
    4) spoofing site submits back-password to user
    5) user will see the same back-password he saw if he connected to the actual site

    Why not just use SSL? How browsers guarantee a site using SSL is that there is a public and private key. Everyone has the public key but the private key is kept secret by the site. The public key can be used to validate that the corresponding private key was used to encrypt or sign data. Now you would think that a site could spoof SSL by generating their own public key and private key, and giving the user their public key instead of the actual site's public key. This is prevented by having certificate authorities. Sites submit a signing request to a certificate authority based on their public and private key. The certificate authority then uses their own private key to sign the request. The Certificate Authority's public key that the user uses to verify the signature is incorporated into your browser.

    Basically, let's say John is talking to Mary. Mary goes to Andrew to vouch for her. John trusts Andrew, he's a good friend. Mary tells John who she is, and John verifies her identity with Andrew.

  27. BIND 9 != (BIND 8 || BIND 4) by Anonymous Coward · · Score: 0

    BIND 9 was a complete rewrite, and, unlike previous packages called "BIND", has a respectable security track record.

    These troglodytes who crawl out of the woodwork whenever there is a BIND-related security alert and mutter "who runs BIND anyway? just run a secure package like djbdns (or _insert_name_of_favorite_non-reference_DNS_package _here_) instead" really aren't up on current technology in the DNS-software space.

    As for the references to chroot'ing, BIND has had built-in chroot capability for years now. Any distro that doesn't take advantage of that capability has only itself to blame.

  28. Mod parent troll by tendays · · Score: 1

    That's goatse. And that will teach me to look at random ip addresses ...