<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cupfighter.net &#187; DNSSEC</title>
	<atom:link href="http://www.cupfighter.net/index.php/tag/dnssec/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.cupfighter.net</link>
	<description>A blog by Schuberg Philis colleagues</description>
	<lastBuildDate>Thu, 09 Feb 2012 14:27:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>HAR: DNSSEC restoring trust in DNS by Roland van Rijswijk</title>
		<link>http://www.cupfighter.net/index.php/2009/08/har-dnssec-restoring-trust/</link>
		<comments>http://www.cupfighter.net/index.php/2009/08/har-dnssec-restoring-trust/#comments</comments>
		<pubDate>Sat, 15 Aug 2009 12:48:11 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[HAR2009]]></category>
		<category><![CDATA[Bert Hubert]]></category>
		<category><![CDATA[DNSSEC]]></category>
		<category><![CDATA[har2009]]></category>
		<category><![CDATA[openDSNSEC]]></category>
		<category><![CDATA[powerDNSSEC]]></category>
		<category><![CDATA[rick van rein]]></category>
		<category><![CDATA[Roland van Rijswijk]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=490</guid>
		<description><![CDATA[Links from the HAR2009 site: Talk description and Slides. Roland started off by explaining the basics of DNS Cache poisoning and the details of the trick discovered by Dan Kaminski last year. Explaining why you don’t have to wait for the answer to expire to in order to poison the cache. Quite a bit of [...]]]></description>
			<content:encoded><![CDATA[<p>Links from the <a title="HAR2009" href="http://har2009.org" target="_blank">HAR2009</a> site: <a title="Talk description" href="https://har2009.org/program/events/78.en.html" target="_blank">Talk description</a> and <a title="Slides" href="https://har2009.org/program/attachments/23_DNSSEC-web.pdf" target="_blank">Slides</a>.</p>
<p>Roland started off by explaining the basics of DNS Cache poisoning and the details of the trick discovered by Dan Kaminski last year. Explaining why you don’t have to wait for the answer to expire to in order to poison the cache.</p>
<p>Quite a bit of the patching done after the Kaminski attack became public is actually been undone by NAT-ing firewalls, who do not randomize the source ports the use to keep track of their NAT table.<br />
<span id="more-490"></span><br />
The DNS resolvers put up by Rick and his team at HAR where attacked, but nobody was able to poison it as projected by Bert Hubert.</p>
<p>DNSSEC uses public/private key cryptography to sign DNS records. Because this makes the packets larger, you do not need a DDoS attack to cause a DoS, but you can do it with a single computer.</p>
<p>DNSSEC uses a two tiered key model. There is a key signing key (&gt;= 2048 bit RSA) and a zone signing key (&gt;= 1024 bit key). DNSSEC users additional resources records. For keys: DNSKEY, DS, Signatures: RRSIG and for authenticated denial-of-existance: NSEC or NSEC3. This will make zones quite a bit larger.</p>
<p>So how is the signature validated? Each answer has a signature in it. So we need to get the key in a way we can trust. The hash of the key of each domain is signed by the key of the domain below it.</p>
<p>DNSSEC on .com and .net will be signed by 2011. Signing of the root (.) zone is expected by the end of this year. Since only a few zones are signed we have islands of trust each with a trust anchor. There are interim solutions for this like <a title="ITAR" href="https://itar.iana.org" target="_blank">https://itar.iana.org</a> and <a title="DNSSEC lookaside" href="https://www.isc.org/solutions/dlv" target="_blank">ISC “DNSSEC look-a-side validation”</a>. These solution all have their own trust issues like SSL or their reliance on DNS.</p>
<p>There is a lot of work going on at the moment because root zone signing is there.</p>
<p>Even tough there are a lot of problems with DNSSEC, but even the critics agree that it is the only solution we have available at the moment. The biggest lack at the moment is easy to use tools. Luckily a lot a people are working on this.</p>
<p>The alternatives to DNSSEC are maybe worse. Patching against vulnerabilities is an arms race. SSL and TLS is too heavy for the lightweight DNS protocol is not an issue, and SSL has its own issues. TSIG does not scale because it relies on shared secrets and DNScurve is just not available.</p>
<p>Surfnet has implemented DNSSEC for their resolvers and was able to validate 1% of the answer. 1% is a higher adoption rate then IPv6.</p>
<p>You can help by helping open source projects like PowerDNSSEC or OpenDNSSEC.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2009/08/har-dnssec-restoring-trust/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HAR: DNS Security in the broadest sense, some good, some bad by Bert Hubert of PowerDNS.com / Fox-IT</title>
		<link>http://www.cupfighter.net/index.php/2009/08/har-dns-security/</link>
		<comments>http://www.cupfighter.net/index.php/2009/08/har-dns-security/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 15:41:44 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[HAR2009]]></category>
		<category><![CDATA[Bert Hubert]]></category>
		<category><![CDATA[DNSSEC]]></category>
		<category><![CDATA[har2009]]></category>
		<category><![CDATA[PowerDNS]]></category>
		<category><![CDATA[powerDNSSEC]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=480</guid>
		<description><![CDATA[Slides are here Bert Hubert introduced us in the world of DNS. He opened by stating that “DNS is Scary and complex” and “DNS it is everywhere”. Why is DNS scary and complex. DNS answers consist of a single UDP packet with binary variable length fields. It is a common misperception that DNS answers end [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.powerdns.com/"><img class="alignright size-full wp-image-481" title="PowerDNS logo" src="http://www.cupfighter.net/wp-content/uploads/2009/08/powerdns_logo.jpg" alt="PowerDNS logo" width="244" height="104" /></a>Slides are <a href="http://tinyurl.com/powerdns " target="_blank">here</a></p>
<p>Bert Hubert introduced us in the world of DNS. He opened by stating that “DNS is Scary and complex” and “DNS it is everywhere”.</p>
<p><span id="more-480"></span></p>
<p>Why is DNS scary and complex. DNS answers consist of a single UDP packet with binary variable length fields. It is a common misperception that DNS answers end in a NULL character. E.g. \3www\9my\0domain\3com\0 is a valid answer for www.my\0domain.com so same bug that is present in may SSL implementation may also exist in DNS.<br />
DNS compression also causes issues, because it allows you to use pointers to refer to other parts of the answer. This other part of the answer can contain a pointer as well which means you can cause a loop. Some DNS implementations will follow these endless loops very fast.</p>
<p>In order to have a secure and stable DNS implementation you need to do each and everything right</p>
<p>DNS is everywhere and there is more and more devices containing DNS like 20 euro ADSL routers who interfere with your DNS queries, camera’s, phones. DNS also has more and more alternative uses like anti-virus, advertising and also censorship.</p>
<p>What are the threats to DNS?<br />
The main risks are around availability. If there is no DNS, &#8220;The Internet is Down&#8221;. A single resolver may be servicing anything from 1 to more then 100,000 users. The largest authoritive DNS server hosts more then 8,000,000 zones.</p>
<p>Exploitation is also a risk. If you owning a DNS you own the internet for the users trusting that DNS, also if you own the DNS server you usually own the box the DNS is running on.</p>
<p>Another further interesting angle is integrity. If the DSN sends you the wrong way, your traffic goes to the wrong server and your money will follow.</p>
<p>When you talk about availability, the situation is not very good, it is extremely easy to kill a DNS server. It only takes about 10,000 well designed queries per second to kill a resolver. If you can generate about 50,000 queries per second you will be able to kill an authorative server. This is why large companies like akamai and large provider have stacks and stacks of DNS servers.</p>
<p>Exploitation is also a risk, typical resolver routines in common OS-es and appliances have very old DNSSEC code of 1984 in it. The most scaring part is that nobody seems to care, the original windows XP used &#8217;1&#8242; or &#8217;2&#8242; as its random DNS transaction ID.</p>
<p>Integrity however is the biggest issue. The whole internet is built on top of DNS. From a technical perspective DNS spoofing is easy: anybody can answer a DNS query if they have the right source IP, destination port and transaction ID and the right name on it and should arrive before any other answer.<br />
Luckily changes of doing this successfully are 1:2,000,000,000, before people stated to patch for the Kaminski code, the changes was 1:65535. By randomizing the source port the time to get a 50% change of spoofing DNS increased from 10 seconds to 10 hours.</p>
<p>Currently in order to successfully spoof DNS you need to create too much traffic. This traffic will kill the DNS servers and “People notice that”.</p>
<p>But what if we are patient and start a slow attack? If we regenerate 100 queries per second, we have a 50% change of succeeding after trying for 6 weeks. However if you spoof . (the root zone) 6 weeks it not that long to wait. Because once I can spoof the root zone, I own the DNS for that resolver.</p>
<p>The details of this technique is kept quiet because it works very well. The countermeasures against it don’t work or these measures break too much stuff.</p>
<p>What are the medium term solutions?<br />
Why not do DNS over TCP? Most people will tell you that this is not performing well enough, but this is mainly because the RFP states that there should be a 2 minute timeout.<br />
Another solution might be to send every DNS query three times and pick the majority answer. However round-robin servers or servers like Akamai will actually give you an different answer for every query.<br />
The speaker has proposed an alternative solution, EDNS-PING, and extra 16 bit number added to DNS.</p>
<p>What are the long term solutions?<br />
DNSSEC does solve all spoofing risks, unfortunately it increases the packet size and thus increases the DoS risks. Also DNSSEC only works if everybody uses DNSSEC.</p>
<p>The speaker believes that DNSSEC is way too complex. That is why he created PowerDNSSEC, because “if we use DNSSEC it should be easy”.</p>
<p>In summary:<br />
•    DNS security is hard to get right, which is bad because it is everywhere.<br />
•    Slow DNS attacks are worrying and there are no real countermeasures.<br />
•    If DNSSEC is not done right it will only make it more complex.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2009/08/har-dns-security/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSL takes a serious beating at BlackHat and Defcon conferences</title>
		<link>http://www.cupfighter.net/index.php/2009/08/ssl-beaten-up-at-blackhat-and-defcon/</link>
		<comments>http://www.cupfighter.net/index.php/2009/08/ssl-beaten-up-at-blackhat-and-defcon/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 16:00:42 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Blackhat]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Defcon]]></category>
		<category><![CDATA[CA]]></category>
		<category><![CDATA[certificates]]></category>
		<category><![CDATA[Citrix]]></category>
		<category><![CDATA[Dan Kaminski]]></category>
		<category><![CDATA[DNS]]></category>
		<category><![CDATA[DNSSEC]]></category>
		<category><![CDATA[Maxie Marlinspike]]></category>
		<category><![CDATA[Mike Zusman]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Thrust]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=416</guid>
		<description><![CDATA[Moxie Marlinspike, Dan Kaminski and Mike Zusman all presented talks at both Blackhat and Defcon that expose serious flaws the implementation and model of SSL and the way we us it today. First of all both Marlinspike and Kaminski discovered a flaw in the implementation of the client side of SSL, which is all about [...]]]></description>
			<content:encoded><![CDATA[<p>Moxie Marlinspike, Dan Kaminski and Mike Zusman all presented talks at both Blackhat and Defcon that expose serious flaws the implementation and model of SSL and the way we us it today.<br />
<span id="more-416"></span><br />
First of all both Marlinspike and Kaminski discovered a flaw in the implementation of the client side of SSL, which is all about requesting an SSL certificate with a NULL (\0) character in the name. As Kaminski pointed out, Marlinspike’s exploit for this was the best of the two. Moxie was able to request a number of null-character certificates. His first request for www.bankofmaerica.com\0toughtcrime.com was interpreted by the Certificate Authority (CA), the company issuing certificates, as a toughtcrime.com certificate and thus it could validly be requested by Marlinspike, but nearly all browsers and other clients like SSL VPN’s, chat clients, etc as being a certificate for www.bankofameric.com. When Marlinspike investigated the routine that is responsible for handling these so called null terminated certificates, he discovered the certificates like (www.paypal.com|www.bankofamerica.com|login.live.com)\0tooughcrime.com would be valid for the first four domains and *\0toughtcrime.com would actually be valid for all domains. While he was inspecting the code, he also discovered that a certificate with the common name (AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\0OVERWRITE).foo.com would actually cause an exploitable memory overwrite.</p>
<p>Moxie developed a tool and technique called SSLSNIFF which is able to do undetectable Man in the Middle attacks on SSL connections exploiting the possibilities null terminated certificates offer. He defined three possible counter measures against his attack. Certificate validation, software updates and extended validation certificates. Unfortunately he was able to defeat two of these three measures.<br />
Certificate validation these days is handled mostly by the OCSP, the Online Certificate Status Protocol. Marlinspike found a flaw in the protocol. On of the statuses the OCSP can send back is “Try later…”, represented by the number 3. Such a reply does not need to be signed by the CA an causes the browser to fail open, or as Moxie put it: “OCSP is defeated by the number 3”.<br />
Software updates can be another issue. At the time of the presentation, these bugs where only fixed in Firefox 3.5, so how do you prevent people from updating to this version? Most browsers these days have a so called auto update function, this function searches online for a more recent version of the browser, addons or plugins. In order to ensure that no malicious content is installed, the browsers rely on SSL, the same SSL that was broken by Marlinspike’s SSLSNIFF.</p>
<p>But there is more trouble in paradise. Marlinspike also demonstrated a technique het called ssl stripping. Ssl stripping does not attack SSL itself, instead it actually attacks, what Moxie described as the bridge between http and https. “Https is today’s world is not often encountered directly. Users don’t often type https:// in the address bar themselves. In stead they get redirected to an https site or click on a link to it”. By performing an man in the middle attack on the http connection and carefully rewriting all https requests to http requests, Marlinspike was able to create near exact copies of the login pages for services such as gmail and paypal. The user would only know something is wrong, if they notice that the https prefix is not there or that the padlock symbol is missing.</p>
<p>Dan Kaminski was also able to exploit the common name field to get certificates he should not be getting. Different implementations of certificate validation routines have flaws when it comes to handling certificates with multiple common names in them. By requesting a certificate with three common names: CN=www.ioactive.com, CN=www.bankofameric.com and CN=* Kaminski was able to get a certificate that would perceived as follows; the CA would sees the certificate as an www.ioactive.com certificate, which Kaminski is allowed to request. Internet Explorer will interpret the certificate as a www.bankofamerica.com certificate and Firefox will allow the certificate to be used for any url.</p>
<p>Besides the common name abuse, Kaminski also showed us that there is still an MD2RSA signed root certificate present in all browsers. While practical exploitation is not possible at the moment, it is very likely that this possible in the near future. Most browser vendors are working to fix the issue right now, but Kaminski kindly requested his public to “please, do not hack MD2 in the next six months.”</p>
<p>The last talk I attended was Mike Zusman’s “Criminal Charges not Pursued, Hacking PKI”. Mike used another technique to get “interesting” certificates. By exploiting a flaw in the web application of a CA, he was able to request certificates for pretty much any domain he wanted.</p>
<p>One of the solutions seems to be popping up is Extended Validation, which in a sense takes us back a couple of years. A few years back, the only way to buy a certificate was to provide legal evidence that you had control over a domain via an out of band mechanism to a human, but then these persons at the CA’s where replaced by an online application with an automated validation process and the fun started.</p>
<p>Extended Validation changes this by enforcing standards for validation and requiring validation by a human before the certificate gets issued. Extended Validation (EV) CA’s are hard coded in the browser to prevent the addition of malicious CA’s. But EV certificates get trusted just as much as classic certificates.</p>
<p>Mike Zusman was able to perform a man in the middle attack PayPal, which uses an EV certificate to protect its site. What his program does is only redirect a small portion of the traffic, the actual login, to his own malicious website which has a non-EV www.paypal.com certificate obtained via on of the methods described earlier. The only side effect visible to the user is a brief flickering of the green address bar. But will a user notice or care?</p>
<p>Obviously dual factor authentication, like <a href="https://www.paypal.com/securitykey" target="_blank">PayPal’s security key</a>, will reduce the risk, but what can we really do?</p>
<p>I was able to share a beer with Mike after he presentation and it looks like there are fundamental underlying problems with the current certificate structure. Here we have architecture of trust, yet its foundations are built on the known insecure DNS database. Browser vendors claim they have this set of rules that should be obeyed in order for a CA to be included in the browser, yet practice shows that certain CAs that have not followed these rules are still in the browser, while on commercial CAs, like CAcert are having a hard time getting included in browsers for what seems to be political reasons.<br />
It is time to ask ourselves fundamental questions like: Is it a good thing that a browser vendor determines who’s assertion of identity to trust. There is a trend that browsers make it harder to accept invalid certificates. Mike said: “It currently takes more clicks to accept an invalid certificate, then to import a new CA”. Is this a good thing?</p>
<p>Both Zusman and Kaminski agree that is would be a good thing if we had a trustworthy DNS structure that we could just to, e.g. store the fingerprints of certificates that are valid for our domain. Unfortunately DNSSEC is currently in a status quo. The current implementation still got issues, but until the root servers are going to be signed nobody will be motivated to fix these issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2009/08/ssl-beaten-up-at-blackhat-and-defcon/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>

