Slashdot Mirror


Kaminsky On DNS Bugs a Year Later and DNSSEC

L3sPau1 writes "Network security researcher Dan Kaminsky has had a year to reflect on the impact of the cache poisoning vulnerability he discovered in the Domain Name System. In the time since, Kaminsky has become an advocate for improving security in DNS, and ultimately, trust on the Internet. One way to do this is with the widespread use of DNSSEC (DNS Security Extensions), which essentially brings PKI to website requests. In this interview, Kaminsky talks about how the implementation of DNSSEC would enable greater security and trust on the Net and provide a platform for the development of new security products and services."

32 of 127 comments (clear)

  1. Re:new security products and services? great. by i.r.id10t · · Score: 4, Insightful

    Better than generating fear to reduce the rights of your citizens...

    --
    Don't blame me, I voted for Kodos
  2. Re:new security products and services? great. by gandhi_2 · · Score: 5, Insightful
    Nothing is better than generating fear to reduce the rights of your citizens.

    Sincerely,
    Both Political Parties.

  3. Optimistic guy by mtremsal · · Score: 4, Funny

    Kaminsky is incredibly enthusiastic about DNSSEC. ... to the point where someone not too knowledgeable (like I am) wonders if DNSSEC really is that amazing or if he was just high.

    1. Re:Optimistic guy by askksa · · Score: 3, Interesting

      There are numerous issues with implementing DNSSEC. The idea has been around for like 14 years now. Also, there are alternatives like DNSCurve which provide more security with considerable ease of deployment.

    2. Re:Optimistic guy by Effugas · · Score: 4, Informative

      (This is Dan)

      DNSCurve can't achieve end-to-end security while still caching. Without the former, you're trusting the name server at Starbucks not to be malicious. Without the latter, there's a 10x (minimum) increase in DNS traffic and the internet collapses.

      There's some really interesting math going on, but operationally DNScurve isn't a good path.

      That being said, there are some really interesting things from DNScurve we can integrate into DNSsec without any code mods. Key rollover is a mess in DNSSEC, and it's somewhat unnecessary.

    3. Re:Optimistic guy by Effugas · · Score: 4, Informative

      (This is Dan)

      Well, I was one of the guys who was wrong (about DNSSEC, anyway) so it doesn't completely match up.

      Look, simple question: Do you think the existing system, of X.509 certificates, of SSL CA's, of private PKI's, is at all working? I sure don't. All I see are crappy passwords everywhere, being left as default, getting leaked, being brute forced, etc. Most security technology isn't working.

      DNS works well. Seems to me more things should work like it.

    4. Re:Optimistic guy by foom · · Score: 2, Interesting
      I'm just going to repost my last comment on this subject. I don't think things have changed since then, but if they have I'd certainly be interested to know. :)

      You might be interested in this thread:
      https://lists.dns-oarc.net/pipermail/dns-operations/2008-May/002736.html
      where Paul Vixie recommends that nobody should ever deploy a stub resolver that supports DNSSEC, but instead use TSIG to talk to the recursive resolver. Which really makes DNSSEC's security characteristics look very much like DNSCurve. The only difference being that DNSSEC is hugely more complex to use and implement.

    5. Re:Optimistic guy by Effugas · · Score: 3, Interesting

      (This is Dan)

      Sure, DNS is a single point of failure with security implications. What else is new? Half my talk last year showed what sort of damage you could do if you could corrupt any DNS name. The root can, today.

      It also scales really, amazingly, wonderfully well. See, DNS actually delegates, unlike X.509. That means the root doesn't interact with most people, just a few countries and gTLDs.

      So, how many people do you have in your GPG keyring? Few dozen? Few hundred? I spent six months interacting with people over email securely. It added an average of 72 hours of time before work could be done, and often it didn't work. C'mon, this ain't scaling.

    6. Re:Optimistic guy by Effugas · · Score: 2, Interesting

      (This is Dan)

      That's interesting if you're just trying to secure DNS. We have much bigger fish to fry -- fish that require us not trusting the NS at Starbucks.

    7. Re:Optimistic guy by Effugas · · Score: 2, Interesting

      What makes DNSSEC better than using protocols (such as SSH) which can independently verify the identity of a host by means of cryptographic signatures? This to me also seems consistent with the idea that good security is done in layers, not by single ultimate solutions.

      I don't mind SSH, with its key caching, but what about initial trust? What about the fact that, in the real world, keys change (just like IPs change) and when they do, something needs to say the new content is OK? It'd be nice to have a system that existed independent of any given server, which could (through a *delegated chain that didn't require cross-organizational begging*) assert the validity of new content.

      The root servers were there 15 years ago. They'll be there 15 years from now. That's a fantastic foundation to build just what we need.

      I am curious as to why you had so many problems with gnupg (you did not specify). Is that because you have found identifiable design flaws in gnupg, or is it because of user error on the part of folks with whom you were communicating?

      It's because the PGP keyservers get stale data, and the entire revocation system doesn't work. I have multiple keys in there I can't get rid of, because I don't have a business relationship that lets me identify myself and I don't have the key material to eliminate the key. Go look through the data, it's a mess.

      In the end, the keyservers work better than web of trust, but not much better.

    8. Re:Optimistic guy by Effugas · · Score: 2, Interesting

      (This is Dan)

      Hehe. OK, I like you foom. Lets talk.

      So the deal is, DNSSEC lets the server at Starbucks cache DNSSEC records for you. So even if it's not doing the validation, it can at least remember the crypto such that each backend host that is doing validation can enjoy the cached records on the shared NS.

      You can't do that with DNScurve, since the crypto is link based.

      I've been playing with the Curve25519 code lately. It's cool, I have use for it (understatement), and it's a joy to work with. But DNScurve has a design limit, and we need a little more than it can accomplish.

  4. Re:new security products and services? great. by headhot · · Score: 5, Insightful

    The Kaminisky bug is real, and its being used out in the wild. This is not a hypothetical academic exercise. DNS needs to be secured. Its not fear mongering, and its not for profit.

    Many of these security consultants you speak of are not consultants at all, but experts working on this stuff in their free time for the betterment of the internet.

  5. You obviously have no idea what your talking about by gubers33 · · Score: 4, Informative

    Do you even know what DNSSEC is? It is nothing he is trying to sell, it is him trying to completely take care of the flaw he found in DNS last summer. A flaw that could have seriously fubared the net if he didn't go through massive patching with internet providers and large companies. So you know, just about all DNSSEC software is opensource, meaning it is free. He isn't a conartist and it is pretty ignorant to call him one, he spent countless hours last summer trying to get the patch out which he didn't make money off of since he released it for free.

    --
    Just because you are wrong and I called you out on it doesn't mean I am a Troll.
  6. You just think that way because you haven't been.. by brunes69 · · Score: 5, Insightful

    .. hit yet.

    Security is a tricky thing. You say security people sell you things "you don't need". But if you wait until you NEED security, it is already too late because you have a breach.

    Security is not an ER visit, it is a regular preventative exam with your physician. It is something you have to take a pro-active approach with. Yes, this oten means investing time and money in something that has no immediate ROI. But that is the nature of the problem you are dealing with.

  7. Re:new security products and services? great. by Effugas · · Score: 4, Informative

    (This is Dan)

    No, it really is about securing your assets, instead of trying to deploy yet another magic box that conveniently fails just as you try to get it out of testing.

  8. Re:new security products and services? great. by headhot · · Score: 5, Informative

    This is not how the kraminisky bug works. You can intercept and redirect traffic with a properly formed DNS label to a legitimate site.

  9. Need DNSSEC tools by snsh · · Score: 2, Interesting

    I haven't deployed DNSSEC yet on my external domains because of cost/complexity. When I looked into it, my options for DNSSEC were:

    1) implement BIND and do the key management and rotation from the command line
    2) spend $10,000 or so for an appliance from secure64 or nixu
    3) spend $1k/month for a hosted DNS provider like neustar or verisign
    4) install Win2008R2 RC and use it in producition

    I work in a windows shop, so I'll probably go with option 4, but I'm surprised there aren't more set-it-and-forget-it tools out there for DNSSEC deployment. I'm open to recommendations.

    1. Re:Need DNSSEC tools by Effugas · · Score: 4, Informative

      (this is dan)

      Yeah. This is being worked on. By the time the root is signed, you should have much more at your disposal.

  10. Questions from a DNS implementor by Ex-Linux-Fanboy · · Score: 4, Interesting

    OK, since Mr. Kaminsky is following this thread, I figured this would be a good place to open up some questions and a discussion between a DNS implementor and Mr. Kaminsky.

    Let me introduce myself: My name is Sam Trenholme and I am the implementor of MaraDNS, a recursive and caching DNS server. Right now, I am in the slow process of re-writing the recursive DNS resolver. While MaraDNS has always been as secure as non-DNSSEC can be against Mr. Kaminsky's bug (DJB knew about the problem back in 1999 and I implemented his solution to randomize both the query ID and the source port back in 2001), I am wondering:

    How hard is it to implement DNSSEC in my recursive cache? How many RFCs am I going to have to toil over to understand DNSSEC well enough to implement it? About how long will it take me to code MaraDNS to have full DNSSEC support?

    I have a bad feeling that DNSSEC is a monster to implement and that we will not see many independent implementations of it; right now BIND and Unbound appear to be the only DNS servers to support it. DjbDNS doesn't support it, of course, and probably never will. My own MaraDNS and PowerDNS also don't support.

    What are your thoughts? Has a reasonable effort been made to make DNSSEC easy to implement?

    1. Re:Questions from a DNS implementor by Effugas · · Score: 2, Interesting

      (This is Dan)

      Heh Sam,

            It's a bit tricky, but we can work with you on the trickiness. DNSSEC is *much* easier to implement if you drop the somewhat unnecessary requirement for offline key signing, which is why BIND is so messy. Libunbound/ldns is flexible enough so you can integrate it, otherwise we can help you with the various wonkiness. Email me offline, dan@doxpara.com ?

    2. Re:Questions from a DNS implementor by Ex-Linux-Fanboy · · Score: 2, Interesting

      I'll post a summary of the discussion to my blog. I welcome open discussion, but I feel more comfortable posting to a place where I can filter out the trolls.

  11. Re:Is DNSSec really needed? by Effugas · · Score: 3, Informative

    (This is Dan)

    Too many exceptions, like www.facebook.com's low TTL, or CNN's non-response to nonexistent names, etc.

  12. Re:I don't wanna put a subject. by Todd+Knarr · · Score: 2, Interesting

    There already is a standard: SSL. It includes encryption (to secure the content going across the channel against eavesdropping) along with bidirectional authentication (server certificates to verify that you're talking to the server you think you're talking to, as well as the less-commonly-used client certificates to authenticate to the server that you're who you claim to be).

    If I were setting up a secure site, it'd be SSL-only. As part of the account-setup process, you'd be asked to generate a client certificate and upload the public certificate (over an SSL connection) to the server to be attached to your account. From that point on, when you attempted to log on using your username the server would only accept the request if it came over a connection presenting the client certificate attached to that username. And I've long suggested that, for user security, browsers have a feature where the user can associate server certificates with identities and then, by selecting an identity to communicate with, limit the browser to accepting only servers presenting one of the certificates associated with that identity. Have a way for the user to download the server certificate as part of the account setup process and you pretty much eliminate the need for PKI to support the whole thing, self-signed certificates will work since they were gotten directly from the source. You still need verification of both ends, but it's limited to just during the account setup process and isn't an ongoing thing.

  13. Dumb Question by John+Hasler · · Score: 2, Insightful

    But since I don't claim to understand DNSSEC I'll ask it: how secure is DNSSEC against abuse by governments?

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  14. Re:You obviously have no idea what your talking ab by jafiwam · · Score: 2, Insightful

    You don't host anything for real paying customers do you?

    Let me give you a summary of how interaction with "security consultants" usually goes:

    1. Customer gets cold called or sees some FUD on local TV, or portscans or the "consultant" has some dude in Malaysia digging around to find the sites hosted for pennies an hour.
    2. Customer gets bilked out of a couple hundred dollars for a 'security audit' (a scan using a common tool with default settings usually)
    3. Customer fails to understand any of it.
    4. Passes a FUD report on to my desk, and proceeds to piss and moan or wring hands.
    5. I have to stop what I am doing and examine the bogus report, then make a time consuming write up, explaining why having port 80 open is not a big deal and that it's typically not possible to be running both IIS and AIX (Unix) on the same box.
    6. "security consultant" either tries to sell the user a open source program, Barracuda box (puke) or just laughs all the way to the bank, or even better yet starts bugging me about being honest with the customer (who is now unhappy about the fee charged).

    This sequence repeats with every new BS bug, news story, or any time the economy is flush with IT money.

    The "security consultant" is never really concerned about security, only money. Most of the time they don't know anything, sometimes they are outright brain-dead stupid and want to do things like put a notice "Please do not hack our web site" on every page because they think it won't be illegal to deface if the notice is not there. (Yes, that's really what they wanted.)

    Replace the "security consultant" with the following types; "copyright protection scanning" and "defacement warning monitoring" (THAT is a bullshit scam) and "version back ups" and you have a whole world of suck. Thankfully the economy has been bad for a while so mom&pop shops are slamming the door on a two hundred dollar expense for an audit.

    Maybe Kimansky himself won't be doing this, however a legion of other folks will be following shortly behind that will. The dream to update DNS is nice, but it's a stupidly impractical thing to be demanding everybody do right now. Aside from a few articles here and there, the "real world exploits" for this stuff, where someone actually gets harmed... well, where are THOSE reports?

  15. Re:You obviously have no idea what your talking ab by gubers33 · · Score: 4, Informative

    The DNS cache poisoning attack was used the same week it was put into metasploit on a Verizon DNS in Texas where the attacker was forwarding people to a fake Google page with malware on it. Just one I can recall from when this first came out.

    --
    Just because you are wrong and I called you out on it doesn't mean I am a Troll.
  16. A: because it breaks the flow of a message by DNS-and-BIND · · Score: 3, Insightful

    Q: Why is starting a comment in the Subject: line incredibly annoying?

    --
    Shutting down free speech with violence isn't fighting fascism. It IS fascism!
  17. Re:new security products and services? great. by Effugas · · Score: 3, Interesting

    (This is Dan)

    I actually completely agree with your desire to see trust in the edges. That's what's so interesting about DNSSEC -- DNS, by its very design, is all about getting the core the hell out of the way and delegating, delegating, and delegating some more until the organization that manages the namespace can directly control it.

    Indeed, in the ultimate vision of DNSSEC, we have full on validating resolvers in clients. The endpoints themselves can finally - finally! - recognize their peers directly, without having to trust anyone or depend on the admitted messiness of the existing SSL CA infrastructure.

    The reality about Active MITM is that it's out there. See the BGP work that came out in tune with my talk -- note that all that still works, today, even with my big fix. Active MITM isn't some theoretical attack, and the reality is that everything is vulnerable to it. An ounce of cryptography is worthless without a metric asston of key management. DNSSEC is just the best way I can see to do it.

    Regarding the trust anchor size, the reality is that we have 25 years of it not being a problem. That's the simple truth. Everything I did last year could have been done by a malicious root. It wasn't.

    Your corporate/intranet myth is funny, because it strikes at the heart of the problem. You think there's just one corporate/intranet to authenticate. It's literally like you're suggesting, email to other companies is complicated, so lets just do email to our own company. Nice, but not good enough. We need cross organizational trust. We need something to bootstrap it. DNSSEC should be that.

  18. Re:You obviously have no idea what your talking ab by Effugas · · Score: 4, Informative

    (This is Dan)

    Trust me, I'm raising more hell than you can imagine about the deployment issues of DNSSEC. Here's the truth:

    1) You don't actually need to do all that resigning stuff. When best practices involve increasing your costs 100x, something is wrong.
    2) You don't actually need to have your signatures expire.
    3) You don't actually need that cron job.
    4) They fixed that zone walking problem with NSEC3. If you have online keysigning, which I expect everyone to have, you don't even need that.
    5) .org is signed. .com is coming, as is the root itself. Things have changed.

    Standby. Seriously, this is coming, and it's not going to be miserable by the time you actually need to deploy it.

  19. Re:You obviously have no idea what your talking ab by Effugas · · Score: 3, Interesting

    (This is Dan)

    There's lots of shysters in every field. Doesn't change the fact that there are problems out there that need fixing. Security is in fact a problem.

    In concrete terms, just for my vuln, about 1% of one of Brazil's largest bank's customers had their info taken by my bug. That wasn't fun. And China Netcom got hit pretty hard too, go Google that. Of course, there's a lot of data we're missing, because nobody needs to report. But anecdotally, this was a problem, but not the end of the world. Good! I didn't exactly set out to end the world :)

    In terms of what I see fixing, I see a lot of technologies repeatedly sold as "and then you get certificates", and nobody does, because it's just such a cross organizational nightmare to manage. Certs aren't working, and it's holding back auth technology after auth technology. Verizon Business' data says that 60% of vulns aren't implementation flaws -- they're authentication flaws, with passwords at the heart of them.

    Why so many passwords? Because they work. Well, DNS works too. Maybe we can use it to make all the better things scale across organizational boundaries.

  20. It's really in DNS - BIND etc. were workarounds by billstewart · · Score: 4, Informative

    The flaw is really in DNS - the only authentication field in a DNS request is a 16-bit query id, plus the implicit authentication of a 16-bit port number, and IIRC correctly you could also birthday-attack the query-id. Kaminsky's changes to DNS implementations such as BIND (which was build into djbdns etc. since the beginning) get you a few more bits of protection against an attack, but that just means that DNS is "still pretty weak" as opposed to "really really weak".

    And unfortunately, IPv6 DNS is no better - it keeps the same basic header for compatibility, adds some new longer record types, and adds some 128-bit addressing, but the QueryID's still the same old 16 bits.

    DNSSEC gets to the root of the problem, with cryptographic signatures on the data. It may be overkill compared to just putting in a 128-bit or 256-bit Query-ID field, but basically it's something that's possible actually get deployed, because it's a set of additional data transported in DNS, not a replacement for DNS's transport protocols. The reasons it wasn't done years ago have a lot to do with the NSA/FBI anti-crypto policies of the 90s, and Verisign's reluctance to do a huge amount of work nobody cares about to protect .com, but we're finally getting the root signed.

    --

    Bill Stewart
    New Fast-Compression-only CPR http://preview.tinyurl.com/dy575ks
  21. Re:None of it as implemented is about security by Tony+Hoyle · · Score: 3, Insightful

    You can get wildcard certs. for HTTP as well. They cost lots and lots of $$$

    You wonder how much getting a domain signed is going to cost... thing Verisign is going to turn down a cash cow that big? I'd be surprised if they charge less than $1000 per domain.

    Ultimately, as Verisign signs the root, all paths (and all money) leads to them - and that's why they're pushing DNSSEC so much.