<?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:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>...And You Will Know me by the Trail of Bits</title>
	<atom:link href="http://blog.trailofbits.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.trailofbits.com</link>
	<description>4888 C3C4 099A 4240 9648  719B 84E0 A6FE 32AE 38F6</description>
	<lastBuildDate>Tue, 24 Mar 2009 15:22:17 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/366132244d069d5db95fc295d4d3de3e?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>...And You Will Know me by the Trail of Bits</title>
		<link>http://blog.trailofbits.com</link>
	</image>
			<item>
		<title>No More Free Bugs</title>
		<link>http://blog.trailofbits.com/2009/03/22/no-more-free-bugs/</link>
		<comments>http://blog.trailofbits.com/2009/03/22/no-more-free-bugs/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 19:32:21 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://blog.trailofbits.com/?p=141</guid>
		<description><![CDATA[A few weeks ago, Charlie Miller, Alex Sotirov, and I arrived on a new meme: No More Free Bugs.  We started talking about it publicly at CanSecWest where Charlie Miller notably announced it for his Lightning Talk and in his ZDNet interview.  It is now making its way through Twitter and the rest of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=141&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div id="attachment_145" class="wp-caption alignleft" style="width: 310px"><img class="size-medium wp-image-145" title="nomorefreebugs" src="http://trailofbits.files.wordpress.com/2009/03/nomorefreebugs.jpg?w=300&#038;h=181" alt="No More Free Bugs" width="300" height="181" /><p class="wp-caption-text">Alex and I holding &quot;No More Free Bugs&quot; sign during Charlie&#39;s Lighting Talk at CanSecWest</p></div>
<p>A few weeks ago, <a href="http://blogs.zdnet.com/security/?p=2941">Charlie Miller</a>, <a href="http://www.phreedom.org/">Alex Sotirov</a>, and I arrived on a new meme: No More Free Bugs.  We started talking about it publicly at CanSecWest where Charlie Miller notably announced it for his Lightning Talk and in his <a href="http://blogs.zdnet.com/security/?p=2941">ZDNet interview</a>.  It is now making its way through <a href="http://search.twitter.com/search?q=%23nomorefreebugs">Twitter</a> and the rest of the <a href="http://www.google.com/search?hl=en&amp;q=%22No+More+Free+Bugs%22&amp;btnG=Google+Search&amp;aq=f&amp;oq=">tubes</a>.  It is understandable that this may be a controversial position, so I&#8217;m going to give some more background on the argument here.</p>
<p>First, this is neither advocating non-disclosure nor any disclosure at all.  That decision is left to the discoverer of the vulnerability.  I&#8217;m not even going to touch the anti/partial/full disclosure argument.</p>
<p>Second, this philosophy is primarily regarding vulnerabilities in products sold for profit by for profit companies, especially those that already employ security engineers as employees or consultants.  Vulnerabilities discovered in open source projects or Internet infrastructure deservedly require different handling.</p>
<p>The basic argument is as follows:</p>
<ul>
<li>Vulnerabilities place users and customers at risk.  Otherwise, vendors wouldn&#8217;t bother to fix them.  Internet malware and worms spread via security vulnerabilities and place home users&#8217; and enterprises&#8217; sensitive data at risk.</li>
<li>Vulnerabilities have legitimate value.  Software vendors pay their own employees and consultants to find them and help them fix them in their products during development.  Third-party companies such as <a href="http://labs.idefense.com/">Verisign</a> (iDefense) and <a href="http://www.zerodayinitiative.com/">ZDI </a>will pay researchers for exclusive rights to the vulnerability so that they may responsibly disclose it to the vendor but also share advance information about it to their customers (Verisign/iDefense) or build detection for it into their product (ZDI).  Google is even offering a cash bounty for the best security vulnerability in <a href="http://code.google.com/contests/nativeclient-security/">Native Client</a>.  Donald Knuth personally pays for <a href="http://en.wikipedia.org/wiki/Knuth_reward_check">bugs found in his software</a> and Dan Bernstein <a href="http://marc.info/?l=djbdns&amp;m=123613000920446&amp;w=2">paid $1000 personally</a> as a bounty for a vulnerability in djbdns.</li>
<li>Reporting vulnerabilities can be <a href="http://www.eff.org/issues/coders/vulnerability-reporting-faq#faq3">legally</a> and professionally risky.  When a researcher discloses the vulnerability to the vendor, there is no &#8220;whistle blower&#8221; protection and independent security researchers may be unable to legally defend themselves.  You may get <a href="http://attrition.org/errata/legal_threats/">threatened</a>, <a href="http://www.eff.org/cases/mbta-v-anderson">sued</a>, or even <a href="http://www.eff.org/cases/us-v-elcomsoft-sklyarov">thrown in jail</a>.  A number of security researchers have had their employers pressured by vendors to whom they were responsibly disclosing security vulnerabilities.  Vendors expect security researchers to follow responsible disclosure guidelines when they volunteer vulnerabilities, but they are under no such pressure to follow responsible guidelines in their actions towards security researchers.  Where are the vendors&#8217; security research amnesty agreements?</li>
<li>It is unfair to paying customers.  Professional bug hunting is a specialized and expensive business.  Software vendors that &#8220;freeload&#8221; on the security research community place their customers at risk by not putting forth resources to discover vulnerabilities in and fix their products.</li>
</ul>
<p>Therefore, reporting vulnerabilities for free without any legal agreements in place is risky volunteer work.  There are a number of legitimate alternatives to the risky proposition of volunteering free vulnerabilities and I have already mentioned a few (I don&#8217;t want to turn this into an advertisement or discussion on the best/proper way to monetize security research).   There just need to be more legal and transparent options for monetizing security research.  This would provide a fair market value for a researcher&#8217;s findings and incentivize more researchers to find and report vulnerabilities to these organizations.  All of this would help make security research a more widespread and legitimate profession.  In the meantime, I&#8217;m not complaining about its current cachet and allure.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/141/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/141/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/141/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=141&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2009/03/22/no-more-free-bugs/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>

		<media:content url="http://trailofbits.files.wordpress.com/2009/03/nomorefreebugs.jpg?w=300" medium="image">
			<media:title type="html">nomorefreebugs</media:title>
		</media:content>
	</item>
		<item>
		<title>The Mac Hacker&#8217;s Handbook is out!</title>
		<link>http://blog.trailofbits.com/2009/03/15/the-mac-hackers-handbook-is-out/</link>
		<comments>http://blog.trailofbits.com/2009/03/15/the-mac-hackers-handbook-is-out/#comments</comments>
		<pubDate>Sun, 15 Mar 2009 16:37:10 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://blog.trailofbits.com/?p=137</guid>
		<description><![CDATA[The Mac Hacker&#8217;s Handbook by Charlie Miller and myself has just been published and is now shipping from Amazon.  I have even spotted it in several bookstores where you can usually find it in the Mac section.  The book is all about Mac OS X-specific vulnerability discovery, reverse-engineering, exploitation, and post-exploitation.
For me, this book is a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=137&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://blog.trailofbits.com/the-mac-hackers-handbook/">The Mac Hacker&#8217;s Handbook</a> by Charlie Miller and myself has just been published and is now shipping from Amazon.  I have even spotted it in several bookstores where you can usually find it in the Mac section.  The book is all about Mac OS X-specific vulnerability discovery, reverse-engineering, exploitation, and post-exploitation.</p>
<p>For me, this book is a culmination of over 8 years of personal Mac OS X security research.  I had bought and restored a NeXTSTATION Turbo Color in college and fell in love with the NeXTSTEP and OpenStep operating systems.  When I got a check for my first pen-test, I bought a brand-new iBook 500 Mhz to run OS X 10.0 on and I have used OS X as my primary operating system ever since.</p>
<p>Of course, I started hacking on it immediately.  I wrote a monitor-mode wireless packet capture driver for AirPort (<a href="http://theta44.org/tools.html#Viha">Viha</a>) back when the only documentation on IOKit was the Darwin source code and a series of emails on the darwin mailing lists from an Apple kernel developer.  And that was just the first part of my WEP cracking project for my Crypto class.  I was so stubborn about using my iBook for it that I wrote my own driver, stumbler, and WEP weak RC4 key cracker for it.</p>
<p>There was also very little documentation on shellcode for PowerPC around then.  Palante and LSD had both released PowerPC shellcode for Linux and AIX respectively.  But there was nothing for OS X.  I wrote <a href="http://theta44.org/shellcode/ppc-execve.s">this</a> in a hotel room in Washington, D.C. a few days after DEFCON 9.  As far as I know I was the first one to publish PowerPC shellcode that filled in the unused bits in the &#8217;sc&#8217; instruction instead of dynamically overwriting them because self-modifying code is pretty tricky on PowerPC.  That shellcode is what appears encoded in the hex bytes on the cover of the book.</p>
<p>Alright, enough self-indulgent trips down memory lane.  I just presented <a href="http://trailofbits.files.wordpress.com/2009/03/macosxploitation_source2009.pdf">&#8220;Mac OS Xploitation&#8221;</a> at SOURCE Boston last week and I&#8217;ll be doing a bigger presentation called &#8220;Hacking Macs for Fun and Profit&#8221; next week at CanSecWest with Charlie Miller.  Stay tuned here for some more Mac tool releases.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/137/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/137/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/137/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=137&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2009/03/15/the-mac-hackers-handbook-is-out/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
		<item>
		<title>ARM versus x86</title>
		<link>http://blog.trailofbits.com/2008/12/09/arm-versus-x86/</link>
		<comments>http://blog.trailofbits.com/2008/12/09/arm-versus-x86/#comments</comments>
		<pubDate>Wed, 10 Dec 2008 02:33:19 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Malware]]></category>

		<guid isPermaLink="false">http://blog.trailofbits.com/?p=109</guid>
		<description><![CDATA[At Hack in the Box in Kuala Lumpur this year, I was interviewed by Sumner Lemon of IDG about various Mac and iPhone-related security topics.  One of the topics was the relative security of ARM versus x86 processors and my comments on this seem to have bounced around the internets a bit.  There seems to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=109&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>At Hack in the Box in Kuala Lumpur this year, I was interviewed by Sumner Lemon of IDG about various Mac and iPhone-related security topics.  One of the topics was the relative security of ARM versus x86 processors and my <a href="http://www.infoworld.com/article/08/10/31/Intels_Moorestown_would_make_iPhone_less_secure_1.html">comments on this</a> seem to have bounced <a href="http://arstechnica.com/news.ars/post/20081102-researcher-arm-a-safer-bet-than-x86-chips.html">around</a> the internets <a href="http://www.digitalbond.com/index.php/2008/11/09/relative-security-of-the-arm-vs-x86-architectures/">a bit</a>.  There seems to have been some confusion over what I meant in my statements, so I thought I&#8217;d provide some clarification here on the technical and economic rationale behind this statement.</p>
<p>First, the technical rationale: The classic x86 architecture (pre NX-bit) is an exploit developer&#8217;s dream.  Almost every other architecture has complications that x86 almost coincidentally does not.  For example, SPARC has register windows, PowerPCs can have separate data and instruction caches, any RISC architecture has alignment requirements, most architectures support non-executable memory, and all of these make writing exploits on these platforms more difficult.  The x86 had none of these speedbumps and only started supporting truly non-executable memory somewhat recently.  Finally, the x86 instruction set is incredibly flexible, allowing all sorts of <a href="http://skypher.com/wiki/index.php?title=ALPHA3">ingenious techniques</a> for self-modifying code to evade character filters and intrusion detection systems.  Of course, this was all possible on other architectures as well (see <a href="http://www.ktwo.ca/ADMmutate-0.8.4.tar.gz">ADMutate</a>&#8217;s SPARC support), but x86 makes it way easier and more powerful.  I have a hard time imagining what could be changed in x86 to make a better target for exploit developers.</p>
<p>Since cybercrime and malware has become a significantly sized industry, it makes a lot of sense to analyze the risk presented by it through economics (and <a href="http://www.computer.org/portal/site/security/index.jsp?pageID=security_level1_article&amp;TheCat=1001&amp;path=security/2008/n3&amp;file=att.xml">game theory</a>).  Attackers have a lot of infrastructure already built that is x86-specific.  Besides exploit development experience, this also includes payload encoders and hand-written assembly exploit payloads.  Rewriting these takes time and effort.  Macs (and iPhones, as postulated in the article) using x86 processors allow attackers to carry over their experience and existing infrastructure, slightly lowering the barrier to entry to begin attacking a new platform.  If a new platform with marketshare X% starts attracting malware authors&#8217; attention, a new platform with a familiar processor may attract malware authors&#8217; attention at (X &#8211; Y)% marketshare (where Y is probably less than 10).  In the end, however, this earlier attention most likely matters less to the product vendor than the deep discount or performance improvements they can get by going with a dominant CPU architecture and manufacturer.</p>
<p>In summary, just about any commodity non-x86 CPU-based system is harder to write exploits for than an x86-based system assuming the same operating system is running on both.  But it does not matter because these differences are just speed bumps and a good exploit developer will be able to work around them.  Vendors should focus on the generic security defenses that they can build into their operating systems and application runtime environments as well as focus on eliminating software vulnerabilities before and after their software is shipped rather than caring what processor architecture they use and whatever impact it may have on attacks against their platform.</p>
<p>Finally, I would also like to make a retraction.  In the same interview, I said that I considered the iPhone OS to be &#8220;significantly less secure&#8221; than the desktop Mac OS X.  While I would still consider the iPhone OS 1.x to be less secure than Leopard, the iPhone OS 2.2 is quite the opposite.  A number of improvements, including a smaller attack surface, application sandboxes, a non-executable heap, and mandatory code signing for every executable launched (not just applications, even low-level binaries) make compromising the special-purpose iPhone more difficult than the general-purpose desktop Mac OS X.  For more details on the security improvements in the latest iPhone OS, see Charlie Miller&#8217;s <a href="http://conference.hackinthebox.org/hitbsecconf2008kl/materials/D2T1%20-%20Charlie%20Miller%20-%20iPwning%20the%20iPhone.pdf">HiTBSecConf presentation</a>.  Of course, this primarily applies to unjailbroken iPhones since a jailbroken iPhone allows execution of unsigned binaries and it seems that most jailbroken phones still have an SSH server running with the default root account password anyway.  Qualitative comparisons of security are very difficult to whittle down into a one sentence summary, but that&#8217;s why organizations (hopefully) have security analysts around and don&#8217;t make all of their decisions based on what they read on the Internet.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/109/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/109/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/109/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=109&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/12/09/arm-versus-x86/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
		<item>
		<title>Rumors of my blogs demise have been greatly exaggerated</title>
		<link>http://blog.trailofbits.com/2008/12/08/rumors-of-my-blogs-demise-have-been-greatly-exaggerated/</link>
		<comments>http://blog.trailofbits.com/2008/12/08/rumors-of-my-blogs-demise-have-been-greatly-exaggerated/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 05:18:41 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.trailofbits.com/?p=106</guid>
		<description><![CDATA[It has been a busy few months as I have been finishing up the writing for The Mac Hacker&#8217;s Handbook and traveling to Malaysia to present Mac OS Xploitation at Hack in the Box.  I had to take a break from the blog to focus all of my writing on the book, otherwise my editors and co-author (Charlie Miller) [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=106&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It has been a busy few months as I have been finishing up the writing for <a title="The Mac Hacker's Handbook" href="http://www.amazon.com/gp/product/0470395362?ie=UTF8&amp;tag=traofbit-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0470395362">The Mac Hacker&#8217;s Handbook </a>and traveling to Malaysia to present <a href="http://conference.hitb.org/hitbsecconf2008kl/materials/D1T1%20-%20Dino%20Dai%20Zovi%20-%20Mac%20OS%20Xploitation.pdf">Mac OS Xploitation</a> at <a href="http://conference.hitb.org/hitbsecconf2008kl/">Hack in the Box</a>.  I had to take a break from the blog to focus all of my writing on the book, otherwise my editors and co-author (Charlie Miller) would kill me for delaying the project.</p>
<p>So more content (and code) will follow soon.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/106/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/106/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/106/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=106&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/12/08/rumors-of-my-blogs-demise-have-been-greatly-exaggerated/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
		<item>
		<title>Dead Bugs Society: Apple File Server</title>
		<link>http://blog.trailofbits.com/2008/09/01/dead-bugs-society-apple-file-server/</link>
		<comments>http://blog.trailofbits.com/2008/09/01/dead-bugs-society-apple-file-server/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 19:21:09 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Dead Bugs Society]]></category>
		<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://trailofbits.wordpress.com/?p=96</guid>
		<description><![CDATA[For today&#8217;s installment of Dead Bugs Society, I&#8217;m going to dig up another one of my favorite exploits.  This exploit is actually the second exploit that I wrote for the Apple File Server FPLoginExt stack overflow that DaveG found while we were both working for @stake.  I will also take this time to apologize to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=96&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>For today&#8217;s installment of Dead Bugs Society, I&#8217;m going to dig up another one of my favorite exploits.  This exploit is actually the second exploit that I wrote for the <a href="http://web.archive.org/web/20040505164412/http://www.atstake.com/research/advisories/2004/a050304-1.txt">Apple File Server FPLoginExt stack overflow</a> that DaveG found while we were both working for @stake.  I will also take this time to apologize to DaveG for <em>insisting</em> that the bug was a long PathName element (it wasn&#8217;t &#8212; it was a long UAM string), so that is why the advisory is wrong.  Oops.  My first exploit did a return into libc to branch into the stack pointer so that I didn&#8217;t have to hardcode or brute force stack addresses.  But for some odd reason, it worked <em>most</em> of the time, but not every time.  It was only after thinking about it a lot and a helpful tip at DEFCON that year that I figured it all out.  My <a href="http://static.trailofbits.com/deadbugs/afp-exploit.rb">second exploit</a>, written post-@stake, for the AFP bug fixed that problem and made exploiting this remote root code execution vulnerability 100% reliable <img src='http://s.wordpress.com/wp-includes/images/smilies/face-smile.png' alt=':)' class='wp-smiley' /> .</p>
<p>The PowerPC cache design makes exploits very interesting.  The PowerPC architecture <em>may</em> have separate instruction and data caches, but not necessarily.  PowerPC processors also <em>may</em> have write-back or write-through caches.  Understanding why these affect cache coherency, especially for exploits where you are dynamically injecting machine code as <strong>data</strong> and then executing it as <strong>instructions</strong>, is very important.<em>  </em>Apple&#8217;s processors have spanned just about every combination of these.  For example, whereas the earlier PowerPC 601 processors had a unified L1 cache, the G3 and G4 had separate 32 KB instruction and data L1 <em>write-back</em> caches.  The G5 on the other hand, has separate 64 KB instruction and 32 KB data L1 <em>write-through</em> caches.  For a quick comparison between the G4 and G5, see Apple&#8217;s <a href="http://developer.apple.com/technotes/tn/tn2087.html">TN2087: PowerPC G5 Performance Primer</a>.</p>
<p>The difference between a write-back and write-through cache is when the data from the cache block is written to the next-level cache or main memory.  In a write-through cache, changed data is written through immediately.  A write-back cache only sends the data back to the next level when a &#8220;dirty&#8221; cache block is expired from the cache.  What does this mean for exploits?  On a separate write-back cache processor like the G3 and G4, your exploit payload will be sitting in the L1 data cache and when the CPU branches to your return address, it will fetch the instructions to execute from main memory or the L2 cache.  It is highly unlikely that an address on the stack will already be in the L1 instruction cache.  Essentially, the CPU will execute stale memory instead of your exploit payload.</p>
<p>In order to get reliable execution, I needed a way to deterministically flush the caches.  My first exploit worked most of the time because I would often trigger a page fault by returning into libSystem.  The page fault would cause a mode switch into the kernel, flushing all caches to main memory.  If I didn&#8217;t cause a page fault, however, the exploit would fail.  In the end, I wrote a stub that bounced around libSystem five times in order to execute a system call and then branch indirectly through the stack pointer back into my shellcode.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trailofbits.wordpress.com/96/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trailofbits.wordpress.com/96/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/96/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/96/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/96/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=96&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/09/01/dead-bugs-society-apple-file-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
		<item>
		<title>Book Review: The IDA Pro Book</title>
		<link>http://blog.trailofbits.com/2008/08/29/book-review-the-ida-pro-book/</link>
		<comments>http://blog.trailofbits.com/2008/08/29/book-review-the-ida-pro-book/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 14:19:44 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Book Reviews]]></category>

		<guid isPermaLink="false">http://trailofbits.wordpress.com/?p=91</guid>
		<description><![CDATA[Chris Eagle&#8217;s long-awaited The IDA Pro Book has a very straightforward title, but it is perhaps the most descriptive title possible for this book.  It is simply the IDA Pro book.  The book weighs in at 640 pages and really does an excellent job of covering everything from the basic usage of IDA to using the SDK [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=91&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Chris Eagle&#8217;s long-awaited <a href="http://www.amazon.com/gp/product/1593271786?ie=UTF8&amp;tag=traofbit-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1593271786">The IDA Pro Book</a><img style="border:none !important;margin:0 !important;" src="http://www.assoc-amazon.com/e/ir?t=traofbit-20&amp;l=as2&amp;o=1&amp;a=1593271786" border="0" alt="" width="1" height="1" /> has a very straightforward title, but it is perhaps the most descriptive title possible for this book.  It is simply <em>the</em> IDA Pro book.  The book weighs in at 640 pages and really does an excellent job of covering everything from the basic usage of IDA to using the SDK to extend IDA&#8217;s capabilities.  While IDA Pro comes with documentation, it is nowhere near as comprehensive or easy to read.</p>
<p>Chris Eagle is clearly an excellent educator, as he makes the sometimes very dense and technically involved material easy to read and understand and also chooses his examples well.  One of my personal favorites is an extended example on writing an IDA processor module for Python bytecode.  The bytecode&#8217;s simple stack language made it easy to focus on the specifics of writing IDA processor modules without getting bogged down in architectural details.  The amount of material spent on how to extend IDA is also unique to this book.</p>
<p>This book does not cover the basics of the x86 architecture and x86 assembly, so it is assumed that the reader is already familiar with it.  The book also does not spend too much time on showing how to identify high-level language constructs (functions, C++ virtual methods, switch tables, loops, etc) in assembly.  After all, this is a book on how to use IDA, not a book on how to read disassembly.  For an extensive treatment on how to read disassembly, check out Kris Kaspersky&#8217;s <a href="http://www.amazon.com/gp/product/1931769222?ie=UTF8&amp;tag=traofbit-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=1931769222">Hacker Disassembling Uncovered</a><img style="border:none !important;margin:0 !important;" src="http://www.assoc-amazon.com/e/ir?t=traofbit-20&amp;l=as2&amp;o=1&amp;a=1931769222" border="0" alt="" width="1" height="1" /> or Eldad Eilam&#8217;s <a href="http://www.amazon.com/gp/product/0764574817?ie=UTF8&amp;tag=traofbit-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=0764574817">Reversing: Secrets of Reverse Engineering</a><img style="border:none !important;margin:0 !important;" src="http://www.assoc-amazon.com/e/ir?t=traofbit-20&amp;l=as2&amp;o=1&amp;a=0764574817" border="0" alt="" width="1" height="1" />.</p>
<p>There are several skill levels of IDA Pro users.  The casual (can follow strings or imports references to interesting functions), experienced (can use custom structures to make code easier to read), advanced (can turn assembly into C pseudocode manually), and professional (can write custom IDC scripts and plugins to automate repetitive and/or difficult tasks).  This book makes getting to the higher levels much easier and should really be considered an essential purchase along with an IDA license for any serious user.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trailofbits.wordpress.com/91/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trailofbits.wordpress.com/91/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=91&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/08/29/book-review-the-ida-pro-book/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>

		<media:content url="http://www.assoc-amazon.com/e/ir?t=traofbit-20&#38;l=as2&#38;o=1&#38;a=1593271786" medium="image" />

		<media:content url="http://www.assoc-amazon.com/e/ir?t=traofbit-20&#38;l=as2&#38;o=1&#38;a=1931769222" medium="image" />

		<media:content url="http://www.assoc-amazon.com/e/ir?t=traofbit-20&#38;l=as2&#38;o=1&#38;a=0764574817" medium="image" />
	</item>
		<item>
		<title>Pwnie Award Winners and Video Posted</title>
		<link>http://blog.trailofbits.com/2008/08/21/pwnie-award-winners-and-video-posted/</link>
		<comments>http://blog.trailofbits.com/2008/08/21/pwnie-award-winners-and-video-posted/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 22:11:45 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://trailofbits.wordpress.com/?p=87</guid>
		<description><![CDATA[Congratulations to all of the nominees and winners of the 2008 Pwnie Awards.  We had a much larger turnout for the ceremony this year and we actually had people present to accept their awards and give acceptance speeches.
In case you missed the awards, you can see the list of winners at the Pwnie Awards site.  [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=87&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Congratulations to all of the nominees and winners of the 2008 Pwnie Awards.  We had a much larger turnout for the ceremony this year and we actually had people present to accept their awards and give acceptance speeches.</p>
<p>In case you missed the awards, you can see the list of winners at the <a href="http://pwnie-awards.org/2008/awards.html">Pwnie Awards site</a>.  Or get yourself some fresh popcorn, a cold beer, and some nice buggy code to relax and watch the <a href="http://video.google.com/videoplay?docid=-3572945997101058278&amp;ei=TuetSLeONY_ArgLruLXJBA">video</a> that Alex Sotirov just uploaded today.  Be sure to mock the guy with the &#8220;I 3&gt; Pwnies&#8221; t-shirt.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trailofbits.wordpress.com/87/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trailofbits.wordpress.com/87/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/87/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/87/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/87/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=87&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/08/21/pwnie-award-winners-and-video-posted/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
		<item>
		<title>Vegas, baby, Vegas</title>
		<link>http://blog.trailofbits.com/2008/08/05/vegas-baby-vegas/</link>
		<comments>http://blog.trailofbits.com/2008/08/05/vegas-baby-vegas/#comments</comments>
		<pubDate>Tue, 05 Aug 2008 16:36:54 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://trailofbits.wordpress.com/?p=83</guid>
		<description><![CDATA[It&#8217;s that time again.  It&#8217;s 110 degrees in Las Vegas and if that wasn&#8217;t causing the locals enough worry, the yearly invasion of hackers this week certainly will.  Expect to see more humungous LCD displays blue screen and guys walking around in the heat wearing black leather trenchcoats (that&#8217;s dedication!).
Anyway, it looks like there will [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=83&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>It&#8217;s that time again.  It&#8217;s 110 degrees in Las Vegas and if that wasn&#8217;t causing the locals enough worry, the yearly invasion of hackers this week certainly will.  Expect to see more humungous LCD displays <a href="http://img.worsethanfailure.com/images/200706/lv-night.jpg">blue screen</a> and guys walking around in the heat wearing black leather trenchcoats (that&#8217;s dedication!).</p>
<p>Anyway, it looks like there will be a lot of cool stuff happening at BlackHat, and here are some of the talks and events that I am looking forward to on Day 1:</p>
<ul>
<li><a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Ionescu">Alex Ionescu, &#8220;Pointers and Handles&#8221;</a>:  I love the smell of kernel exploits in the morning.</li>
<li><a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Kaminsky">Dan Kaminsky, &#8220;Black Ops 2008: It&#8217;s the End of the Cache As We Know it&#8221;</a>:  As if I would miss Dan&#8217;s talk this year.  Besides, if Dan is going to try and propose a <a href="http://twitter.com/dakami/statuses/871915367">last-minute Pwnie Award nomination</a>, I <strong>have</strong> to be there.</li>
<li>And of course, <a href="http://pwnie-awards.org/2008/index.html">The Pwnie Awards</a>!  Alex Sotirov, the other Pwnie Judges, and I have been working really hard on the awards for this year, so make sure to come out and <span style="text-decoration:line-through;">laugh at</span> support your peers.</li>
<li><a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Wojtczuk">Rafal Wojtczuk, &#8220;Subverting the Xen Hypervisor&#8221;</a>:  Backdooring and rootkitting Xen.  While I think that hyperjacking (ala BluePill and Vitriol) will not be possible for long since eventually most servers will run in virtual machines, rootkits within existing hypervisors could become be the new kernel rootkit.</li>
<li><a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Sotirov">Mark Dowd and Alex Sotirov, </a><a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Sotirov">&#8220;How to Impress Girls with Browser Memory Protection Bypasses&#8221;</a>:  Alex was kind enough to hook me up with a draft of their paper and they have done some awesome work.  No one who does vulnerability analysis should miss Dowd and Sotirov dropping space alien technology.  In fact, if you use a web browser, you should see their talk.</li>
</ul>
<p>Anyway, if anyone is trying to hunt me down, DM me on Twitter.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trailofbits.wordpress.com/83/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trailofbits.wordpress.com/83/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/83/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/83/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/83/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=83&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/08/05/vegas-baby-vegas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
		<item>
		<title>Evolution is Punctuated Equilibria</title>
		<link>http://blog.trailofbits.com/2008/07/24/evolution-is-punctuated-equilibria/</link>
		<comments>http://blog.trailofbits.com/2008/07/24/evolution-is-punctuated-equilibria/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 03:42:37 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Malware]]></category>
		<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://trailofbits.wordpress.com/?p=60</guid>
		<description><![CDATA[In evolutionary biology, the theory of punctuated equilibiria states that evolution is not a gradual process but instead consists of long periods of stasis interrupted by rapid, catastrophic change.  This is supported by fossil evidence that shows little variation within a species and new species that appear to come out of nowhere.  These changes are [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=60&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>In evolutionary biology, the theory of punctuated equilibiria states that evolution is not a gradual process but instead consists of long periods of stasis interrupted by rapid, catastrophic change.  This is supported by fossil evidence that shows little variation within a species and new species that appear to come out of nowhere.  These changes are found to occur in small groups on the periphery of the central population where selection pressures are higher and often in response to changes in the external environment.  Eventually those peripheral groups replace the dominant species in an abrupt change.  While this theory has also been applied to the social sciences and business, it also applies to Internet security.</p>
<p>In the late 80&#8217;s, it was the &#8220;summer of love&#8221; era on the Internet.  Research institutions and universities were freely connecting to each other in a way that would make anyone of modern Internet sensibilities blush.  Internet sites regularly engaged in risky behavior, including exchanging traffic without the use of a protective firewall to protect against accidental infections (as such things were rare in those days).  Most users used weak passwords and some (<a href="http://www.gnu.org/philosophy/stallman-kth.html">Richard Stallman, notably</a>) used none at all.  And then, just like in the Guns N&#8217; Roses <a href="http://www.youtube.com/watch?v=Z3FXlzyW1Fo">music video</a>, the party was unceremoniously ended in the sudden cold November rain.  The Morris Worm swept through the Internet, taking machines down faster than anyone could imagine.  The era of innocence and non-disclosure of security vulnerabilities on the Internet had come to a close.</p>
<p>After the Internet worm, a variety of organizations were quickly established in order to track and address vulnerabilities in the Internet infrastructure.  The <a href="http://www.cert.org/">Computer Emergency Response Team (CERT)</a> was established to handle any similar situations and a variety of mailing lists such as <a href="http://securitydigest.org/phage/">Phage</a>, the <a href="http://securitydigest.org/zardoz/">Zardoz Security Digest</a>, and <a href="http://securitydigest.org/core/">Core Security Mailing List</a> were established to discuss and track security vulnerabilities.  All of these lists and groups, however, were closed communities and the CERT security advisories were light on details in fear that revealing full details would enable attackers.  Thus began the era of partial-disclosure of security vulnerabilities.</p>
<p>A small full-disclosure movement began to grow on the periphary of the Internet.  This community believed that CERT was doing the community a disservice by not pressuring vendors to address vulnerabilities and revealing full information because system administrators were not able to determine whether they were vulnerable or not and should take the potentially disruptive risk of patching security vulnerabilities.  With full-disclosure, all parties are notified of the vulnerability at the same time.  Vendors are pressured to address serious vulnerabilities quickly and users have enough information to decide whether they should work around the vulnerability and/or apply the patch when it becomes available.  This community was centered around the Bugtraq mailing list.  This community quickly grew through the mid 90&#8217;s and early 2000&#8217;s until it became the dominant method of vulnerability disclosure on the Internet.</p>
<p>If the late 80&#8217;s was the era of free love on the Internet, the late 90&#8217;s and early 2000&#8217;s was the era of free exploits.  Fully working exploits for serious vulnerabilities were regularly published on Bugtraq often as part of the disclosure of the vulnerability.  These were often remote privileged code execution exploits in serious Internet infrastructure like <a href="http://downloads.securityfocus.com/vulnerabilities/exploits/iquery.c">BIND</a>, <a href="http://www.mail-archive.com/bugtraq@securityfocus.com/msg01957.html">SSH</a>, <a href="http://seclists.org/bugtraq/1995/Feb/0109.html">NCSA HTTPD</a>, <a href="http://www.security-express.com/archives/bugtraq/1994_1/0078.html">Sendmail</a>, and <a href="http://www.derkeiler.com/Mailing-Lists/securityfocus/bugtraq/2002-06/0239.html">Apache</a>.  These exploits allowed administrators to easily test if they were vulnerable or not.  If they ran the exploit and they got a remote shell, they were definitely vulnerable.  Similarly, if someone wanted to take joyrides on the Internet, all they had to do was subscribe to Bugtraq, wait for an exploit to be posted, and then start scanning for vulnerable machines.  Thus were &#8220;script kiddies&#8221; born.  This environment continued through the early 2000&#8217;s.</p>
<p>The early to mid-2000&#8217;s could be considered the hangover from the free love 80&#8217;s and free exploit 90&#8217;s of the Internet.  Instead of Internet worms being a one-time event, they became an almost <a href="http://en.wikipedia.org/wiki/Notable_computer_viruses_and_worms">regular occurrence</a> with ILOVEYOU (May 4, 2000), Code Red (July 13, 2001), Code Red II (August 4, 2001), Nimda (September 18, 2001), SQL Slammer (January 24, 2003), Blaster (August 12, 2003), and many others in between.  Many of these worms used exploits that had been posted publicly to Bugtraq to spread.  Clearly something was not right.  This onslaught of Internet-crippling worm outbreaks quickly brought about several evolutions in Internet security: &#8220;responsible&#8221; disclosure, the home router firewall, and Microsoft&#8217;s Security Push and Secure Development Lifecycle (SDL).  It was no longer enough to respond to security vulnerabilities and incidents as they happened; Internet security required proactive measures to protect against future disasters.</p>
<p>From 2003 until roughly the present, &#8220;responsible&#8221; disclosure and the duality of offensive security research and defensive security products have driven the security industry forward.  Security researchers have investigated and discovered volumes of security weaknesses, vulnerabilities, and attacks.  All of these have required security patches, restructuring, and <span class="hw">risk mitigating technologies</span> <span class="hw">née product opportunities</span>: anti-virus, firewalls, intrusion detection/prevention, patch management, etc.  Hundreds of vulnerabilities have been &#8220;responsibly&#8221; disclosed and patched.  Patching has become a monthly Shamanistic ritual for most IT departments.  There are now defensive security products to defend against every possible perceived security threat (imagined and real).</p>
<p>With all of this, Internet malware has only become more <a href="http://go.microsoft.com/fwlink/?LinkId=116450">prevalent on users&#8217; systems</a>.  The United States Departments of <a href="http://www.theregister.co.uk/2006/10/09/chinese_crackers_attack_us/">Commerce</a>, <a href="http://www.state.gov/m/ds/rls/rm/83256.htm">State</a>, and <a href="http://www.pcworld.com/article/133301/pentagon_shuts_down_systems_after_cyberattack.html">Defense</a>, have sustained targeted attacks and on multiple occasions detected large amounts of sensitive information being remotely extracted from their networks.  There is a serious <a href="http://www.doxpara.com/?p=1185">DNS cache poisoning vulnerability</a> that currently <a href="http://cert.at/static/cert.at-0802bis-DNS-patchanalysis-update.pdf">affects 50% of the nameservers on the Internet</a>, almost a month after the issue has been disclosed throughout the tech and mainstream media and a week after a highly-effective exploit for it has been publicly released.  The Internet security community is holding its breath waiting for (hoping for?) widespread attacks, perhaps to justify their continued existence.</p>
<p>Clearly, we are not any closer to securing the Internet, if that is even possible.  If anything, the dangers on the Internet have gotten worse as the malicious actors have changed from joyriding teenagers to Internet worms to espionage and organized crime.  Right now, Internet security is due for another period of rapid change.</p>
<p><strong>UPDATE @ 20080729:</strong> As pointed out in the comments below, the &#8220;cybercrime is bigger than drugs&#8221; figure is bogus.  I have removed it and instead used a reference to Microsoft&#8217;s latest Security Intelligence Report showing a general growth in malware.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trailofbits.wordpress.com/60/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trailofbits.wordpress.com/60/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/60/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/60/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/60/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=60&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/07/24/evolution-is-punctuated-equilibria/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
		<item>
		<title>Crippling Crypto: The Debian OpenSSL Debacle</title>
		<link>http://blog.trailofbits.com/2008/07/21/crippling-crypto-the-debian-openssl-debacle/</link>
		<comments>http://blog.trailofbits.com/2008/07/21/crippling-crypto-the-debian-openssl-debacle/#comments</comments>
		<pubDate>Mon, 21 Jul 2008 21:51:08 +0000</pubDate>
		<dc:creator>Dino Dai Zovi</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://trailofbits.wordpress.com/?p=40</guid>
		<description><![CDATA[This weekend at The Last HOPE, Jacob Appelbaum, Karsten Nohl and I gave the following presentation on the Debian OpenSSL weak PRNG vulnerability.
In May 2008, a weakness in Debian was discovered which makes cryptographic keys predictable. A Debian-specific patch to OpenSSL broke the pseudo-random number generator two years ago, which led to guessable SSL and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=40&subd=trailofbits&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>This weekend at <a href="http://www.thelasthope.org">The Last HOPE</a>, Jacob Appelbaum, Karsten Nohl and I gave the following <a href="http://wiki.hope.net/index.php/Scheduled_Talks_(List)#Crippling_Crypto:_The_Debian_OpenSSL_Debacle">presentation</a> on the Debian OpenSSL weak PRNG vulnerability.</p>
<p>In May 2008, a weakness in Debian was discovered which makes cryptographic keys predictable. A Debian-specific patch to OpenSSL broke the pseudo-random number generator two years ago, which led to guessable SSL and SSH keys. The vulnerability allows for impersonation of secure servers, as well as the potential to login to SSH secured systems. Since many popular derivatives like Ubuntu and Xandros are affected, the weak keys are found all over the Internet. The panel will present their approach to generating lists of weak keys using cloud computing and explain how they collected large numbers of SSL certificates of which several thousand are weak.</p>
<p>Presentation materials:</p>
<ul>
<li><a href="http://trailofbits.files.wordpress.com/2008/07/hope-08-openssl.pdf">Slides</a></li>
<li>Forthcoming: Weak RSA keys</li>
<li>Forthcoming: Patch to ssldump to decrypt SSL traffic if the remote site has a weak RSA key and RSA key agreement is used</li>
</ul>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/trailofbits.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/trailofbits.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/trailofbits.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/trailofbits.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/trailofbits.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/trailofbits.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/trailofbits.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/trailofbits.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/trailofbits.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/trailofbits.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/trailofbits.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/trailofbits.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog.trailofbits.com&blog=3681601&post=40&subd=trailofbits&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://blog.trailofbits.com/2008/07/21/crippling-crypto-the-debian-openssl-debacle/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/90cc53ff03e4ef0cbd7cbfcb834492c6?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">ddz</media:title>
		</media:content>
	</item>
	</channel>
</rss>