<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Deadliest Web Attacks</title>
	<atom:link href="http://deadliestwebattacks.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://deadliestwebattacks.com</link>
	<description>Cataloging the bugs, hacks, and mistakes that plague a secure web.</description>
	<lastBuildDate>Wed, 01 Feb 2012 22:10:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='deadliestwebattacks.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Deadliest Web Attacks</title>
		<link>http://deadliestwebattacks.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://deadliestwebattacks.com/osd.xml" title="Deadliest Web Attacks" />
	<atom:link rel='hub' href='http://deadliestwebattacks.com/?pushpress=hub'/>
		<item>
		<title>BSides San Francisco</title>
		<link>http://deadliestwebattacks.com/2012/02/01/bsides-san-francisco/</link>
		<comments>http://deadliestwebattacks.com/2012/02/01/bsides-san-francisco/#comments</comments>
		<pubDate>Wed, 01 Feb 2012 22:00:13 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.com/?p=97</guid>
		<description><![CDATA[Voting on BSides SF presentations closes this Friday (Feb 2nd). If you&#8217;ll be in San Francisco for RSA, make sure to check out BSides as well. It&#8217;s also a chance to learn about a JavaScript-based approach to fingerprinting web app &#8230; <a href="http://deadliestwebattacks.com/2012/02/01/bsides-san-francisco/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=97&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Voting on <a href="http://www.securitybsides.com/w/page/47572893/BSidesSanFrancisco2012">BSides SF</a> presentations closes this Friday (Feb 2nd). If you&#8217;ll be in San Francisco for RSA, make sure to check out BSides as well. It&#8217;s also a chance to learn about a JavaScript-based approach to fingerprinting web app frameworks &#8212; but only if you vote for Blind Fury!</p>
<blockquote><p><strong>Blind Fury: An Alternate Web App Fingerprinting Technique</strong></p>
<p>Web app fingerprinting attempts to identify the type and version of frameworks installed on a web site. Knowledge of frameworks and their version helps determine whether a site has kept up to date with security patches. Accurate fingerprinting can be more efficient and less intrusive than blackbox vulnerability scanning for identifying potential vulnerabilities.</p>
<p>Traditional approaches to fingerprinting web applications rely on brute force enumeration of pages, scraping content with regexes, or hybrids of the two. These are suboptimal. Page enumeration is bandwidth-intensive. Its accuracy falls when &#8220;install&#8221; files are removed or pages are minified. Regexes are prone to errors of matching incorrect content or are defeated by simple site modification (such as removing &lt;meta&gt; content). These techniques tend to identify the presence of pages on a site, but do not indicate whether the files are actually used of the application.</p>
<p>Blind Fury uses a new approach that does not rely on page enumeration or regexes. Yet it is still able to identify several popular frameworks. In fact, the technique can be extended to generate fingerprints for almost any type of web site. It can create and analyze fingerprints from a completely blackbox perspective; it does not require prior knowledge of a target&#8217;s directory structure.</p></blockquote>
<p>If you love <a href="http://www.rutgerhauer.org/">Rutger Hauer</a> movies, vote for Blind Fury.</p>
<p>Fear not, regardless of the outcome of voting, I&#8217;ll be posting more about it at the end of the month.</p>
<p>p.s. Regular visitors may have noticed that the site has moved to WordPress.com from Blogger (saying good-bye to negative privacy and policy changes). The only drawback so far is that some of the archive links are broken because they were originally saved as year/month rather than year/month/day. All of the content remains, just under a slightly different link.</p>
<blockquote><p>&nbsp;</p>
<p>&nbsp;</p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/97/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/97/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/97/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=97&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2012/02/01/bsides-san-francisco/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Darts Back to VBScript</title>
		<link>http://deadliestwebattacks.com/2011/12/07/google-darts-back-to-vbscript/</link>
		<comments>http://deadliestwebattacks.com/2011/12/07/google-darts-back-to-vbscript/#comments</comments>
		<pubDate>Wed, 07 Dec 2011 07:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[html5]]></category>
		<category><![CDATA[web security history]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/12/07/google-darts-back-to-vbscript</guid>
		<description><![CDATA[There&#8217;s an interesting discussion evolving on the WebKit developer&#8217;s mailing list that boils down to adding VBScript support to the project. Well, almost. It&#8217;s a discussion between two major contributor camps, Google and Apple, on the framework for integrating Google&#8217;s &#8230; <a href="http://deadliestwebattacks.com/2011/12/07/google-darts-back-to-vbscript/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=79&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s an interesting discussion evolving on the WebKit developer&#8217;s mailing list that boils down to adding VBScript support to the project. Well, almost. It&#8217;s a discussion between two major contributor camps, Google and Apple, on the framework for integrating Google&#8217;s <i>langue du jour</i>:&nbsp;<a href="http://www.dartlang.org/">Dart</a>.</p>
<p>To set the stage, no one on the list is arguing in bad faith. If you&#8217;d prefer the troll-baiting titillation of he said/she said threads, look elsewhere. Never the less, keep reading here and you&#8217;ll be rewarded with a pontifical comment or two.</p>
<p>So, back to Google&#8217;s desire to include VBScript to the WebKit browser engine. I mean Dart; I believe they call it Dart because four fewer letters improves efficiency. The basic idea is that JavaScript is nice, but insufficient to fully replicate certain kinds of desktop apps. For example, JavaScript becomes creaky if you push it to handle anything associated with frame rates &#8212; namely games.</p>
<p>There&#8217;s clearly self-interest in improving browser computing if your entire platform relies on the browser. For starters, you want a browser that won&#8217;t have ad-blocking on by default. And you&#8217;ll want to <a href="http://googlepublicpolicy.blogspot.com/2011/01/keep-your-opt-outs.html">smooth out</a>&nbsp;the wrinkles of something like a <a href="http://www.w3.org/Submission/web-tracking-protection/">Do Not Track</a> header.<sup>1,2</sup> Sometimes, it&#8217;s even convenient to get other browsers, say Internet Explorer, to catch up on technology by <a href="http://arstechnica.com/open-source/news/2009/09/google-brings-chromes-renderer-to-ie-with-browser-plugin.ars">plugging your own browser</a> into them.<sup>3</sup> (Never mind the <a href="http://shaver.off.net/diary/2009/09/28/thoughts-on-chrome-frame/">implications</a> of a <a href="http://blog.lizardwrangler.com/2009/09/28/browser-soup-and-chrome-frame/">browser in a browser</a>.<sup>4,5</sup>) That brouhaha of 2009 enabled users to experience brave, new products with their Chrome/IE chimera &#8212; which in hindsight must have been necessary since the product was <a href="http://googlewave.blogspot.com/2011/11/final-steps-for-google-wave.html">no longer around</a> by the time IE caught up on HTML5.<sup>6</sup></p>
<p>But all of that avoids the fact that JavaScript isn&#8217;t perfect. Enter Dart, accompanied by tweaks that make it more bare-metal-compiler friendly</p>
<p>On the other hand, maybe JavaScript (ahem, the <a href="http://www.ecmascript.org/">ECMAScript</a> standard) just needs its own <a href="http://blogs.msdn.com/b/ie/archive/2011/11/22/evolving-ecmascript.aspx">tweaking</a> to enable performance gains.<sup>7,8</sup> And while we&#8217;re on this JavaScript tirade, why not throw improve our privacy with some <a href="https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest">crypto-related capabilities</a> rather than start over with VBDart?<sup>9</sup></p>
<p>ECMADart isn&#8217;t Google&#8217;s sole flirtation with browser extensions. Google also wants to reinvent ActiveX in the form of a plugin called <a href="http://www.chromium.org/nativeclient">NaCl</a>.<sup>10</sup> NaCl is a sort of the arterial bypass of JavaScript in that it provides a way to execute native code (C or C++) in your browser. Instead of relying on the non-standard closed sandbox plugins like Flash or Silverlight you can rely on the non-standard open source sandbox plugin of NaCl.</p>
<p><b>Words That Start With E</b></p>
<p>Understand first that reinvention intends to improve upon the original. Hollywood likes to call this &#8220;rebooting&#8221; a franchise. This brings us cool Batman movies. At the price of yet another Batman movie. Or yet another Superman. Or Spiderman. (Hey, Star Trek was pretty awesome so reboots aren&#8217;t out-of-hand a bad idea.) Yet this pushes other, fresher ideas out of the way. In web terms, those other, fresher ideas involve developers embracing HTML5 and JavaScript as the standard deployment model for web apps rather than coding to browser quirks or throwing Flash-driven menus everywhere.</p>
<p>Now fill in the blank: Reinventing a technology is a great way to [ ____ ]
<ul>
<li>Learn from sins of the past</li>
<li>Remember history and not repeat it</li>
<li>Forget history and repeat it</li>
<li>&#8220;<a href="http://www.economist.com/node/298112?Story_ID=298112">Embrace, extend, and extinguish</a>&#8221; competing standards<sup>11</sup></li>
</ul>
<p>Even desultory readers should notice the biased presentation of choices: Three phrases of cliched meaninglessness and one possibly-too-subtle allusion to the dark times of an almost two decade-old past. It wasn&#8217;t until the late 90&#8242;s when a <a href="http://www.rollingstones.com/">Rolling Stones</a>&#8216; song first graced a t.v. commercial. Their song, &#8220;Start Me Up,&#8221; played over an ad&nbsp;(this is the dark times part)&nbsp;for Microsoft &#8212; the company that created the &#8220;embrace, extend, and extinguish&#8221; strategy to give Internet Explorer dominance in the browser market.</p>
<p>One great way to embrace and extend is to provide New! Cool! features that work great in one browser, but degrade or don&#8217;t exist in any other. A new scripting language is one way to do that, even if it&#8217;s as useful as VBDript. To be fair, plugins like Flash and Silverlight need to be pulled into this category. Java counts as cross-platform, but when was the last time you used a Java app in your browser? When was the last time a hacker did? (Hint: Probably <a href="http://blogs.technet.com/b/mmpc/archive/2010/10/18/have-you-checked-the-java.aspx">more recently</a> than you think.)<sup>12</sup></p>
<p>Stepping outside of boundaries isn&#8217;t always bad. After all, a foundation of the modern web, the <a href="http://support.microsoft.com/kb/285081">XMLHttpRequest</a> object, arose from an IE-only extension.<sup>13</sup> A detraction further compounded by requiring ActiveX. XHR&#8217;s adoption into the W3C standards was both acknowledgement of the feature&#8217;s widely recognized utility as well as the desire to make the feature equal among all browsers.</p>
<p><b>All You Need is &lt;!doctype html&gt;</b></p>
<p>Maybe everything doesn&#8217;t have to go into the browser. Yes, I can think of a few reasons why App stores (trademarked ones and not) equally threaten divergence and uncrossable platforms. But at least consider the app+device duo has a better security model than the browser. The browser&#8217;s model is mostly a Same Origin Policy affair, whereas you ostensibly have to approve and acknowledge certain behaviors for your sandboxed app.</p>
<p>The worst thing you can do is sign up to the WebKit developers list in order to spam it with flaming, troll-ridden diatribes for or against JavaDart. Let engineers more involved in the browser sausage making sort it out with their constructive conversation.</p>
<p>The best thing you can do is continue to create cool web sites with technology that works in every browser: HTML5 and JavaScript. Let the annoying litter of the Web&#8217;s past (pop-up windows, scrolling marquees, even Flash has a terminal diagnosis by now) scatter in what the <a href="http://www.the-scorpions.com/">Scorpions</a> so awesomely sung as the &#8220;Wind of Change.&#8221;</p>
<p>=====<br />[1]&nbsp;http://googlepublicpolicy.blogspot.com/2011/01/keep-your-opt-outs.html<br />[2]&nbsp;http://www.w3.org/Submission/web-tracking-protection/<br />[3]&nbsp;http://arstechnica.com/open-source/news/2009/09/google-brings-chromes-renderer-to-ie-with-browser-plugin.ars<br />[4]&nbsp;http://shaver.off.net/diary/2009/09/28/thoughts-on-chrome-frame/<br />[5]&nbsp;http://blog.lizardwrangler.com/2009/09/28/browser-soup-and-chrome-frame/<br />[6]&nbsp;http://googlewave.blogspot.com/2011/11/final-steps-for-google-wave.html<br />[7]&nbsp;http://www.ecmascript.org/<br />[8]&nbsp;http://blogs.msdn.com/b/ie/archive/2011/11/22/evolving-ecmascript.aspx<br />[9]&nbsp;https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest<br />[10]&nbsp;http://www.chromium.org/nativeclient<br />[11]&nbsp;http://www.economist.com/node/298112?Story_ID=298112<br />[12]&nbsp;http://blogs.technet.com/b/mmpc/archive/2010/10/18/have-you-checked-the-java.aspx<br />[13]&nbsp;http://support.microsoft.com/kb/285081</p>
<p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-291961659304372006?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=79&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/12/07/google-darts-back-to-vbscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-291961659304372006?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>The Twelve Web Security Truths</title>
		<link>http://deadliestwebattacks.com/2011/11/16/the-twelve-web-security-truths/</link>
		<comments>http://deadliestwebattacks.com/2011/11/16/the-twelve-web-security-truths/#comments</comments>
		<pubDate>Wed, 16 Nov 2011 01:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[browser security]]></category>
		<category><![CDATA[web security]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/11/16/the-twelve-web-security-truths</guid>
		<description><![CDATA[My current writing project has taken time away from adding new content lately. Here&#8217;s a brief interlude of The Twelve Web Security Truths I&#8217;ve been toying with as a side project. They are modeled on The Twelve Networking Truths from &#8230; <a href="http://deadliestwebattacks.com/2011/11/16/the-twelve-web-security-truths/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=78&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>My current writing project has taken time away from adding new content lately. Here&#8217;s a brief interlude of <i>The Twelve Web Security Truths</i> I&#8217;ve been toying with as a side project. They are modeled on <i>The Twelve Networking Truths</i> from <a href="http://tools.ietf.org/html/rfc1925">RFC 1925</a>.
<ol>
<li>Software execution is less secure than software design, but running code has more users.</li>
<li>The time saved by not using parameterized queries to build SQL statements should be used to read about using parameterized queries.</li>
<li>Same Origin Policy restricts the DOM access and JavaScript behavior of content loaded from multiple origins. Malware only cares about plugin and browser versions.</li>
<li>Content like XSS exploits are affected by the Same Origin Policy, which is nice for XSS attacks that inject into the site&#8217;s origin.</li>
<li>CSRF countermeasures like Origin headers mitigate CSRF, not XSS. Just like X-Frame-Options mitigates clickjacking, not XSS.</li>
<li>Making data safe for serialization with JSON does not make the data safe for the site.</li>
<li>There are four XSS vulns in your site today. Hackers will find two of them, the security team will find one, the dev team will introduce another one tomorrow.</li>
<li>Blacklists miss the payload syntax that works.</li>
<li>A site that secures user data still needs to work on the privacy of user data.</li>
<li>Hashing passwords with 1000-round PBKDF2 increases the work factor to brute force the login page by a factor of 1. Increasing this to a 10,000-round PBKDF2 scheme provides an additional increase by a factor of 1.</li>
<li>The vulnerabilities in &#8220;web 2.0&#8243; sites occur against the same HTML and JavaScript capabilities of &#8220;web 1.0&#8243; sites. HTML5 makes this different in the same way.</li>
<li>A site is secure when a compromise can be detected, defined, and fixed with minimal effort and users are notified about it.</li>
<li>Off-by-one errors only happen in C.</li>
</ol>
<p>Enjoy. And stick around for (the not quite yet imminent arrival of) new content. Thanks for reading!
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-1283579298268591861?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/78/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/78/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/78/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=78&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/11/16/the-twelve-web-security-truths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-1283579298268591861?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>RSA Europe 2011</title>
		<link>http://deadliestwebattacks.com/2011/10/12/rsa-europe-2011/</link>
		<comments>http://deadliestwebattacks.com/2011/10/12/rsa-europe-2011/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 07:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/10/12/rsa-europe-2011</guid>
		<description><![CDATA[Here are the&#160;slides&#160;I used for my presentation at RSA 2011 Europe. The topic was HTML5 with an emphasis on distinguishing between HTML5 features that may present vulnerabilities vs. how HTML5 would simply be leveraged as part of older exploits. It &#8230; <a href="http://deadliestwebattacks.com/2011/10/12/rsa-europe-2011/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=77&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
<div style="margin:0;">Here are the&nbsp;<a href="https://docs.google.com/viewer?a=v&amp;pid=sites&amp;srcid=ZGVmYXVsdGRvbWFpbnxkZWFkbGllc3R3ZWJhdHRhY2tzfGd4OjIzNTQwZTMyZTgwYjZjNDA">slides</a>&nbsp;I used for my presentation at RSA 2011 Europe. The topic was HTML5 with an emphasis on distinguishing between HTML5 features that may present vulnerabilities vs. how HTML5 would simply be leveraged as part of older exploits. It also touches on broader aspects of web security such as design vs. implementation issues, the impact of mobile devices, and how using frameworks can improve security &#8212; as long as the frameworks themselves are good.</div>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-8329335400226204716?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/77/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/77/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/77/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=77&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/10/12/rsa-europe-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-8329335400226204716?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>Denial of Service</title>
		<link>http://deadliestwebattacks.com/2011/09/08/denial-of-service/</link>
		<comments>http://deadliestwebattacks.com/2011/09/08/denial-of-service/#comments</comments>
		<pubDate>Thu, 08 Sep 2011 00:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[denial of service]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/09/08/denial-of-service</guid>
		<description><![CDATA[Denial of service (DoS) attacks are the bluntest of tools in the web application exploit arsenal. The coarsest of attacks employ nothing more than a flood of packets that overwhelm the target’s capability to handle such an amount of traffic. &#8230; <a href="http://deadliestwebattacks.com/2011/09/08/denial-of-service/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=76&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">Denial of service (DoS) attacks are the bluntest of tools in the web application exploit arsenal. The coarsest of attacks employ nothing more than a flood of packets that overwhelm the target’s capability to handle such an amount of traffic. Most likely, the web application itself never sees the full effect of the assault because the network stacks of the underlying operating system and network devices fall over before legitimate traffic percolates up to the application.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="letter-spacing:0;"><span class="Apple-style-span" style="font-size:small;">DoS appeared on the original OWASP Top 10 list from 2004 (entry A9</span><sup><span class="Apple-style-span" style="font-size:x-small;">1</span></sup></span><span class="Apple-style-span" style="font-size:small;">) with allusions to bandwidth and server resource consumption. At the TCP layer, most DoS attacks are agnostic of the target’s services. Bandwidth flooding, packet fragmentation, and similar techniques apply either to the protocol itself (TCP, UDP, or even ICMP) or take advantage of vulnerabilities in an operating system’s network stack. As a consequence, such attacks typically fall out of the purview of web application developers or are treated as parallel issues that cannot rightfully be addressed at the application layer.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">On the other hand, the class of DoS attacks that target resource consumption (CPU cycles, memory, database contention, etc.) can and should be addressed by the web application (and by extension the web server and database engine). These types of attacks don’t have universal applicability that most network layer attacks do, but that is of little consolation if you’re in charge of the targeted web site.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">In The Book’s chapter about SQL injection (Chapter 3, p. 48) there’s an example of how a vulnerable link was used as leverage in a DoS attack against the RIAA’s web site. Instead of attempting to pilfer data or compromise the system, the SQL attack executed MySQL’s BENCHMARK command millions of times in order to spike the CPU’s utilization.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">These resource consumption attacks place a lopsided burden on the victim’s system relative to the attacker’s. In contrast, bandwidth-based attacks tend to require a roughly equivalent amount of resources between the attacker and victim. (Keep in mind that distributed denial of service, or DDoS, require the attacker to have active or “zombie” cohorts of compromised systems to launch the attack.) The previously mentioned SQL statement can be delivered in a single GET request from the attacker, but the effects last much longer on the victim’s side.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">Resource consumption attacks need to exploit a specific vuln. Instead of looking for SQL injection vectors an attacker might simply look for search-style functionality on the target web site. If the search ends up causing the equivalent of a full table scan in a database, or hits an otherwise unoptimized query, then the attacker could hammer that particular link to sink the target. Sites that execute user-supplied regular expressions expose themselves to a similar problem. Regex patterns can be equally inscrutable, deathly recursive, and inefficient. Good developers spend time crafting concise, effective patterns, but an adversarial user might create a pattern that leads the regex engine down the path of heavy CPU use.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">Interesting attacks also target protocols. The stateless nature of UDP, for example, makes it trivial to spoof packets. HTTP lays atop TCP, which severely limits the success of spoofing attacks, but exposes trickier scenarios that combine TCP and HTTP properties to create a hybridized attack in which a few well-crafted, valid packets can lead a web server to set aside large amounts of memory for only a handful of requests.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">A recently released tool, <a href="http://code.google.com/p/slowhttptest/">slowhttptest</a></span><sup><span class="Apple-style-span" style="font-size:x-small;">2</span></sup><span class="Apple-style-span" style="font-size:small;">, demonstrates this so-called “Slow HTTP” or “slowloris”</span><sup><span class="Apple-style-span" style="font-size:x-small;">3&nbsp;</span></sup><span style="font-size:small;letter-spacing:0;">attack. Check out the tool’s documentation and its related links for insight on how the attack works. The tool also demonstrates the “Apache Killer” attack that showed up in the last few weeks.</span><sup><span class="Apple-style-span" style="font-size:x-small;">4</span></sup></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">This isn’t a tech-heavy post about DoS and protocol analysis. Instead, I wanted to highlight some recent noise that’s been made about this kind of attack. This also leads to the larger issue of “securing to the checklist” or focusing on the attacks made popular at security conferences vs. attacks occurring in the wild.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">It’s easy to dismiss bandwidth consumption attacks as intractable problems for web apps that lack the server distribution and resources of sites like Facebook, Microsoft, Yahoo!, Google, or Amazon. Many site developers simply don’t have the means to react effectively.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">Resource consumption attacks are another matter. (Bandwidth doesn’t count as a resource for this purpose.) The emergence of adversarial groups like Anonymous, Antisec, and Lulzsec demonstrate the continued utility of blunt DoS as well as how apparently easy it is to find SQL injection vulnerabilities. (&#8230;and unencrypted passwords.)</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">These groups launch DoS attacks from ideological motives that seem to boil down to fighting noise with greater noise; silencing opposition rather than amplifying their own message. Regardless of the drive, the desire to continue DoS attacks should be evident and will likely lead to tools that reach higher into the protocol layer than crude packet stuffing. (Determining the merit of this approach belongs in another post, so we’ll depart this aspect of the discussion for now.)</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">Most DoS attacks are neither new nor particularly innovative, although there are clear improvements on the theme as shown by tools like slowhttptest and Apache Killer. The “slow” attacks and protocol abuse as demonstrated by these tools show how web developers can in fact improve their architecture and web servers to be more resistant. The continued presence of SQL injection, despite clear, simple, effective countermeasures reveals that not everyone pays attention to advances in security.</span></div>
<div style="font:12px Helvetica;min-height:14px;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">Web security seems to favor the attacker &#8212; look at the prevalence of “Yet Another XSS Exploit” at security conferences vs. the amount of discussion on countermeasures. (Perhaps also due to the perspective that attack is fun and defense is boring.) DoS attacks don’t have to move beyond the LOIC</span><sup><span class="Apple-style-span" style="font-size:x-small;">5</span></sup><span class="Apple-style-span" style="font-size:small;">&nbsp;to be effective in taking down most sites, but the nature of the attack will be sure to improve </span><span class="Apple-style-span" style="font-family:inherit;font-size:small;">and</span><span class="Apple-style-span" style="font-size:small;"> it would behoove site developers to keep this in mind as they configure and deploy web applications.&nbsp;</span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;"><br /></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;">=====</span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;"><br /></span></div>
<div style="font:12px Helvetica;margin:0;"><span style="font-size:small;letter-spacing:0;"></span></div>
<div style="font:10px Helvetica;margin:0;"><span class="Apple-style-span" style="font-family:inherit;font-size:small;"><span style="font:normal normal normal 6.7px/normal Helvetica;letter-spacing:0;"><sup>1</sup></span><span style="letter-spacing:0;"> https://www.owasp.org/index.php/A9_2004_Application_Denial_of_Service</span></span></div>
<div style="font:10px Helvetica;margin:0;"><span class="Apple-style-span" style="font-family:inherit;font-size:small;"><span style="font:normal normal normal 6.7px/normal Helvetica;letter-spacing:0;"><sup>2</sup></span><span style="letter-spacing:0;"> http://code.google.com/p/slowhttptest/</span></span></div>
<div style="font:10px Helvetica;margin:0;"><span class="Apple-style-span" style="font-family:inherit;font-size:small;"><span style="font:normal normal normal 6.7px/normal Helvetica;letter-spacing:0;"><sup>3</sup></span><span style="letter-spacing:0;"> http://ha.ckers.org/slowloris/</span></span></div>
<div style="font:10px Helvetica;margin:0;"><span class="Apple-style-span" style="font-family:inherit;font-size:small;"><span style="font:normal normal normal 6.7px/normal Helvetica;letter-spacing:0;"><sup>4</sup></span><span style="letter-spacing:0;"> http://seclists.org/fulldisclosure/2011/Aug/301</span></span></div>
<div style="font:10px Helvetica;margin:0;"><span class="Apple-style-span" style="font-family:inherit;font-size:small;"><span style="font:normal normal normal 6.7px/normal Helvetica;letter-spacing:0;"><sup>5</sup></span><span style="letter-spacing:0;"> http://sourceforge.net/projects/loic/</span></span></div>
<p>
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-119121640416472178?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/76/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/76/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/76/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=76&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/09/08/denial-of-service/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-119121640416472178?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>A Brief Return to CSRF</title>
		<link>http://deadliestwebattacks.com/2011/08/12/a-brief-return-to-csrf/</link>
		<comments>http://deadliestwebattacks.com/2011/08/12/a-brief-return-to-csrf/#comments</comments>
		<pubDate>Fri, 12 Aug 2011 01:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[csrf]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/08/12/a-brief-return-to-csrf</guid>
		<description><![CDATA[Attention to CSRF seems to ebb and flood against the popularity of yet another XSS or SQL injection. Here&#8217;s some insight1 into the projects I work on related to web scanning, specifically how some kinds of CSRF detections can be &#8230; <a href="http://deadliestwebattacks.com/2011/08/12/a-brief-return-to-csrf/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=75&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Attention to CSRF seems to ebb and flood against the popularity of yet another XSS or SQL injection. Here&#8217;s <a href="https://community.qualys.com/blogs/securitylabs/2011/08/10/the-was-approach-to-csrf">some insight</a><sup>1</sup> into the projects I work on related to web scanning, specifically how some kinds of CSRF detections can be automated.</p>
<p>CSRF detection definitely falls into the &#8220;hard&#8221; category of automation. <a href="http://www.amazon.com/dp/1597495433?tag=aht3-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=1597495433&amp;adid=0W4W2WS1DK3M7AXK7NMT">The Book</a> discusses CSRF in Chapter 2. You may also be interested in reading the excellent Stanford Web Security Research <a href="http://seclab.stanford.edu/websec/csrf/">papers</a> on the topic.<sup>2</sup></p>
<p>CSRF is a complex topic that engenders a lot of strong opinions on risk, exploitation, and what constitutes a vuln. A few months ago I wrote on the broader aspects of web security and how they do or do not <a href="http://www.deadliestwebattacks.com/2011/04/csrf-and-beyond.html">relate to CSRF</a>. </p>
<p>Since July was a rather dry period for updates here, I&#8217;ll take August to dive into some of the ways automated CSRF detection succeeds and which approaches are doomed to fail.</p>
<p>=====</p>
<p>1 https://community.qualys.com/blogs/securitylabs/2011/08/10/the-was-approach-to-csrf<br />2 http://seclab.stanford.edu/websec/csrf/<br />3 http://www.deadliestwebattacks.com/2011/04/csrf-and-beyond.html
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-526275063566696141?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=75&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/08/12/a-brief-return-to-csrf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-526275063566696141?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>A Social Phailure</title>
		<link>http://deadliestwebattacks.com/2011/07/21/a-social-phailure/</link>
		<comments>http://deadliestwebattacks.com/2011/07/21/a-social-phailure/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 00:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[phishing]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/07/21/a-social-phailure</guid>
		<description><![CDATA[It’s no uncommon event for your email spam folder to be full of phishing emails exhorting you to confirm your SSN or credit card details with your bank or demanding your account details for an online game to avoid it &#8230; <a href="http://deadliestwebattacks.com/2011/07/21/a-social-phailure/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=74&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It’s no uncommon event for your email spam folder to be full of phishing emails exhorting you to confirm your SSN or credit card details with your bank or demanding your account details for an online game to avoid it being canceled because of cheating activity detected. It’s less often that the phishing attempt arrives over the phone.</p>
<p>Last week I answered a call on my work phone whose caller ID showed “unknown”. I’m already predisposed to ignore such calls because of telemarketing. However I can imagine some situations where one of our customers’ phone exchanges would not appear on caller ID. So I answer.</p>
<p>A man politely informs me that he needs to confirm my email address in order to send me a tracking number for a FedEx package. I prefer to think that I’m a suspicious person rather than a cynical one. This statement was immediately suspicious because it was an out-of-the-blue attempt to extract information from me and I rarely receive packages. To be clear, my work email address is trivial to find (as apparently is my phone number). In fact, the caller had the correct email address. He only wanted me to confirm it.</p>
<p>I evaded acknowledging the email address which led the caller<sup>1</sup> to assert that the package couldn’t be sent without giving me a tracking number. Here he also tried to deflect my suspicion by mentioning that the package was from Chase Bank. And it was to be delivered tomorrow, but I needed to confirm my email so “They” could send me the tracking number.</p>
<p>I mentioned that I was confused why the package couldn’t arrive unless the tracking number was acknowledged. A little earlier in the conversation I had asked the caller’s name. He replied, “Jason.” Now I asked another question, “Could you tell me who the sender is?” After all, maybe I’m being overly cautious and Chase Bank wants to send me lots of cash for some reason.</p>
<p>The answer was even more telling, “We don’t have access to that data. For privacy reasons.” Even though the package was apparently coming from Chase, I was being told that the sender’s information was obscured from this poor FedEx rep’s view. Giving me a somewhat contradictory explanation doesn’t build my confidence in the goal of this call.</p>
<p>By now I was explaining that if the package doesn’t arrive because I refused to acknowledge my email address then I was sure the sender would deal with the problem. The caller made a final effort at confirmation, at which point I said something along the lines of, “Send an email if you want, but I’m not going to look at it. We’ll see if a package arrives.”</p>
<p>There’s potential for fun to be had with turning the tables on cons and phone phishing attempts like this. Yet the call was grating and it was time to hang up. Neither email nor package arrived. Quelle surprise.</p>
<p>I can only speculate on the ultimate goal of this phishing attempt, but I suspect the immediate objective was to soothe any suspicions about receiving an unsolicited “Fedex package tracking” link so that I’d click on it. I would probably also have been reminded to check my spam folder in case the email was accidentally marked as spam. A link, of course, leading to a site laced with malware that would like nothing else than to infect my already abysmally slow desktop.</p>
<p>The simplest, most straight-forward way to end the call could have been, “I have a pen and paper right here. You can just give me the number now.” This would not only have called the bluff, but might have provided brief entertainment as the caller tries to make up an excuse for not being able to give the number over the phone or lamely creates a number on the fly.</p>
<p>There are some very basic things you can do to possibly foil a social engineering attempt or build confidence in the claims of an unsolicited caller. The easiest step is to politely ask simple questions:
<ul>
<li>What’s your name? On who’s behalf are you calling?</li>
<li>Do you have a number I where can call you back?</li>
</ul>
<p>If you’re confused about something or a statement seems odd, ask for clarification. Social engineering usually relies on the human characteristics of greed or the desire to be helpful. You don’t need to counter a possible attack by being rude or belligerent (although it probably helps to not be greedy). After all, someone may be calling for good reason.</p>
<p>Good questions might fluster the attacker or further erode your trust in the call. However, there’s always the chance that answers will seem reasonable. In any case, you can always report suspicious calls to your IT or security department. That way you can help them identify a trend or to be more vigilant for certain activity. You probably don&#8217;t want to be the reason your company&#8217;s passwords, source code, or financials appear on a peer-to-peer file sharing network.</p>
<p>=====</p>
<p>1 I’m being nice by referring to him as “caller”. Unethical jerk is merely the tip of the iceberg of more suitable names.
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-11093017260078202?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/74/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/74/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/74/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=74&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/07/21/a-social-phailure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-11093017260078202?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>So You Want to Hash a Password&#8230;</title>
		<link>http://deadliestwebattacks.com/2011/06/30/so-you-want-to-hash-a-password/</link>
		<comments>http://deadliestwebattacks.com/2011/06/30/so-you-want-to-hash-a-password/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 23:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[crypto]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[sql injection]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/06/30/so-you-want-to-hash-a-password</guid>
		<description><![CDATA[Congratulations. You&#8217;re thinking about protecting a password; a concept that well-known1 sites, to this day2, fail3 to comprehend. Choose an established, vetted algorithm (SHA-256 would suffice), include a salt (we’ll explain this a bit later), hash the password. Get rid &#8230; <a href="http://deadliestwebattacks.com/2011/06/30/so-you-want-to-hash-a-password/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=73&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Congratulations. You&#8217;re thinking about protecting a password; a concept that <a href="http://risky.biz/sosasta">well-known</a><sup>1</sup> sites, to this <a href="http://blogs.wsj.com/digits/2011/06/08/some-top-apps-put-data-at-risk/">day</a><sup>2</sup>, <a href="http://www.pcworld.com/article/229316/lulz_boat_hacks_sonys_harbor_faq.html#tk.hp_fv">fail</a><sup>3</sup> to comprehend.</p>
<p>Choose an established, vetted algorithm (SHA-256 would suffice), include a salt (we’ll explain this a bit later), hash the password. Get rid of the plaintext password. Done. See how simple that was? There’s even Open Source <a href="http://www.keyczar.org/">code</a><sup>4</sup> to help you with more complex issues.</p>
<p>But once you’ve set foot on the path of hashing passwords you might be tempted to make the hash Even Better. An apparently common idea is that if you hash a password once, hashing it twice makes it more secure. Being &#8220;more secure&#8221; is a commendable goal, but beware the wild beasts of cryptography, for they are subtle and quick to&#8230;well, you should be able to finish that thought.<sup>5</sup></p>
<p>Repeating encryption or hashing algorithm isn&#8217;t a bad idea, it&#8217;s just not fully thought-through idea. First, we need a paragraph or three to catch everyone up on hashing and brute force attacks:</p>
<p>A cryptographic hash function takes an arbitrary-length input and produces a fixed-length output that has no statistical relation to the input. Consequently, a password like <i>friend</i> becomes an unintelligible string like <i>97823jnsndf234</i>.<sup>6</sup> An important property of a cryptographic hash function is that it’s irreversible (information is lost, similar to a lossy compression algorithm). No algorithm exists to turn the output <i>97823jnsndf234</i> back into <i>friend</i>. Alternately, an encryption function turns <i>friend</i> into <i>mellon</i> and if you know the encryption scheme and a key, then you know how to turn <i>mellon</i> back into <i>friend</i>. AES is an example of an encryption function.</p>
<p>Cracking a hashed password requires effort on the part of the attacker. This effort, or work factor, represents the time to execute a single hash function multiplied by the expected number of guesses required to find the correct input to the hash function. For example, an attacker might try all six-letter strings such as <i>friena</i>, <i>frienb</i>, <i>frienc</i> until finally hashing the guess of <i>friend</i> and observing that the output matches the reference hash, <i>97823jnsndf234</i>.</p>
<p>Trying all six-letter lowercase combinations of the English alphabet requires 308,915,776 guesses (26 characters to the 6<sup>th</sup> power). This is actually a relatively small number in the age of multi-core behemoths and GPU trickery. If a single hash function takes 1 microsecond to execute on a particular system, then the complete brute force will take about 5 minutes. If you pass each input through the hash function N times, then you increase the work factor by N. With N = 100 the six-character attack would take close to 9 hours. The attacker is going to get the password eventually, but now it will take N times longer.</p>
<p>Notice that the previous equation only cared about the time required to execute a single hash function. From this perspective it doesn&#8217;t matter if the hash algorithm produces a 128 bit or 512 bit output. It only matters how long it takes to obtain the output. (We&#8217;re only talking about hashing and repeated hashing here; bit lengths and algorithm selection still have important security implications for other reasons and against other attacks.)</p>
<p>Here is a simplified explanation of how a repeated hash function fails to universally improve the work factor to brute force a value. The input plaintexts are marked P (with Greek letter subscripts). This brief examples uses 10 iterations of a lossy hash function. The output of each intermediate hash is marked H with a numeric subscript. The final hash iteration is marked C with a subscript corresponding to the original plaintext.</p>
<p>The following line shows how the final value for an input plaintext is achieved:</p>
<p>P<sub>α</sub> -&gt; H<sub>1</sub> -&gt; H<sub>2</sub> -&gt; H<sub>3</sub> -&gt; H<sub>4</sub> -&gt; H<sub>5</sub> -&gt; H<sub>6</sub> -&gt; H<sub>7</sub> -&gt; H<sub>8</sub> -&gt; H<sub>9</sub> -&gt; C<sub>α</sub></p>
<p>A different input should produce a different final value:</p>
<p>P<sub>β</sub> -&gt; H<sub>43</sub> -&gt; H<sub>44</sub> -&gt; H<sub>45</sub> -&gt; H<sub>46</sub> -&gt; H<sub>47</sub> -&gt; H<sub>48</sub> -&gt; H<sub>49</sub> -&gt; C<sub>β</sub></p>
<p>A problem occurs when the original plaintext has a collision with one of the intermediate or final hash values. For example, what if P<sub>γ</sub> and H<sub>7</sub> have the same result when passed into the hash function? You have an overlapping sequence from the end of P<sub>α</sub>’s chain:</p>
<p>P<sub>γ</sub> -&gt; <b>H<sub>8</sub> -&gt; H<sub>9</sub> -&gt; H<sub>10</sub></b> -&gt; H<sub>11</sub> -&gt; H<sub>12</sub> -&gt; H<sub>13</sub> -&gt; H<sub>14</sub> -&gt; H<sub>15</sub> -&gt; H<sub>16</sub> -&gt; C<sub>γ</sub></p>
<p>A more pathological case happens when a sequence overlaps significantly:</p>
<p>P<sub>δ</sub> -&gt; <b>H<sub>44</sub> -&gt; H<sub>45</sub> -&gt; H<sub>46</sub> -&gt; H<sub>47</sub> -&gt; H<sub>48</sub> -&gt; H<sub>49</sub> -&gt; H<sub>50</sub></b> -&gt; C<sub>δ</sub></p>
<p>The way an attacker would exploit these artifacts is by creating some chain reference tables, much like a rainbow table. Yet in this case, the chain reference is used to skip rounds. For example, given an input plaintext P<sub>x</sub>, if the first hash round is H<sub>13</sub> and the table has a precomputed chain with an H<sub>13</sub> in it, then the attacker can fast-forward 10 steps (or however many steps have been precomputed) to get the C<sub>x</sub>.</p>
<p>This case for this Time-Memory-Trade-Off (TMTO) attack chains didn’t present any math or probability calculations to back up these assertions. If you’re about to dismisse this attack based on the lack of hard evidence (in this article), consider something else about repeated rounds: they do not introduce additional entropy. Consequently, each round might actually weaken the entropy of the initial input despite the increased work factor due to additional rounds. In a worst case scenario, this dilution of entropy might lead to collisions that make a brute force search even easier.</p>
<p>Repeated hashing does not increase entropy (the &#8220;difficulty&#8221; of the initial password), it only increases the work factor. Repeated hashing of <i>iloveyou</i> doesn&#8217;t make the password any harder to guess, just longer to get there.</p>
<p>Think of it in terms of the attacker&#8217;s dictionary. The attacker has a pre-defined list of common passwords, from <i>iloveyou</i> to <i>KAR120C</i>. Neither the hashing algorithm nor the number of repetitions has any impact on this dictionary. Those only affect the amount of time required for the attacker to cycle through the dictionary.</p>
<p>The common theme for using cryptosystems is to first look for implementations that conform to a <a href="http://csrc.nist.gov/groups/ST/hash/index.html">standard</a><sup>7</sup> rather than creating something you think is new, novel, and unique.</p>
<p>In the case of repeated encryption, you should turn to <a href="http://www.ietf.org/rfc/rfc2898.txt">RFC 2898</a> for the Password-Based Key Derivation Function 2 (PBKDF2).<sup>8</sup> PBKDF2 inserts an iteration counter to prevent &#8220;chain&#8221; attacks. In other words, the attacker <b>must</b> perform every encryption stage. At a minimum, the iteration prevents the attacker from shortcutting rounds using a TMTO trick.</p>
<p>Where repeated rounds increase the attacker’s work factor, salts defeat other precomputation (a.k.a Rainbow table) attacks. A salt is merely a number of bytes (like a string, though it need not be) prefixed or suffixed to a password.</p>
<p>Salting passwords affects the composition of the attacker’s dictionary. Rather than trying the password <i>me+galadriel</i> the attacker must include a salt, which makes it <i>somethinglongbefore-me+galadriel</i>. Salts don&#8217;t make the dictionary bigger, they make the dictionary specific to the salt. The idea here is that all of the effort put forth to crack a password with a particular salt cannot be reused to crack the same password with a different salt &#8212; the brute force must begin anew. The hash for <i>somethinglongbefore-me+galadriel</i> is completely different from <i>anotherstringinfrontof-me+galadriel</i>. This is the primary way to prevent another TMTO attack, usually referred to as a rainbow table.</p>
<p>If you want a recommendation on the length of a salt, 19 is a nice, mystical number.<sup>9</sup></p>
<p>Every measure you take to encrypt and obfuscate the password reduces the risk should the web site&#8217;s password store be stolen. (There&#8217;s quite a bit of precedent for such things.)</p>
<p>However, everything you do to protect the password in the database (or wherever it is stored) has no bearing on a multitude of other attack vectors, including the database itself.</p>
<p>Imagine a SQL injection attack that sets every user&#8217;s password to the hash of a password known to the attacker. What would you rather do? Download the entire DB over a period of several minutes or change every account to a password you know? These approaches have different goals: obtaining original passwords are likely re-used across email, banking, and other sites whereas setting a known password gives immediate access to the site at the expense of blatant activity more likely to be noticed.</p>
<p>Imagine a scenario where the attacker is able to modify the login page so cleartext passwords are stored to a file or shuffled off to another web site.</p>
<p>The focus on encrypting the password and preserving its confidentiality is laudable. However, too much focus takes away from the more immediate threat of brute forcing the login form itself. The work factor to crack a short password like <i>ncc1701</i> might be measured in days or weeks depending on the method of encryption. On the other hand, the attacker may have a list of the site&#8217;s users (or have a reliable way of generating likely user names). In this scenario, the attacker targets the login page with a static password (<i>ncc1701</i>) and cycles through the user list.</p>
<p>Once again, there&#8217;s precedent of success for this approach such as against our high-profile friend Twitter. In 2009 a hacker cracked the long (more than the mystical &#8220;8 character minimum&#8221;), but unsophisticated password <i>happiness</i> for an account that had permissions to reset passwords for any other account.<sup>10</sup></p>
<p>Clearly, it didn&#8217;t matter how well <i>happiness</i> had been kept secret, encrypted, obfuscated, and otherwise concealed. There were no limits on how many times the login page could be requested for brute forcing the account. Furthermore, the password protection for every other account was moot since the hacker now had access to an admin account from which he could take over any other. The only apparent good news in this scenario is that, while several accounts were compromised, the original passwords to those accounts were not. This is possibly negligible consolation, but important none the less considering the prevalence of password re-use across web sites.</p>
<p>By all means, put some effort into hashing passwords using well-established techniques. You&#8217;ll be adding to the work factor of anyone trying to crack the passwords should the password store ever be extracted from the site.</p>
<p>On the other hand, you may be increasing your own work factor with over-engineered solutions for password protection at the expense of other protections &#8212; like preventing SQL injection or rate limiting authentication points.</p>
<p>Here&#8217;s an additional note I made in the comments, but should highlight in the article:</p>
<p>For comparison, WPA2 uses PBKDF2 with the SSID of the network as a salt, a 256-bit key, HMAC-SHA1 for the algorithm, and 4096 iterations.</p>
<p>If you trying to figure out &#8220;what&#8217;s best&#8221; for hashing a password, consider WPA2 as the reference metric. For example, your hashing should generate a work factor of N times the work factor for WPA2 where N is your degree of paranoia that WPA2 is easily broken.</p>
<p>If you chose a double-digit N &#8220;just because&#8221;, then why would you ever use a wireless network (phone or Wi-Fi, GSM A5/3 or WPA2, etc.)? It&#8217;s much more likely someone will be able to sniff your encrypted traffic than they&#8217;ll ever get your hashed passwords. In fact, GSM&#8217;s A5/X algorithms have <a href="http://www.cs.technion.ac.il/users/wwwb/cgi-bin/tr-get.cgi/2006/CS/CS-2006-07.pdf">reported attacks</a>. Seems like another reason to layer encryption, such as <a href="http://mashable.com/2011/05/31/https-web-security/">always using HTTPS</a>.</p>
<p>For another comparison, the OSX File Vault <a href="http://crypto.nsa.org/vilefault/23C3-VileFault.pdf">apparently uses</a> PBKDF2 with 1000 iterations. (Although it&#8217;d be nice to have a more detailed reference.)</p>
<p>=====</p>
<p>1 http://risky.biz/sosasta<br />2 http://blogs.wsj.com/digits/2011/06/08/some-top-apps-put-data-at-risk/ <br />3 http://www.pcworld.com/article/229316/lulz_boat_hacks_sonys_harbor_faq.html#tk.hp_fv<br />4 http://www.keyczar.org/<br />5 If you’re not well-read in crypto you should at least be well read in fiction. After all, the security of a home-grown cryptosystem is closer to fiction.<br />6 It&#8217;s not necessary to think of any specific hash function at this point, but if you want a more concrete example, &#8220;friend&#8221; is hashed to the hexadecimal string &#8220;8e8b4d64f704c7a6aa632a7e6c2024e4f9fed79caac319e6bb7754db587e6f58&#8243; using the SHA-256 algorithm. <br />7 http://csrc.nist.gov/groups/ST/hash/index.html<br />8 http://www.ietf.org/rfc/rfc2898.txt<br />9 Read the <a target="_blank" href="http://www.amazon.com/Gunslinger-Dark-Tower-Book/dp/0452284694?ie=UTF8&amp;tag=aht3-20&amp;link_code=btl&amp;camp=213689&amp;creative=392969">Dark Tower</a> series by Stephen King, books V and VII in particular. The series also has one of the greatest first lines in a book, “The man in black fled across the desert, and the gunslinger followed.”<br />10 http://www.wired.com/threatlevel/2009/01/professed-twitt/
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-8652078382871468447?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/73/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/73/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/73/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=73&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/06/30/so-you-want-to-hash-a-password/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-8652078382871468447?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>Big in Japan</title>
		<link>http://deadliestwebattacks.com/2011/06/30/big-in-japan/</link>
		<comments>http://deadliestwebattacks.com/2011/06/30/big-in-japan/#comments</comments>
		<pubDate>Thu, 30 Jun 2011 10:33:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/06/30/big-in-japan</guid>
		<description><![CDATA[It&#8217;s not quite a Spinal Tap moment, but here&#8217;s a curious translation via Google. Here&#8217;s the text from the original article1: &#8220;Given the types of hacks that made the news in the last 12 months it’s not surprising that SQL &#8230; <a href="http://deadliestwebattacks.com/2011/06/30/big-in-japan/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=72&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s not quite a Spinal Tap moment, but here&#8217;s a curious translation via <a href="http://translate.google.com/translate?js=n&amp;prev=_t&amp;hl=en&amp;ie=UTF-8&amp;layout=2&amp;eotf=1&amp;sl=ja&amp;tl=en&amp;u=http%3A%2F%2Fjapan.internet.com%2Fwebtech%2F20110630%2F4.html">Google</a>.</p>
<p>Here&#8217;s the text from the <a href="http://www.esecurityplanet.com/features/article.php/3936581/SQL-Injection-Most-Dangerous-Software-Error.htm">original article</a><sup>1</sup>:<br />
<blockquote>&#8220;Given the types of hacks that made the news in the last 12 months it’s not surprising that SQL Injection is high on the list,&#8221; Mike Shema, engineering lead for the Qualys Web application scanning service told InternetNews.com. &#8220;What is surprising is that the countermeasures to SQL injection are well-known, effective, and available in all of the major programming languages used in web apps &#8212; for at least half a decade.&#8221;</p></blockquote>
<p>And the output after putting a <a href="http://japan.internet.com/webtech/20110630/4.html">Japanese version</a><sup>2</sup> of the article through Google translate:<br />
<blockquote>Mr. Mike Shema He has served as an engineering lead in Qualys vulnerability management for Web applications, said in an interview as follows. &#8220;Given the type of hacking made headlines during the past 12 months, that&#8217;s up to the top of the list of SQL injection is not surprising.&#8217;s Surprising is to measure at least 5 years SQL injection is not well known, effective, and it is in a state that can be used in all major programming languages used in Web Applications&#8221;</p></blockquote>
<p>I love the fact that my cynical observation of <a href="http://www.deadliestwebattacks.com/2011/04/advanced-persistent-ignorance.html">Advanced Persistent Ignorance</a> was turned on its head to clearly explain three reasons why SQL injection survives to this day:
<ul>
<li>it&#8217;s not well known,</li>
<li>it&#8217;s effective,</li>
<li>and (my favorite part) it can be used in all major programming languages.</li>
</ul>
<p>It sounds so much better that way!</p>
<p>=====</p>
<p>1 http://www.esecurityplanet.com/features/article.php/3936581/SQL-Injection-Most-Dangerous-Software-Error.htm<br /> 2 http://japan.internet.com/webtech/20110630/4.html
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-1447926996945150574?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/72/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/72/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/72/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=72&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/06/30/big-in-japan/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-1447926996945150574?l=www.deadliestwebattacks.com" medium="image" />
	</item>
		<item>
		<title>Will the Real APT Please Stand Up?</title>
		<link>http://deadliestwebattacks.com/2011/06/16/will-the-real-apt-please-stand-up/</link>
		<comments>http://deadliestwebattacks.com/2011/06/16/will-the-real-apt-please-stand-up/#comments</comments>
		<pubDate>Thu, 16 Jun 2011 22:00:00 +0000</pubDate>
		<dc:creator>Mike</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://deadliestwebattacks.wordpress.com/2011/06/16/will-the-real-apt-please-stand-up</guid>
		<description><![CDATA[The Advanced Persistent Threat (APT) is now competing with Cyberwar for reign as security word(s) of the year. It would have been nice if we had given other important words like HTTPS1 or Prepared Statements their chance to catch enough &#8230; <a href="http://deadliestwebattacks.com/2011/06/16/will-the-real-apt-please-stand-up/">Continue reading <span class="meta-nav">&#8594;</span></a><img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=71&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The <i>Advanced Persistent Threat</i> (APT) is now competing with <i>Cyberwar</i> for reign as security word(s) of the year. It would have been nice if we had given other important words like <a href="http://mashable.com/2011/05/31/https-web-security/">HTTPS</a><sup>1</sup> or Prepared Statements their chance to catch enough collective attention to drive security fixes. Alas, we still deal with these fundamental security problems due to Advanced Persistent Ignorance. (I <a href="http://www.deadliestwebattacks.com/2011/04/advanced-persistent-ignorance.html">noted</a><sup>2</sup> previously that you can only defeat Advanced Persistent Ignorance with CAKE<sup>3</sup>.) It’s not wrong to seek out examples of APT, but it helps to have an idea about its nature. Otherwise, we risk seeing the APT boogeyman everywhere.</p>
<p>Threats have agency. They are persons (or even natural events like earthquakes and tsunamis) that take action against your assets (information, network, etc.). An XSS vulnerability in an email site isn’t a threat &#8212; the person trying to hijack your account with it is. With this in mind, the term APT helpfully self-describes two important properties:
<ul>
<li>the threat is persistent</li>
<li>the threat is advanced</li>
</ul>
<p>Persistence is uncomplicated. The threat actor has a continuous focus on the target. This doesn’t mean around-the-clock port scanning just waiting for an interesting port to pop up. It means active collection of data about the target as well as development of tools, techniques, and plans once a compromise is attained. Persistent implies patience in searching for “simple” vulns and enumerating resources vulnerable to more sophisticated exploits.</p>
<p>A script-kiddie joyriding the Internet with <a href="http://sqlmap.sourceforge.net/">sqlmap</a><sup>4</sup> or <a href="http://www.metasploit.com/">metasploit</a><sup>5</sup> looking for anything to attack may be persistent, but the persistence is geared towards finding a vuln rather than finding a vuln in a specific target. It’s the difference between a creepy guy stalking his ex versus a creepy guy hanging out in a bar waiting for someone to get really drunk.</p>
<p>The advanced aspect of a threat leads to more confusion than its persistent aspect. An advanced threat may still exploit simple vulns (e.g. SQL injection). The advanced nature need not even be the nature of the exploit (e.g. using a tool like sqlmap). What may be advanced is the leverage of the exploit. Remember, the threat agent most likely wants to do more than grab passwords from a database. With passwords in hand it’s possible to reach deeper into the target network, steal information, cause disruption, and establish more permanent access than waiting for another buffer overflow to appear. </p>
<p>Stolen passwords are one of the easiest backdoors and the most difficult to detect. Several months ago RSA systems were hacked. Enough information was allegedly stolen that observers at the time imagined it would enable attackers to spoof or otherwise attack SecurID tokens and authentication schemes.</p>
<p>Now it seems those expectations have been met with not <a href="http://www.reuters.com/article/2011/05/27/us-usa-defense-hackers-idUSTRE74Q6VY20110527">one</a><sup>6</sup>, but <a href="http://www.wired.com/threatlevel/2011/05/l-3/">two</a><sup>7</sup> major defense contractors reporting breaches that apparently used SecurID as a vector.</p>
<p>At this point I’m out of solid technical examples of APT. But I don’t want you to leave without a good understanding of what an insidious threat looks like. Let’s turn to the metaphor and allegory of television influenced by the Cold War.</p>
<p>Specifically, <a href="http://www.amazon.com/gp/product/B000H5U5EE/ref=as_li_qf_sp_asin_tl?ie=UTF8&amp;tag=aht3-20&amp;linkCode=as2&amp;camp=217145&amp;creative=399369&amp;creativeASIN=B000H5U5EE"><i>The Twilight Zone</i></a> season 2, episode 28, &#8220;Will the Real Martian Please Stand Up&#8221; written by the show’s creator, Rod Serling.</p>
<p>Spoilers ahead. I insist you watch the episode before reading further. It’ll be 25 minutes of entertainment you won’t regret.</p>
<p>The set-up of the show is that a Sheriff and his deputy find possible evidence of a crashed UFO, along with very human-like footprints leading from the forested crash site into town.</p>
<p>The two men follow the tracks to a diner where a bus is parked out front. They enter the diner and start to ask if anyone’s seen someone suspicious. You know, like an alien. The bus driver explains the bus is delayed by the weather and they had just stopped at the diner. The lawmen scan the room, &#8220;Know how many you had?&#8221;</p>
<p>&#8220;Six.&#8221;</p>
<p>In addition to the driver and the diner’s counterman, Haley, there are seven people in the diner. Two couples, a dandy in a fedora, an old man, and a woman. Ha! Someone&#8217;s a Martian in disguise!</p>
<p>What follows are questions, doubt, confusion, and a jukebox. With no clear evidence of who the Martian may be, the lawmen reluctantly give up and allow everyone to depart. The passengers reload the bus8. The sheriff and his deputy leave. The bus drives away.</p>
<p>But this is the Twilight Zone. It wouldn’t leave you with a such a simple parable of paranoia; there’s always a catch.</p>
<p>The man in the fedora and overcoat, Mr. Ross, returns to the diner. He laments that the bus didn&#8217;t make it across the bridge. (&#8220;Kerplunk. Right into the river.&#8221;)</p>
<p>Dismayed, he sits down at the counter, cradling a cup of coffee in his left hand. The next instant, with marvelous understatement, he pulls a pack of cigarettes from his overcoat and extracts a cigarette &#8212; using a third hand to retrieve some matches.</p>
<p>We Martians (he explains) are looking for a nice remote, pleasant spot to start colonizing Earth.</p>
<p>Oh, but we’re not finished. Haley nods at Mr. Ross&#8217; story. You see, the inhabitants of Venus thought the same thing. In fact, they&#8217;ve already intercepted and blocked the Ross’ Martian friends in order to establish a colony of their own. Haley smiles, pushing back his diner hat to reveal a third eye in his forehead.</p>
<p>That, my friends, is an advanced persistent threat!</p>
<p>=====</p>
<p>1 http://mashable.com/2011/05/31/https-web-security/</p>
<p> 2 http://www.deadliestwebattacks.com/2011/04/advanced-persistent-ignorance.html</p>
<p> 3 Continuous Acquisition of Knowledge and Experience</p>
<p> 4 http://sqlmap.sourceforge.net/</p>
<p> 5 http://www.metasploit.com/</p>
<p> 6 http://www.reuters.com/article/2011/05/27/us-usa-defense-hackers-idUSTRE74Q6VY20110527 </p>
<p>7 http://www.wired.com/threatlevel/2011/05/l-3/ </p>
<p>8 The counterman rings up their bills, charging one of the $1.40 for his 14 cups of coffee. I&#8217;m not sure which is more astonishing &#8212; drinking 14 cups or paying 10 cents for each one.
<div class="blogger-post-footer"><img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7167047275588051258-6523173312290265335?l=www.deadliestwebattacks.com' alt='' /></div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/deadliestwebattacks.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/deadliestwebattacks.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/deadliestwebattacks.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/deadliestwebattacks.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/deadliestwebattacks.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/deadliestwebattacks.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/deadliestwebattacks.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/deadliestwebattacks.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/deadliestwebattacks.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/deadliestwebattacks.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/deadliestwebattacks.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/deadliestwebattacks.wordpress.com/71/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/deadliestwebattacks.wordpress.com/71/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/deadliestwebattacks.wordpress.com/71/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=deadliestwebattacks.com&amp;blog=31999005&amp;post=71&amp;subd=deadliestwebattacks&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://deadliestwebattacks.com/2011/06/16/will-the-real-apt-please-stand-up/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/338a0889de8e911e7fb2a52e63e4e57e?s=96&#38;d=retro&#38;r=R" medium="image">
			<media:title type="html">mutantzombie</media:title>
		</media:content>

		<media:content url="https://blogger.googleusercontent.com/tracker/7167047275588051258-6523173312290265335?l=www.deadliestwebattacks.com" medium="image" />
	</item>
	</channel>
</rss>
