Slashdot Log In
Ten Percent of DNS Servers Still Vulnerable
Posted by
Zonk
on Thu Aug 04, 2005 11:43 AM
from the watch-our-back dept.
from the watch-our-back dept.
maotx writes "Even with the uproar caused by the recent DNS attacks, a recent study shows that roughly 10% of 2.5 million DNS servers show that they are still vulnerable to DNS cache poisoning. To put that a little bit more in perspective, of that 10% discovered, 230,000 were identified as potentially vulnerable, 60,000 are very likely to be open to this specific type of attack, and 13,000 have a cache that can definitely be poisoned." From the article: "The use of DNS cache poisoning to steal personal information from people by sending them to spoofed sites is a relatively new threat. Some security companies have called this technique pharming."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Admins - Take some initiative! (Score:5, Insightful)
This is strikingly similar to the Cisco OS debacle, where a patch had been available for some time, yet Admins failed to patch their hardware on their own. Yes, it's a pain in the ass to take your network down, but look at the alternative...Hacked!
Re:Admins - Take some initiative! (Score:2, Insightful)
Re:Admins - Take some initiative! (Score:5, Interesting)
You are assuming the fix is a patch. I get vulnerability reports for my servers every week. The issues are never patches because I check for new patches every day. I get vulnerabilities that have no patch of any kind, yet I'm expected to somehow rewrite all of the software on the computer to fix the vulnerability. If I could do that, I wouldn't be working here. I assume that I am in the same position as most admins, I have to wait for the patches to come out and hope nothing bad happens while I'm waiting.
Parent
Re:Admins - Take some initiative! (Score:2)
Re:Admins - Take some initiative! (Score:3, Insightful)
You are assuming the fix is a patch. I get vulnerability reports for my servers every week.
And then there are patches like the last two Oracle patches which - get this - actually made it worse.
Sometimes it's a good idea to wait for them to patch the patch.
Re:Admins - Take some initiative! (Score:5, Informative)
But it's not surprising that there's still vulnerable servers out there. In fact, I'm surprised the total is so low. Aside from the few admins who just aren't doing their jobs, these kinds of things often run into bureaucracy. In many organizations, upgrades have to be thoroughly tested before release and there's standard schedules for patch cycles. An admin who wants to simply stick a new version of something on the production server may be told to wait until approval comes. That could take a while. And occasionally you'll have some crappy system that doesn't work well with the new software, and they're stuck rolling back until the problem is solved.
I had a friend who worked at a small ISP that had some serious security issues. The guy who should have been patching things "resigned"-something to do with the smell of pot lingering in his office. Anyways, the position went vacant for a little while and the task fell to the two new interns, my friend and another girl. Coincidentally they were both young women and had no experience relevant to the job, proof of quality hiring practices. To make a long story short, the (not terribly large) customer database got hacked and the company was sued. The owner, who had been heavily in debt already, vanished completely. Naturally the whole thing went down in flames and my friend didn't even get a reference out of it.
Most of you are probably sitting there thinking this story is too outlandish to be true. Haha, well, this is the internet so you never know what to trust, but you know there's places out there where things just aren't done the way they're supposed to be. It's shocking what goes on, and there will always be vulnerable servers around.
Getting it down to the numbers in the article this quickly is actually pretty good. The real lesson here is that you need to insulate yourself from the fools who won't take responsibility. Always assume 10% of the internet is out to get you, because they probably are. Hey, I don't even want to think about what 10% of slashdotters would want to do to me.
Parent
Re:Admins - Take some initiative! (Score:3, Funny)
Maybe they are all Microsoft Certified?
Re:Admins - Take some initiative! (Score:2, Funny)
Re:Admins - Take some initiative! (Score:3, Interesting)
While, in a perfect world, admins should immediately be on top of every new patch, if I noticed a patch that I thought was just a couple of minor bug fixes, it would go on the end of the "whenever I have time" list.
Re:Admins - Take some initiative! (Score:3, Insightful)
No, it isn't. Before the IOS "debacle" it was assumed that remote code execution on IOS was impossible. It's pretty hard to compromise an unpatched system if it's impossible to execute code on it, so admins didn't bother taking down their networks to run the (mostly aesthetic) patches.
Re:Admins - Take some initiative! (Score:2)
Bind9 has been out for years now so there should have been plenty of time to make the few changes needed to the configs to make them compatable with bind9.
This is just a shot in the dark but I'm guessing any isp dumb enough to be still running bind 4 has much more serious problems than DNS cache poisoning.
Re:Admins - Take some initiative! (Score:2)
Gentoo, of course.
Re:Admins - Take some initiative! (Score:5, Insightful)
to be patched. That was the biggest part of the problem: Cisco's
silence.
When you run services that must be up 24x7, you don't donwload every new
IOS release and load it on dozens or hundreds (or more) of devices just
because there was a new release. IOS often has more new bugs in each
release than bugs fixed; when you find a release that has the features
you require and is stable with those features running, you don't touch
it until you find a bug, require a new feature, or Cisco announces a
security problem.
I run a relatively small network, and I'm looking at having to upgrade
around two dozen devices running IOS in six cities (a number of which
require visiting an unmanned office because some things can't be
upgraded remotely) plus another dozen or so devices in our spares
inventory in two cities. I'm not going to upgrade any operating devices
until I can test new releases in a test setup. All of that takes a lot
of time, which means something else has to get pushed back.
Parent
Re:Admins - Take some initiative! (Score:3, Insightful)
In any case, it isn't a good idea to do a remote upgrade of a critical piece of equipment when, if there
What? (Score:5, Funny)
Okay, let's have it for unclear writing!
Seriously, what does this even mean? Of the 250,000 that are vulnerable, 230,000 are vulnerable, 60,000 are vulnerable, and 13,000 are vulnerable.
Okay, that clears it up.
Re:What? (Score:2)
Re:What? (Score:2)
Not Suprising (Score:2, Interesting)
It's tacyo YO!
bad math (Score:4, Insightful)
Re:bad math (Score:2)
Stupid idiots...
DJBDNS -- rocks (Score:4, Informative)
The same person also does Qmail Rocks [qmailrocks.org]. Of course djbdns and qmail is much more secure than bind and sendmail.
Re:DJBDNS -- rocks (Score:3, Insightful)
Re:DJBDNS -- rocks (Score:2)
If he gave two shit about OTHER PEOPLE he'd spend more time making the tools [not just djdns but his crypto code] actually easy to work with.
I mean it's a DNS server. I don't understand the big guffaw about it. Respond to requests on port TCP:53
Tom
Re:DJBDNS -- rocks (Score:2)
Making him the biggest megalomaniac since Captain Ahab.
Re:Not hard (Score:2)
I mean there is enough to DNS that it's not a 3 second job to get a good one put together.
Had I the time I'd say from scratch a competent DNS server can be written in three weeks. That's including proper user separation, all DNS queries and zonefile parsing [as well as documentation and the like].
Right now though I have two paying jobs and my LibTom suite [as well as a huge addiction to GTA:SA] that monopolize my time.
But hey, if you want to pay me the same I get at my
Who owes anything to you? (Score:3, Insightful)
That's what admins/geeks are. Think of the classic 'Hackers' movie, and the big admin with the password of 'God'. Admins love thier l33t Perl, C, TCL, Shell scripts because they do ever
Re:DJBDNS -- rocks (Score:3, Informative)
as for being more secure... it doesn't have nearly the same complexity and features as say, bind.
Re:DJBDNS -- rocks (Score:2)
Re:DJBDNS -- rocks (Score:4, Insightful)
Apples and oranges.
There are places where you would have to use BIND and places where you can get away with a partial implementation. If an ISP is using DJB-DNS I would recommend to stay away from it. There is a number of neat tricks in the bind cache expiration algorithm (from late 8 and early 9 onwards) which DJB has blamed unnecessary (see the BUGTRAQ archives for the discussion). While they are not necessary they are essential to ensure that operational mistakes have a limited life. That does not happen with DJB implementation as well as some other ones. So if you screw up your TTL or serial no on the zone files - this is it. Same for poisoned entries.
Further to this. DNS is the most easily upgradeable service. Clients fallback automatically and a few seconds of downtime are in the "who cares" area. In fact every ISP out there has scheduled daily mandatory reloads which update configs. Do users notice - nope.
Even further to that, there are methods to make any number of dns servers answer the same address and because DNS is stateless this can be done without any clustering crap. ISC which writes bind have done this for 7+ years. Most global telcos and ISPs do it as well.
And, in order for DNS poisoning attacks to be effective name servers usually need to have both recursion turned on and return authoritative answers. Doing this on an internet facing server is an idiocy. If your ISP does that and serves authoritative requests from the same server which is used for name resolution in clients - RUN. They have NO CLUE WHATSOEVER. If they use clustering for resilience - run even faster.
Parent
Re:DJBDNS -- rocks (Score:3, Interesting)
(No, I'm not a developer or otherwise affiliated with the project - just a ver
Re:DJBDNS -- rocks (Score:3, Informative)
1) The rsync method of replication is very well suited for keeping multiple DNS servers synced with the exact same records.
2) I never have to worry about it or touch it
3) The CPU and memory usage are much lower than when I was doing this with BIND. In fact, it's pretty much negligible with a few hundred queri
Phor God's sakes! (Score:5, Funny)
Phor phuck's sakes! I've had enough of this phreaking 733T-speak from the phucking security compaines! It was original with phreaking; it was mildly amusing with phishing; now it's just annoying.
Why not just leave the terminology as "DNS cache poisoning" and be done with it?
[/rant]
Re:Phor God's sakes! (Score:5, Funny)
-He's new sir. Guy by the name of "Daffy duck".
-You realize of course, that this means war...
Parent
OT: Your Sig (Score:3, Informative)
Prior art (Score:4, Informative)
Parent
Re:Phor God's sakes! (Score:3, Funny)
How can I check my own DNS configuration for this? (Score:4, Insightful)
Any good tools to (or sites to help) check for those?
Re:How can I check my own DNS configuration for th (Score:5, Interesting)
One of the possible ways to set up a DNS server is as a 'forwarder'. This means that it doesn't do lookups itself, but rather passes all DNS requests to another machine, gets replies, and then sends replies to the clients. One reason you might do this would be to distribute DNS load in a big ISP; you have a few machines that do the actual outbound DNS determination, and then the cache ripples back to the servers that are actually talking directly to the clients. DNS is fairly low-load, relatively speaking... this architecture would date from when everyone was deploying 50Mhz machines as servers. I'll call the local BINDs 'caching' servers, and the one doing the actual lookups on the internet the 'point' server.
So in and of itself, this architecture isn't a problem. But one of the features of the DNS protocol is that any server can send back more data than what was actually asked for, even data that is totally unrelated to the main query. Caching BIND servers by default trust their point server. And, when functioning as a point forwarder, BIND4 and BIND8 apparently just pass along queries they receive without checking them. The point BIND assumes that the caching BINDs are checking, while the caching BINDs assume the point BIND is checking, and the packet never gets checked for sanity at all.
So Joe Hacker snoops around... he tries to find DNS servers on your network. Once he finds one, he queries it for a name in a domain he controls. (or he initiates a connection to a webserver on the same machine, which may cause the same DNS lookup). He watches for the request to his DNS server coming from a DIFFERENT machine. That often indicates a forwarder configuration.
So he waits for his cached info to expire, and does it again... except this time, his reply packet includes extra information, "Oh, by the way, www.microsoft.com is on joes.evil.server.here." If BIND4 or BIND8 is the functioning as the master lookup in a forward configuration, it just passes along the packets it receives. And when BIND is in a SLAVE configuration, it just trusts what it gets from the forwarder. So suddenly, your whole network is connecting to joes.evil.server.here instead of www.microsoft.com. And if it doesn't work, oh well, next DNS server... this is a very low-profile attack. You have to really be LOOKING for it to be able to see it.
Apparently, the workarounds are A) don't use a forwarder configuration. There's no real need for this anymore, even a cheap 1ghz machine with a gig or so of ram will serve tens of thousands of clients. B) if you MUST use a forwarder, use BIND9 (or, presumably, DJBDNS) as your 'point' machine. BIND9 does sanity checking when it's on point.
Hopefully I got this right. I haven't been paying much attention to this before, because I (rightly) didn't think it affected me. If I'm wrong, PLEASE correct me, I hate to spread misinformation.
Parent
one small detail about the attack (Score:4, Informative)
What the badguy actually does is:
- gets queried for www.badguy.com by target.com
- delegates authority for HIS nameservers to ns.yahoo.com, for example; so he says:
- www.badguy.com NS ns1.yahoo.com
- www.badguy.com NS ns2.yahoo.com
- ...
- ALSO includes fake mappings of the form:
- ns1.yahoo.com A 1.2.3.4
- ns2.yahoo.com A 1.2.3.4
- ...
- so target.com contacts "ns1.yahoo.com" at 1.2.3.4 and asks to resolve "www.badguy.com"
- since ns1.yahoo.com is *actually* a name server under bad guy's control (bad guy controls 1.2.3.4), ns1.yahoo.com returns how to get to www.badguy.com
- then in future queries for www.yahoo.com, the name server will ask 1.2.3.4 for the IP for www.yahoo.com and send that reply to the requestor
Much better explained here [cr.yp.to]As DJB says, the "work around" is not to accept authoritative mappings (e.g. ns1.yahoo.com A 1.2.3.4) from anyone but yahoo.com.
Parent
New term! (Score:4, Funny)
A lot of these new vulnerabilities have the "phat" theme as dictated by the industry's leading security researcher/rapper Prompt Master Chizzy. Expect an RFC soon on the new naming convention.
Re:New term! (Score:3, Funny)
Executive board meeting... (Score:4, Funny)
CEO: So it's speculative, huh?
Exec 1: Oh, God, yes. We're talking about a totally outrageous paradigm.
Exec 2: Execuse me, but "speculative" and "paradigm"? Aren't these just buzzwords that dumb people use to sound important? [backpedaling] Not that I'm accusing you of anything like that. [pause] I'm fired, aren't I?
CEO: Oh, yes.
CEO: The rest of you start thinking up a name for this funky attack. I dunno, something along the line of say... farming, only more dangerous and 1337.
Exec 1: So, Pharming okay with everybody?
All: [reclining in their chairs] Yeah...
Re:Executive board meeting... (Score:2)
In the Admins' Defense (Score:2, Informative)
What about DNS Cache Snooping? (Score:4, Interesting)
Check out my paper about this, its called DNS Cache Snooping [sidestep.pt], and allows for a bunch of interesting tricks. It afects most of DNS Server/Cache combination implementations and is triggered by an extremely common misconfiguration, one that allows for the whole of the internet to use a given DNS server as their primary DNS server.
Luis Grangeia
Email redirection (Score:4, Interesting)
Can I get a list? (Score:4, Funny)
Hardly New (Score:3, Interesting)
I'm betting there's still a problem with admins that don't want it fixed, because they have given permission, or worse, for their servers to be used thus with some plausible deniability. Arranging this was the origin of the second-gen spammers.
The internet license (Score:5, Interesting)
I'm thinking of something along the lines of a radio operator's license with different levels and qualifications and all that. Then people who are said to be administrators of web hosts and stuff like that would be required to posess a certain level of knowledge (and potentially a certain level of pay?) and ability. If it is shown that they do not demonstrate the proficiency required for some reason, then their license should be revoked or downgraded.
Furthermore, certain levels of internet "safety" and "security" ratings should be given to all software, firmware and hardware products that run on the public internet. The consumers can be better aware of the quality of the products they use on the internet. (Examples might include a rating for MSIE having a lower security rating than Firefox because of that whole ActiveX thing... or a Linksys firewall/router giving the users behind it a certain rating of security over a Windows box connected directly to the public internet.)
Not only would we be able to leverage these sorts of licenses and ratings to have a better and safer internet, but we would be able to have a more conscious set of consumers who just might be able to look at the label to determine that product A is better than product B. They will no longer need to get an education in how the internet works just to get their home computers on the net... and we'll be less likely to deal with all those spambots and zombies out there as well.
Re:Simple solution... (Score:3, Interesting)
Sure. But if you use forwarders who run BIND4/BIND8 you've still got the same problem. If you're connecting directly to the root servers you're contributing to their unneccesary overload and bypassing the heirarchal nature of the DNS system.