<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Perimeter Grid</title>
	
	<link>http://perimetergrid.com/wp</link>
	<description>Building Security in a Networked World</description>
	<lastBuildDate>Thu, 12 Aug 2010 17:28:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/PerimeterGrid" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="perimetergrid" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>BlackHat 2010: Day 1</title>
		<link>http://perimetergrid.com/wp/2010/08/12/blackhat-2010-day-1/</link>
		<comments>http://perimetergrid.com/wp/2010/08/12/blackhat-2010-day-1/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 17:28:48 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[mitigations]]></category>
		<category><![CDATA[products]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=115</guid>
		<description><![CDATA[I&#8217;ve just returned from a trip to BlackHat Briefings USA 2010 and DefCon 18. As always, it was an enjoyable week in Las Vegas learning about the latest research, networking with the surprisingly small world of security professionals, and generally having fun hanging out with a lot of interesting people with the hacker mindset. BlackHat [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just returned from a trip to <a href="http://blackhat.com/html/bh-us-10/bh-us-10-home.html">BlackHat Briefings USA 2010</a> and <a href="http://defcon.org/html/defcon-18/dc-18-index.html">DefCon 18</a>.  As always, it was an enjoyable week in Las Vegas learning about the latest research, networking with the surprisingly small world of security professionals, and generally having fun hanging out with a lot of interesting people with the hacker mindset.</p>
<p>BlackHat started out with a <a href="http://blackhat.com/html/bh-us-10/bh-us-10-keynote.html">keynote from Jane Holl Lute, Deputy Secretary of Homeland Security</a>.  She gave the sort of banal, predictable speech we expect from a political appointee &#8212; the country needs a secure homeland, dynamic economy, and the rule of law.  &#8220;Cyberspace&#8221; isn&#8217;t a warzone, because wars happen somewhere, kill people, are lawless, and &#8220;cyberspace&#8221; isn&#8217;t like this.  (The one sure sign you&#8217;re listening to a government official is the constant use of the prefix &#8220;cyber-&#8221;.  An even more sure sign is the use of &#8220;cyber&#8221; as a noun by itself, which so far as I can tell is done <em>only</em> by feds.)</p>
<p>She states that the five essential missions of DHS are to prevent terrorist attack, secure borders (while expediting trade &amp; travel), enforce immigration laws, ensure the safety &amp; security of &#8220;cyberspace,&#8221; and help build a resilient society.  While I really like the emphasis on resilience in her rhetoric, I do wish DHS had more visible efforts in that direction rather than appearing to be wholly focused on prevention.  She also laments that billions have been spent in cybersecurity, but the most fundamental problems still aren&#8217;t fixed, and claims that the administration wants to build a cybersecurity strategy and vision for the nation.  I find this claim curious for two reasons: first of all, billions have been spent on physical security, too, and yet we don&#8217;t seem to have &#8220;fixed&#8221; crime and violence, so why should we expect information security to be any different?  And second, DHS saying we <em>need</em> a &#8220;cybersecurity&#8221; strategy implies that they don&#8217;t <em>have</em> one.</p>
<p>Jeff Moss seemed far more excited about this talk than its content warranted.  Simple politeness to a speaker, or the effect of his presence on the Homeland Security Advisory Council?  Also, during Q&amp;A one person asked her why, given that the TSA is the laughingstock of the world, we should expect DHS to do any better with the Internet.  (While the question is admittedly a cheap shot and not an actual argument, her response &#8212; which was to say that the TSA is just fine and not mocked throughout the world at all &#8212; did not exactly inspire confidence either.)</p>
<p>My first session after the keynote was called <a href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Grugq">Base Jumping, by the Grugq</a>.  This was one of two major talks about cell phone hacking on GSM this year.  The GSM protocol specification runs dozens of documents and thousands of pages, but according to the Grugq, the important one is GSM 04 08, which defines layer 3.</p>
<p>GSM is based on TDMA (Time Division Multiple Access,) so decoding is based on time &#8212; the clock in a phone must be synced with the clock in the base station.  Only a tiny amount of data is sent per timeslot.  There are only 23 bytes in a timeslot, so you can do a complete exhaustion fuzzing in 3 days (and he did.)</p>
<p>Communication is done over a variety of named channels.  BCCH (broadcast control channel) is how a base station sends out its information messages. PCH (paging channel) announces incoming SMS or phone calls. RACH (random access channel) is used by the phone to request a channel, which it gets back over AGCH (access granted channel.)  Opening a channel is slow &#8211; it takes 2-3 seconds.  Since it&#8217;s based on timeslots, can take quite a while for the base station to have an open slot of the appropriate channel to reply in.</p>
<p>Collisions are frequent since channel number is just 25 bits, and some cheap phones actually hardcode a list of random numbers instead of generating them (apparently generating a 25-bit number is just too hard for them.)</p>
<p>Police sometimes use IMSI catchers, which impersonate the network and make the phones all hand over their IMSI (International Mobile Subscriber Identifier &#8212; your ID off your SIM card that tells the phone company who you are.)  The protocol is flawed &#8212; the phone authenticates with the network, but the network does not authenticate to the phone, and thus can be impersonated.</p>
<p>A German group built an open-source baseband for a common, cheap cell phone (the Motorola C118 or C123, about 5 Euro on eBay.).  This can then be hacked to send arbitrary GSM traffic.  Among the Grugq&#8217;s apps were:</p>
<p>RACHell: request channel allocation, then flood the base station with requests.  This will DoS the entire cell by using all the channels.  A cell can only hold about 1000 users.  Since the cell is backed up to a base station controller (BSC), this attack may take down the BSC as well (which shuts down the whole tower for half a day.)</p>
<p>IMSI Flood: send IMSI ATTACH messages, indicating a user coming online.  These are sent pre-authentication, and if you send too many random numbers as IMSIs, it can overwhelm the HLR/VLR infrastructure (the database that tells which tower has which phones attached to it) and takes down the whole network.  This could also be used to make police IMSI catchers pretty much useless.  I got the idea that the Grugq had not actually tested this, since taking down a cell network might get a little unwanted attention.</p>
<p>IMSI DETACH: When phones are turned off, they tell the network they&#8217;re no longer available via sending a single unauthenticated frame.  If you have someone&#8217;s IMSI (which you can look up by phone number for $0.006,) you can send one for someone else, which disables that phone from receiving calls or SMS and cuts off any in-progress phone calls.  The victim can still make new calls, however, which will reattach them to the network &#8212; but if you&#8217;re sending DETACHes every 5 seconds, this will do little good.</p>
<p>Baseband fuzzing: fuzzing the baseband (the radio in individual phones) by impersonating the tower pretty much causes every phone available to crash.  However, lacking the code for the basebands, the Grugq didn&#8217;t find any remote exploits here.  However, the overall point is that GSM is no longer a walled garden &#8212; anyone can send GSM traffic with minimal equipment now, and protocol security is required.</p>
<p>The next session I attended was <a href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#KaneParry">More Bugs in More Places, by David Kane-Parry of Leviathan Security</a>.  This was an overview of the SDKs and security models for Android, Windows Phone 7, BlackBerry, and iPhone.  There was nothing particularly new here, nor did he come to any conclusion as to the superiority or inferiority of any one of the platforms, so I&#8217;m not going to go into details.</p>
<p>The next talk was <a href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Jack">Barnaby Jack of IOActive with the wildly popular topic of jackpotting ATMs</a>.</p>
<p>Current ATM attacks are mostly skimmers, physical theft, Ram raids (dragging the ATM away with a truck,) card trapping and shoulder surfing PINs, or frontal attack via safe cutting or even explosives.  Barnaby Jack wanted to instead attack the software.  Most new model ATMs are Windows CE based, with an ARM/Xscale processor, remote connection via TCP/IP or dial-up, with SSL support and a Triple DES encrypted PIN pad.  Since the developers of Windows CE developers concerned were more concerned with protection (in the process sense) than security, this provides an opportunity.</p>
<p>To reverse engineer this, he bought a couple of ATMs and had them delivered to his house (which the delivery people found rather bizarre, but did.)  ATMs boot directly to a proprietary ATM application.  In order to get a shell, he connected a JTAG interface for full debugging access to the processor core, set a breakpoint on CreateProcess(), and replaced the target ATM executable string with explorer.exe.  With explorer, he could connect a USB disk and keyboard and copy files off for offline research, make registry changes permanent (so as to always boot Explorer), create a debugging environment, then set up remote app debugging in Visual Studio.</p>
<p>The external attack surface is limited to the card reader, keypad, network, and motherboard inputs.  This leads to two possible attack plans &#8212; remote over the network ,or a walk-up attack.  It turns out the walk-up attack is quite possible, since while the cash is protected by a two-inch-thick steel safe, the motherboard is protected by <em>a one-key-fits-all lock you can buy keys for on the Internet</em>.</p>
<p>With motherboard accessible, you can access USB, SecureDigital, and CompactFlash slots.  On boot, the app code checks these drives for firmware upgrades and applies them.  (And there&#8217;s a reboot switch on the motherboard, too!)</p>
<p>From a remote perspective, ATMs support remote monitoring and configuration to allow changing splash screens, cash denominations, etc., or even do remote firmware upgrades.  There are multiple levels of authentication, but Barnaby Jack found a vulnerability in this authentication process allowing for a remote authentication bypass.  (He did not disclose his authentication bypass, but said he found it by fuzzing, so this work will probably be duplicated by others.)</p>
<p>He demonstrated two tools &#8212; one was Dillinger, a remote ATM attack and administration tool which exploits the remote authentication bypass.  It&#8217;s reliable on dial-up or TCP/IP, and exchange scanning with a VoIP wardriver like WarVox is possible.  Dillinger allows management of unlimited ATMs, can test remote bypass, retrieve location &amp; master passwords, upload rootkits, and even retrieve the track data from all the cards that have been inserted into the machine.</p>
<p>Scrooge, an ATM rootkit, runs on the device hidden in background, activated by special key sequence or custom card.  It runs on any ARM/Xscale ATM, or Intel ones with some tweaks, but must be customized for different ATM models.  It has a keyboard filter that hooks the ATM keypad &amp; side buttons &#8212; SetWindowsHook() is undocumented on CE but still works.  A special key sequence (or a card whose track data spells out &#8220;GIMMEDALOOT&#8221;) launches a menu.  Scrooge captures track data and pin-pad input, and can issue remote commands.</p>
<p>This is better seen than described.  Here&#8217;s some video of remote ATM hacking with Dillinger:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/qwMuMSPW3bU&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/qwMuMSPW3bU&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>And here we have the aftermath of a physical attack, where he opened the ATM with a key, stuck in a USB drive, and hit the reset button on the motherboard:</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="640" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/fS3Z8Xv-vUc&amp;hl=en_US&amp;fs=1" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="640" height="385" src="http://www.youtube.com/v/fS3Z8Xv-vUc&amp;hl=en_US&amp;fs=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>The &#8220;777 Jackpot!&#8221; on the screen and the peppy music are a nice touch.</p>
<p>As for how to prevent these sorts of vulnerabilities in the future, he recommends that ATM vendors offer upgrade options on the physical locks (say to at least making the key unique), implement binary signing at the kernel level to prevent unauthorized firmware upgrades, and disabling remote management on the device.</p>
<p>For the final presentation of the day, I attended <a href="http://blackhat.com/html/bh-us-10/bh-us-10-briefings.html#Kaminsky">Dan Kaminsky&#8217;s talk</a>, which was actually not the talk described in the BlackHat documentation at all, but rather an entirely different talk on using DNSSEC to implement public key infrastructure, due to the fact that the DNSSEC root was finally signed (after only 18 years&#8230;) three weeks ago.</p>
<p>Dan seeks to use DNSSEC to solve a variety of problems, by creating what he calls a Domain Key Infrastructure:</p>
<ul>
<li>For users: when you receive an email, you can actually know for certain who it came from.
</li>
<li>For infrastructure buyers: we need strong authentication as much today as we did when trying (and failing) to create PKI in the past, and with DNSSEC we can actually create a working PKI.  60% of security breaches are credential-related.
</li>
<li>For infrastructure builders: DKI will make security products scale, and allow devices to validate the identity of peers.  You can build scalable federated systems.
</li>
<li>For hackers and penetration testers: Dan&#8217;s new company will be actively supporting an aggressive public audit of all DNSSEC and DKI technologies.
</li>
</ul>
<p>Dan&#8217;s definitely right about one thing &#8212; we aren&#8217;t going to get security via moralizing about user education or waiting for regulation. Will have to deliver a better product as judged by the people who have to run it.</p>
<p>DNSSEC is simple &#8212; it works just like DNS, but referrals and authoritative records are signed.  Thus, when referred elsewhere, you&#8217;re told not only where the server to ask is, but also how to recognize it.  Keys can lead to other keys.  </p>
<p>DNSsec was complex to deploy because it was designed to allow &#8220;key in a vault&#8221; security, where keys are offline and not generated on demand.  When it was proposed <em>eighteen years ago</em>, CPUs were slow, and some installations are incredibly large (e.g. .com)  Offline keying is cumbersome.  However, there&#8217;s an alternative that&#8217;s relatively simple to deploy.</p>
<p>Phreebird is a DNSSEC server that&#8217;s simple because it uses online keysigning, just like SSL, SSH, and IPsec.  There is some risk here, of course, but we seem to accept it everywhere else, as everyone keeps keys online for some protocols.  Those who are really concerned about security can use a hardware security module.  Phreebird works as a proxy, and has effectively nothing to configure &#8212; you change the port of the DNS server, run Phreebird, and then supply the signature to your DNS registrar.  It&#8217;s presently implemented as a UDP port forwarder, but they&#8217;re rebuilding it as a Linux mangle table.  It&#8217;s very fast; according to Dan, it&#8217;s an order of magnitude faster than the DNS servers it&#8217;s proxying, so there should be almost no load.  For performance, it caches signed responses, but always passes queries to the real nameserver so that all scenarios work &#8212; but if it gets the same thing, it pulls up the cached signed response instead of resigning.  Phreebird is open source and will be out in the next few weeks.</p>
<p>Distributed authentication is only interesting if it&#8217;s end-to-end.  The current methods of DNSSEC lookups, chasing &#038; tracing, are blocked by various types of servers, which makes operational implementation difficult.  Phreebird also supports wrapping DNS (and DNSSEC) in HTTP, using a custom DNS server that exposes an HTTP endpoint and takes base64-encoded DNS requests.  They claim there is no performance hit.</p>
<p>Likewise, while X.509 is flawed (since a certificate just has to chain to one of a few hundred root CAs by way of thousands of untrustworthy intermediaries, and there is no exclusion or delegation,) it can still be used to wrap DNSSEC &#8212; high performance, easy tunneling via DNS over X.509 over SSL.  When one of these certificates is received, you just need to extract all the keys from the trust chain and validate it all.</p>
<p>From here, Dan got into the more interesting stuff &#8212; what he calls DKI (Domain Key Infrastructure.)  What if you could use DNSSEC to create a working PKI system?  Since DNSSEC lets you strongly authenticate a domain, you can then ask that domain to authenticate users, and trust the response since you have a key for the domain.  To demonstrate this, he presented PhreeShell: federated identity for OpenSSH.  With this modification, .ssh/authorized_keys2 contains identities (e.g. grant@perimetergrid.com) rather than keys &#8212; it makes delegating access trivially easy.</p>
<p>Trusting DNSSEC eliminates the scaling issues of federated PKI.  Really, you&#8217;re not trusting DNSSEC so much as ICANN, but it seems a fairly good choice for a single root keyholder in that it has external political constraints and a delegation system designed to prevent operational dependency.</p>
<p>So how do we implement DKI everywhere?  Eventually, by adding the functionality to everything &#8212; link in LDNS or libunbound.  On Linux, you can make most things work by patching X509_verify_cert in OpenSSL, because practically everything calls out to it for crypto, but there&#8217;s nothing so simple in the browser world, where IE uses CryptoAPI, Firefox and Chrome use NSS, and most apps are cross-platform.  For this, Dan has an app called Phoxie, which is a remote validation proxy for production browsers that allows certificate verification against DNSsec in current browsers.  It&#8217;s also possible to make self-certifying URLs, but they look horrible and become unusable if the certificate ever expires or needs rotated, so they&#8217;re not a good solution.</p>
<p>Finally, we may get secure email out of this.  If we can verify what server sent an email (which with DNSSEC we can), we can also in many cases be sure who sent it (as if the email came from a &#8220;respectable&#8221; domain it wouldn&#8217;t let users send mail as each other.)  Right now the user experience around secure email is minimal, but our faith in it has been low &#8212; if most email could be verified, we could easily get to a world where email clients only stated mail was &#8220;From&#8221; someone if this fact had been cryptographically verified, and otherwise used some suspicion-inducing verbiage (e.g. the X-Supposedly-From header.)</p>
<p>Overall, Dan&#8217;s talk was interesting, but I find my enthusiasm is rather limited by lack of faith any of this stuff will be <em>used</em>.  DNSSEC has been around for 18 years and no one uses it yet; having the root signed is a wonderful step and I hope it leads to the revolution in PKI Dan&#8217;s touting, but I also feel like I&#8217;ll believe it when I see it.</p>
<p>After all the talks, I dropped in on parties thrown by Mandiant, IOActive, and NetWitness, but unfortunately had to skip Tenable and Rapid7.  There are so many parties, receptions, and events that it&#8217;s impossible to visit all or even most of them.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=gUsHgl9lf94:3DI-G2tbWJA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=gUsHgl9lf94:3DI-G2tbWJA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=gUsHgl9lf94:3DI-G2tbWJA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=gUsHgl9lf94:3DI-G2tbWJA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=gUsHgl9lf94:3DI-G2tbWJA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=gUsHgl9lf94:3DI-G2tbWJA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2010/08/12/blackhat-2010-day-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Trouble With Fighting Your Users</title>
		<link>http://perimetergrid.com/wp/2010/08/10/the-trouble-with-fighting-your-users/</link>
		<comments>http://perimetergrid.com/wp/2010/08/10/the-trouble-with-fighting-your-users/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 21:39:27 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[risk]]></category>
		<category><![CDATA[society]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=117</guid>
		<description><![CDATA[Companies like Apple that try to control devices purchased by end-users create their own serious security problems. It turns out that Apple trying to protect itself from you makes you vulnerable to attackers. Apple doesn&#8217;t want you to run anything on your phone that they didn&#8217;t approve. But of course, customers want to run whatever [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Companies like Apple that try to control devices purchased by end-users create their own serious security problems.  It turns out that Apple trying to protect itself from you makes you vulnerable to attackers.</p>
<p>Apple doesn&#8217;t want you to run anything on your phone that they didn&#8217;t approve.  But of course, customers want to run whatever they want on the phone they bought, regardless of if Apple likes it.  This creates end-user demand for jailbreaks &#8212; software that attacks their phone&#8217;s OS to remove Apple&#8217;s restrictions.  Whenever one is discovered, Apple patches it, but another one is always discovered soon afterwards.</p>
<p>Right now, there&#8217;s a website, <a href="http://jailbreakme.com">jailbreakme.com</a>, that offers the easiest, most convenient jailbreak yet.  You browse to the site on your iPhone, iPad, or iPod Touch, and suddenly it&#8217;s jailbroken and the non-Apple application stores like Cydia are available.  It&#8217;s very slick, and much easier than any previous jailbreak, many of which required modifying OS images, caching key signatures from Apple, and other tasks that required at least some moderate technical savvy.  People really like jailbreakme.com &#8212; it makes taking ownership of your own phone quick and easy!</p>
<p>How does it work?  Well, it&#8217;s a combination of two exploits.  When you visit the site, it loads a PDF that exploits a bug in Apple&#8217;s font rendering (iPhones render PDFs themselves, using Apple code &#8212; Adobe&#8217;s reader is not even involved) to load and run arbitrary code.  Then <em>that</em> code exploits another vulnerability, in the iOS kernel, to run code as root, outside the app sandbox.  This third piece of code jailbreaks the phone and installs the necessary backdoors to wrest control away from Apple and give it to the user.</p>
<p>But&#8230; there&#8217;s a problem here.  The fact that this works means that there&#8217;s an unpatched remote root exploit on every iOS device.  That is, on an iPhone, iPad, or iPod Touch, any website you visit or any email you receive can silently load and run arbitrary code on your device, which will then reside there permanently and do whatever the attacker wants.  How do you know this hasn&#8217;t already happened to your phone, and your location isn&#8217;t being tracked, your calls tapped, your SMS messages and web passwords forwarded to some Russian crime syndicate?  You don&#8217;t.  There&#8217;s no way to know, because there&#8217;s no anti-malware software for iOS &#8212; Apple would never approve it anyway, since you&#8217;re not &#8220;supposed&#8221; to be able to run anything but Apple-approved apps anyway.</p>
<p>In a normal, open ecosystem, like that on PCs, this problem would be less likely to happen.  If a security researcher discovered remote exploits like this, they would often follow responsible disclosure practices, and contact the vendor and let them know about the problem so it could be fixed.  But they&#8217;re not willing to do this for Apple &#8212; because they need the remote exploit to have unfettered access to their own phones!</p>
<p>Apple has created a situation where someone acting in good faith to help iPhone users use their own devices has to keep security flaws away from Apple, so that they can also be used by malicious attackers.  Apple and Apple&#8217;s users are on opposing sides &#8212; helping Apple hurts legitimate users, yet helping users jailbreak also means helping attackers exploit them.</p>
<p>What&#8217;s more, when Apple releases a patch to iOS to make it no longer vulnerable to these attacks, they will undoubtedly reverse the jailbreaks in the same patch.  Thus, <em>users will not want to install the patch</em>, since it will kill functionality that they want on their phones!  In the IT world, it&#8217;s hard enough to get people to patch even when there&#8217;s no downside, and Apple&#8217;s creating customers who deliberately avoid patches and updates, since most of Apple&#8217;s &#8220;security fixes&#8221; are aimed at protecting Apple from customers, not protecting customers from harm.</p>
<p>Come on, Apple, would a settings checkbox marked &#8220;Allow execution of unsigned code&#8221; be so bad?  You could even pop up a warning that turning it on makes you ineligible for Apple support.  Is it really better to force your userbase to help hackers?</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ms6aFtV6uRI:B2FxA_-TW7k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ms6aFtV6uRI:B2FxA_-TW7k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=ms6aFtV6uRI:B2FxA_-TW7k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ms6aFtV6uRI:B2FxA_-TW7k:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=ms6aFtV6uRI:B2FxA_-TW7k:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ms6aFtV6uRI:B2FxA_-TW7k:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2010/08/10/the-trouble-with-fighting-your-users/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure Use of Cloud Storage</title>
		<link>http://perimetergrid.com/wp/2010/08/03/secure-use-of-cloud-storage/</link>
		<comments>http://perimetergrid.com/wp/2010/08/03/secure-use-of-cloud-storage/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 05:39:50 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[SOA/XML]]></category>
		<category><![CDATA[attacks]]></category>
		<category><![CDATA[mitigations]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=110</guid>
		<description><![CDATA[At BlackHat Briefings USA 2010 in Las Vegas this year, I presented a session entitle Secure Use of Cloud Storage, covering ways that developers can use (and misuse) cloud storage systems like Microsoft&#8217;s Windows Azure Storage and Amazon&#8217;s Simple Storage Service (S3) and SimpleDB. While the released versions are available on the BlackHat official website, [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>At BlackHat Briefings USA 2010 in Las Vegas this year, I presented a session entitle Secure Use of Cloud Storage, covering ways that developers can use (and misuse) cloud storage systems like Microsoft&#8217;s Windows Azure Storage and Amazon&#8217;s Simple Storage Service (S3) and SimpleDB.  </p>
<p>While the <a href="http://www.blackhat.com/html/bh-us-10/bh-us-10-archives.html#Bugher">released versions</a> are available on the <a href="http://www.blackhat.com">BlackHat official website</a>, I&#8217;m also making these available here for those who are interested.  You can download either the <a href='http://perimetergrid.com/Secure%20Use%20of%20Cloud%20Storage.pptx' >unabridged slide deck</a> (which was cut down considerably to fit in the BlackHat 75-minute time limit) or the <a href="http://perimetergrid.com/Secure%20Use%20of%20Cloud%20Storage%201.0.docx">complete whitepaper</a>.  These are both more recent than the versions on the BlackHat site.</p>
<p>In addition, I&#8217;ll be posting writeups of the talks I attended at BlackHat 2010 and DefCon 18 in the coming days.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bHxSDyWPMfw:he5iVllegfU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bHxSDyWPMfw:he5iVllegfU:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=bHxSDyWPMfw:he5iVllegfU:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bHxSDyWPMfw:he5iVllegfU:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=bHxSDyWPMfw:he5iVllegfU:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bHxSDyWPMfw:he5iVllegfU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2010/08/03/secure-use-of-cloud-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DefCon 18 Schedule</title>
		<link>http://perimetergrid.com/wp/2010/07/27/defcon-18-schedule/</link>
		<comments>http://perimetergrid.com/wp/2010/07/27/defcon-18-schedule/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 16:08:39 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=103</guid>
		<description><![CDATA[If you happen to want a machine-readable (e.g. XML or iCal) version of the DefCon 18 schedule, my lovely wife made one which I&#8217;ve posted one on Google Calendar: XML iCal HTML This is accurate as of 7/27, so be aware that more recent schedule changes may not be reflected! I&#8217;ll be attending the conference, [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>If you happen to want a machine-readable (e.g. XML or iCal) version of the DefCon 18 schedule, my lovely wife made one which I&#8217;ve posted one on Google Calendar:</p>
<p><a href="http://www.google.com/calendar/feeds/perimetergrid.com_gt9ftosd83p0u5ul0sk9t772ns%40group.calendar.google.com/public/basic">XML</A><br />
<a href="http://www.google.com/calendar/ical/perimetergrid.com_gt9ftosd83p0u5ul0sk9t772ns%40group.calendar.google.com/public/basic.ics">iCal</A><br />
<a href="http://www.google.com/calendar/hosted/perimetergrid.com/embed?src=perimetergrid.com_gt9ftosd83p0u5ul0sk9t772ns%40group.calendar.google.com&#038;ctz=America/Los_Angeles">HTML</A></p>
<p>This is accurate as of 7/27, so be aware that more recent schedule changes may not be reflected!  I&#8217;ll be attending the conference, not editing a Google Calendar.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=f1vYJAYJOZY:qOFw4465iz0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=f1vYJAYJOZY:qOFw4465iz0:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=f1vYJAYJOZY:qOFw4465iz0:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=f1vYJAYJOZY:qOFw4465iz0:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=f1vYJAYJOZY:qOFw4465iz0:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=f1vYJAYJOZY:qOFw4465iz0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2010/07/27/defcon-18-schedule/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google SSL Search</title>
		<link>http://perimetergrid.com/wp/2010/05/24/google-ssl-search/</link>
		<comments>http://perimetergrid.com/wp/2010/05/24/google-ssl-search/#comments</comments>
		<pubDate>Mon, 24 May 2010 18:30:22 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[industry]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=98</guid>
		<description><![CDATA[Google has added the ability to access their search engine via SSL.  The interface couldn&#8217;t be simpler &#8212; you just go to https://www.google.com instead of http://www.google.com.  The news media has been quite favorable to this &#8212; after all, search queries are at least semi-private in that you might not want your employer or neighbors to [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Google has added the ability to access their search engine via SSL.  The interface couldn&#8217;t be simpler &#8212; you just go to <a href="https://www.google.com">https://www.google.com</a> instead of <a href="http://www.google.com">http://www.google.com</a>.  The news media has been quite favorable to this &#8212; after all, search queries are at least semi-private in that you might not want your employer or neighbors to know what you&#8217;re searching for.  With SSL searches, only Google knows what you&#8217;re searching for.  From a consumer-privacy perspective, it&#8217;s a good thing.</p>
<p>On the other hand, search is not exactly something people have been clamoring for SSL on.  Implementing SSL for large amounts of web traffic is not cheap (done right it&#8217;s not terribly expensive, either, but it&#8217;s an engineering effort at least,) so normally it&#8217;s only done in response to either regulation or customer demand.</p>
<p>I think Google has an ulterior motive here &#8212; possibly two of them.  Current web browsers, as a privacy feature, will not pass extra headers from an SSL site to a non-SSL site or vice-versa.  This means that if I click a link on the SSL Google site, the web site I clicked on will not receive a Referrer: header indicating what I had searched for on Google.</p>
<p>(Incidentally, yes, this <em>does</em> mean that right now every time you click a link or ad on Google, the site you click through to gets to see what you searched for.  It&#8217;s always been this way, most people just don&#8217;t know it.)</p>
<p>There&#8217;s a big business in website analytics.  People run various statistics packages on their website to find out what searches lead to them, what sites link to them, etc.  It&#8217;s critical for optimizing marketing or advertising strategies.  There are also several analytics services that will do this for you, including Google&#8217;s own product Google Analytics.  If everyone started using SSL for searches, all of these would be broken&#8230; well, except Google&#8217;s of course, because Google Analytics doesn&#8217;t need to rely on the Referrer: header &#8212; it has the inside scoop from Google Search itself.</p>
<p>In addition to this, in the pay-per-click advertising world, conversion tracking is very important.  One advertiser may pay for thousands of keywords and run dozens or hundreds of ads.  They track each click all the way through to sales &#8212; in other words, they look not just at which ads people click on, but which ads <em>buyers</em> click on, vs. ads that only attract browsers who don&#8217;t follow through and purchase.  Once again, these usually work via the Referrer: header, which SSL takes away.  And once again, Google offers its own conversion tracking system, which will no doubt still work when all the others are broken.  This one can be worked around &#8212; you can make a third-party PPC conversion-tracking system that doesn&#8217;t use Referrer:, it&#8217;s just a little more work &#8212; but not everyone will work around it.</p>
<p>Both of these results would mean, in a world where <em>many</em> searches were over SSL, rather than just a tiny fraction as it is today, that advertisers &amp; webmasters would have the choice of either operating &#8220;blind&#8221; or giving all their data over to Google.  And they have a very good reason not to want to do this &#8212; if you&#8217;re an ad buyer, and Google is the supplier you buy from, do you want Google to know exactly what keywords &amp; placements are most profitable to you?  Clearly Google can use this inside knowledge of their customers&#8217; businesses to maximize prices on the most effective advertising spots.</p>
<p>This is the sort of thing that can lead to an antitrust lawsuit.  So far Google has managed to spin it as a consumer-friendly privacy feature, but we&#8217;ll see if that lasts.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=fV2q_Gjkb6k:Aewb-zcaG6s:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=fV2q_Gjkb6k:Aewb-zcaG6s:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=fV2q_Gjkb6k:Aewb-zcaG6s:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=fV2q_Gjkb6k:Aewb-zcaG6s:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=fV2q_Gjkb6k:Aewb-zcaG6s:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=fV2q_Gjkb6k:Aewb-zcaG6s:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2010/05/24/google-ssl-search/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlackHat 2009, Day 2</title>
		<link>http://perimetergrid.com/wp/2009/08/13/blackhat-2009-day-2/</link>
		<comments>http://perimetergrid.com/wp/2009/08/13/blackhat-2009-day-2/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 21:04:57 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[anonymity]]></category>
		<category><![CDATA[attacks]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[networks]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[risk]]></category>
		<category><![CDATA[society]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=92</guid>
		<description><![CDATA[The Thursday keynote was given by Bob Lentz, a Deputy Assistant Secretary of Defense for the United States. His main point was the paradigm shift from network-centric security to what he called content-centric security, and the fact that this devalues the protections around network perimeters. Static defenses don&#8217;t work when all the services being used [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>The Thursday keynote was given by Bob Lentz, a Deputy Assistant Secretary of Defense for the United States.  His main point was the paradigm shift from network-centric security to what he called content-centric security, and the fact that this devalues the protections around network perimeters.  Static defenses don&#8217;t work when all the services being used are distributed and not found behind your firewall; the adversary is effectively always inside your firewall.  Other notable but less positive things from the speech included that the Department of Defense considers &#8220;reducing anonymity&#8221; a strategic goal, and that the government still likes to prefix &#8220;cyber-&#8221; on everything, creating &#8220;cyberczar,&#8221; &#8220;cybertime,&#8221; &#8220;cyber green movement,&#8221; and even &#8220;cyber&#8221; as a standalone noun.</p>
<p>This year, BlackHat had an entire Cloud Computing track, running all day on Thursday, of which I attended a great deal.  Part of my job involves protecting cloud computing services, so it seemed very relevant, and it&#8217;s certainly a hot topic in the industry right now.  It began with <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Stamos">Alex Stamos, Nathan Wilcox, and Andrew Becherer</a> presenting a lecture on cloud computing models and vulnerabilities.</p>
<p>They defined cloud computing as not just virtualization, but including general-purpose hosts, central management, application mobility, distributed data, low-touch provisioning, and soft failover.  They looked at three different cloud models: Software as a Service, Platform as a Service, and Infrastructure as a Service, and the differences &amp; vulnerabilities in each.</p>
<p>The Software as a Service (SaaS) model is to outsource everything.  From a security perspective it&#8217;s not necessarily a bad idea &#8212; the cloud provider probably has a lot more security people than the average company.  On the other hand, you also outsource all your data &#8212; the recent Twitter &#8220;breach&#8221; via somebody logging into Twitter&#8217;s Google Docs account shows the risks this can entail.  You lose the perimeter, endpoint management, the ability to use better authentication than simple passwords, credential quality controls, password reset processes, and realtime anomaly detection (though you hope the cloud provider has some of these things.)  It puts all your eggs in one basket &#8212; if someone can read your email, they can access all your data.  SaaS products include Office Live, Google Apps, and Salesforce.com.  None of these have decent audit &amp; rollback capability; Google Apps at least provides login history (though you have to write code &amp; call an API to get at it) but still no read/write level auditing.  Salesforce.com offers some write logging.  However, the biggest flaw with SaaS models may well be authentication &#8212; all your security relies on a password, with all the vulnerability that entails, and you can&#8217;t even set a strong password policy (for all the good it would do you.)  Google Apps actually lets you use a SAML-based SSO system; with other SaaS apps the best you can do is set a strong password policy via employee education.</p>
<p>Another issue with SaaS providers is the legal concerns &#8212; the cloud service EULAs tend to promise basically nothing and disclaim all liability.  Also, they forbid malicious traffic &#8212; even pentesting your own app.  There&#8217;s also decreased protection from search and subpoena.  Since the data is stored with someone else, there&#8217;s no Constitutional protection from search, and even statutory protection is usually only for &#8220;communication.&#8221;  Are Google Docs communication?  Courts haven&#8217;t really defined this yet.  The net result of this is that there&#8217;s no need for a warrant, probable cause, or even notice of a search &#8212; you can&#8217;t fight a seizure before it happens, but only after the fact.</p>
<p>Platform as a Service (PaaS) is the model of having a common development platform provided, yet allowing people to customize their applications.  This is the model of Google AppEngine, Force.com, and (maybe) Windows Azure.  (Azure is a unique case, kind of halfway between PaaS and IaaS; I&#8217;ll come back to this.)  This section of the presentation was rather odd, as they really looked at the common web vulnerabilities (CSRF, XSS, SQL injection) and investigated how the platform protected you from them.  In short, the answer is that they don&#8217;t.  Some of the platforms have some inherent protection available (e.g. Windows Azure apps are typically ASP.NET, which has some built-in XSRF protection via ViewStateUserKey, XSS protection via encoders, and SQL injection via LINQ), but it&#8217;s up to the developer to actually use them.  I found this section somewhat lacking, because it wasn&#8217;t really about the cloud platforms at all, but rather the common web technologies sitting on them.</p>
<p>The Infrastructure as a Service (IaaS) model is that taken by Amazon EC2 and similar services.  It provides virtual machines with short-lived instances, non-persistent local storage, and available helper services.  Though the presenters thought of Azure as very much a PaaS model, I think it&#8217;s a little fuzzier here &#8212; while Azure does not allow you to choose an operating system (the Windows Azure OS runs on every VM), it does not constrain you to anywhere near the degree of Google AppEngine or Force.com, as you can run arbitrary native code on it.  It would be impossible to use AppEngine or Force.com to run anything but a web site; Azure is like EC2 in that it could be used for any flexible computing task, not just web sites.</p>
<p>The problems with IaaS services are usually hypervisor flaws or problems in the helper services.  However, they brought up something very new here that I don&#8217;t think any of the current cloud providers consider &#8212; lack of entropy.  Virtual hardware has mostly deterministic timings &#8212; input events don&#8217;t exist and block device events are abstracted.  Thus, entropy is generated very slowly if at all.  What&#8217;s more, in the case of Amazon EC2, since OS images are available to everyone, an attacker can get a copy of the stored entropy pool you&#8217;re using (which will never update after the image is originally created, thus depriving the system of another source of entropy) and eliminate it as well.  The net result of this is that pseudo-random number generators &#8212; even cryptographically strong ones &#8212; are unreliable and may be predictable.  This attack may or may not be practical given the specifics of the system in question, but for now you may not want to build your online casino or public key infrastructure in an IaaS environment!  Cloud providers may actually have to have random number generation as a helper service as well, supported by <a href="http://en.wikipedia.org/wiki/Hardware_random_number_generator">quantum hardware</a>.</p>
<p>Next, <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Grossman">Jeremiah Grossman and Trey Ford</a> presented a sequel to last year&#8217;s talk on &#8220;making money the black hat way.&#8221;  Essentially, it was a survey of interesting hacks-for-profit that have been carried out recently.  They noted that hacking activity is up this year (layoffs create more hackers?) and that 69% of attacks are discovered only because a 3rd party tells the company it&#8217;s been hacked.</p>
<p>Some of the interesting ones: eBay gave away 1000 items for $1 in a &#8220;Holiday Doorbusters&#8221; promotion.  However, almost 100% of them were bought by bots, which was evident because the items were purchased before the item description page was even viewed.  StrongWebmail.com had a contest to give $10,000 to whoever could hack into the CEO&#8217;s webmail account; rather than attacking the servers, the winners of the contest sent the CEO phishing mail with an XSRF in it that stole the contents of the account.  (Amusingly, they got him to open the mail by labeling it &#8220;I think I won.&#8221;)  Grossman &amp; Ford also brought up cookie-stuffing, a type of affiliate fraud that&#8217;s been around for many years; it&#8217;s a well-known technique in the affiliate marketing world (basically you spoof the referrer while iframing the advertiser&#8217;s site on your site, then drive traffic to your site in ways that would not please the advertiser if they knew about it) but was apparently new to most of the BlackHat audience.  They also brought up the technique of using embedded site search to fake authority links, another well-known &#8220;black hat&#8221; SEO technique.  Marketers have apparently also begun spamming Google Maps with fake businesses, so as to come up first in &#8220;local searches&#8221; with their web-based and not-remotely-local businesses.  A man in Britain used Google Earth to find all the lead roofs in London, then steal the lead tile in the middle of the night.</p>
<p>Some of the more ambitious hacks were more intriguing, though.  One man discovered that you could order &#8220;advance replacements&#8221; for broken iPods from Apple just by giving them a credit card number as collateral; he used low-balance anonymous Visa gift cards to get 9,000 iPods.  Another group put their garage band music in the Amazon and iTunes stores using Tunecore, then bought hundreds of downloads of their own album with stolen credit cards (thus getting a big check from Tunecore.)  One thing to note is that these people got caught only because <em>they weren&#8217;t trying not to</em>.  The iPod guy shipped all 9,000 to his home address; the Tunecore fraud was so blatant as to get this garage band&#8217;s album onto Amazon and iTunes top-10 bestsellers.</p>
<p>Finally, in South America, the system for getting logging permits for the Amazon rain forest was put online.  An investigation discovered that <em>107 different logging companies</em> had hired hackers to compromise the site, which was full of common web vulnerabilities.  All told, 1.7 million cubic feet of lumber were smuggled out of the country.  Scary permit systems in the United States that are now protected only by a web site: entrance visas, hazardous material transport, and open burning permits.</p>
<p>Next, <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Meer">Haroon Meer, Nick Arvanitis, and Marco Slaviero</a> presented a talk on &#8220;Clobbering the Cloud.&#8221;  This SensePost talk covered much of the same material as the iSec Partners talk earlier in the day.  Their primary risk factors for cloud computing were as follows: lack of transparency from cloud providers (opaque EULAs), people don&#8217;t want to store regulated data in the cloud, vendor lock-in especially if the vendor goes out of business or stops offering the service, availability concerns (not just servers being down, but also things like password lockout from DoS attacks), monoculture issues (worms and cascading compromise are a big concern when you have thousands of perfectly-identical boxes), and trust in the cloud provider &#8212; you have to trust your cloud provider implicitly not to lose your data or have system failures.  In addition, there&#8217;s the problem that the cloud is available to the bad guys, too &#8212; cloud boxes can be used for click fraud, DoS, or spamming (for a short time Amazon EC2 was the net&#8217;s #1 spammer.)  Finally, the security of your environment is all in the hands of the account owner, who authenticates with nothing more than a password, and is (in most companies) probably a non-technical executive.  Breaking into the CIO&#8217;s email now makes you the global administrator of the company&#8217;s entire infrastructure.</p>
<p>The presenters then went into more detail about attacks on Amazon Web Services (EC2, S3, SQS, and DevPay) in particular.  I can understand why they chose AWS; due to its flexibility, it&#8217;s certainly the most fun of the cloud services for a hacker to play with (though Windows Azure is getting there, too.)  EC2 is based on a modified Xen hypervisor, and supports running any OS you want that can run in that environment.  Amazon provides 47 OS images, but users have contributed over 72,000 more, and an EC2 user can choose to boot any of them.  Sometimes user images have interesting things in them, like other user&#8217;s EC2 credentials, for example.</p>
<p>Scanning EC2 is prohibited, but you can start up one of the images and scan it yourself via an SSH tunnel (or even have the machine scan itself.)  They found 646 Nessus critical vulns in Amazon&#8217;s public images; you can also steal Amazon&#8217;s own Windows activation keys off their images.  The DevPay system is interesting; it&#8217;s supposed to allow a user to make an image then charge other users for its use (e.g. to resell an application on EC2.)  However, the presenters found you could get a DevPay image and modify its ancestor info (stored in the image itself) so as to credit use of it to you rather than the original author, then reregister it for others to use.</p>
<p>Simply putting up pre-owned (pun intended) images for others&#8217; use can be an attack on AWS.  If you prop up a box with a good name (e.g. &#8220;Ubuntu 9.04 Standard Image, All Patches&#8221;) and a low-numbered ID (so it shows up at the top of the list), and people will use your image to host their apps!  You can get a low-numbered ID simply by registering repeatedly; since it&#8217;s a hash, eventually you&#8217;ll get lucky and have one start with zero.  You can only have 20 images per account, but you can create 20 accounts in 3 minutes, so there&#8217;s no effective limit.</p>
<p>After that talk, I went over to the mobile track to hear <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Burns">Jesse Burns</a> talk about Android.  Android interests me because I&#8217;d really like a phone that behaves like a computer (i.e. a device I own) rather than like a toy the phone company is reluctantly allowing me to touch, and Android&#8217;s open-source nature has real potential to give me that.  It&#8217;s not that I trust Google any more than any other wireless provider, just that the platform seems much more hackable and thus inherently harder to control.</p>
<p>Android has a dual security model &#8212; Android permissions on various privileges, plus Linux permissions on the filesystem.  Applications have their own UIDs/GIDs and are thus somewhat isolated from each other. A package (application) is made up of Activities (GUIs,) Services (background tasks,) Broadcast Receivers (event handlers,) Content Providers (databases,) and Instrumentations (used for testing.)  For interprocess communication, there are Intents, which are sets of name-value pairs with routing information.  Applications are written in Java, but they&#8217;re not applets (i.e. no Java sandbox.)</p>
<p>Available attack surfaces for a malicious app include other apps, system services under privileged accounts (like the clipboard or the surfaceflinger, which draws the UI and owns the screen,) the binder (the inter-process communication system, similar to domain sockets,) and anonymous shared memory.  There are a variety of tools available &#8212; one can just install a bash shell on Android (either interactively or over the wire or network,) use logcat to look at logs, view Android system properties, check the /proc and /sys filesystems, run dmesg to get kernel output, and all the usual Linux attacks.  There&#8217;s also a file in /data/system/packages.xml that contains data about every installed app, including the location of the app and its manifest.  /proc/binder contains a transaction log of the inter-process communication, and /proc/binder/proc contains data of all the processes themselves.</p>
<p>Another interesting detail about Android is the &#8220;secret code&#8221; handler.  When you dial *#*#somenumber#*#*, this triggers the secret code handler for that number, which can do pretty much whatever an app wants it to do.  The only secret codes on &#8220;stock&#8221; Android are 8351 and 8350, which turn voice dialer logging on and off, respectively.  However, wireless providers may add additional codes &#8212; the presenter found some in T-Mobile&#8217;s MyFaves app, for example.  Finally, the presenter had a series of Android hacking apps he&#8217;d developed &#8212; Manifest Explorer (to view the system manifest and the manifest of each app, such as to see what events they react to,) Package Play (to see the parts of a package or to directly activate Activities,) Intent Sniffer (to view Intents as they&#8217;re routed at runtime,) and Ill Intent (an Intent fuzzer.)</p>
<p>The last presentation of the day was <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Schneier">Bruce Schneier</a>, whose talk was entitled Reconceptualizing Security.  Mostly, he gave the same speech he always does, about fear, psychology, security vs. security theater, why we mis-estimate risk, etc.; pick up a copy of <em>Beyond Fear</em> or <em>Secrets and Lies</em> if you want the details.  However, during Q&amp;A he did also talk about the attack on AES-256 that was just demonstrated.  It&#8217;s a feasible attack on 10 rounds of AES-256 (out of 14,) in 2<sup>42</sup> time.  It&#8217;s a related-key attack that works only on 256-bit keys (not on shorter ones,) so there&#8217;s no reason to panic right now, but it does show that the margin of safety on AES is smaller than we thought.  There may need to be a Double-AES in the same way Triple-DES was devised as a stopgap until a new cryptosystem is developed.  Alternately, the standard could be changed to increase the number of rounds, but that would require replacing or updating all the AES-based crypto hardware out there.</p>
<p>And that wrapped up BlackHat 2009.  Overall, there was nothing as Earth-shattering as last year&#8217;s DNS exploit, though it turns out that the SSL issues are pretty nasty.  After BlackHat, I hit the Microsoft Security Researcher Appreciation Party at Christian Audigier, which was actually a pretty good party this year without any of the problems of previous years.  It&#8217;s only drawback was that it only ran two hours.  However, at this point DefCon festivities had begun, so there was still plenty going on; my next post will get into DefCon 17.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=cskOg66oP6M:lVf75vep2yY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=cskOg66oP6M:lVf75vep2yY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=cskOg66oP6M:lVf75vep2yY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=cskOg66oP6M:lVf75vep2yY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=cskOg66oP6M:lVf75vep2yY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=cskOg66oP6M:lVf75vep2yY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2009/08/13/blackhat-2009-day-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BlackHat 2009, Day 1</title>
		<link>http://perimetergrid.com/wp/2009/08/01/blackhat-2009-day-1/</link>
		<comments>http://perimetergrid.com/wp/2009/08/01/blackhat-2009-day-1/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 07:01:45 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[risk]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=89</guid>
		<description><![CDATA[The annual Vegas security conference is upon us again, and there have been plenty of interesting presentations. Last year, it felt like WiFi was the &#8220;theme&#8221; of the year &#8212; this year, the most interesting (and well-attended) briefings were on SSL and mobile devices. The Wednesday keynote was presented by Douglas Merrill, the COO of [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>The annual Vegas security conference is upon us again, and there have been plenty of interesting presentations.  Last year, it felt like WiFi was the &#8220;theme&#8221; of the year &#8212; this year, the most interesting (and well-attended) briefings were on SSL and mobile devices.</p>
<p>The Wednesday keynote was presented by Douglas Merrill, the COO of EMI Records, formerly of Google, RAND Corporation, and several other places.  He spoke on a popular topic for security conference keynotes &#8212; risk assessment and innovation.  80% of CEOs believe they&#8217;ve had a data breach, even though the statistics show that it&#8217;s basically impossible for the actual rate to be that high.  And most of the breaches that do happen are trivial &#8212; looking at Privacy Watch&#8217;s statistics, 16% are lost laptops, 11% are paper that&#8217;s thrown away, etc.  Actual hacker activity accounts for only a small percentage of the breaches &#8212; certainly not enough to justify what we spend on security.  We constantly try as an industry to come up with &#8220;security ROI&#8221; metrics to show execs, but most of them are just nonsense; we make up numbers, then multiply them by numbers we also made up, and that&#8217;s how much you saved in the security breaches that didn&#8217;t happen but might have.</p>
<p>The #1 driver of security for CEOs is BCP (business continuity planning) &#8212; they just want to make sure things keep running no matter what.  For security people, the #1 driver tends to be compliance &#8212; because it&#8217;s a stick with which we can make executives spend money even when they don&#8217;t want to.  Due to the huge downside of a breach for us (since our job is preventing them, having one happen looks really bad), we overinvest in prevention.</p>
<p>Merrill&#8217;s point was that this overinvestment in security can stifle innovation, especially when perimeters (my favorite thing to hate, I know) are involved.  People use consumer tools because the enterprise tools restrict them too much.  Giving people control of their machines promotes innovation, and companies where people are free to innovate are more profitable &#8212; but giving people control makes endpoint security impossible, and reduces control by security and IT.  We risk our jobs by doing the right thing for the company, and so we continue to do the &#8220;safe&#8221; thing even when it doesn&#8217;t make sense.  Overall, it was a pretty good keynote &#8212; nothing revolutionary in it, but certainly food for thought for an audience of security professionals.</p>
<p>The second talk I attended to was three &#8220;mini-talks&#8221; about new <a href="http://www.metasploit.org/">Metasploit</a> functionality, presented by <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Daizovi">Dino Dai Zovi</a>, <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Kershaw">Mike Kershaw</a>, and <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Gates">Chris Gates</a>.</p>
<p>Dai Zovi adapted Meterpreter for the Mac.  He created a Mach-O function resolver, and found one in the OS that wasn&#8217;t covered by the library randomization.  His payload injects a remote execution loop, creates a bundle in RAM, then loads and executes it (neat trick, very hard to do in Windows but apparently easy on a Mac.)  This can be used to load either Dai Zovi&#8217;s CocoaSequenceGrabber payload (which forces the webcam to take photos and send them to the hacker), or Macterpreter, a Meterpreter port by Charlie Miller.  Pretty much all of Meterpreter works except process migration (processes owned by the same user can&#8217;t write to each other on Macs), so it should be good for all your Mac-hacking needs.  He&#8217;s also added 4 exploits from the Mac Hacker&#8217;s Handbook to Metasploit.</p>
<p>Kershaw sought to adapt all the old shared-media attacks (i.e. what we did in the 80&#8242;s and 90&#8242;s on hub-based Ethernet) to WiFi.  His LORCON2 library translates between 802.11 (WiFi) and 802.3 (Ethernet), so you can spoof ARP, DNS, even TCP connections.  This gives you the airpwn attack in Metasploit &#8212; you can spoof, say, urchin.js or other common embedded JS files, give them a cache lifetime of a decade, and have someone&#8217;s browser calling home for a good long time even when they move off the unsafe network.  Open and WEP networks literally can&#8217;t be secured against this, since you can spoof the AP to the client (so no AP-based defenses can be effective &#8212; the AP doesn&#8217;t even see the attack.)  If you have the key, you can even do this on WPA-PSK (by forcing deauths and spoofing the AP.)</p>
<p>Gates essentially ported every Oracle attack of the last 10 years to Metasploit (all 11 of &#8216;em.)  Since Oracle charges for updates, there are tons of vulnerable servers out there (albeit not usually on the Internet.)  There&#8217;s a TNS mixin, and an Oracle DB access plugin that executes queries via Oracle Instant Client (on Linux and Mac OS only, though Chris offered a reward to anyone who would port it to Windows this weekend.)  It can grab the SID from the server on Oracle 9, or brute-force it on Oracle 10 (or sometimes grab it, depending on what Oracle modules are loaded.)  All of these exploits were old, but they&#8217;re now really easy to perform.</p>
<p><a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#VelaNava">David Lindsey and Eduardo Vela</a> gave a talk on bypassing XSS filters. They weren&#8217;t looking at escaping/sanitizing functions, but rather HTTP IDS and other external anti-XSS measures.</p>
<p>They went through a long list of HTML tricks that can be done to evade these filters.  Omitting whitespace, using / for spaces (did you know &lt;img/src=&#8221;file.gif&#8221;alt=&#8221;text&#8221;&gt; &#8212; no spaces &#8212; is treated as valid HTML by most browsers?), roundabout parameters (using separate&lt;param&gt; tags for everything even when you don&#8217;t have to), using data= rather than src= in tags that support it, embedding JavaScript in weird tags like &lt;isindex&gt;, prepending useless namespaces on tags (e.g. &lt;x:script xmlns x=&#8230;.&gt;), using alternate syntax (why say &#8220;document.cookie&#8221; when &#8220;document[cookie]&#8221; or &#8220;with(document)alert(cookie)&#8221; will do), etc.</p>
<p>They even went into truly strange things, like using the ternary operator to make strings that were valid as both HTML and JavaScript but had different meanings in each, or using deprecated or broken syntaxes (which tends to be browser-specific.)  Adding multiple parameters with the same name has undefined behavior, but works in some browsers.  With Unicode, you can pad small (one-byte) characters out to extra bytes, which shouldn&#8217;t work but is accepted by some Unicode implementations (including Java and PHP.)</p>
<p>Perhaps most interestingly, filters could often be bypassed by ridiculous measures &#8212; such as using prompt() instead of alert() when testing for XSS, or using &#8216; or &#8217;2&#8242;=&#8217;2&#8242; instead of &#8216; or &#8217;1&#8242;=&#8217;1&#8242; to test for SQL injection, or /etc/x/../passwd instead of /etc/passwd.  Some badly implemented filters just look for specific attacks, not general patterns.</p>
<p><a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Kaminsky">Dan Kaminsky</a> had managed to keep his talk secret this year, so we went into it knowing nothing but that it was &#8220;something about network security.&#8221;  His talk was entitled &#8220;Black Ops of PKI,&#8221; and covered some vulnerabilities involving X.509 certificates (a theme I&#8217;ll revisit a lot when I do my DefCon writeup.)  60% of data breaches are not due to vulnerabilities, but just bad password handling &#8212; and PKI, based on X.509 certs, was supposed to fix all that.  Of course, what&#8217;s actually been implemented is not really what most of us mean by PKI &#8212; the universal directory of distinguished names was never built &#8212; but certificates are everywhere now.</p>
<p>For those of you not familiar with them, X.509 certs are the basis of SSL/TLS and many other encrypted protocols.  A certificate is supposed to indicate that the entity presenting it really is the entity named in the certificate.  These are signed by various Certificate Authorities, which all themselves have certificates signed by other authorities, chaining all the way to the Root CAs, which have their certificates just built in to your browser &amp; other software.  As long as you trust the root CAs to validate other CAs, and trust those CAs to only sign legitimate certs, the system should work.  But&#8230; that&#8217;s a lot of trust.</p>
<p>The problem is, X.509 can&#8217;t exclude &#8212; every CA can issue certs for every name.  It&#8217;s too hard to interoperate with private CAs, so companies promise to behave and root CAs like VeriSign give them a signed intermediate certificate, allowing them to give out valid certs for anyone.  What&#8217;s more, these certificates depend on various hashing algorithms for their security (since the hashes are what gets signed.)  RapidSSL used MD5 for its signatures, and last year some security researchers took advantage of known issues in MD5 to create their own intermediate cert that was &#8220;signed&#8221; by RapidSSL&#8217;s signature.  Luckily, that group had no intent to abuse the cert, so RapidSSL moved to a better hash and all was well.</p>
<p>Kaminsky discovered that one of VeriSign&#8217;s own certs is self-signed with MD2.  There&#8217;s not even any good reason to self-sign a root cert, but they always do (because people &#8212; and programs &#8212; just expect a cert to be signed.)  MD2, like MD5, has known vulnerabilities &#8212; it&#8217;s subject to a <a href="http://en.wikipedia.org/wiki/Preimage_attack">preimage attack</a> that will eventually let someone create their own root cert that VeriSign&#8217;s self-signature works on.  The complexity of this attack is outside our capabilities right now (2<sup>73</sup>), but won&#8217;t be for much longer.  This certificate was replaced by VeriSign (with one signed in SHA-1), but it will still probably be a long time before every client gets it off the list.</p>
<p>Much more interesting, though, were attacks on CAs themselves via PKCS#10 (the protocol by which you request a certificate to be issued to you.)  When you request a certificate, you provide a &#8220;distinguished name&#8221;, part of which is the &#8220;common name&#8221; (domain name, in the case of SSL certs), as a specially-formatted string (it&#8217;s fixed-length, not null-terminated), in a binary package.  Originally, requesting a cert was a manual process with lots of in-depth verification, but now it&#8217;s all automated.  Kaminsky asked&#8230; what happens if you have multiple common names in one distinguished name?  (Undefined; different CAs and clients do different things.)  The identifier for common name is 2.5.4.3&#8230; what if you provide 2.5.4.03?  Is that the same?  The strange binary protocol means it may be, and 2.5.4.2<sup>64</sup>+3 might be, too.  What if there&#8217;s a null in the name?  Since the protocol uses Pascal strings (length specified) rather than C strings (null-terminated), nulls in the name are valid, but practically every SSL client there is blows up at them.</p>
<p>And that was about it.  Kaminsky ended with a recommendation that we embrace DNSSEC, so we can put certificate hashes in DNS.  Unlike X.509, DNSSEC can exclude &#8212; we can ensure that only the authorized owner of a domain can provide its certificate, as well as make it possible for domains with EV certificates to exclude normal certificates for that domain.  After what Dan presented the previous two years, this one seemed kind of disappointing &#8212; an MD2 cert and some parsing flaws in CAs?  That&#8217;s it?</p>
<p>Actually, it turns out that these are devastating, and essentially render SSL unable to protect communications on untrusted networks (you know, precisely the places where you want SSL to protect you.)  Smart hackers will be picking up wildcard certificates while they can, as CAs will be scrambling to fix this.  As to why, I&#8217;ll explain that during my DefCon Day 1 writeup &#8212; Moxie Marlinspike and Mike Zusman presented research (apparently done at the same time as Kaminsky&#8217;s) that actually exploits this stuff.</p>
<p>The last presentation I went to on Day 1 was <a href="http://www.blackhat.com/html/bh-usa-09/bh-usa-09-speakers.html#Hassell">Riley Hassell</a>&#8216;s talk on &#8220;Exploiting Rich Content.&#8221;  The description made this sound like it was about attacking <em>web sites that use rich content</em> (e.g. Flash, Java, Media Player, QuickTime, etc.), but it was actually about attacking the content engines themselves (e.g. making Flash malware), which, to me, is a much less interesting space.  But then, my job is protecting web sites &#038; services from attack, not being Adobe.</p>
<p>Hassell demonstrated how, using a fault injection fuzzer called FlashFire, he found 23 vulnerabilities in Flash on 785 codepaths, most of them being read-beyond-bounds issues.  Normally those aren&#8217;t considered terribly serious, but since Flash runs in a browser, they can be.  Essentially, it&#8217;s possible to write a Flash component on one web page that steals all the information in your browser&#8217;s memory space.  If you have your bank&#8217;s website open in another tab, that could obviously be a bad thing.  It&#8217;s quite the scalable bug, considering as Flash is installed on 99% of browsers, and the bug works on all platforms.</p>
<p>And that was it for Day 1.  I went to an IOActive reception at Spago, met some interesting people (most of them from IOActive), and called it a night &#8212; most of the BlackHat nightlife seems to be on Day 2.  I&#8217;ll update this post with links to the presentation decks and/or videos when they become available online (decks will probably be relatively soon, but BlackHat does not usually post videos until months after the conference since they are sold for a pretty hefty fee at first.)</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=1a9y_nzbKU4:fs1f6anS7Cs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=1a9y_nzbKU4:fs1f6anS7Cs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=1a9y_nzbKU4:fs1f6anS7Cs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=1a9y_nzbKU4:fs1f6anS7Cs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=1a9y_nzbKU4:fs1f6anS7Cs:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=1a9y_nzbKU4:fs1f6anS7Cs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2009/08/01/blackhat-2009-day-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Hotel Internet and ISP Paywalls</title>
		<link>http://perimetergrid.com/wp/2009/07/28/hotel-internet-and-isp-paywalls/</link>
		<comments>http://perimetergrid.com/wp/2009/07/28/hotel-internet-and-isp-paywalls/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 05:47:08 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[authentication]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=87</guid>
		<description><![CDATA[So, I&#8217;m currently in a hotel, to remain nameless here, for BlackHat 2009 and DefCon 17. As is usual for expensive hotels, Internet access is available &#8212; both wired and wireless &#8212; for a substantial fee ($13.99/day here.) This is enforced via a paywall. For anyone who has never tried to use Internet in a [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>So, I&#8217;m currently in a hotel, to remain nameless here, for <a href="http://www.blackhat.com">BlackHat 2009</a> and <a href="http://www.defcon.org">DefCon 17</a>.  As is usual for expensive hotels, Internet access is available &#8212; both wired and wireless &#8212; for a substantial fee ($13.99/day here.)  This is enforced via a paywall.</p>
<p>For anyone who has never tried to use Internet in a hotel, the way this works is as follows:</p>
<ol>
<li>You connect to the wired or wireless network, and are assigned an IP address via DHCP.</li>
<li>All Internet connections are directed by the gateway to the same IP &#8212; one that rejects everything but ports 80 and 443, and redirects those to a web page that asks you to confirm your acceptance of the exorbitant fees and provide your room number.</li>
<li>Once you accept the terms, the redirect goes away and you have unfettered access to the Internet, usually via a true Internet-routeable (not <a href="http://en.wikipedia.org/wiki/RFC_1918">RFC 1918</a>) IP.</li>
</ol>
<p>Now, for me, the first thought I have is, &#8220;How have they implemented this?  Doing it &#8216;for real&#8217; would require tons of custom hardware and software!  Surely they took shortcuts.&#8221;  So, I booted into <a href="http://www.remote-exploit.org/backtrack.html">BackTrack 4</a>, fired up Wireshark, and took a look around on the wired network.</p>
<p>The first thing I noticed was that, for the most part, all the traffic I was seeing was my own.  So at least this wasn&#8217;t some kind of dreadful 1990&#8242;s-era shared-backbone network.  However, there were two exceptions to this rule &#8212; ARPs, and DHCP Offers and ACKs.</p>
<p>So, what can we learn from this?  We&#8217;re on the equivalent of switch-based Ethernet, where the only traffic that reaches our PC is that destined for our MAC address.  The switch remembers which MACs are one which ports, and won&#8217;t forward us anything that doesn&#8217;t correspond to our MAC.  We get ARPs and DHCP because those are sent to the Broadcast MAC &#8212; switches forward them to everybody.  This tells us one avenue for attack &#8212; we can get other traffic routed to us by sending out packets with a spoofed MAC.  If the switch learns that a given MAC is on our port, it will start sending us the traffic for it.</p>
<p>But that&#8217;s not useful.  MACs are 48-bit numbers; I&#8217;m certainly not going to start guessing them.  What&#8217;s probably of most interest to people on hotel Internet is how to get it without paying, not how to route others&#8217; traffic to themselves.  Okay, at BlackHat and DefCon, routing others&#8217; traffic is probably of interest, but not generally.</p>
<p>But this tells us another avenue for attack, too.  If we&#8217;re receiving broadcast traffic meant for others (presumably other hotel rooms) on switch-based Ethernet, then this means that the system doesn&#8217;t have the ability to send the DHCP and ARP traffic to only one room!  If it were really designed securely, it would &#8212; there would be point-to-point traffic to each room.  Since there&#8217;s not, then it must simply be addressing traffic to each room and putting it into a switch.</p>
<p>We have a clue as to how it addresses traffic to the room.  The charge of $13.99 per day is <em>per laptop</em> &#8212; that is, if you use multiple machines, you have to pay for each of them.  This policy is clearly daft &#8212; it seems very unlikely that the hotel expects anyone to actually pay the fee 2-3 times per day, and so all it does is curtail usability for no reason.  Which means that it&#8217;s likely a technical limitation &#8212; which is to say, they&#8217;re identifying unique customers by MAC address.</p>
<p>MAC (Media Access Control) address is assumed by most people to be static.  It comes with your network card, and whatever MAC your card has is the one you have for life.  And in Windows, this is true with most network drivers &#8212; they provide no facility to change your MAC.  On a Linux such as BackTrack, though, this assumption is wrong.</p>
<p>The easiest way to get free access on a hotel network, then, is to just use the MAC of someone who already paid.  We fire up Wireshark, and add a filter excluding our own IP, such as:</p>
<p>ip.src != 1.2.3.4 &#038;&#038; ip.dst != 1.2.3.4</p>
<p>Where 1.2.3.4 is the IP we get from ifconfig.  This should filter down to nothing but DHCP offers &#038; acks.  We then pick any random DHCP ACK, and open the &#8220;Bootstrap Protocol&#8221; node, where we find a line labeled &#8220;Client MAC address.&#8221;  This will list the address, both in the form that enumerates the manufacturer, and in the form we want &#8212; six colon-separated octets (e.g. 00:11:22:aa:bb:cc).</p>
<p>Now we just tell the system that we are, in fact, someone else.  This is a simple task in Linux:</p>
<p>macchanger eth0 00:11:22:aa:bb:cc<br />
/etc/init.d/networking restart</p>
<p>Now we&#8217;ve just changed or MAC to someone else&#8217;s, and requested a new IP address.  But, how do we know that the MAC we changed to is any better than our own?  Well, it stands to reason that if someone is connecting to the hotel network, they intend to access the Internet.  If the ACK is brand new it may not work, but anything more than a few minutes old is probably golden &#8212; and if it&#8217;s not, you just pick a different DHCP ACK out of Wireshark and try again.</p>
<p>Drawback to this method: it is possible, depending on how the hotel runs its network, that you just DOSsed the legitimate user, which is clearly undesirable.  It&#8217;s not likely, though &#8212; the gateway probably just redirects users who aren&#8217;t on a MAC whitelist to the paywall, and lets everyone else through.  The switch is now routing that MAC to two different rooms, each of which have their own IP, and apart from occasional glitches from layer 2 or 3 collisions, it will probably work fairly well.  Nevertheless, don&#8217;t fool yourself into thinking this sort of thing is totally harmless.</p>
<p>From the hotel&#8217;s perspective, this sort of thing is not trivial to foil.  If they want to prevent this from happening, they need a way to address <em>rooms</em>, not laptops, and that means assigning a switch port or IP address to each one rather than doing a continuous dynamic re-provisioning.  This is expensive&#8230; probably much more expensive than just allowing the occasional network-security geek with a Linux install bypass their paywall.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=PDT-X3cUms0:1AQojWlG4X4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=PDT-X3cUms0:1AQojWlG4X4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=PDT-X3cUms0:1AQojWlG4X4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=PDT-X3cUms0:1AQojWlG4X4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=PDT-X3cUms0:1AQojWlG4X4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=PDT-X3cUms0:1AQojWlG4X4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2009/07/28/hotel-internet-and-isp-paywalls/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A “Clear” Case of Failure</title>
		<link>http://perimetergrid.com/wp/2009/06/29/a-clear-case-of-failure/</link>
		<comments>http://perimetergrid.com/wp/2009/06/29/a-clear-case-of-failure/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 19:52:25 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[risk]]></category>
		<category><![CDATA[society]]></category>
		<category><![CDATA[terrorism]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=84</guid>
		<description><![CDATA[Clear, the &#8220;trusted traveler&#8221; program that allowed customers to bypass airport security lines, has shut down.  The story is an interesting case of bureaucratic disincentives and general failure around the whole mess known as airport security. A privately-run alternative to the TSA&#8217;s Registered Traveller program, Clear started out with what seemed like a good idea [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Clear, the &#8220;trusted traveler&#8221; program that allowed customers to bypass airport security lines, has <a href="http://www.wired.com/epicenter/2009/06/vip-airport-screening-company-closes-lanes/">shut down</a>.  The story is an interesting case of bureaucratic disincentives and general failure around the whole mess known as airport security.</p>
<p>A privately-run alternative to the TSA&#8217;s Registered Traveller program, Clear started out with what seemed like a good idea &#8212; allow frequent travelers to undergo a thorough background check to make sure they weren&#8217;t terrorists or criminals in lieu of screening them every time they went to the airport.  For someone who travels by air every week or even every day, the long-run time savings would be worth a fortune.  The TSA was all for this idea, since their goal is to prevent hijackings, not just have people take off their shoes for fun.  So Clear (originally called Verified Identity Pass) was started &#8212; and frequent travellers could pay $200 per year, have a background check performed on them, and get a nifty-looking smart card that they could use at any of a dozen major airports to skip to the front of the security screening line.</p>
<p>Wait a minute&#8230; skip to the <em>front </em>of the security screening line?  Yep, somewhere along the line some government bureaucrat changed the rules such that Clear and Registered Traveller-certified people still have to undergo the screening, they just get to go to the front of the line.  I can easily see their motivation for doing so.  Imagine being an assistant director at the TSA in charge of such a program: &#8220;So, what happens if, God forbid, someone with a Clear card blows up a plane?  What would we say to the public?  &#8217;Yeah, he had a bomb on him, but we didn&#8217;t search him, because he&#8217;d undergone a background check a couple years ago.  You see, he&#8217;d never blown up any aircraft before, so we had no idea this would happen.&#8217;&#8221;  It would go even worse for the TSA if said terrorist were a member of a group that the public would consider an &#8220;obvious&#8221; terrorist suspect (e.g. a Muslim of Arabic descent) and would pretty certainly end the careers of everyone involed in the program, if not end the TSA itself.</p>
<p>So the Clear card was changed to only allow you to skip the <em>line</em>, while still undergoing the full security screening.  What no one seems to have thought of, though, is&#8230; why bother with the background check?  If you still have to be screened at the airport, what&#8217;s the point of having to be investigated to get the card?  In what way does the screening <em>line </em>contribute to security?  Many of these same airports let members of airlines&#8217; top-tier frequent flyer clubs skip the line, too, and they&#8217;re not required to have background checks.  Essentially, Clear and Registered Traveller simply morphed into HOT lanes &#8212; pay a fee, and you get to go faster than people who don&#8217;t pay a fee.  It&#8217;s not &#8220;trusted&#8221; status, it&#8217;s &#8220;VIP&#8221; status.  A smart card with associated fingerprint and iris scans seems kind of excessive for jumping a line.</p>
<p>Also, Bruce Schneier <a href="http://www.schneier.com/blog/archives/2009/06/clear_shuts_dow.html">brings up an interesting point</a> &#8212; now that Clear is out of business and having all its assets transferred to creditors, what happens to all the personal data in the background checks?  Who gets <em>that</em> asset?</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bw1yUYqje6A:kqTDDXL8v1w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bw1yUYqje6A:kqTDDXL8v1w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=bw1yUYqje6A:kqTDDXL8v1w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bw1yUYqje6A:kqTDDXL8v1w:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=bw1yUYqje6A:kqTDDXL8v1w:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=bw1yUYqje6A:kqTDDXL8v1w:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2009/06/29/a-clear-case-of-failure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>False Expense Service Reveals the Trouble With Documents</title>
		<link>http://perimetergrid.com/wp/2009/06/29/false-expense-service-reveals-the-trouble-with-documents/</link>
		<comments>http://perimetergrid.com/wp/2009/06/29/false-expense-service-reveals-the-trouble-with-documents/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 18:30:27 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[society]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=82</guid>
		<description><![CDATA[There&#8217;s been some news coverage lately about FalseExpense.com, a service that produces fake receipts to order &#8220;for novelty use only.&#8221; The obvious purpose of this is to help people scam their companies&#8217; expense reporting system by &#8220;padding&#8221; receipts.  People who are reimbursed for hotel, meals, etc. can create receipts for slightly more than they actually [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been some news coverage lately about <a href="http://www.falseexpense.com/">FalseExpense.com</a>, a service that produces fake receipts to order &#8220;for novelty use only.&#8221;</p>
<p>The obvious purpose of this is to help people scam their companies&#8217; expense reporting system by &#8220;padding&#8221; receipts.  People who are reimbursed for hotel, meals, etc. can create receipts for slightly more than they actually pay (or for that matter, create receipts for meals they skip altogether or eat a balogna sandwich for) and pocket the difference.  Apparently the same company aims to help people rip off their employers in any way they desire, as they also run &#8220;Fake Sick Notes USA.&#8221;  (Though people running that particular scam are often <a href="http://www.dailymail.co.uk/news/worldnews/article-1080010/Call-centre-worker-caught-boss-posting-sickie-plan-Facebook.html">caught by their own actions</a>.)</p>
<p>It&#8217;s interesting that receipts are considered &#8220;proof&#8221; of purchase.  A receipt, after all, is just a piece of paper, and what&#8217;s more, there is no standard for what a receipt looks like.  People know it should be printed on &#8220;receipt paper&#8221; &#8212; which is usually thin thermal paper, but is sometimes quite heavy paper tape that&#8217;s inkjet or impact printed &#8212; and contain certain pertinent data, like the location of the purchase, the tax, the total, and some legalese at the bottom.  In the modern era, receipts often have serial numbers or bar codes on them, which makes the receipt uniquely identifiable <em>by the issuer</em>, but is quite useless for anyone else to authenticate them.  After all, only someone who has access to Target&#8217;s computer system can say if Target receipt #824935729345 is authentic or not.  And when it comes to small mom-and-pop retailers (which often have cash register receipts that contain literally nothing but prices) and online retailers (whose receipts are trivially-forged HTML emails), receipt as proof of anything becomes even more ridiculous.</p>
<p>All this false expense site does is make available to the general public an ability that&#8217;s been available to the tech-savvy for years.  Someone with Photoshop and a USB thermal printer (easily available on eBay for under $100) has been able to forge receipts since the 1990s.  This is another case (like <a href="http://perimetergrid.com/wp/2008/01/01/checks-the-most-dangerous-transaction/">checking accounts</a>) where the &#8220;security&#8221; of a system comes not from any internal defense, but simply from the fact that most people don&#8217;t have a <a href="http://perimetergrid.com/wp/2008/01/31/how-to-get-a-job-in-information-security/">security mindset</a> &#8212; most people don&#8217;t look at everyday systems and think about their weak points and where they break down.  Since a recept is <em>used as </em>proof of purchase, people assume it <em>is </em>proof of purchase.</p>
<p>Unfortunately, there&#8217;s really not much to be done to &#8220;secure&#8221; receipts.  To do so would require data-sharing between merchants, employers, and the IRS, so as to make receipt numbers authenticable &#8212; and that&#8217;s a case of the solution being worse than the disease (the privacy implications would be staggering.)  As an employer, the best solution may be to simply avoid the problem &#8212; have the company book hotel and travel for the employee (rather than reimbursing after-the-fact), and provide a <em>per diem </em>allowance for expenses rather than reimbursing exact receipts.  Any time you rely on receipts from employees, there&#8217;s the potential for fraud losses.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=_Xxlrl05pfY:ZfqmVKotdYc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=_Xxlrl05pfY:ZfqmVKotdYc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=_Xxlrl05pfY:ZfqmVKotdYc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=_Xxlrl05pfY:ZfqmVKotdYc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=_Xxlrl05pfY:ZfqmVKotdYc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=_Xxlrl05pfY:ZfqmVKotdYc:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2009/06/29/false-expense-service-reveals-the-trouble-with-documents/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Conficker Mostly a Dud</title>
		<link>http://perimetergrid.com/wp/2009/04/06/conficker-mostly-a-dud/</link>
		<comments>http://perimetergrid.com/wp/2009/04/06/conficker-mostly-a-dud/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 01:49:09 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[industry]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=79</guid>
		<description><![CDATA[After tons of breathless media coverage about how April 1st might be the latest &#8220;cyber-catastrophe,&#8221; the date has come and gone and&#8230; nothing happened. There was, admittedly, some cause for concern.  With 250,000 known machines infected with Conficker.C (and estimates of the full number of infected machines as high as 15 million before antivirus software [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>After tons of breathless media coverage about how April 1st might be the latest &#8220;cyber-catastrophe,&#8221; the date has come and gone and&#8230; nothing happened.</p>
<p>There was, admittedly, some cause for concern.  With 250,000 known machines infected with Conficker.C (and estimates of the full number of infected machines as high as 15 million before antivirus software started knocking them out,) activation of the worm would have created the world&#8217;s largest botnet overnight, far surpassing the Storm Worm&#8217;s 120,000-machine network.  It would have the power to bring down pretty much any target on the Internet at will, at least for a short time.  People feared that it would be turned against some critical infrastructure target (e.g. the root DNS servers) or major commercial site and bring down the Internet.</p>
<p>And that threat&#8230; is still there.  April 1st was only the <em>first </em>day Conficker.C could have been activated &#8212; not the <em>only </em>day.  Those infected machines are all out there, still polling for their master every day.  While the mitigations that have been put in place at many domain registrars will greatly reduce its impact, the fact remains that it would still be a huge botnet, not to mention that it could execute arbitrary code on any of the infected machines.  (If you&#8217;re worried you might be infected, just check out the rather-ingenious <a href="http://www.confickerworkinggroup.org/infection_test/cfeyechart.html">Conficker Eye Chart</a>.)  But with the security industry aware of the threat, chances are that most of the machines that try to &#8220;call home&#8221; will not find anything listening on the other side, even if the worm&#8217;s authors <em>do </em>try to activate it.</p>
<p>If they&#8217;re smart, they probably won&#8217;t activate it at all.  Since botnet controllers constantly try to steal each other&#8217;s botnets, modern worms contain code to ensure that only the author can take control.  In the case of Conficker, this defense is actually very strong &#8212; orders for the worm have to be cryptographically signed, using a public-key algorithm.  On one hand, this means no one but the worm&#8217;s actual authors can give it orders &#8212; but on the other hand, it leaves them holding a smoking gun.  <em>Only </em>the worm&#8217;s authors can possibly have the private key that creates the signatures Conficker looks for &#8212; which means that possession of that key is all but proof of authorship (and thus of a very serious crime.)  Having such a trail pointing at them may prevent them from trying to use it at all, especially since the domain-registration algorithm has been cracked and domain registrars are monitoring attempted registrations for anyone trying to register a name that Conficker will eventually look for.</p>
<p>Overall, the response to the Conficker worm is another success story for the security industry.  There&#8217;s a paper about containing the worm over at the <a href="http://www.honeynet.org/papers/conficker">Honeynet Project</a> that makes for good reading.  This said, it also points to the problem with the &#8220;detect-and-patch&#8221; model of computer security &#8212; this could have been much worse.  If the original Conficker variants had been as sophisticated as the C variant, and the worm activated on February 1st instead of April 1st, we would have had a very different story.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=rKr7gSiSpJs:ymhs8EdN4Wk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=rKr7gSiSpJs:ymhs8EdN4Wk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=rKr7gSiSpJs:ymhs8EdN4Wk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=rKr7gSiSpJs:ymhs8EdN4Wk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=rKr7gSiSpJs:ymhs8EdN4Wk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=rKr7gSiSpJs:ymhs8EdN4Wk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2009/04/06/conficker-mostly-a-dud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Exploiting Public Information for Stock Manipulation</title>
		<link>http://perimetergrid.com/wp/2008/09/14/exploiting-public-information-for-stock-manipulation/</link>
		<comments>http://perimetergrid.com/wp/2008/09/14/exploiting-public-information-for-stock-manipulation/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 23:52:25 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[legal]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=76</guid>
		<description><![CDATA[Last Wednesday, 9/10, United Airlines saw its stock drop by over 75% in fifteen minutes, over a mistaken news story that came across the Bloomberg business wire announcing that it had filed for bankruptcy.  How this happened has interesting implications for security. Back on December 10th, 2002, United Airlines really did file for bankruptcy.  It [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Last Wednesday, 9/10, United Airlines saw its stock drop by over 75% in fifteen minutes, over a mistaken news story that came across the Bloomberg business wire announcing that it had filed for bankruptcy.  How this happened has interesting implications for security.</p>
<p>Back on December 10th, 2002, United Airlines really <em>did </em>file for bankruptcy.  It was all over the news, their stock plummeted, they went into reorganization (Chapter 11), and eventually emerged as a going concern.  it wasn&#8217;t a good thing for most involved, but it was over and done with.</p>
<p>Many online newspapers have archives of old stories that can be browsed.  The <em>Florida Sun-Sentinel </em>is no exception; it&#8217;s a pretty typical newspaper.  Online newspapers also often have dynamic lists of links &#8212; &#8220;Most Popular,&#8221; &#8220;Most Active,&#8221; etc., based on what articles have been read lately.  For some reason, which we may never know, the 12/10/2002 article somehow made it onto one of the lists.  Maybe it was a slow day and a couple people happened to click on it in rapid succession and it bubbled up to the list, and once it was there people started clicking on it (as the story would be pretty big news if it weren&#8217;t six years old.)  Whatever the cause, a link to this old story found its way onto the homepage &#8212; Tribune Co. says it was &#8220;<a href="http://www.prnewswire.com/cgi-bin/stories.pl?ACCT=104&amp;STORY=/www/story/09-09-2008/0004882072&amp;EDATE=">due to traffic volume</a>,&#8221; which I think lends credence to the &#8220;a few people clicked on a slow news day&#8221; theory, though it could have been deliberate, which I&#8217;ll get to later.</p>
<p>News aggregators, the most popular being <a href="http://news.google.com">Google News</a>, crawl reputable news sources like online newspapers for interesting stories, then bump them up or down on their pages based on how popular they turn out to be.  Since this was on the <em>Sun-Sentinel</em>&#8216;s homepage, and probably their RSS feeds as well, the Googlebot pulled it up.  However, the <em>Sun-Sentinel</em>&#8216;s page did not list a dateline for the story &#8212; so, lacking any other information, the Googlebot concluded it was new; this is not unreasonable for something suddenly showing up on the front page of a newspaper.  Google News <a href="http://googlenewsblog.blogspot.com/2008/09/update-on-united-airlines-story.html">published the article in their aggregator</a> with a dateline of 9/10/08.</p>
<p>People started reading the article, and that pushed it up in the rankings.  Soon, UAL&#8217;s bankruptcy was a top story on Google News, which is read by millions.  Some of those readers included stock analysts, one of whom proceeded to put the &#8220;news&#8221; on the Bloomberg wire, the primary source of breaking news used on Wall Street.  On one hand, it seems foolish of him, and this was probably a career-limiting move.  But on the other hand, Google linked him to the web site of a legitimate newspaper owned by Tribune Co. &#8212; he didn&#8217;t exactly read this on &#8220;hot-stock-picker.ru&#8221; or something; why would he doubt its veracity?  It was clearly a professionally-written news article in a major newspaper (or at least a minor paper from a major publisher.)</p>
<p>Wall Street today bears little resemblance to its history before the late 1980s, when &#8220;program trades&#8221; started.  Program trades are basically what they sound like &#8212; computer programs set to execute trades when certain conditions are met.  There were apparently a decent number of program trades set to dump UAL stock upon getting bad news about it over the Bloomberg wire, and they did just that.  UAL, as a mid-cap company with very high volatility, was quite heavily held by hedge funds, who are very heavy users of program trades.  Large, institutional investors &#8212; including hedge funds, perhaps especially hedge funds &#8212; limit their risk by having standing &#8220;stop-loss orders&#8221; on large positions.  These are orders to sell the entire position should its share price fall below a certain floor.  The hedge fund selling based on the news was enough to send the stock price down across a few stop-loss orders &#8212; and their selling sent it through more, and so on.  The stock dropped 79% in 15 minutes, eradicating literally billions of dollars in shareholder value.  At that point, the exchange stepped in and froze the stock, halting any further trading (as well as the runaway program trades.)</p>
<p>Once people figured out what was going on, the stock was bid back up to $10 again (about 85% of its original value.)  A lot of people ended up upset with Bloomberg, and Google, and the <em>Sun-Sentinel</em>, but there&#8217;s no one to sue &#8212; the <em>Sun-Sentinel </em>didn&#8217;t do anything wrong (they didn&#8217;t republish the story or try to call attention to it, it just sat in its archives like it had for the last six years), and the newswires and aggregators aren&#8217;t liable for checking the accuracy of things they link to.</p>
<p>What I found interesting, though, is the implications this has for deliberate manipulation.  This appears to have been an accident, but what if someone were to set out to do this on purpose?  All they would need is to find a newspaper or other reputable news source that doesn&#8217;t have reliable datelines on all their stories, then pick a stock that has recovered from old bad news or plummeted after old good news &#8212; just something where the news, if new, would affect the price substantially.  Rather than waiting for the story to coincidentally rise to the top, a botnet or set of proxies could bid the story up to &#8220;most popular&#8221; quite quickly.  The attacker would just have to keep it there long enough to be picked up by aggregators.</p>
<p>Essentially, this person would have tomorrow&#8217;s news today, and could trade on it.  (Well, really it&#8217;s yesterday&#8217;s news, but they&#8217;d know it before everyone else &#8220;knew&#8221; it.)  If you were doing this intentially to UAL, you&#8217;d first buy put options and short-sell the stock, in anticipation of the sudden drop.  Once it dropped 50%, you&#8217;d unwind those positions and start buying &#8212; after all, once the error is discovered, the stock will mostly revert to its original value.  It&#8217;s not even clear that this sort of manipulation would be illegal &#8212; the attacker isn&#8217;t a fiduciary, and can&#8217;t be charged with insider trading or most securities violations.  Federal law is fuzzy enough that prosecutors can sometimes find a way to charge just about any person with a crime if they really want to, but this would be quite difficult to prove.  It&#8217;s not like lots of people don&#8217;t hold put options and short sales on volatile, risky companies like UAL, and reversing the position after a big drop would hardly make you alone among traders.  Making 5-10 times their investment on something like this would not be difficult if it worked.</p>
<p>The interesting part about this is that it doesn&#8217;t involve an &#8220;attack&#8221; in the traditional sense.  There&#8217;s no cross-site scripting or SQL injection, no stealing of confidential data.  Nothing is involved but clicking on an old news story a few dozen times, and being positioned in the market such that the resulting chaos works to your advantage.  It&#8217;s even possible that this <em>did </em>happen with UAL, and the companies involved don&#8217;t want to talk about it, for fear of giving people ideas.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=IvNol8QMPJM:aZN2X9-NrMw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=IvNol8QMPJM:aZN2X9-NrMw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=IvNol8QMPJM:aZN2X9-NrMw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=IvNol8QMPJM:aZN2X9-NrMw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=IvNol8QMPJM:aZN2X9-NrMw:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=IvNol8QMPJM:aZN2X9-NrMw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/09/14/exploiting-public-information-for-stock-manipulation/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DefCon 16, Day 1</title>
		<link>http://perimetergrid.com/wp/2008/08/24/defcon-16-day-1/</link>
		<comments>http://perimetergrid.com/wp/2008/08/24/defcon-16-day-1/#comments</comments>
		<pubDate>Sun, 24 Aug 2008 21:15:16 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[anonymity]]></category>
		<category><![CDATA[attacks]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[networks]]></category>
		<category><![CDATA[physical security]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=73</guid>
		<description><![CDATA[Having finished up with the BlackHat briefings, it was time to go on to DefCon.  While many of the speakers from BlackHat stay on for DefCon, there&#8217;s also a lot of DefCon-only presentations, usually with a more attack-oriented focus (in keeping with DefCon&#8217;s nature as a hacker convention rather than a security conference like BlackHat.) [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Having finished up with the BlackHat briefings, it was time to go on to DefCon.  While many of the speakers from BlackHat stay on for DefCon, there&#8217;s also a lot of DefCon-only presentations, usually with a more attack-oriented focus (in keeping with DefCon&#8217;s nature as a hacker convention rather than a security conference like BlackHat.)</p>
<p>The day began with <a href="http://www.defcon.org/html/defcon-16/dc-16-speakers.html#Cicero">Hacking E.S.P.</a> (Educational Software Packages.)  Schools, by their nature, have sensitive PII data &#8212; transcripts, schedules, billing information, etc.  A lot of this data is either stored directly in web-based educational software used by students, or is stored in other systems students access&#8230; probably with the same password.  Overall, though, this was a pretty typical application service provider hacking presentation &#8212; many of the schools they investigated used the same software on their sites, and that software was often woefully bad: Passwords sent &#8220;encrypted&#8221; in Base64 encoding &#8212; and not even that if JavaScript is turned off.  Trivial session stealing via Hamster-style sidejacking, with the added bonus that the Session ID is set <em>before </em>login so you can steal a session ID then wait for someone to use it.  Copious cross-site scripting vulnerabilities to allow for cookie stealing.</p>
<p>Generally someone would have to have a login on such a system to be able to exploit these things.  However, the username/password scheme is often helpfully revealed on the front page, and some schools even allow you to create your own account on the system. Google showed 34,000 instances of this one flawed software package alone.  Considering as schools account for 34% of data breaches, this sort of buggy software is probably commonplace.</p>
<p style="text-align: left;">The second presentation I attended was about <a href="http://www.defcon.org/html/defcon-16/dc-16-speakers.html#Wong">Adobe local shared objects</a>.  In short, these are Flash cookies.  Just as your browser will store small data items (cookies) for a website, and return those items to the website when asked, Adobe Flash has a similar mechanism for Flash applets.  However, since these are stored by Flash and not by the browser, your browser doesn&#8217;t manage them &#8212; there is no indication to the user what data is being stored, and the data is not removed when you delete cookies or &#8220;private data&#8221; in your browser.  Ad networks have used these to &#8220;back up&#8221; your cookies &#8212; if you delete them, they are restored from a Flash local shared object when you next visit a site with the ads on it.  These are also hard to filter for systems like Privoxy and other anonymizers, because Flash uses a proprietary encoding for its XML RPC calls, in which the local shared objects are embedded.</p>
<p style="text-align: left;">On the bright side, there is a Flash applet on the Adobe site called <a href="http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager.html">Flash Settings Manager</a> that will let you delete these objects and put in settings to manage them.  On the not-so-bright-side, this is in-band signaling (i.e. Flash is configured by a Flash applet), so any advertiser can override your settings later.  Also, as you may recall from the RIA presentation at Black Hat that I discussed earlier, there are a lot of other local storage mechanisms besides this one in Flash &#8212; Silverlight, HTML 5, and other frameworks also have local storage that is outside your browsers&#8217; ability to manage.</p>
<p style="text-align: left;">I next attended a presentation about vulnerabilities in <a href="http://www.torproject.org/">TOR</a>, the onion-routing anonymity provider originally developed by the Department of the Navy and until recently maintained by the <a href="http://www.eff.org/">EFF</a>.  TOR has become quite popular, at this point containing 1,500 relays and 200,000 users.  However, over the last several years, it&#8217;s seen several vulnerabilities that have threatened the anonymity it provides:</p>
<ul>
<li>2004: Error in how AES counter mode was used resulted in cryptography with only 16 bits of entropy.</li>
<li>2005: A relay cell length overflow could be used to force an exit node to send contents of memory</li>
<li>2005: Diffie-Hellman handshake bug in OpenSSL didn&#8217;t check for trivial keys, so a malicious entry node could mount a man-in-the-middle attack</li>
<li>2006: By running several fast TOR servers, an attacker could end up as both entry &amp; exit node for a user, thus compromising anonymity and potentially finding hidden services.  The fix for this was the addition of &#8220;entry guards&#8221; &#8212; trusted entry nodes that are re-used by users.</li>
<li>2006: Clients could create or extend channels even if server mode was turned off</li>
<li>2007: &#8220;Stable&#8221; or &#8220;Guard&#8221; status, normally applied to the top <em>n </em>nodes, could be stolen by malicious nodes by claiming high uptime and bandwidth.  The fix for this was to put in thresholds above which a node always gets guard status, rather than making it a top <em>n</em> calculation.</li>
<li>2007: XSRF attacks by web sites could make use of the TOR control port</li>
<li>2008: Nodes could be made to connect to their own public IPs</li>
<li>2008: The <a href="http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/">Debian OpenSSL PRNG flaw</a> compromised 300 of the 1,500 relay identity keys, and 3 of the 6 directory authority keys.  If one more authority key had been compromised, someone could have taken control of the network</li>
</ul>
<p>There are still some outstanding issues in TOR:</p>
<ul>
<li>You can build infinite-length circuits and use them as a DOS multiplier</li>
<li>Snooping on exit relays works &#8212; if someone uses an insecure protocol that gives away their identity (like POP&#8230; or even HTTP depending on what they send), TOR won&#8217;t necessarily protect them.  This isn&#8217;t a bug in TOR, but just the nature of what it does &#8212; no software package will give totally anonymous communication if the communication itself gives your identity to the recipient.</li>
<li>People who run relays are unknowns &#8212; there is no way to know how many are malicious.  However, TOR depends on having a large, diverse set of servers, so making more restrictions on who can run servers might actually lower, rather than raise, the network&#8217;s secuirty.</li>
<li>Exit relays sometimes end up in restricted space (e.g. behind China&#8217;s firewall) &#8212; which means TOR users get restricted, too.</li>
<li>Many users of TOR toggle it on and off during a single browser session.  However, a JavaScript refresh attack on one of the non-TOR sessions can sometimes retrieve data from the previous TOR session.</li>
<li>Firefox bugs leak data, and that data doesn&#8217;t go through TOR, since on Windows it works as an HTTP proxy.  Users can work around this by proxying their entire network stack through a VPN connection like a <a href="http://www.janusvm.com/">JanusVM</a>.</li>
<li>It&#8217;s possible to block access to TOR.  If an adversary (say, the Chinese government) filters out the directory authorities, the download site, and all the relays, it&#8217;s very hard to get on.</li>
<li>If you can see both input and output (by running many, many nodes, or having a massive filtering apparatus at the Tier3 ISPs &#8212; FBI, maybe?) traffic confirmation is easy.  (i.e. if I already suspect you, specifcially, of doing something, I can confirm you did it much more easily than I can &#8220;go fishing&#8221; for people doing unknown bad things.)  Defensive dropping or adaptive packing would help with this, but would raise TOR&#8217;s latency.</li>
<li>You can fingerprint websites based on the size &amp; response time of the pages and tell what people are doing via traffic analysis.</li>
<li>A congestion attack by a website can find TOR nodes, and coupled with latency analysis on routers, can find the person communicating.</li>
<li>Data retention laws in many countries are resulting in data being stored that could make traffic analysis easier.</li>
</ul>
<p>So, with all these problems in TOR, does that mean we shouldn&#8217;t use it?  Not at all!  The known vulnerabiliites currently outstanding would apply to any low-latency mix network.  They&#8217;re not bugs in TOR, they&#8217;re limitations in this approach to anonymity, which remains better than any <em>other </em>approach to anonymity known.  TOR isn&#8217;t perfect, it&#8217;s just better than everything else.  Now, there may be better approaches to <em>specific problems </em>(e.g. there is one particular adversary you want to hide from, not just people in general), but for general anonymity, you still can&#8217;t beat TOR, even with its flaws.</p>
<p>I unfortunately missed much of strace and RSnake&#8217;s <a href="http://www.defcon.org/html/defcon-16/dc-16-speakers.html#Stracener">presentation on Google Gadgets</a>.  In short, gadgets are pieces of HTML and JavaScript code hosted on third-party sites and brought into a Google-owned namespace.  Though this namespace doesn&#8217;t have direct access to Google cookies, the fact remains that it&#8217;s loading unknown JavaScript onto a Google page &#8212; it&#8217;s basically XSS-by-design.  Gadgets can communicate with or post to other users and gadgets on Google, and it turns out to be pretty easy to sneakily force a user to install a gadget onto their Google homepage.  If someone could crack a server hosting a trusted gadget, they could take control of the data of many Google users simultaneously.  Most of these vulnerabilities would apply to any gadget-based architecture, such as the Live start page, or Facebook&#8217;s apps, too.</p>
<p>The next presentation I attended was &#8220;Satan is on my Friends List,&#8221; about <a href="http://www.defcon.org/html/defcon-16/dc-16-speakers.html#Hamiel">attacking social networks</a>.  In short, social networks are full of promiscuous and pervasive trust relationships, which results in a large number of business logic flaws.  These attacks aren&#8217;t on code vulnerabilities like SQL injection, but rather just exploiting how the systems work.</p>
<p>Sites often don&#8217;t protect &#8220;non-sensitive&#8221; operations, like logging out or adding friends, from XSRF attacks.  Thus, it&#8217;s possible to craft comments that log out anyone who views them&#8230; which makes it rather hard to delete them (since you have to be logged in to delete a comment.)  XSRFs can be put into image links, meta refresh tags, IFRAMEs, etc.</p>
<p>In addition, social networks are ideal platforms for social engineering attacks.  Build a plausible profile for someone else using social and public sources, and then friend a few dozen people who are known to friend everyone right back to build a &#8220;respectable&#8221; number of connections.  Joing groups, and start friending real associates of the person being impersonated.  At that point, you have a web site that can be used to confirm your identity as someone else.</p>
<p>The Facebook and OpenSocial APIs for integrated social apps are also good avenues for attack.  They have convenient APIs and execute arbitrary code by design &#8212; the social networks don&#8217;t care about application malware, as it&#8217;s on a second domain and they&#8217;re legally protected by their EULA.  However, if you widely distribute an app based on some current meme, get hundreds of users, then replace that app in-place with malware, you have an instant social network botnet.  You can use them as open redirects, put phishing items on their social network page, etc.  Also, applications have all the access that friends do &#8212; just the data disclosure may be enough for identity theft, impersonation, or at least some minor mayhem.  They can publish to a user&#8217;s profile to infect others, too.</p>
<p>Unfortunately, the fixes for these issues are just what the social network sites don&#8217;t want to hear &#8212; less external content, reduced API functionality, no opt-in security models, review and lifetimes for applications, etc.  Thus, these vulnerabilities are probably here to stay.</p>
<p>The last presentation I attended was by Errata Security, about <a href="http://www.defcon.org/html/defcon-16/dc-16-speakers.html#Maynor">interesting penetration tests</a>.  Modern penetration tests are &#8220;supposed to be boring&#8221; &#8212; they&#8217;re often done for the purpose of meeting compliance objectives, so companies are mostly interested in meeting a checklist, not in security.  They want to be secure against likely attacks and &#8220;script kiddies,&#8221; but are not interested in making the kinds of expensive changes required to defend against a determined, well-funded adversary.  The main exceptions are government agencies and Wall Street, who know they&#8217;re the targets for those determined adversaries.</p>
<p>Maynor &amp; Graham walked through a couple of interesting things they did as part of penetration testing.  One of these involved hacking the well-firewalled network of a company that was based at a secure facility, one where they could not simply walk onto the premises.  Instead, the wired an iPhone to a UPS battery and put it into the original iPhone packaging, then mailed it to the company.  With a UPS battery, an iPhone can run for 5 straight days with the WiFi on.  They modified the phone to add tcpdump and APlogger, and added a cron job that would send an SSH tunnel out to their computers every hour over the AT&amp;T EDGE connection.  The result was a WiFi sniffer &amp; endpoint inside the &#8220;secure facility&#8221; from which they could scan the internal network and run Metasploit to break into things.  An iPhone, after jailbreak has been run, is essentially a tiny BSD box &#8212; a perfectly suitable hacking platform.  Who thinks about their network being hacked by a cardboard box in the mailroom?</p>
<p>They also built a better phishing site.  Even security-aware people who are looking for phishing sites look for a valid SSL certificate bound to the site and signed by a trusted authority.  However, all it takes to get a real SSL certificate signed is about $2,700.  Start a business, register with Dun &amp; Bradstreet to get a credit rating, then apply for a real certificate from VeriSign or Thawte.  You can even sign ActiveX controls and require users to install them as a &#8220;secuirty feature.&#8221;  Since so many banks and companies outsource their applications or their HR and IT infrastructure, a phishing site with a good certificate is often indistinguishable from an outsourced site.  Just send someone at the comapany an email saying that the company has changed 401(k) providers, and they need to go to this outsourced site and sign up.</p>
<p>As is customary with DefCon, there wasn&#8217;t much talk about how to prevent these vulnerabilities.  However, it gives you something to think about, and it&#8217;s often very hard to guard against clever attacks against business logic flaws.  There&#8217;s no substitute for good threat modeling and flexible thinking.</p>
<p style="text-align: left;">
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ZtgihMggKSo:jBn5bkatqjs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ZtgihMggKSo:jBn5bkatqjs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=ZtgihMggKSo:jBn5bkatqjs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ZtgihMggKSo:jBn5bkatqjs:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=ZtgihMggKSo:jBn5bkatqjs:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=ZtgihMggKSo:jBn5bkatqjs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/08/24/defcon-16-day-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>BlackHat 2008, Day 2</title>
		<link>http://perimetergrid.com/wp/2008/08/13/blackhat-2008-day-2/</link>
		<comments>http://perimetergrid.com/wp/2008/08/13/blackhat-2008-day-2/#comments</comments>
		<pubDate>Wed, 13 Aug 2008 16:42:52 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[SOA/XML]]></category>
		<category><![CDATA[attacks]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[mitigations]]></category>
		<category><![CDATA[trusted client]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=66</guid>
		<description><![CDATA[The second day of BlackHat 2008 began with a keynote speech by Rod Beckstrom, the director of NCSC (the National Cyber Security Center.) Most of this consisted of painfully strained Civil War analogies and the overuse of the word &#8220;Cyber&#8221; to describe absolutely everything. He made some good points &#8212; specifically, that in order to [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>The second day of BlackHat 2008 began with a keynote speech by <a href="https://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Beckstrom">Rod Beckstrom</a>, the director of NCSC (the National Cyber Security Center.)  Most of this consisted of painfully strained Civil War analogies and the overuse of the word &#8220;Cyber&#8221; to describe absolutely everything.  He made some good points &#8212; specifically, that in order to truly solve information (er, &#8220;Cyber&#8221;) security problems, we have to know the desired end state, which is more than just fixing the exploits or vulnerabilities of the week.  We don&#8217;t even fully understand the physics and economics of networks, security, and risk management.  The economics of security has to be based around risk management &#8212; if the marginal cost of a security measure exceeds the marginal loss it prevents, it&#8217;s counterproductive (something the government seems to often miss when it comes to &#8220;national security&#8221; anti-terrorism measures.)  He seemed overly worried about the IP protocol stack as a single point of failure, and wants to keep it out of the systems it&#8217;s currently out of (say, SMS, which works even when most of the cell network is down.)  I find this overly alarmist mainly because the IP protocol stack has been constantly attacked and exhaustively examined for nearly thirty years, and even the hackers have pretty much given up on this sort of attack.  Yes, a successful exploit of the IP stack that let you, say, reroute, modify, or destroy traffic would be catastrophic on the same scale as Kaminsky&#8217;s DNS attacks of the last month, but so would an asteroid strike &#8212; the potential impact is huge, but the likelihood is very low.</p>
<p>All that said, I wouldn&#8217;t argue for IP-izing currently-working non-IP networks like SMS, either.  There&#8217;s simply no reason to.</p>
<p>Next, <a href="https://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Evans">Arian Evans</a> of WhiteHat security spoke on web application canonicalization, encoding, and transcoding attacks.  This was one of the more interesting (and personally useful) talks of the conference for me.  Web application vulnerabilities fall into two categories &#8212; syntax vulnerabilities, which fork code-paths, like SQL injection, cross-site scripting, etc., and semantic issues, consisting of errors in business logic.  Syntax issues are normally fought by signature-based methods like IDS/IPS, WAFs (Web Application Firewalls), and XML firewalls.  However, encoding syntax attacks can cause them to bypass these defenses.</p>
<p>Internationalized websites often require encoding and code page transitions in order to work.  In addition, developers use encodings for type safety.  An attacker can take advantage of these to get a syntax attack to its target:</p>
<ol>
<li>Choose a vulnerability you want to exploit (e.g. XSS, SQL Injection)</li>
<li>Identify the parser on the target (browser, database, application, etc.)</li>
<li>Identify the supported encodings, codepages, and character sets on the target</li>
<li>Identify intermediate interpreters between you and the target that canonicalize alternative encodings, such as web browsers, web application firewalls, proxies, or other applications</li>
<li>Encode your attack such that it will be parsed in the desired way by the target after being canonicalized by all the intermediaaries</li>
</ol>
<p>This results in complex nested encodings, such as encoding SQL with the CHAR/CHR functions, then decimal encoding that, then URI encoding that result.  The resultant mess goes right past IDS/IPS, but each interpreter strips off a layer of encoding, and when the payload finally reaches the target, it is interpreted property and works.  More sophisticated, internationalized apps are often <em>easier </em>to hit, because you have more options for submitting encoded (in another codepage) metacharacters that are later transcoded by the applications.</p>
<p>The solutions offered for this were the usual &#8212; strong data typing, strong output encoding (to prevent XSS), and enforcing the code/data boundary whenever possible (which isn&#8217;t often when it comes to web apps.)  Still, this is very good stuff for demonstrating a SQL injection or XSS vulnerability to a business manager who insists that it&#8217;s not <em>really</em> exploitable.</p>
<p>Next, <a href="https://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Buetler">Ivan Buetler</a> gave a presentation on smart cards, specifically the security of APDU, the Application Protocol Data Unit.  Smart cards are mass-produced by a few companies, then sent out to companies or agencies that want to use them for security.  The buyer initializes them with software and policy, then gives them to a user, who personalizes them with specific keys (often under the guidance of their employer.)  Software from the manufacturer can be used to initialize or personalize cards.  This demo used the Axalto Access Client, specifically the COVE and CMS administration tools.</p>
<p>The card itself enforces PIN policies and (sometimes) generates keys.  During initialization, applets (written in Java and converted to a smart card bytecode) are uploaded to the card to add functionality.  The upload, and all communication with the card, is done in APDU codes.  These are laid out in the ISO 7816 specification, but there are <em>many </em>vendor extensions, which tend to be poorly documented &#8212; so many that the ISO spec is almost useless in reading APDU.  However, it&#8217;s a simple command structure &#8212; a command consists of a class byte, an instruction byte, two 1-byte parameters, a data length, and a variable-length data field (and of course a checksum.)  Ivan used an app called Smart Card Toolkit Pro 13.4.2 (I can find no reference to it on the Internet other than offers to pirate or crack it) to sniff the communication with the cards and read the APDUs.  He also developed his own tools to hook winscard.dll so as to add himself to the stream as a man in the middle and be able to modify APDUs (and thus send arbitrary commands to the card.)</p>
<p>This revealed some significant vulnerabilities.  For instance, during initialization, a card can be set to either generate its own keys, or to accept keys being uploaded as-is.  However, this is &#8220;enforced&#8221; by the card later <em>telling the personalization software </em>that it would like to generate its own keys.  It&#8217;s a classic trusted-client scenario; if you modify the APDUs, the application can be convinced to ignore the card&#8217;s settings, and the card takes whatever the app sends.  Lacking any APDU documentation, Ivan was only able to find a few settings like this, but if the designers of the Axalto smart card system think that&#8217;s an acceptable practice, there are probably many more.</p>
<p><a href="https://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Stender">Scott Stender</a> of iSec Partners spoke next, about concurrency attacks in web applications.  This started out with an explanation of multiprocessing (in short, on any given core, two things that execute &#8220;simultaneously&#8221; don&#8217;t really &#8212; they alternate really fast, which means that they <em>do </em>execute in an order, and you can&#8217;t always predict what that order is.)  This would have been a more interesting talk to me had I not spent years debugging crazy stress and performance issues in the past &#8212; I&#8217;m quite familiar with concurrency and race conditions.</p>
<p>With web applications, web app frameworks like .NET and Java Struts define an interface that contains request context (e.g. cookies, local variables, session variables.)  Access to shared resources needs to be protected, but since web access is asynchronous, threads sometimes find themselves working with dirty or stale data.  The classic example is a bank &#8211; imagine a money transfer process like this:</p>
<ol>
<li>Collect source account number, destination account number, source account balance, destination account balance, and amount to transfer.</li>
<li>Verify that the source account balance exceeds the amount to transfer.</li>
<li>Set the destination account balance to its former balance plus the amount transferred, and set the source account balance to its former balance minus the amount transferred.</li>
</ol>
<p>Seems perfectly sane.  Now imagine that I put in a request to transfer my entire balance, then while that request is between steps 2 and 3, I start another request to transfer my entire balance, and it completes steps 1 and 2 before the first request resumes at 3.  With multiprocessing this is quite possible &#8212; and it would result in my transferring twice as much money as I have (and likely without even having a negative source account balance.)</p>
<p>Concurrency flaws allow manipulating stateful assets (like the above bank accounts) or changing security parameters (like auth credentials or single-use redemption tokens such as gift certificate codes.)</p>
<p>The solution is well-established in the database world &#8212; transactions.  Transactions are atomic, concurrent, isolated, and durable (the so-called &#8220;ACID test&#8221;) &#8212; a transaction succeeds or fails as a single unit (no part of it happens unless all of it happens), and none of the resources in a transaction may be touched until the transaction is complete.  Web apps can implement their own transactions, or use the transactional support of their underlying database architecture.  The important part is that there is some kind of end-to-end scoped lock (and global locks &#8212; that is, eliminating multiprocessing altogether and just doing one thing at a time &#8212; are both impractical for performance and lead to deadlocks.)</p>
<p>Concurrency flaws can be found in testing pretty easily &#8212; run load/stress tests and check for discrepancies afterwards.  Usually something will show up. You can also add test hooks that encourage context changes to increase the likelihood of finding something.  Scott also promised to upload his own tool, SyncTest, <a href="http://www.isecpartners.com/tools.html">here </a>in the coming weeks.</p>
<p><a href="https://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Grossman">Jeremiah Grossman and Arian Evans</a> also presented &#8220;Making Money on the Web the Black Hat Way.&#8221;  This was all about business logic flaws, and the way they&#8217;ve been exploited to help underhanded people make tons of money without exploiting traditional &#8220;bugs&#8221; at all.  These included:</p>
<ol>
<li>Creating artificial scarcity in ticket sales for events via denial of service.  When you consider purchasing tickets, the site &#8220;reserves&#8221; them for a short time until you choose to purchase or not.  Since it costs nothing to reserve tickets for a few minutes&#8230; one person can reserve a <em>lot </em>of tickets.</li>
<li>Breaking CAPTCHAs for spammers.  Some have terribly flawed implementations (e.g. the correct answer in a hidden field, or the image name), while others can be recognized by OCR software.  Keep in mind that if OCR can read the CAPTCHA even 10% of the time, it&#8217;s &#8220;broken&#8221; &#8212; and it&#8217;s hard to make something that a computer can&#8217;t read even one time in ten that a <em>human </em>can still read.  Also, there&#8217;s the Mechanical Turk solution &#8212; disguise CAPTCHA-solving as a &#8220;game&#8221; (usually one with porn as a prize) or just pay people overseas to solve them at low rates.</li>
<li>Various overseas companies offer &#8220;password recovery&#8221; services, that will tell you &#8220;your&#8221; password for a small fee, usually $30-$150.  Basically, they just guess those horrible cognitive password questions (&#8220;What was your first car?  Who was your favorite teacher?&#8221;)</li>
<li>Coupon fraud.  Electronic coupons sometimes have predictable numbers, and some offers allow many coupons per order.  Some people have bought over $150,000 of stuff with these coupons.</li>
<li>Gaming micro-deposits.  When you set up an electronic transfer, the bank will sometimes send you a small deposit (less than $1), which you then tell them the amount of to verify account ownership.  Michael Largent opened <em>58,000 </em>brokerage accounts and collected these payments.  It&#8217;s not illegal under any normal financial law &#8212; the bank is sending you a gift.  However, he got charged under the USA PATRIOT Act for <em>using fake names </em>(58,000 of them.)  This is a really dubious charge (who uses a fake name on the Internet?  Oh, that&#8217;s right, <em>everybody</em>), but that&#8217;s par for the course in Federal law.</li>
<li>Application service provider bank robbery.  Small banks don&#8217;t really make and run their own web sites &#8212; they buy a standard &#8220;banking product&#8221; from an application service provider.  Some of these are <em>really, really bad </em>&#8211; the example one Grossman showed had no authorization.  Once you logged in as <em>a </em>user, you could transfer money to and from <em>any </em>user so long as you knew the right account numbers (which other bugs in the site were very helpful in providing to you.)  Crack an ASP, and you don&#8217;t just get to rob a bank, you get to rob <em>many </em>banks.</li>
<li>Slow order cancellation.  QVC, the popular shopping channel, was apparently not very good at canceling orders.  One woman started to order something, then canceled the order at the last step, and received the order anyway.  Finding this interesting, she tried it again.  And again, and again, until she&#8217;d received $412,000 in QVC merchandise and sold it on eBay.  According to law, if you are sent merchandise you did not order you&#8217;re entitled to keep it as a free gift.  She&#8217;d probably been able to keep doing it for years, too, if QVC hadn&#8217;t caught on because she sold the items on eBay <em>still in their QVC packaging</em>.  Ah, criminals are always so entertaining.</li>
<li>Affiliate scams.  People take advantage of affiliate offers in a host of ways.  The most common are cookie-stuffing methods &#8212; rather than getting people to click links to affiliate sites like they&#8217;re supposed to, sneaky affiliates will embed links to the affiliate sites (often dozens or hundreds of offers) in IMG or IFRAME tags.  Now whenever someone buys <em>anything</em> online the affiliate gets a check.  They avoid referrer fields with SSL pages (or META REFRESH, or several other techniques.)  Some get much more devious, with DNS rebinding, GIFAR, Flash malware, or other techniques.  However, the affiliate networks can catch all this, because people sent to affiliate sites by such scams convert at a much lower rate (nearly zero) than those who clicked through to the site on purpose.  This said, while people are caught constantly, apparently there is no evidence that anyone has ever been sued or charged over this sort of activity &#8212; it&#8217;s in a legal grey area where it&#8217;s not clear what, if anything, to charge them <em>with.</em></li>
<li>Trading on semi-public information.  BusinessWire (a popular place to post press releases for business) had a forceful browsing vulnerability &#8212; press releases that had been uploaded but not officially released were stored at publicly-accessible URLs and just not linked to the home page.  When someone found out, they started reading tomorrow&#8217;s news today and making stock trades on it.  They made $8 million.  A federal judge declared that they did not violate SEC regulations, because they had no insider privilege or fiduciary duty to the company &#8212; they were trading on nonpublic information, but no one who was forbidden to give it to them gave it to them.  They could still be prosecuted for hacking, maybe (is typing a URL directly to a page and not following a link trail &#8220;hacking&#8221;?). but that&#8217;s hard to prove if you&#8217;re remotely careful &#8212; usually we catch hackers by following the money to them, Al Capone style.  If the money is <em>legal, </em>and you have to catch them for the technical exploit, that&#8217;s <em>hard</em>.</li>
</ol>
<p>The moral of the story: business logic flaws are serious money, possibly much more than the syntax flaws we spend so much time worrying about.  Test everywhere, profile users, detect leaks and aberrant behavior.</p>
<p>The final presentation of the day that I attended was one by <a href="https://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Meer">Michael Slaviero and Haroon Meer</a> of SensePost on getting data out of protected networks.</p>
<p>Long ago, once someone compromised a machine, they could simply enable a shell on some port, then telnet in.  However, firewalls stopped that, so they began to do reverse tunneling with ssh and netcat (as well as more custom software like tcpr and fport.)  Outbound filtering stopped that, too, and so we got web shells &#8212; pieces of ASP/ASP.NET/PHP/whatever-the-web-server-runs code that could be uploaded into a webroot and would provide remote control facilities and file transfers.  However, there are now a host of mechanisms available for tunneling data out of a compromised machine.</p>
<p>For one, XP&#8217;s IPv6 support can be used as a port proxy.  The netsh command can set up a proxy such that one port on one (internet-accessible) machine is redirected to a different port on another (internal, behind the firewall) machine.  Thus, one compromised edge machine can provide direct network access to any machine it can reach on any port.  The ssh -L and -R can be used to similar effect on UNIX hosts.  This is a great reason for defense in depth &#8212; if an edge machine is owned, the firewall as a source of protection is largely eliminated.</p>
<p>There is also DNS2TCP.  If an attacker can get this onto a compromised machine, it allows full 2-way tunneling of arbitrary TCP over DNS &#8212; the one protocol that is allowed everywhere.  Once again, this bypasses the firewall.  SensePost also demonstrated their own app (glenn.jsp) which encoded TCP over well-formed HTTP POST via base64 encoding.  This is not just sending arbitrary traffic over port 80 (where an application-layer firewall will block it) &#8212; it&#8217;s true, valid HTTP requests against a real web page on the server, tunneling arbitrary TCP.</p>
<p>So with an edge web server under the attacker&#8217;s control, the firewall is bypassed in several ways, and your network is open to the attacker.  But what if the attacker uses SQL Injection to get in?  Then instead of a web server, they have a back-end SQL server with (hopefully) no access to the Internet, and thus no way to upload DNS2TCP or reach glenn.jsp.  Well, it turns out that there are other ways that operate only on SQL.</p>
<p>Squeeza is an advanced SQL Injection tool.  It separates content generation from return channel &#8212; you can have it return output via HTTP errors, via DNS tunneling (entirely in SQL!), or even via a blind timing channel (which is hideously slow &#8212; over a hundred milliseconds per <em>bit</em> &#8212; but works.)  You can send all sorts of content through it &#8212; profile the version of the server, use existing OLE objects on the server in the server&#8217;s context (such as to write a working portscanner entirely in SQL), or (in many cases) take control of the machine.</p>
<p>SQL Server 2005 was the first SDL-developed version of SQL Server, and was intended to be far more secure by default than previous versions of SQL Server (which had over 1,000 stored procs enabled by default.)  However, SQL Server is by its nature very hard to secure &#8212; it is very public, very capable, and highly targeted.  What&#8217;s more, new features sell while better security doesn&#8217;t &#8212; so while most things are disabled by default, SQL 2005 has more &#8220;things&#8221; than ever before.</p>
<p>The downfall of a compromised SQL Server is in-band signaling.  SQL Server&#8217;s configuration is controlled by stored procedures within SQL Server &#8212; so if you&#8217;ve gained sa access on a SQL Server, you can just turn all the disabled services back on.  This includes the dreaded xp_cmdshell stored procedure (which runs shell commands as the server.)  Using the new web service integration, you can write new SOAP endpoints entirely within SQL and place them on arbitrary ports &#8212; enable batch mode on those endpoints and they&#8217;ll allow running arbitrary SQL (thus getting you out of having to tunnel over DNS or use blind timing to get data out.)  And if you enable the CLR, you can run arbitrary .NET code in the server (subject to CAS restrictions &#8212; unless you&#8217;re running as sa, in which case there are no restrictions at all.)</p>
<p>There are several interesting ways to get your arbitrary .NET apps onto the server.  You can order the server to load them directly from a UNC path &#8212; if the server has outbound access to your server, which is unlikely.  However, you can write SQL that creates the assembly in memory from raw hex and loads it.  You leave no trace on the disk, and run arbitrary code.</p>
<p>All this talk really tells you from a defender&#8217;s perspective is the importance of defense in depth.  A compromise of either the web server or the database server essentially takes down the firewall from the attacker&#8217;s perspective &#8212; they can reach <em>anything</em> the server can, and can run port sweeps to find out what&#8217;s within reach.  Thus, it&#8217;s vital to do several things:</p>
<ol>
<li>Run the web server and database server with least privilege.  The attacker can&#8217;t get more access than the servers themselves have &#8212; both services should be running with only the minimal privilege required to perform their function.  Web servers should only have access to the web root &#8212; and most importantly, only <em>read</em> access.  Databases should never be accessed as sa &#8212; only as an account with execute access to needed stored procs and select access to needed tables.  Don&#8217;t let a database INSERT or UPDATE &#8212; use stored procs for that.</li>
<li>Segment your network securely.  The web server shouldn&#8217;t be able to hit any IPs or ports that it doesn&#8217;t actually <em>need</em> to hit to serve web pages.  Likewise with the database server.  Both inbound and outbound filtering is important.</li>
</ol>
<p>Overall, it was a great conference, and there was a lot of good information handed out.  I&#8217;ll be posting a recap of DefCon 16 over the next few days as well (once I have a chance to boil a notebook full of notes down to an intelligible post.)</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=9qSp4Zyu6rs:Y6bRlUxP9eA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=9qSp4Zyu6rs:Y6bRlUxP9eA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=9qSp4Zyu6rs:Y6bRlUxP9eA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=9qSp4Zyu6rs:Y6bRlUxP9eA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=9qSp4Zyu6rs:Y6bRlUxP9eA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=9qSp4Zyu6rs:Y6bRlUxP9eA:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/08/13/blackhat-2008-day-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>BlackHat 2008, Day 1</title>
		<link>http://perimetergrid.com/wp/2008/08/06/blackhat-2008-day-1/</link>
		<comments>http://perimetergrid.com/wp/2008/08/06/blackhat-2008-day-1/#comments</comments>
		<pubDate>Thu, 07 Aug 2008 06:21:10 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[SOA/XML]]></category>
		<category><![CDATA[attacks]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[industry]]></category>
		<category><![CDATA[mitigations]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=63</guid>
		<description><![CDATA[Today was the first day of this year&#8217;s BlackHat Briefings in Las Vegas. The biggest security conference of the year, it&#8217;s always an interesting place to be and often involves the release of new and previously unknown exploits. The keynote speaker was Ian Angell, of the London School of Economics, who was speaking, ostensibly, about [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Today was the first day of this year&#8217;s <a href="http://www.blackhat.com/">BlackHat Briefings</a> in Las Vegas.  The biggest security conference of the year, it&#8217;s always an interesting place to be and often involves the release of new and previously unknown exploits.</p>
<p>The keynote speaker was <a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Angell">Ian Angell</a>, of the London School of Economics, who was speaking, ostensibly, about risk.  He is described as having &#8220;very radical and constructive&#8221; views on the subject.  His primary point was that when you put together a bunch of parts into a system, it often goes off the rails &#8212; every action leads not just to a reaction, but a loop wherein the unintended consequences feedback into themselves.  This makes control very difficult (he brought up Goodhart&#8217;s Law, &#8220;any observed statistical regularity will tend to collapse when pressure is placed on it for control purposes.)  The IT industry is obsessed with providing more information, but omnipresent computer screens distract and cause errors in judgment &#8212; people come to rely entirely on the system, suspending independent thought and just blindly following the machine, while simultaneously missing details in the information overload.</p>
<p>Humans are obsessed with categorization &#8212; the attempt to treat the similar as identical.  We deal with complexity by dropping less-significant relationships from our mental models &#8212; but those relationships still exist, and this creates uncertainty and risk.  Not just computer systems have this problem; bureaucracy is the most effective way to deal with <em>normal </em>situations, but as anyone who has dealt with one knows, it is terrible at dealing with anything out of the ordinary.</p>
<p>However, for all this, I found Professor Angell basically useless.  He&#8217;s comes across as very smart and amusing, but he points out problems without the slightest inkling of a solution.  Yes, systems create complexity, from which comes risk.  Shall we then abandon IT security in favor of a hunter-gatherer society?   I don&#8217;t think I could get an answer on that from him.</p>
<p>The next presentation was by <a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Dhanjani">Billy Rios and Nitesh Dhanjani</a> on the phishing culture and community.  They observed some phishing code and noticed common strings, and thought to do a Google search on them with the intent of finding other places that phishing code was in use.  Instead, they found thousands of credit card numbers, SSNs, and other identity information all over the Internet, in public forums, searchable on Google.  The phishers throw around identities constantly, just to prove their authenticity.  Meanwhile, they phish each other constantly &#8212; most of the phishing kits they found had back-doors in them or secret code to email a copy of all identities captured to their author.  They&#8217;re not hackers at all; they generally know just enough to upload a kit someone else wrote to a site someone else hacked and collect the information.  Also, ironically, the Google anti-malware blacklist turns out to be a fantastic way to find already-hacked sites to put phishing kits on &#8212; it&#8217;s full of Administrative logins and passwords.</p>
<p>This was followed by Dan Kaminsky&#8217;s DNS update, which I&#8217;m going to discuss in a separate post; for all its hype, I think it lived up to it.  Faulty DNS is a Really Bad Thing.</p>
<p><a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Dhanjani">Michael Ossmann</a> had a presentation to give on software radio and the future of wireless security.  Unfortunately, it was long on software radio and short on security.  He mostly spoke about the <a href="http://www.ettus.com/">USRP</a>, a piece of open-source hardware (also available pre-built for $700) that gives full software radio capabilities to a PC.  It can capture a significant amount of bandwidth in a range up into the 2.4 GHz band.  Ossmann&#8217;s demonstration of this involved doing packet-capture on Project 25 radios, and a replay attack on a remote-control toy.  Essentially, command-line tools can capture radio on most frequencies, and then (as it&#8217;s just a bitstream) DSP techniques can manipulate it arbitrarily.</p>
<p>While his speech had very little about security in it, the implications are significant in the long term.  Making a good radio means either using very expensive analog components, or using cheap analog components and a lot of CPU power.  In a few years, &#8220;a lot of CPU power&#8221; will be available on your phone, just given the rate at which CPUs improve.  Wireless (802.11) security didn&#8217;t become a big issue as soon as it was possible to crack WEP (i.e. almost instantly) &#8212; it became a big issue when wireless cards with raw packet injection and monitor mode started to be cheap and ubiquitous.  Wireless hacking takes a $700 USRP now; it&#8217;ll take a cell phone in 5 years (since as CPUs get more powerful, software radio gets cheaper than hardware, it&#8217;s only a matter of time until radios in phones and such are pure software, and thus reprogrammable.)  You can see the beginning of this in <a href="http://wiki.thc.org/gsm">THC&#8217;s GSM Project</a>.  If the cell phone network finds itself, security-wise, as badly off as 802.11 is today, it could be a frightening thing.<a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Stamos"></a></p>
<p><a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Stamos">Alex Stamos</a> and company from iSec Partners had a presentation on Rich Internet Application frameworks.  Rich Internet Applications aren&#8217;t well-defined, but they contain one or more of the following: AJAX UIs, local storage, an offline mode, running outside the browser, access to hardware resources, or the general appearance of a thick-client app.  Adobe, Microsoft, and others have created various apps and tools to help developers create these rich web apps.</p>
<p>Adobe AIR is the most full-featured of them &#8212; an AIR application runs in a full desktop runtime based on Flash.  There&#8217;s no sandboxing &#8212; a locally-installed AIR app has the full powers of the user, like an ActiveX control.  You can develop them in Flash, Flex, or JavaScript.  However, AIR apps can be launched from the web by ordinary Flash files (assuming the app is already installed on your computer.)  There is a remote mode, for running directly off the web with reduced privileges, but there&#8217;s a method for communicating and even passing objects between the local (full-trust) and remote modes.  Overall, it&#8217;s a scary thing, in the way that EXEs are scary (i.e. it&#8217;s insecure, but not any more insecure than everything else.)</p>
<p>Microsoft&#8217;s Silverlight is rather more restricted; it&#8217;s closer to Flash than to AIR.  Silverlight apps can be written in XAML with any .NET language, and use a scaled-down .NET runtime.  There is socket support, like Flash, but it is limited to certain sockets (4502-4534) and requires a policy file (clientaccesspolicy.xml) on the target server, even if the target server is the same site it came from.</p>
<p>Google Gears is even less functional than Flash and Silverlight; it&#8217;s essentially running HTML and JavaScript from the local machine.  There is local storage, and data sync with an API and SQLite for relational-database-like storage.  Also, it has the ability to run processes in a threadpool outside the browser, so as not to get shut down by the browsers&#8217; tight-loop detection.  Bizarrely, it allows the app author to customize the installation warning dialog, making it quite easy to convince people to install weird Gears apps.  It would be good for distributed malware, like cryptanalysis.</p>
<p>Yahoo! Browser Plus is designed to make it easy to write browser plugins, which is kind of like making it easy to make bombs.  There are some things that shouldn&#8217;t be easy, because the less of them, the better, and browser plugins (almost all of which seem to be adware/spyware) are one of them.  BrowserPlus add-ons are initialized by an HTTP call to Yahoo!, and run with full trust.  It&#8217;s like ActveX with a built-in Ruby interpreter (an old, buggy one, even.)</p>
<p>Finally, Mozilla Prism is a site-specific browser with the browser UI stripped off.  Formerly known as WebRunner, it&#8217;s used to &#8220;desktopize&#8221; web apps.  The risk here is comparitively low, though the script has XPCOM privileges (basically, control over the browser itself, like a Firefox extension would have.)</p>
<p>You can also just use HTML5 for some rich functionality, like local storage.  There is DOM storage, allowing you to persist up to 5MB of data locally, as well as SQLite-based database functionality.  DOM storage is essentially the ability to save immense cookies that are subject to SQL injection attacks.  The W3C has had better ideas.  Also, unlike cookies, you can&#8217;t easily turn DOM storage off (there&#8217;s a Firefox about:config setting, but nowhere in the UI.)  As mobile devices bundle Webkit browsers (like Safari), they&#8217;ll be subject to this type of storage &#8212; it would be pretty easy to DoS a mobile device by writing dozens of 5MB cookies.</p>
<p>So, what does all this lead to?  A host of new security issues we never had to think about before, of course!   The RIA data stores are vulnerable to XSS &#8212; if your email or other personal data is in an AIR or Gears app, and someone gets an XSS on the sites the apps come from, they can steal your entire data store.  You can have SQL injection against JavaScript now, thanks to SQLite databases.  The same Flash-based XSS attacks we&#8217;ve seen now work on Silverlight and AIR as well.</p>
<p>On the bright side, they had some good prescriptive guidance for app developers:</p>
<ol>
<li>Don&#8217;t use predictably-named data stores</li>
<li>Parameterize SQL, even on local SQLite stores</li>
<li>Domain-lock sites if possible</li>
<li>Don&#8217;t use AIR when Flash/Flex/Silverlight/etc. will do fine</li>
<li>Let users opt out of RIA functionality</li>
</ol>
<p>Finally, <a href="http://www.blackhat.com/html/bh-usa-08/bh-usa-08-speakers.html#Miller">Ty Miller</a> had some shellcode to show us &#8212; reverse DNS tunnelling staged-loading shellcode, in fact.  The trend in vulnerabilities has been toward client-side exploits of late, now that socket-based servers have been hardened significantly.  However, if you do buffer-overflow a client app and get it to execute shellcode, the challenge is often getting a connection back to the attacker.  Clients are often behind firewalls, proxies, NATs, or all three.</p>
<p>Of the common shellcode techniques (port binding, callback, find-socket, address reuse, download &amp; execute, and HTTP tunneling), only one (HTTP tunneling) works reliably with client apps &#8212; and Metasploit&#8217;s HTTP tunneling shellcode only works on IE6 with ActiveX enabled.  DNS tunneling (like Kaminsky&#8217;s OzymanDNS from 2004) would also get back &#8212; and even more reliably than HTTP, since it wouldn&#8217;t need to worry about authenticated proxies.</p>
<p>DNS gets through everything.  When you make a DNS request, it goes to your company or ISP&#8217;s DNS server, which forwards it on to a top-level server (like .com) and then to the DNS server that owns the domain name.  Practically everything makes DNS lookups (as Dan Kaminsky went into today), and nothing works if they&#8217;re blocked, so any computer is all but guaranteed to have DNS access.  With a malicious DNS server, you can actually tunnel arbitrary data through DNS.</p>
<p>Miller&#8217;s shellcode consisted of a tiny first stage which finds kernel32, creates pipes for STDIN and STDOUT, then makes an nslookup (yes, it shells out to nslookup) for a TXT record on the malicious DNS server.  The TXT record type can be extremely long, and the record it gets back contains the second-stage shellcode and a command to run.  The second stage shellcode runs the command, captures the output, and sends it back in fragmented DNS requests.  It then polls periodically for more commands to run.  The DNS requests all have a sequence number in them, guaranteeing that they don&#8217;t get cached and always get through.</p>
<p>He&#8217;s making his code available at <a href="http://projectshellcode.com">projectshellcode.com</a>, a site where he hopes to focus shellcode research and start a collection.  I think this is of dubious value (unlike exploits, shellcode is not really very useful to security folks on the &#8220;good guys&#8217;&#8221; side most of the time), but it&#8217;ll be interesting to take a look at what he&#8217;s come up with.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pRNwwuipdW4:glZdwTL3U-w:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pRNwwuipdW4:glZdwTL3U-w:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=pRNwwuipdW4:glZdwTL3U-w:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pRNwwuipdW4:glZdwTL3U-w:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=pRNwwuipdW4:glZdwTL3U-w:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pRNwwuipdW4:glZdwTL3U-w:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/08/06/blackhat-2008-day-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The DNS Exploit Revealed… and used</title>
		<link>http://perimetergrid.com/wp/2008/07/29/the-dns-exploit-revealed-and-used/</link>
		<comments>http://perimetergrid.com/wp/2008/07/29/the-dns-exploit-revealed-and-used/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 07:30:03 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[mitigations]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=58</guid>
		<description><![CDATA[So, Dan Kaminsky&#8217;s DNS exploit I previously mentioned has been revealed. It turns out that what Kaminsky found was pretty much what I speculated &#8212; he just had it put together into a coherent attack, and fully recognized the implications. If I want to poison your DNS server, say, to redirect www.yourbank.com to my malicious [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>So, <a href="http://perimetergrid.com/wp/2008/07/17/the-mysterious-dns-exploit/">Dan Kaminsky&#8217;s DNS exploit</a> I previously mentioned has been revealed.  It turns out that what Kaminsky found was pretty much what I speculated &#8212; he just had it put together into a coherent attack, and fully recognized the implications.</p>
<p>If I want to poison your DNS server, say, to redirect www.yourbank.com to my malicious web server, I can make a DNS request to it and ask for www.yourbank.com.  Your DNS server either already knows the address (because it&#8217;s in the cache), or it sends a request to yourbank.com (the top-level DNS name for www.yourbank.com) asking where to find it.  This request has a random sequence number, called the XID, from 0 to 65,535 on it, and the reply needs to match that number to be accepted.</p>
<p>However, DNS works through UDP, which is spoofable.  That is, the way you know where a UDP packet came from is&#8230; to take its word for it.  UDP packets have a sender address attached.  So I can request www.yourbank.com from your DNS server, then send a reply claiming to be &#8220;from&#8221; yourbank.com answering the request and pointing to my malicious web server.  The only thing stopping me is the XID &#8212; I have to guess which XID your DNS server used, since I didn&#8217;t get to see the request packet.  Ten years ago, there were ways to predict XIDs, but that&#8217;s all fixed now.  So all I can do is flood you with hundreds of replies with different XIDs, and hope I guess the right XID before the real reply arrives.  Once the real one arrives, it goes into the cache, and I can&#8217;t ask for www.yourbank.com anymore (well, I can ask, but the server won&#8217;t do the lookup &#8212; it already knows where the site is.)  So it&#8217;s a race &#8212; can I guess the XID faster than the real DNS server can respond?  Since I only get to try once, it&#8217;s a race that, as the attacker, I will almost always lose.</p>
<p>A bit about DNS replies &#8212; they can contain multiple bits of information.  This is to cut down on requests, because sometimes one server has many names.  For instance, if I request &#8220;login.yourbank.com&#8221;, the DNS can reply with a packet that essentially says &#8220;login.yourbank.com is actually www.yourbank.com, and by the way, www.yourbank.com is 1.2.3.4&#8243;.  I can&#8217;t, however, do this with a totally different domain &#8212; I can&#8217;t say, for instance, &#8220;www.evilsite.com is actually www.google.com, and www.google.com is 6.6.6.6&#8243;, because the DNS server wasn&#8217;t <em>asking </em>about Google, so it&#8217;s not interested in hearing my DNS server&#8217;s speculation about where it is.  This defense is somewhat whimsically called &#8220;baliwick checking.&#8221;</p>
<p>Here&#8217;s Kaminsky&#8217;s exploit: if I query your DNS server about an <em>invalid subdomain</em>, and provide in my spoofed responses a reference to something else in the same subdomain, then I can attempt to poison your DNS cache all day long, until I get it right.  Say I can get 100 spoofed replies in before a real reply.  Now I don&#8217;t query for www.yourbank.com &#8212; I query for 00001.yourbank.com, which does not exist.  I spoof replies that say &#8220;00001.yourbank.com is actually www.yourbank.com, and by the way, www.yourbank.com is 6.6.6.6&#8243;.  If that doesn&#8217;t work within half a second, then I&#8217;ve failed.  And since I&#8217;ve got time for 100 replies, and only a 1 in 65,535 chance of any of them being right, I probably fail &#8212; the odds are only 1 in 655 that I&#8217;ll succeed.  So&#8230; I just try again 654 more times, with 00002.yourbank.com, and so on.  Since I&#8217;m rotating subdomains, I never run into the case where it&#8217;s already cached and I can&#8217;t force a lookup.</p>
<p>It sounds so simple &#8212; because it is.  It&#8217;s by-design behavior of DNS.  It&#8217;s exactly how DNS has worked for 20 years.  And it&#8217;s completely devastating.  Armed with this knowledge and a DNS server you control (which you can set up in minutes on any Linux box), you can reroute any vulnerable DNS server on the Internet, forcing all customers who use that server to your malicious sites.  According to Kaminsky, 52% of DNS servers are still vulnerable.</p>
<p>There&#8217;s already a <a href="http://www.metasploit.org">Metasploit</a> plugin (called Baliwicked) for both the malicious DNS server and the attack client.  You&#8217;ll need to sync them from the live tree if you want them, as they&#8217;re not in the main Metasploit package yet.  However, it gets worse &#8212; today, a new Metasploit plugin called <a href="http://www.infobyte.com.ar/developments.html">Evilgrade</a> was released which uses this ingeniously.  Evilgrade uses the Baliwicked exploit to remap DNS for the sites used by the auto-update functionality in eight popular software packages (Sun Java, WinZip, WinAmp, Mac OS X, OpenOffice, iTunes, the LinkedIn Toolbar, Download Accelerator, notepad++, and speedbit) to a malicious web site (itself.)  What do those auto-updaters have in common?  They all call home, look for updates, and if they find them, <em>download and install whatever&#8217;s there without checking to see if it&#8217;s real</em>.  With the DNS being redirected, this means they download arbitrary Trojan horse code from the malicious site and install it, telling the user it&#8217;s a &#8220;critical update&#8221; to their software.</p>
<p>You might notice that no Microsoft software is on the list.  This is because Microsoft&#8217;s updater technologies are all based on Windows Update, which checks a digital signature on downloaded updates before running it.  Since an attacker can&#8217;t spoof the signature without Microsoft&#8217;s private keys (which are very closely guarded), the MS auto-update is useless for this sort of attack.</p>
<p>Unfortunately, as an end user, there&#8217;s very little you can do to protect yourself from this sort of attack.  Your ISP needs to update their DNS server &#8212; most have, at this point, but only a bare majority; many, many sites and ISPs are still vulnerable.  Any HTTP site can be spoofed right now &#8212; only HTTPS sites are safe (and even those only if you check the certificate and don&#8217;t access sites with SSL errors.)  And auto-updaters could be installing any number of things &#8212; Evilgrade is particularly bad because you don&#8217;t have to pick a site you know the victim will go to to spoof, because the auto-updaters will go to their home sites automatically, whether the user wants to or not.  If you use any of the products spoofed by Evilgrade, it would probably be a good idea to turn off auto-update for a few weeks.</p>
<p>The lesson here is that the security community needs to <em>stop trusting DNS </em>&#8211; it is not a security technology, it never was, and it is not designed to be reliable.  However, old habits die hard, especially when there is no viable substitute for many scenarios right now.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=QFgHIXzmETA:6RuuoLyoSX8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=QFgHIXzmETA:6RuuoLyoSX8:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=QFgHIXzmETA:6RuuoLyoSX8:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=QFgHIXzmETA:6RuuoLyoSX8:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=QFgHIXzmETA:6RuuoLyoSX8:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=QFgHIXzmETA:6RuuoLyoSX8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/07/29/the-dns-exploit-revealed-and-used/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Mysterious DNS Exploit</title>
		<link>http://perimetergrid.com/wp/2008/07/17/the-mysterious-dns-exploit/</link>
		<comments>http://perimetergrid.com/wp/2008/07/17/the-mysterious-dns-exploit/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 04:16:56 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[mitigations]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=52</guid>
		<description><![CDATA[On Tuesday, July 8th, Microsoft&#8217;s usual package of patches seemed to end-users like every other Patch Tuesday &#8212; some security updates to various and sundry Windows files to patch security vulnerabilities unknown.  However, it contained something very unusual this time &#8212; a design change to DNS. DNS has been around since the 1970&#8242;s, so people [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>On Tuesday, July 8th, Microsoft&#8217;s usual package of patches seemed to end-users like every other Patch Tuesday &#8212; some security updates to various and sundry Windows files to patch security vulnerabilities unknown.  However, it contained something very unusual this time &#8212; a design change to DNS.</p>
<p>DNS has been around since the 1970&#8242;s, so people don&#8217;t expect it to change much.  And this wasn&#8217;t an ordinary patch, fixing a bug in the code where it was behaving in an unintended fashion.  In this case, <a href="http://www.doxpara.com/">Dan Kaminsky </a>found something potentially extremely serious in the <em>designed behavior </em>of DNS and reported it to all the major DNS vendors.  As a result, it wasn&#8217;t just Microsoft that released a patch, but also Apple, Cisco, and the <a href="http://www.isc.org/index.pl?/sw/bind/index.php">Internet Systems Consortium</a> (makers of BIND, the primary DNS daemon of the UNIX world.)</p>
<p>Dan did this in secret, to prevent people from exploiting the bug.  This led to <a href="http://www.matasano.com/log/1089/dan-kaminsky-could-have-made-hundreds-of-thousands-of-dollars-with-this-dns-flaw/#comments">a lot of skepticism</a> about whether it was a &#8220;real&#8221; vulnerability, or just Kaminsky (a ubiquitous figure in the security press and an amusing character by anyone&#8217;s measure) engaging in self-promotion by pointing out something already well-known.</p>
<p>If the linked blog post seems confusing, what he is implying is that all Kaminsky &#8220;found&#8221; was the fact that the DNS sequence number, used to match DNS replies with queries, is extremely short, such that if you can send 65,535 spoofed replies to a DNS server before the real server manages to reply, you can poison the cache.  While this is true, and a problem, it&#8217;s been known for a decade and is not interesting.  It&#8217;s exploitable in another way, too &#8212; you could ensure your forged response gets in first by forcing a user to make many queries (e.g. by giving him a web page with tens of thousands of embedded images) with while you spoofed a flood of responses with constant sequence numbers.  If you attached CNAMEs to all of those, and put the images on subdomains of the target (e.g. 1.google.com, 2.google.com, 3.google.com, etc.), you could potentially clobber the DNS record for a top-level domain on the end-user&#8217;s server.</p>
<p>The end result of which would be that if a user visits your malicious web site, you change the IP that, say, google.com goes to for everyone using that DNS server.</p>
<p>However, bad as all that sounds, it seems that Kaminsky found something even worse.  All of the skeptics of his discovery who have been let in on the secret have <a href="http://www.matasano.com/log/1093/patch-your-non-djbdns-server-now-dan-was-right-i-was-wrong/">come</a> <a href="http://blog.trailofbits.com/2008/07/09/dan-kaminsky-disqualified-from-most-overhyped-bug-pwnie/">around</a> to his side, and all the DNS vendors issued a design-change patch.  Among other things, this patch broke ZoneAlarm &#8212; everyone running ZoneAlarm found themselves suddenly unable to use the Internet at all.  (At least, so it appeared &#8212; my guess is that they were actually just unable to make DNS queries, but to a normal non-tech-savvy user this amounts to a total loss of Internet.)</p>
<p>So, what is this exciting new DNS vulnerability?  Right now, heaven only knows (well, and Dan.)  But Kaminsky has promised to tell us all about it at BlackHat 2008, and I&#8217;ll certainly be there to post the results here.  For now&#8230; patch your DNS servers.  The only hint we have right now is that source port randomization (one of the mitigations in the DJBDNS secure DNS package) would have stopped it.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=-6tPhcTFLfc:vYTb7YS8r4k:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=-6tPhcTFLfc:vYTb7YS8r4k:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=-6tPhcTFLfc:vYTb7YS8r4k:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=-6tPhcTFLfc:vYTb7YS8r4k:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=-6tPhcTFLfc:vYTb7YS8r4k:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=-6tPhcTFLfc:vYTb7YS8r4k:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/07/17/the-mysterious-dns-exploit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Two-Factor Auth for World of Warcraft</title>
		<link>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/</link>
		<comments>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 21:25:25 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[risk]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=51</guid>
		<description><![CDATA[Blizzard Entertainment, makers of the phenomenally-successful multiplayer game World of Warcraft, have introduced two-factor authentication for logging into the game.  For $6.50, they&#8217;ll sell you a dynamic password keychain token called the Blizzard Authenticator, which looks much like the RSA keyfobs many in the IT industry use to log into their corporate VPNs. It may [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Blizzard Entertainment, makers of the phenomenally-successful multiplayer game World of Warcraft, have <a href="http://www.blizzard.com/us/press/080626-auth.html">introduced two-factor authentication for logging into the game</a>.  For $6.50, they&#8217;ll sell you a dynamic password keychain token called the <a href="http://www.blizzard.com/store/details.xml?id=1100000182">Blizzard Authenticator</a>, which looks much like the RSA keyfobs many in the IT industry use to log into their corporate VPNs.</p>
<p>It may seem silly to use two-factor auth for a video game.  However, with 12 million players, World of Warcraft is a big business, and stolen accounts are worth money.  Logging into someone else&#8217;s account, looting it for virtual money and supplies, then selling them on the <a href="http://www.mmoex.com/">open market</a> can easily net $50 per account, more for particularly lucrative ones.  What&#8217;s more, the account itself can be sold to offshore &#8220;gold farmers&#8221; who have a constant need for accounts as Blizzard revokes theirs for Terms of Service violations.  Considering that a stolen credit card number is usually worth only about $10, WoW accounts are actually pretty good targets for theft.</p>
<p>People steal these accounts via installing old-fashioned key loggers &#8212; Trojan Horses attached to downloaded software that monitor the user and steal their password when they log into WoW.  Generally these keyloggers are attached to fake WoW cheat programs with names like &#8220;<a href="http://www.youtube.com/watch?v=xldumHDIHeo">WoW stat changer</a>&#8220;, or modern recreations of some early real cheats that no longer work (the &#8220;speed hack&#8221; and &#8220;teleport hack.&#8221;)  Aspiring cheaters download and install these applications and are disappointed to find they don&#8217;t work, but don&#8217;t realize that their account has been stolen when the app was run.</p>
<p>The best mitigation to this would, of course, be not to download dubious cheat programs for World of Warcraft.  However, since downloading and installing UI add-ons is a normal activity by WoW players, it is perhaps a bit much to expect players to know the difference between a safe UI add-on (written in Blizzard&#8217;s LUA scripting language) and an unsafe one (with real executable code.)  So Blizzard offers a two-factor token, which renders a stolen password useless &#8212; since the dynamic passwords change every minute and are not reusable, keyloggers can no longer steal accounts.  If you&#8217;re a World of Warcraft player who downloads &amp; runs a lot of not-very-trustworthy Internet software, $6.50 is a small price to pay for security.</p>
<p>The ironic thing about this is that most <em>banks </em>won&#8217;t offer this level of security to their customers.  The loss of my World of Warcraft account would be a minor inconvenience (Blizzard keeps backups, after all, and can &#8220;roll back&#8221; a player&#8217;s account to a previous state upon request), while the theft of bank accounts and credit cards would be much more serious.  Yet my bank offers only passwords for protection, and other <a href="http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/">banks&#8217; &#8220;two-factor authentication&#8221; isn&#8217;t really</a> (&#8220;something you know&#8221; and &#8220;something else you know&#8221; is not two factors, it&#8217;s one factor repeated twice.)  Banks usually cite cost as the reason, and at the $90 for an RSA token, that sounds reasonable &#8212; but if Blizzard can put out their own tokens at $6.50, banks could, too.  The real reason is that the banks do not want to inconvenience their customers by making them carry around an additional object for access to their accounts.  For the most part, customers care more about convenience than security, and many customers would be locked of their accounts by losing a token than would be saved from theft.  (For that matter, customers don&#8217;t even know it when their bank account <em>isn&#8217;t </em>stolen because of a security measure, so they have no perceived benefit at all.)</p>
<p>Blizzard&#8217;s answer to the convenience/security tradeoff is to give customers the option &#8212; you can get an Authenticator if you want one, or just use passwords otherwise.  Banks don&#8217;t want to do this, though, because it would make password-only customers <em>feel insecure</em>.  The availability of a token might make them realize how unsafe a password alone is, and they might decide to forgo online banking altogether.  This is the last thing banks want &#8212; online banking is much cheaper than tellers.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pG-i_dceNnI:JSx0FdWQ_I4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pG-i_dceNnI:JSx0FdWQ_I4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=pG-i_dceNnI:JSx0FdWQ_I4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pG-i_dceNnI:JSx0FdWQ_I4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=pG-i_dceNnI:JSx0FdWQ_I4:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=pG-i_dceNnI:JSx0FdWQ_I4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu/Debian CRNG Cracked – SSH Vulnerable</title>
		<link>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/</link>
		<comments>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/#comments</comments>
		<pubDate>Sun, 18 May 2008 02:41:14 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[passwords]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=50</guid>
		<description><![CDATA[I don&#8217;t usually post about newly-discovered vulnerabilities, simply because there are so many of them &#8212; a dozen come out every day, especially in web applications.  However, this one has further-reaching consequences.  Security researcher HD Moore (of Metasploit fame) has discovered a vulnerability in the OpenSSL cryptographic random number generator used by Debian Linux, the [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t usually post about newly-discovered vulnerabilities, simply because there are so many of them &#8212; a dozen come out every day, especially in web applications.  However, this one has further-reaching consequences.  Security researcher HD Moore (of <a href="http://metasploit.org">Metasploit</a> fame) has <a href="http://metasploit.com/users/hdm/tools/debian-openssl/">discovered a vulnerability</a> in the OpenSSL cryptographic random number generator used by Debian Linux, the widely-used distribution on which Ubuntu is based.  As <a href="http://perimetergrid.com/wp/2007/11/16/backdoored-pnrgs-from-the-nsa/">I have discussed before</a>, flaws in the RNG underlying a cryptosystem can compromise the entire system &#8212; both block ciphers and public-key systems rely on a source of entropy to create the large numbers they work with.  If the bits of entropy in this source is smaller than the key length, a &#8220;back door&#8221; is created &#8212; instead of cracking the key, you essentially &#8220;crack&#8221; the RNG, by trying all the possible seeds and seeing which one produces the key you need.</p>
<p>In this case, the result of this OpenSSL bug (an erroneous &#8220;bug fix&#8221; made in 2006) is to reduce the entropy in the seed to only 15 bits &#8212; a terribly small number (32,768) in cryptographic terms.  Moore was able to produce all the possible SSH keys that could be generated on this system in a matter of hours, save for those few people using 8192-bit RSA keys (and he&#8217;ll have those in a few days, too.  He&#8217;s placed them all on his website for download.</p>
<p>So what are the implications of this?  The most important one is SSH authorized keys.  SSH is the secure replacement for Telnet and FTP; security-conscious administrators and users use it instead of older protocols.  SSH has an option wherein instead of using a password to log in, you can save a set of keys in your user account, so that when you connect to another server the keys automatically authenticate you.  It&#8217;s quick, convenient, and generally more secure than passwords &#8212; and thus secures the most sensitive accounts (such as root) on almost all Linux-based servers.  With this exploit, it goes from being more secure than passwords to being much less secure &#8212; 32,768 guesses and you&#8217;re sure to get the right one.  This can be automated in a couple of hours if there is no lockout on the target machine (and the root account is normally not protected by a lockout since doing so means that an attacker can intentionally lock out the legitimate administrators.)  You could even use this as a local attack &#8212; log into your webhost account and run a script that will shortly give you root access to the server (from which you will have root access to most of the <em>other </em>servers at the hosting provider, too.)  Moore&#8217;s website includes a couple of scripts that can easily do this.</p>
<p>The nasty part about this is that keys are sticky.  Upgrading your Debian/Ubuntu servers to fix the bug is, of course, required.  However, also necessary is to replace every key generated on a Debian-based machine in the last two years (since 5/2/2006.)  It&#8217;s quite a task for administrators to even <em>find </em>all of those keys.  The first step is that if you use SSH to or from a Debian system, you need to immediately delete your authorized_keys and generate new sets (after applying the patch for this bug, of course.)  After that, it&#8217;s important to make sure all your users do the same.  Purging the SSH keys of all the users is not going to be a painless process and will undoubtedly involve some support cost, but keep in mind that <em>not </em>doing so is the equivalent of having all your users using 3-character lowercase alphabetic passwords.</p>
<p>The harder problem, though, is this: this bug isn&#8217;t really in <em>SSH</em>, it&#8217;s in <em>the OpenSSL libraries</em>.  These are commonly used by all sorts of apps to generate keys &#8212; OpenSSL is practically the Linux equivalent of CryptoAPI/DPAPI on Windows.  Everything uses them.  Essentially, every key generated on a Debian-based system for any purpose whatsoever in the last two years is potentially vulnerable.  You won&#8217;t be able to use HD Moore&#8217;s linked scripts to crack these, but they are all potentially cryptographically feasible now.  This is a <em>major </em>breach; if the NSA didn&#8217;t already know about this vulnerability (which I wouldn&#8217;t rule out), they&#8217;re no doubt engaging in a flurry of excited codebreaking right this minute.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=l3WRet0E97g:WaLPhWEADsM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=l3WRet0E97g:WaLPhWEADsM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=l3WRet0E97g:WaLPhWEADsM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=l3WRet0E97g:WaLPhWEADsM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=l3WRet0E97g:WaLPhWEADsM:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=l3WRet0E97g:WaLPhWEADsM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>The Black Hat Tax</title>
		<link>http://perimetergrid.com/wp/2008/05/16/the-black-hat-tax/</link>
		<comments>http://perimetergrid.com/wp/2008/05/16/the-black-hat-tax/#comments</comments>
		<pubDate>Fri, 16 May 2008 18:05:48 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[industry]]></category>
		<category><![CDATA[risk]]></category>
		<category><![CDATA[statistics]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=49</guid>
		<description><![CDATA[Auren Hoffman at Summation has an interesting post on the &#8220;black hat tax.&#8221;  Essentially, how much do hackers and other online criminals actually cost us?  He estimates it at 25% of time and resources, after taking into account not just hackers but also scammers, phishers, and responding to law enforcement requests.  According to James Currier [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Auren Hoffman at <a href="http://summation.typepad.com/summation/2008/05/black-hat-tarif.html">Summation</a> has an interesting post on the &#8220;black hat tax.&#8221;  Essentially, how much do hackers and other online criminals actually cost us?  He estimates it at 25% of time and resources, after taking into account not just hackers but also scammers, phishers, and responding to law enforcement requests.  According to James Currier (who founded a good number of social-networking type sites, some of which are quite substantial), this &#8220;tax&#8221; is 25-40% for consumer Internet companies, with it being especially high in unexpected places (like online dating sites.)</p>
<p>That&#8217;s a lot of money.  More importantly, it&#8217;s a lot more money than most managers think we&#8217;re spending on security.</p>
<p>Now, the accuracy of these statistics is obviously dubious &#8212; even a respected and experienced person&#8217;s ad hoc estimate is still just an ad hoc estimate.  But it&#8217;s worth thinking about this for your company.  How much time and effort gets spent on problems that are, if not strictly security problems, problems you wouldn&#8217;t have were it not for malicious users?  This includes not just the things you do to defend your sites (firewalls, IDS, code reviews, etc.), incident response, and responding to subpoenas.  It also includes having to carefully write &amp; test your emails to make sure they don&#8217;t get caught in spam filters, and setting up logging &amp; auditing on your sites so you&#8217;ll be <em>capable </em>of responding to a subpoena if you get one in the future, and planning for regulatory compliance, and some of your disaster recovery &amp; backup costs.  Consider not just purchases of security hardware &amp; software and the hours of work by the security team, but also all the time consumed by product development and IT teams planning for or responding to security threats.</p>
<p>This &#8220;black hat tax&#8221; is your real security budget.  And importantly for security managers, this is a genuine, demonstrated cost, as opposed to the &#8220;risk&#8221; we spend most of our time talking about.  It&#8217;s one thing to say the company <em>might </em>suffer a $10 million loss in the case of a data breach, so we need to spend more on security.  Managers can go on believing that &#8220;it won&#8217;t happen to us.&#8221;  It&#8217;s quite another to say that the company <em>already does </em>lose $500,000 every year due to the cost of dealing with malicious users, and that we should spend that same money <em>proactively</em>, on planned security measures, rather than spending it reactively.  Don&#8217;t just think of your security budget as simply mitigating risk &#8212; think about what your company is already spending, just not on the security team.  Can you prevent some of that cost from being incurred?  Can you centralize some of these effors?  Security spending as a way to reduce cost, rather than as a cost center, may be a lot more appealing to your CIO.</p>
<p>a</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=7W9UPJ-xmxA:ogHUeuplmnY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=7W9UPJ-xmxA:ogHUeuplmnY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=7W9UPJ-xmxA:ogHUeuplmnY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=7W9UPJ-xmxA:ogHUeuplmnY:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?i=7W9UPJ-xmxA:ogHUeuplmnY:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/PerimeterGrid?a=7W9UPJ-xmxA:ogHUeuplmnY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/PerimeterGrid?d=7Q72WNTAKBA" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/05/16/the-black-hat-tax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using xcache
Page Caching using xcache
Database Caching 9/12 queries in 0.029 seconds using disk

Served from: perimetergrid.com @ 2010-08-17 17:40:43 -->
