<?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; SSL</title>
	<atom:link href="http://www.cupfighter.net/index.php/category/security/ssl-security/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>Certificate validation problems after upgrading to Tortoise 1.7</title>
		<link>http://www.cupfighter.net/index.php/2011/11/certificate-validation-tortoise-1-7/</link>
		<comments>http://www.cupfighter.net/index.php/2011/11/certificate-validation-tortoise-1-7/#comments</comments>
		<pubDate>Mon, 28 Nov 2011 14:56:06 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[SSL]]></category>
		<category><![CDATA[Tips and tricks]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[certificates]]></category>
		<category><![CDATA[Frank Breedijk]]></category>
		<category><![CDATA[Intermediate CA]]></category>
		<category><![CDATA[Root CA]]></category>
		<category><![CDATA[Tortoise]]></category>
		<category><![CDATA[Tortoise1.7]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=1464</guid>
		<description><![CDATA[A few days ago while starting TortoiseSVN it prompted me to update to version 1.7 After I updated to version 1.7. I could not connect to our internal repository anymore. The connection failed with the following error: SSL error: sslv3 alert certificate unkown. Our internal respoitory is secured with a certificated issued by our internal [...]]]></description>
			<content:encoded><![CDATA[<p>A few days ago while starting TortoiseSVN it prompted me to update to version 1.7</p>
<p>After I updated to version 1.7. I could not connect to our internal repository anymore. The connection failed with the following error: SSL error: sslv3 alert certificate unkown.</p>
<div id="attachment_1466" class="wp-caption aligncenter" style="width: 677px"><a href="http://www.cupfighter.net/wp-content/uploads/2011/11/Tortoise-error1.png"><img class="size-full wp-image-1466" title="SSL error: sslv3 alert certificate unknown" src="http://www.cupfighter.net/wp-content/uploads/2011/11/Tortoise-error1.png" alt="SSL error: sslv3 alert certificate unknown" width="667" height="306" /></a><p class="wp-caption-text">SSL error: sslv3 alert certificate unknown</p></div>
<p>Our internal respoitory is secured with a certificated issued by our internal CA infrastructure.</p>
<p style="text-align: center;">Root CA</p>
<p style="text-align: center;">|<br />
v</p>
<p style="text-align: center;">Intermediate Certificate</p>
<p style="text-align: center;">|<br />
v</p>
<p style="text-align: center;">Repository certificate</p>
<p>Surfing to the svn repository does not produce an error, so the certificate chain is fine. At first I figured that Tortoise was using its own certificate store, but it turns out that Tortoise does use the Windows Root CA store, so there is no need to add the Root CA.</p>
<p>After some more investigation we found out that Tortoise does use the Windows Root CA store to validate the certificate chain, but does not use the Intermediate CA store to complete the certificate chain, like windows does. Since all our client machines have the intermediate certificate in the Intermediate CA store we never noticed that the certificates offered by apache were not chained. After chaining the repository certificate with the intermediate certificate Tortoise was able to talk to the repository again.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2011/11/certificate-validation-tortoise-1-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripted &#8220;Untrust&#8221; DigiNotar certificates</title>
		<link>http://www.cupfighter.net/index.php/2011/09/scripted-untrust-diginotar-certificates/</link>
		<comments>http://www.cupfighter.net/index.php/2011/09/scripted-untrust-diginotar-certificates/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 11:23:05 +0000</pubDate>
		<dc:creator>Matthijs Wijers</dc:creator>
				<category><![CDATA[SSL]]></category>
		<category><![CDATA[Tips and tricks]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=1360</guid>
		<description><![CDATA[To &#8220;Untrust&#8221; the DigiNotar certificates on Windows 2003/XP without installing the MS patch, you can add the Certificate &#8220;Blobs&#8221; to the following Certificate Store in the registry &#8220;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\Disallowed\Certificates&#8221; &#60;Name&#62;Blob&#60;/Name&#62;&#60;Type&#62;REG_BINARY&#60;/Type&#62; You can find the &#8220;Blob&#8221; values on a patched system (see attached link). These are all the current Certificates in Internet Explorer (including known fraudulent and new [...]]]></description>
			<content:encoded><![CDATA[<p><strong>To &#8220;Untrust&#8221; the DigiNotar certificates on Windows 2003/XP without installing the MS patch</strong>,<br />
you can add the Certificate &#8220;Blobs&#8221; to the following Certificate Store in the registry &#8220;HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\Disallowed\Certificates&#8221;<br />
&lt;Name&gt;Blob&lt;/Name&gt;&lt;Type&gt;REG_BINARY&lt;/Type&gt;</p>
<p>You can find the &#8220;Blob&#8221; values on a patched system (see <a href="http://www.cupfighter.net/wp-content/uploads/2011/09/untrustedCA.zip">attached link</a>).</p>
<p><strong>These are all the current Certificates in Internet Explorer (including known fraudulent and new DigiNotar):<br />
</strong>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SystemCertificates\Disallowed\Certificates<br />
\1916A2AF346D399F50313C393200F14140456616<br />
\2B84BFBB34EE2EF949FE1CBE30AA026416EB2216<br />
\305F8BD17AA2CBC483A4C41B19A39A0C75DA39D6<br />
\367D4B3B4FCBBC0B767B2EC0CDB2A36EAB71A4EB<br />
\40AA38731BD189F9CDB5B9DC35E2136F38777AF4<br />
\43D9BCB568E039D073A74A71D8511F7476089CC3<br />
\471C949A8143DB5AD5CDF1C972864A2504FA23C9<br />
\5DE83EE82AC5090AEA9D6AC4E7A6E213F946E179<br />
\61793FCBFA4F9008309BBA5FF12D2CB29CD4151A<br />
\637162CC59A3A1E25956FA5FA8F60D2E1C52EAC6<br />
\63FEAE960BAA91E343CE2BD8B71798C76BDB77D0<br />
\6431723036FD26DEA502792FA595922493030F97<br />
\7D7F4414CCEF168ADF6BF40753B5BECD78375931<br />
\80962AE4D6C5B442894E95A13E4A699E07D694CF<br />
\86E817C81A5CA672FE000F36F878C19518D6F844<br />
\9845A431D51959CAF225322B4A4FE9F223CE6D15<br />
\B533345D06F64516403C00DA03187D3BFEF59156<br />
\B86E791620F759F17B8D25E38CA8BE32E7D5EAC2<br />
\C060ED44CBD881BD0EF86C0BA287DDCF8167478C<br />
\CEA586B2CE593EC7D939898337C57814708AB2BE<br />
\D018B62DC518907247DF50925BB09ACF4A5CB3AD<br />
\F8A54E03AADC5692B850496A4C4630FFEAA29D83</p>
<p><strong>After that you can remove DigiNotar from the Trusted Root Certification Authorities store:</strong></p>
<p>certutil -delstore authroot “c0 60 ed 44 cb d8 81 bd 0e f8 6c 0b a2 87 dd cf 81 67 47 8c”<br />
certutil -delstore authroot “43 d9 bc b5 68 e0 39 d0 73 a7 4a 71 d8 51 1f 74 76 08 9c c3”</p>
<p><strong>On Windows 2008 and newer you have a nifty option in Group Policy:</strong><br />
\Computer Configuration\Policies\Windows Settings\Public Key Policies\Untrusted Certificates</p>
<p>Install the patch on a (local) machine and export the certificates from your &#8220;Untrusted Publishers&#8221; store as DER encoded, you can import the DER files in the GPO.</p>
<p><a href="http://www.cupfighter.net/wp-content/uploads/2011/09/untrustedCA.zip">Here</a> is the registry hive export from a patched machine, including all certificates and blobs.</p>
<p>cheers,<br />
Matthijs</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2011/09/scripted-untrust-diginotar-certificates/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SigInt10: The Fine Art of Hari Kari (.JS)</title>
		<link>http://www.cupfighter.net/index.php/2010/05/sigint10-dankaminsky/</link>
		<comments>http://www.cupfighter.net/index.php/2010/05/sigint10-dankaminsky/#comments</comments>
		<pubDate>Sat, 22 May 2010 19:10:06 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SigINT10]]></category>
		<category><![CDATA[SSL]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/index.php/2010/05/bla/</guid>
		<description><![CDATA[By Dan Kaminsky (@DaKaMi) In his talk Dan addressed why web security is hard, but he also tries to to come up with solutions. One of the solutions explorer is referrer checking. If you think you cannot use them because they can be spoofed? No, referrer tags have been pretty much un-spoofable, however, not each [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://events.ccc.de/sigint/2010/wiki/images/thumb/8/87/Export3_480.png/250px-Export3_480.png"><img class="alignright" title="SigInt10 poster" src="http://events.ccc.de/sigint/2010/wiki/images/thumb/8/87/Export3_480.png/250px-Export3_480.png" alt="SigInt10 poster" width="250" height="352" /></a></p>
<p>By Dan Kaminsky (<a href="http://twitter.com/dakami">@DaKaMi</a>)</p>
<p>In his talk Dan addressed why web security is hard, but he also tries to to come up with solutions.</p>
<p>One of the solutions explorer is referrer checking. If you think you cannot use them because they can be spoofed? No, referrer tags have been pretty much un-spoofable, however, not each and every call to a website contains a referrer header. One of the problems is that security solutions such as Symatec Internet Security strip referrer headers.</p>
<p>Since we cannot rely on the server site to detect this, maybe we should turst the client. Even if common lore says: “thou shall not trust the browser”.</p>
<p><span id="more-1042"></span></p>
<p>It appears that the browser is the only one that can actually detect CSRF and XSS. Is it possible for the interpreter to commit suicide if it sees an “evil” request. By using the very definition of javascript to abort the interpreter by keeping it hung up in the first javascript block on the page.</p>
<p>Does this stop XSRF, not because XSRF does not require a return apply, however, the server could actually send a bit of javascript back on the request. It turns out the object.send() method can be overloaded to insert an extra header. So what can we do to use this extra header? There are a lot of methods that don’t work, but what does work?</p>
<p>Unfortunately there does not seem to be a session/domain context variable where we can store our magic cookie.</p>
<p>Another problem Dan tried to address was input validation.</p>
<p>Using regular expressions to do input validation is, the reasons the ha.ckers.org cheatsheet for XSS works is because regular expressions don’t.</p>
<p>Parameterization, Pascal Strings and Tain Checking don’t work.</p>
<p>Mime seems to provide the answer here: Randomzied closing tags, dubbed Tree Locking by Dan. There is however a risk, because of the xml.findAll() method that can be made to return any tag, regardless of which tag it was embedded in.</p>
<p>JSON doesn’t even use named closing tags. One could use comments, but these are not supported by JSON. But, by embedding the data into a base64 string because it cannot be predictable guessed.</p>
<p>It doesn’t just work just work for JSON, it works for XML, SLQ and LDAP as well. It actually adds back type safety in the browser.</p>
<p>Unfortunately Unicode bytes back.0XC0 0&#215;80 is an over wide null character. It is interprited by the Microsoft Crypto API.</p>
<p>Base64 encoding will actually neutralize these unicode attacks. Untimely this code needs to go into the database engines. E.g with a special encapsulation routine.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2010/05/sigint10-dankaminsky/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CA will not start&#8230; What do you mean, cannot download CRL&#8230;</title>
		<link>http://www.cupfighter.net/index.php/2010/01/ca-will-not-start-what-do-you-mean-cannot-download-crl/</link>
		<comments>http://www.cupfighter.net/index.php/2010/01/ca-will-not-start-what-do-you-mean-cannot-download-crl/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 22:50:05 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Active Directory]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Schuberg Philis]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Windows 2008]]></category>
		<category><![CDATA[0x80092013]]></category>
		<category><![CDATA[certificates]]></category>
		<category><![CDATA[CertUtil]]></category>
		<category><![CDATA[PKI]]></category>
		<category><![CDATA[PKI view]]></category>
		<category><![CDATA[revocation]]></category>
		<category><![CDATA[Windows 2000]]></category>
		<category><![CDATA[windows 2003]]></category>
		<category><![CDATA[windows vista]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=860</guid>
		<description><![CDATA[As part of my work I was installing a Microsoft PKi infrastructure with two tiers. A root CA and an issuing CA. Since the root CA is in another domain then the issuing CA, it took some fiddling and tweaking around with my CDP and AIA extensions, but that is another blogpost all together. I [...]]]></description>
			<content:encoded><![CDATA[<p>As part of my work I was installing a Microsoft PKi infrastructure with two tiers. A root CA and an issuing CA.</p>
<p>Since the root CA is in another domain then the issuing CA, it took some fiddling and tweaking around with my CDP and AIA extensions, but that is another blogpost all together.</p>
<p>I knew I was in for some fun when when the following happened:</p>
<ul>
<li>I installed my Issuing CA and generated the certificate request</li>
<li>I issued the request to my Root CA and generated the Issuing CA certificate</li>
<li>I tried to install the Issuing CA certificate and got the following error:</li>
</ul>
<div id="attachment_861" class="wp-caption alignnone" style="width: 421px"><a href="http://www.cupfighter.net/wp-content/uploads/2010/01/Revokation-function-error.JPG"><img class="size-full wp-image-861" title="The revocation function was unable to check revocation because the revocation server was offline. 0x80092013" src="http://www.cupfighter.net/wp-content/uploads/2010/01/Revokation-function-error.JPG" alt="Cannot verify certificate chain. Do you whish to ignore the error and continue? The revocation function was unable to check revocation because the revocation server was offline. 0x80092013 (-2168885613)" width="411" height="166" /></a><p class="wp-caption-text">Cannot verify certificate chain. Do you whish to ignore the error and continue? The revocation function was unable to check revocation because the revocation server was offline. 0x80092013 (-2168885613)</p></div>
<p>My first reaction was to call one of the network guest and notify him that I needed http access to the Issuing CA to the CDP location. But whil on the phone, I decided to try and to my surprise I was actually able to manually pull down the crl.</p>
<p>Intregued, I decided to check a few things:</p>
<ul>
<li>I could download the CRL from both CDP locations with Internet Exporer</li>
<li>I could open the downloaded CRLs</li>
<li>I could telnet to port 80 of the both webservers</li>
<li>I could telnet to port 80 manually issue the GET /crl/CRLname.crl HTTP/1.0 command and get data back</li>
</ul>
<p>O.K. what is going on here&#8230; Lets open PKI view, which is now included in Windows 2008 and Vista and can be downloaded for Windows 2000 and 2003.</p>
<p>It seemed that PKI view as in agreement, it too could not download the CRL from the CDP location</p>
<div id="attachment_862" class="wp-caption alignnone" style="width: 467px"><a href="http://www.cupfighter.net/wp-content/uploads/2010/01/PKI-view.JPG"><img class="size-full wp-image-862" title="PKI view shows &quot;unable to Download&quot;" src="http://www.cupfighter.net/wp-content/uploads/2010/01/PKI-view.JPG" alt="PKI view shows &quot;Unable To Download&quot; for both CDP locations" width="457" height="91" /></a><p class="wp-caption-text">PKI view shows &quot;Unable To Download&quot; for both CDP locations</p></div>
<p>This did sent me on a wild goose chase:</p>
<ul>
<li><a title="Troubleshooting Certificate Validation Errors" href="http://technet.microsoft.com/en-us/library/bb331963.aspx" target="_blank">Microsoft own documentation</a>, clearly blames it on unavailability of the CDP location, something I, by now, had triple checked four times and refused to believe</li>
<li><a title="Netowrk Builders forum post suggesting to turn off revocation checking" href="http://www.network-builders.com/certificate-services-t11895.html" target="_blank">This &#8220;Network Builders&#8221; forum</a> and <a title="Another post suggesting to turn revocation checking off" href="http://www.spywarepoint.com/windows-2003-ca-0x80092013-t40183.html" target="_blank">many</a> others, simply suggest to turn off revocation checking, but that is clearly not a worthy solution either.</li>
<li>Apparently there is also an issue with <a title="Technet forum post about double escaping" href="http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2webtechnologies/thread/83be4ffb-439e-4d3f-9377-0d23e4307d86" target="_blank">serving delta CRLs threw IIS</a> because the + sign at the end of the basename of a delta CRL file leads to so called &#8220;double escaping&#8221;. I could rule this out by looking at the IIS logs.</li>
<li>In the end <a title="Technet forum post about OSCP responders" href="http://social.technet.microsoft.com/Forums/en-US/winserversecurity/thread/d6e871e0-3687-4cb5-9591-c1459911f433" target="_blank">this technet forum post, about OCSP reponders</a> Brian Komar points out:</li>
</ul>
<blockquote><p>But, as stated, I would use certutil to get the &#8220;best&#8221; answer on how is my configuration.<br />
Certutil -verify -urlfetch &#8220;certfile.cer&#8221; will check *every* CDP and AIA URL (including OCSP) and tell you how they are all doing *at that specific instance in time&#8221; since it goes to the URLs immediately.<br />
Brian</p></blockquote>
<p>I exported the Issuing CA certificate from the certificate database of the Root CA and ran the command against is and this is what I found</p>
<blockquote><p>E:\&gt;certutil -verify -urlfetch &lt;certfile&gt;.cer<br />
Issuer:<br />
CN=Root CA<br />
Subject:<br />
CN=Issuing CA<br />
Cert Serial Number: 115d5f6400020000000b<br />
&lt;snip&gt;</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-  Certificate AIA  &#8212;&#8212;&#8212;&#8212;&#8212;-<br />
Verified &#8220;Certificate (0)&#8221; Time: 0<br />
[0.0] http://IIS1.domain1local/crl/Root-CA.crt</p>
<p>Verified &#8220;Certificate (0)&#8221; Time: 0<br />
[1.0] http://IIS2.domain1.local/crl/Root-CA.crt</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;-  Certificate CDP  &#8212;&#8212;&#8212;&#8212;&#8212;-<br />
<strong>Wrong Issuer &#8220;Base CRL (13)&#8221;</strong> Time: 0<br />
[0.0] http://IIS1.domain1.local/crl/Root-CA.crl</p>
<p><strong>Wrong Issuer &#8220;Base CRL (13)&#8221;</strong> Time: 0<br />
[1.0] http://IIS2.domain1.local/crl/Root-CA.crl</p>
<p>&lt;snip&gt;<br />
E:\&gt;</p></blockquote>
<p>So while PKI view and the other error messages I was getting all pointed to the most common cause, it actually turned out that the CRl did get downloaded, but <a title="Technet articale about certificate revocation checking" href="http://technet.microsoft.com/en-us/library/bb457027.aspx" target="_blank">was not cryptographically relevant to what the system believes is the Root CA certificate</a>.</p>
<p><span style="text-decoration: underline;"><strong>Root cause</strong></span></p>
<p>Inspection of the CRLs generated and the Root certificates installed showed what had caused the problem. In order to test the CDP extensions I had reissued the Root CA certificate, causing the Root CA to have three active certificates. Each with a different key.</p>
<div id="attachment_866" class="wp-caption alignnone" style="width: 359px"><a href="http://www.cupfighter.net/wp-content/uploads/2010/01/Three-CA-certs.JPG"><img class="size-full wp-image-866" title="CA authority with Three CA certificates" src="http://www.cupfighter.net/wp-content/uploads/2010/01/Three-CA-certs.JPG" alt="This CA has three CA certificates" width="349" height="163" /></a><p class="wp-caption-text">This CA has three CA certificates</p></div>
<p>When validating the Issuing CA certificate, validation would end at the last certificate issued, however the CA still signs its CRLs with the key pair of the first certificate.</p>
<p>I guess for me there is nothing left but to reinstall the entire chain.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2010/01/ca-will-not-start-what-do-you-mean-cannot-download-crl/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Confidence 2009.02 &#8211; My TLS renegotiation vulnerability slides</title>
		<link>http://www.cupfighter.net/index.php/2009/11/confidence-tls-renegotiation/</link>
		<comments>http://www.cupfighter.net/index.php/2009/11/confidence-tls-renegotiation/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 16:57:39 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Confidence 2009.02]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[confidence0902]]></category>
		<category><![CDATA[Marsh Ray]]></category>
		<category><![CDATA[Mitm]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[TLS renegotiation]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=797</guid>
		<description><![CDATA[Today I presented about the TLS regenotiation vulnerability I blogged about earlier. You can download the slides below: TLS renegotiation authentication GAP v1.1 pdf TLS renegotiation authentication GAP v1.1 pptx Special thanks to Marsh Ray for his suggestions and corrections.]]></description>
			<content:encoded><![CDATA[<p>Today I presented about the TLS regenotiation vulnerability <a title="TLS renegotiation attack post" href="http://www.cupfighter.net/index.php/2009/11/tls-renegotiation-attack/">I blogged about earlier</a>.</p>
<p>You can download the slides below:</p>
<ul>
<li><a href="http://www.cupfighter.net/wp-content/uploads/2009/11/TLS-renegotiation-authentication-GAP-v1.1.pdf">TLS renegotiation authentication GAP v1.1 pdf</a></li>
<li><a href="http://www.cupfighter.net/wp-content/uploads/2009/11/TLS-renegotiation-authentication-GAP-v1.1.pptx">TLS renegotiation authentication GAP v1.1 pptx</a></li>
</ul>
<p>Special thanks to Marsh Ray for his suggestions and corrections.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2009/11/confidence-tls-renegotiation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Seccubus the new name for AutoNessus</title>
		<link>http://www.cupfighter.net/index.php/2009/11/seccubus/</link>
		<comments>http://www.cupfighter.net/index.php/2009/11/seccubus/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 15:20:04 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Confidence 2009.02]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[AutoNessus]]></category>
		<category><![CDATA[confidence0902]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Schuberg Philis]]></category>
		<category><![CDATA[Seccubus]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=782</guid>
		<description><![CDATA[Since it became apparent that the next version of AutoNessus was going to outgrow the reference to Nessus, Tennable’s Network Security Scanner, due to the inclusion of other scanners such as OpenVAS, NMAP and Nikto, the author of the program, Frank Breedijk, decided to start a contest for a new name. On the 19th of [...]]]></description>
			<content:encoded><![CDATA[<p>Since it became apparent that the next version of AutoNessus was going to outgrow the reference to Nessus, Tennable’s Network Security Scanner, due to the inclusion of other scanners such as OpenVAS, NMAP and Nikto, the author of the program, Frank Breedijk, decided to start a contest for a new name.</p>
<p>On the 19th of November Frank Breedijk announced that Jason Mansfield, who runs the website http:/clinicallyawasome.com, has won the contest by sending in the name Seccubus. A bottle of Vueve Clinquot champaing will be sent to him shortly.</p>
<p>The author has provided the following explanation of the name Seccubus:<br />
<span id="more-782"></span><br />
Seccubus is a mythical creature that helps security professionals analyze and report the results of, repeated, vulnerability scans. Like its distant cousins the <a title="Wikipedia article" href="http://en.wikipedia.org/wiki/Succubus" target="_blank">Succubus</a> and <a title="Wikipedia article" href="http://en.wikipedia.org/wiki/Incubus" target="_blank">Incubus</a> the Seccubus is also a creature of the night. At night, or any other scheduled time, the Seccubus draws its energy from repeatedly performing vulnerability scans  of infrastructures until the vulnerabilities become exhausted or die.<br />
The Inseccubus is the male counterpart of the Seccubus. While the Inseccubus draws his life energy from the assessor by repeatedly requiring him to (re-)analyse the same findings, the Seccubus get her energy from pleasing the assessor by reducing the number of findings by means of delta reporting.</p>
<p>The name Seccubus was chosen from a list of over 50 ideas sent after the contest was announced via the AutoNessus.com website, <a title="Hacker Public Radio" href="http://www.hackerpublicradio.com" target="_blank">Hacker Public Radio</a>, <a title="Paul dot com" href="http://www.pauldotcom.com" target="_blank">Paul dot com</a> and various other social media outlets like Twitter, Facebook and LinkedIn.</p>
<p>“I wanted a name that was completely different from AutoNessus” said Frank Breedijk, explaining why suggestions like AutoVAS and AutoVAMP where turned down. Other suggestions where turned down because their name was already taken on media like twitter (e.g. VAsak, Vulnerability Assessment Swiss Army Knife) or “simply because I didn’t like them” (e.g. Mick Douglass is awesome).</p>
<p>Now that the new name has been announced the “rebranding” will be complete before the end of the year. The website <a title="Seccubus website" href="http://www.seccubus.com" target="_blank">www.seccubus.com</a> is already live but still points to the AutoNessus.com site. Also Frank’s twitter account, <a title="@AutoNessus on Twitter" href="http://twitter.com/autonessus" target="_blank">@autonessus</a>, will be renamed to <a title="@seccubus on Twitter" href="http://twitter.com/seccubus" target="_blank">@seccubus</a> soon.</p>
<p>The response to the renaming contest was overwhelming and we would like to thank everybody who participated.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2009/11/seccubus/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>TLS renegotiation attack. More bad news for SSL</title>
		<link>http://www.cupfighter.net/index.php/2009/11/tls-renegotiation-attack/</link>
		<comments>http://www.cupfighter.net/index.php/2009/11/tls-renegotiation-attack/#comments</comments>
		<pubDate>Sat, 07 Nov 2009 23:34:19 +0000</pubDate>
		<dc:creator>Frank Breedijk</dc:creator>
				<category><![CDATA[Security]]></category>
		<category><![CDATA[SSL]]></category>
		<category><![CDATA[Attack]]></category>
		<category><![CDATA[cross site request forgery]]></category>
		<category><![CDATA[CSRF]]></category>
		<category><![CDATA[Dan Kaminiski]]></category>
		<category><![CDATA[e-commerce]]></category>
		<category><![CDATA[https]]></category>
		<category><![CDATA[Man in the Middle]]></category>
		<category><![CDATA[Marsh Ray]]></category>
		<category><![CDATA[Mike Zusman]]></category>
		<category><![CDATA[Mitm]]></category>
		<category><![CDATA[Moxie]]></category>
		<category><![CDATA[Moxie Marlinspike]]></category>
		<category><![CDATA[Online Banking]]></category>
		<category><![CDATA[OpenSSL]]></category>
		<category><![CDATA[renegotiation]]></category>
		<category><![CDATA[request smuggling]]></category>
		<category><![CDATA[Steven Dispensa]]></category>
		<category><![CDATA[TLS]]></category>
		<category><![CDATA[TLS renegotiation]]></category>
		<category><![CDATA[XSRF]]></category>

		<guid isPermaLink="false">http://www.cupfighter.net/?p=676</guid>
		<description><![CDATA[My take on the TLS renegotiation attack. A dangerous attack. ]]></description>
			<content:encoded><![CDATA[<p>Three days ago on the 3rd of November Marsh Ray and Steven Dispensa of <a title="Phone Factor website" href="http://www.phonefactor.com/" target="_blank">PhoneFactor</a> released a <a title="TLS renegotiation attack whitepaper" href="http://extendedsubset.com/Renegotiating_TLS.pdf" target="_blank">whitepaper</a> that describes a man in the middle attack against TLS and SSL v3 by using the “renegotiation” feature of the protocol. Let there be no mistake, this is a limited, but still serious attack.</p>
<p>This new attack adds to the issues published by <a title="Moxie's talk on Blackhat and Defcon" href="http://www.cupfighter.net/index.php/2009/07/blackhat-post-more-tricks-for-defeating-ssl-in-practice-moxie-marlinspike/" target="_blank">Moxie Marlinspike</a>, Dan Kaminski and Mike Zusman <a title="SSL in trouble at Blackhat and Defcon" href="http://www.cupfighter.net/index.php/2009/08/ssl-beaten-up-at-blackhat-and-defcon/" target="_blank">I blogged  about earlier</a>.</p>
<h1>So what does this new attack do?</h1>
<p>The attack described by Marsh Ray et al. exploits a feature of the TLS protocol called renegotiation. Renegotiation allows the TLS client or server to initiate a renegotiation of the encryption of the connection in order to refresh keys, increase authentication, increase the strength of the cipher suite or any other reason. This renegotiation can be performed by the server or the client by sending a server or client hello message.</p>
<p><span id="more-676"></span>The man in the middle attack works by intercepting and forwarding the first client hello message sent by the client (C) to the server (S) and then negotiating the cipher between the Man in the Middle (M) and the server only. At this point there is an encrypted session between M and S and M can insert his own data into the connection and even read the reply for the period that the underlying protocol (e.g. HTTP for HTTPS) allows for a reply to arrive. M then replays the original client hello message received from C which will start a renegotiation of the cipher between C and S. Depending on the timing of the replay of the client hello message C will either append its request to M’s request, receive the answer to M’s request or will not be aware of M’s request and S’ reply to M’s request.</p>
<div id="attachment_677" class="wp-caption aligncenter" style="width: 458px"><a href="http://www.cupfighter.net/wp-content/uploads/2009/11/TLS-renegotiate.png"><img class="size-full wp-image-677 " title="TLS renegotiation attack" src="http://www.cupfighter.net/wp-content/uploads/2009/11/TLS-renegotiate.png" alt="TLS handshake with MitM renegotiation attack" width="448" height="584" /></a><p class="wp-caption-text">TLS handshake with MitM renegotiation attack</p></div>
<p>Using techniques similar to <a title="HTTP Request Smuggling whitepaper" href="http://www.cgisecurity.com/lib/HTTP-Request-Smuggling.pdf" target="_blank">request smuggling</a> M can even insert his own request into a session that requires client certificate authentication. In fact the original whitepaper’s first example deals with TLS renegotiation in case of client certificate authentication. Like <a title="Wikipedia article" href="http://en.wikipedia.org/wiki/Cross-site_request_forgery" target="_blank">Cross Site Request Forgery</a> this attack allows an attacker to send requests to resource within the, possibly authenticated, context of the client.</p>
<p>Because this attack requires the attacker to manipulate the traffic stream between client and server and is thus classified as a man in the middle (MitM) attack, it does not allow the attacker to decrypt any traffic sent between client and server.</p>
<h1>What are the consequences of this attack?</h1>
<p>While this attack does not completely break TLS, it does break on of its fundamental functions, in that it does not fully guarantee the integrity of the first request from the client to the server. This means e.g. that the attacker could insert a transaction into an online banking application without the user being aware.<br />
This attack does NOT affect the integrity of the reply from the server to the client (other than maybe not sending the reply to the client), so it does not allow the attacker to rewrite the reply from the server to the client. This means that if, e.g. an online bank publishes an overview of the transactions before and after the transaction is authorised, the user can spot the inserted transaction.</p>
<p>The attack also does not affect the confidentiality of either the original request or the reply from the server, however as with cross site request forgery, it may allow an attacker to use the clients credentials (e.g. a client certificate, cookie, or password) without knowing them.</p>
<p>While the attack only works for the first request sent over a TLS session (subsequent renegotiation requests are sent in the encryption context and can thus not be inserted) M could force the session to reset after x seconds of inactivity by sending a reset packet to both C and S, thus forcing a new TCP and TLS session to be re-established and thus gaining a new window of opportunity.</p>
<h1>What can be done against this attack?</h1>
<p>Currently there are no fixes available. In their whitepaper Marsh Ray et al describe several possible solutions, which unfortunately all more or less break backwards compatibility.</p>
<p>In response to this attack <a title="OpenSSL website" href="http://www.openssl.org/" target="_blank">OpenSSL</a> <a title="ISC Sans announcement" href="http://isc.sans.org/diary.html?storyid=7543" target="_blank">today released OpenSSL 0.9.8l</a> which does not fix the vulnerability, but disables renegotiation completely. This change to OpenSSL may break certain applications so it should be carefully tested before it is implemented.<br />
From an HTTPS perspective the problem has similarities with cross site request forgery and can be defended against in a similar manner. If a program requires a unique session ID with sufficient entropy as part of the URL this session ID cannot be read or reused by the attacker.<br />
The problem currently has the full attention of <a title="IETF TLS Workgroup mailing list archive" href="http://www.ietf.org/mail-archive/web/tls/current/msg03948.html" target="_blank">Internet Engineering Task Force (IETF) TLS workgroup</a> so hopefully they will come up with a fix soon. In the mean time you could disable renegotiation for OpenSSL based products if this does not break the application stack.</p>
<h1>Conclusion</h1>
<p>While the attack does not break the confidentiality of the communication between client and server it does allow an attacker to insert text into the first request of the client, thus breaking its integrity. This issue is a fundamental protocol level issue that cannot be fixed without breaking backward compatibility. If the application using TLS (e.g. HTTPS) does not need renegotiation, turning renegotiation off may be a possibility, however there are numerous situations where renegotiation is needed (e.g. certain scenarios where client certificate authentication is used for https).<br />
I do not agree with Moxie Marlinspike who was quoted to say <a title="Techtarget's article about TLS renegotionation attack" href="http://searchsecurity.techtarget.com/news/article/0,289142,sid14_gci1373678,00.html" target="_blank">“It doesn&#8217;t affect your webmail, online banking or online shopping experience.”</a> However the attack is hard to use and the attacker will need to have detailed knowledge of the application he is attacking. This attack will first appear in highly targeted scenarios. Since the attack is a man in the middle attack the attack will have to have control over all the traffic between client and server and vice versa in order to fully exploit the attack.</p>
<p>With this attack TLS does not fully protect the integrity of the communication between client and server.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.cupfighter.net/index.php/2009/11/tls-renegotiation-attack/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
	</channel>
</rss>

