
"DNS Forgery Pharming" Attack Against BIND 9 105
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.
Re: (Score:1, Interesting)
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).
Re: (Score:2, Informative)
OpenBSD's patched and native Bind9 is immune to this attack and has been for many years.
Re: (Score:1)
OpenBSD's patched and native Bind9 is immune to this attack and has been for many years.
Re: (Score:1)
OpenBSD++
ISC--
Are you joking? (Score:1)
Re: (Score:2)
Re: (Score:3, Interesting)
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.
Re: (Score:2)
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.
Re: (Score:2)
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,
Re: (Score:2)
unless of course you are of the opinion that BSD is dying.
New (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".
Re: (Score:3, Insightful)
Re: (Score:2)
Re: (Score:2)
Re:New (Score:4, Insightful)
Oh wait, that isn't ethical
Re: (Score:2)
Re: (Score:1)
Re: (Score:2, Interesting)
"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.
Re: (Score:2)
Re:New (Score:5, Interesting)
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.
Re: (Score:3, Informative)
http://www.openbsd.org/advisories/res_random.txt [openbsd.org] http://cr.yp.to/djbdns/forgery-cost.txt [cr.yp.to]
Come again? (Score:4, Insightful)
Troll? Y'all are NEWBS! (Score:2)
Re: (Score:2)
Re: (Score:2)
Re: (Score:3, 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.
Re: (Score:3, Insightful)
Unfortunately a lot of people seem stuck in the past and still judge BIND from the 4.x and 8.x days.
Re: (Score:1)
Re: (Score:1)
Re: (Score:1, Offtopic)
The flaw was discovered by... (Score:2)
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.
Our product not vulnerable to flaw we discovered.. (Score:4, Insightful)
The TFA recommends using Trusteer's product to defeat this attack:
So, to recap. Vendor discovers a flaw and recommends their product.Film at 11:00.
A flaw in BIND? (Score:2)
Isn't it part of the INSTALL doc to run it in a VM/Jail/Chroot?
Re: (Score:2)
Re: (Score:2)
Again.... (Score:4, Funny)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2)
Well, I think the thing is that you can fit only so many bugs per line of code, and both are growing...
Re: (Score:2)
This particular one is - as others have pointed out - about 10 years old and really doesn't matter.
Re: (Score:3, Informative)
Re: (Score:1, Insightful)
Don't Diss Bind (Score:4, Insightful)
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!
Re: (Score:2, Informative)
What was that again?
Re: (Score:2, Insightful)
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) [microsoft.com] 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 th
Re: (Score:2)
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.
Re: (Score:2)
entropy? (Score:1)
djbdns (Score:2, Interesting)
Re:djbdns (Score:4, Interesting)
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=wa
Re: (Score:1)
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
Re: (Score:2, Interesting)
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.
Jeezus freaking A Christ (Score:4, Interesting)
-Matt
Re: (Score:3, Informative)
Re:Jeezus freaking A Christ (Score:4, Insightful)
Re: (Score:2)
Underscores the need for good design (Score:1)
Now, my servers may have the same vulnerability as yours, but the ris
Re: (Score:1)
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 fe
Re: (Score:2)
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). Tr
Re: (Score:1)
Split DNS explanation (Score:2)
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 qu
Re: (Score:1)
Re: (Score:2)
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
Re: (Score:2)
So.. if BIND9 sucks.. what is an alternative? (Score:2, Insightful)
Re: (Score:2)
Re: (Score:3, Insightful)
djbdns is proprietary, source-available software. It's nowhere near BSD or GPL licensed.
Re: (Score:2, Interesting)
I've been using PowerDNS [powerdns.com] 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
Re: (Score:1)
Re: (Score:2)
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:
Re: (Score:1)
Just an idea (Score:3, Interesting)
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.
Won't work (Score:2)
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
Hackers, to your keyboards! (Score:2)
Mod parent troll (Score:1)
Re: (Score:1, Informative)
Re: (Score:1)
http://www.microsoft.com/technet/security/advisor
Punk.
Re: (Score:2, Insightful)
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.
Re:FOSSie fix!!! (Score:4, Insightful)
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
Re: (Score:2)
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 ?