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

<channel>
	<title>Perimeter Grid &#187; industry</title>
	<atom:link href="http://perimetergrid.com/wp/category/industry/feed/" rel="self" type="application/rss+xml" />
	<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>
		<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>
]]></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>
]]></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>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>
]]></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>
]]></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>
]]></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>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>
]]></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>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>
]]></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 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>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/05/16/the-black-hat-tax/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ad Replacers and the Future of the Internet</title>
		<link>http://perimetergrid.com/wp/2008/03/10/ad-replacers-and-the-future-of-the-internet/</link>
		<comments>http://perimetergrid.com/wp/2008/03/10/ad-replacers-and-the-future-of-the-internet/#comments</comments>
		<pubDate>Mon, 10 Mar 2008 21:46:00 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[industry]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/2008/03/10/ad-replacers-and-the-future-of-the-internet/</guid>
		<description><![CDATA[A company named Phorm (formerly 121Media) has introduced a new product for ISPs.  The idea is that the ISP installs this product (basically a transparent proxy) on their network, and as their customers surf the web, the OIX  proxy replaces advertisements on web pages with advertisements on the Phorm network.  To make it more palatable, [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>A company named Phorm (formerly 121Media) <a href="http://www.newswireless.net/index.cfm/article/3779">has introduced a new product for ISPs</a>.  The idea is that the ISP installs this product (basically a transparent proxy) on their network, and as their customers surf the web, the OIX  proxy replaces advertisements on web pages with advertisements on the Phorm network.  To make it more palatable, they also provide some minor anti-phishing services (the sort of thing that&#8217;s built into IE7 anyway.)</p>
<p>They make a big deal out of their privacy practices.  They do not maintain histories on browsers the way Google does &#8212; they just replace ads on pages based on the page&#8217;s content, kind of like Google AdSense but for image and rich-content ads as well.   Customers, unsurprisingly, don&#8217;t really care either way about this service &#8212; what&#8217;s it matter if I get CNN&#8217;s own banner ads on their pages or my ISP&#8217;s banner ads?  They&#8217;re still ads, and nobody likes them, but <em>whose </em>ads they are isn&#8217;t high on a consumer&#8217;s priority list.</p>
<p>However, products like this (generically called &#8220;ad replacers&#8221;) are going to be extremely important to the future of the Internet.  The linked article talks about how ISPs&#8217; profit margins are narrow given their customers&#8217; increasing appetites for bandwidth, and how this advertising revenue will help them recover.  What it doesn&#8217;t mention, though, is where this revenue <em>comes from </em>&#8211; it&#8217;s the ad revenue that would otherwise be given to the sites you browse.</p>
<p>In other words, ubiquitous use of ad replacers would boost ISP revenue while destroying ad revenue paid to web sites.  This is a tremendous threat to Google as it eliminates their sole revenue stream!  For that matter, if an ad replacer can substitute ads, why not substitute the first page of Google search results?  Google won&#8217;t sell you #1 placement in organic search&#8230; but with an ad replacer, Comcast (for example) could sell you #1 placement on Google <em>for Comcast users</em>.  In addition, all the small niche websites that currently pay their hosting bill (and their owners&#8217; salaries) off of advertising revenue may find themselves unable to do so.  People hate advertising, but what happens to the Internet without it?  The free, ad-supported Internet goes away, replaced with paid, subscription-based walled gardens.  Nobody wants that, but that&#8217;s the world ad replacers lead to &#8212; and ironically, it&#8217;s a world that has no room for them, as they would then have no ads to replace.  This is difficult to fight economically, though &#8212; an ad replacer can be a tremendous source of revenue <em>so long as there aren&#8217;t many of them</em>.  There&#8217;s lots of incentive to make them, even though in the long run they kill the ecosystem.</p>
<p>What this will lead to is a new security arms race.  Publishers will have to start finding ways to &#8220;hide&#8221; ads in their pages, so that ad replacers do not recognize that they&#8217;re ads and replace them.  This will be particularly hard for the large ad networks like Google&#8217;s where the ads must be embedded in thousands of dissimilar web pages.  As the publishers come up with better ways to hide ads, the ad replacers will be updated to find them.  The result is likely to be quite a mess, and result in neither the ISPs nor the publishers getting as much revenue as they&#8217;d like.  In addition, while Phorm may promise not to build up profiles of private information on you, an ISP who <em>did </em>engage in Google-like privacy invasion would be able to do it far better than Google can &#8212; after all, they have all your billing info since you&#8217;re a paying customer.  Unlike Google, they really do know who you are, personally, and not just by your browsing habits.</p>
<p>In the long run, international backbone providers could even start replacing ads in order to avoid local legislation, though this would lead to the ridiculous situation of the same ad on a page possibly being replaced several times on its way to the user.  I don&#8217;t see any solution to this other than legislation &#8212; the same sort of &#8220;net neutrality&#8221; laws  that forbid content-based traffic shaping or Comcast-like protocol tampering could also forbid ad replacers.  Unfortunately, economic incentives aren&#8217;t likely to have much effect, since the actual end users won&#8217;t change ISPs to go to one that promises not to run ad replacers &#8212; as only the publishers, not the end users, care whose ads are seen.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/03/10/ad-replacers-and-the-future-of-the-internet/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Get a Job in Information Security</title>
		<link>http://perimetergrid.com/wp/2008/01/31/how-to-get-a-job-in-information-security/</link>
		<comments>http://perimetergrid.com/wp/2008/01/31/how-to-get-a-job-in-information-security/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 01:27:15 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[industry]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/2008/01/31/how-to-get-a-job-in-information-security/</guid>
		<description><![CDATA[Don Parker at SecurityFocus has an article called Skills for the Future about how to get a job in information security. He outlines one path, and while I don&#8217;t deny it&#8217;s a good one, and probably the most common, it&#8217;s not the only way, either. There are quite a few different areas of specialization within [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Don Parker at SecurityFocus has an article called <a href="http://www.securityfocus.com/columnists/464">Skills for the Future</a> about how to get a job in information security.  He outlines one path, and while I don&#8217;t deny it&#8217;s a good one, and probably the most common, it&#8217;s not the only way, either.</p>
<p>There are quite a few different areas of specialization within information security.  The one people most often think of is the network security specialist &#8212; someone familiar with configuring firewalls, network intrusion detection systems, routers, and distributed defense mechanisms like anti-virus and patch management.  These people are primarily charged with securing the perimeter.</p>
<p>However, there are others.  I&#8217;ve made my career mostly in application security &#8212; studying how to develop software to be secure, so that even if perimeter defenses fail and an attacker can interact with an application, they&#8217;re unable to take control of it.  This requires different skills than the network security path &#8212; specifically, it&#8217;s important to know several programming languages, have a background in software engineering, and be familiar with how application exploits are constructed (stack buffer overflows, heap overflows, pointer arithmetic issues, command injection, cross-site scripting, etc.) and the various defenses that exist against them (both coding techniques and tools like <a href="http://en.wikipedia.org/wiki/Data_Execution_Prevention">DEP/NX</a>, <a href="http://en.wikipedia.org/wiki/Stackguard">GS</a>, <a href="http://en.wikipedia.org/wiki/ASLR">ASLR</a>, <a href="http://blogs.msdn.com/michael_howard/archive/2006/05/19/602077.aspx">SAL</a>, etc.)</p>
<p>Other specializations in security include compliance auditing and penetration testing.  Compliance auditing is less technical, and involves ensuring that internal controls match up with various regulatory and industry requirements, but often those requirements are security-focused.  With recent regulations like <a href="http://en.wikipedia.org/wiki/Sarbanes-oxley">SOX</a> and industry standards like <a href="https://www.pcisecuritystandards.org/tech/index.htm">PCI DSS</a>, there&#8217;s an amazing amount of demand for compliance auditors.  Penetration testing is often seen as the most &#8220;glamorous&#8221; of information security jobs, as it essentially amounts to being hired by companies to hack into them.  It requires a very broad array of security knowledge, since the best way into a system is wherever the system is weakest &#8212; sometimes this will be network security, other times application security, and other times the people operating and configuring the system.  Thus, flexibility is key.  However, due to the &#8220;mystique&#8221; of penetration testing, there are more people who want to be pentesters than are qualified for the job, and more people qualified for it than there is demand for it, so it&#8217;s not a very good entry point for the security industry.</p>
<p>There is one thing that is important to success in the information security industry &#8212; what I call the &#8220;security mindset.&#8221;  You have to be the sort of person who, when you look at a system, thinks about what&#8217;s wrong with it.  In my experience, some people have just always thought this way, and some people never do.  For example, in <a href="http://www.amazon.com/Art-Steal-Yourself-Business-Americas/dp/0767906845/ref=pd_bbs_sr_1?ie=UTF8&amp;s=books&amp;qid=1201827109&amp;sr=8-1"><em>The Art of the Steal</em></a>, Frank Abagnale mentions a man who happened to share a name with a notorious drug dealer.  As a result, he had to carry a letter from the Department of State to show to airport security whenever he tried to fly internationally, as his name would come up on every imaginable no-fly list as someone to be detained.  What do you think of when you hear this story?</p>
<p>For me, the immediate thought was, &#8220;Oh, so if I were wanted by police and needed to flee the country, I could just forge a letter from the Department of State saying that I was not <em>really </em>the wanted criminal who happened to share my name.  It&#8217;d be easy enough to find out the name of some undersecretary in the State Department and get a copy of their signature.  If you wanted to be really authentic, you could also buy a phone and give it to a friend who would impersonate the State Department for you, preferably one with a fax machine in case they ask for any corroborating documentation.  Of course, you&#8217;d best use a prepaid cell phone so your friend doesn&#8217;t get caught, either.&#8221;  It&#8217;s just how security people think &#8212; we look at a system or a countermeasure, and see how it goes wrong, and what bad assumptions the system makes.  This is important because the attackers think the same way &#8212; if we can think of a weakness, they can, too, so it&#8217;s important to shore up those weaknesses.  Software testers often have the same mindset &#8212; it helps them find bugs, by finding the things developers didn&#8217;t think of.</p>
<p>So, if you want to get into security, and you aren&#8217;t right now, what do you do?  There are a few preparatory steps:</p>
<ul>
<li>Get at least a year or two of real-world experience in a related field &#8212; network engineering, software development, systems administration, IT consulting.  You can&#8217;t get by with security knowledge alone &#8212; you have to know how to secure <em>something</em>.</li>
<li>Get a <a href="https://www.isc2.org/cgi-bin/content.cgi?category=97">CISSP</a> certification.  The CISSP is a great breadth-oriented certification &#8212; it shows that you know at least the basics about all aspects of security, and have knowledge outside a narrow domain.  It does have an experience requirement &#8212; three years of work in one of the 10 CBK domains &#8212; but the domains cover practically everything in the IT industry, so as long as you&#8217;re not fresh out of school you can likely meet it.  The CISSP exam isn&#8217;t so easy you could pass it with no experience, but it&#8217;s not very difficult, either.  You&#8217;ll also learn a lot studying for it &#8212; no matter what your specialization is, it will cover areas you know nothing about (cryptography, physical security &amp; life safety, and disaster recovery are new to a lot of prospective CISSPs.)</li>
</ul>
<p>After that?  If you really want an information security job, you really have to focus in that direction.  Once you have a couple of years of experience in a related field, don&#8217;t keep taking jobs in that field &#8212; look for security jobs.  If you&#8217;re not in a major metropolitan area, this can be difficult.  However, I know from experience that I spent far too much time in general development jobs with a little bit of security exposure when what I wanted to do was full-time security work.  I would try to get security-related assignments, doing security testing and fixing security bugs, but there&#8217;s only so much security experience you can get when it&#8217;s not your main focus, and prospective employers know this.  What launched my security career was being willing to jump into an IT security job even when it was in a less desirable area for me (network &amp; infrastructure, when my specialization was development) and involved a substantial pay cut.  What that first job <em>is </em>doesn&#8217;t matter that much &#8212; once you&#8217;re there, you&#8217;ve gone from a person who wants to be in information security to being an &#8220;IT security professional.&#8221;  It&#8217;s easier to move around to the job you want once you have a foot in the door.  Remember, in the modern technology industry people often don&#8217;t stay in a job for more than 12-18 months; it&#8217;s not a lifetime commitment to take a less-than-ideal job.</p>
<p>Many people ask about certifications and their importance to a security career.  I would say that the CISSP is vital &#8212; many employers use it as a quick check of if you&#8217;re a &#8220;real&#8221; security person.  However, beyond that, there are many things that can be useful, but that experience can substitute for.  I do see some value to the following:</p>
<ul>
<li>ISACA&#8217;s <a href="http://www.isaca.org/Template.cfm?Section=CISA_Certification&amp;Template=/TaggedPage/TaggedPageDisplay.cfm&amp;TPLID=16&amp;ContentID=4526">CISA</a> certification.  This is highly valued if a.) you want to go into compliance auditing, or b.) you want to work for a large consultancy.  If you want to do internal, very technical security work for a corporation, it&#8217;s not important.</li>
<li>Microsoft&#8217;s <a href="http://www.microsoft.com/learning/mcp/windowsserver/2008/default.mspx">MCITP certifications</a> (or their predecessor, the MCSE.)  It&#8217;s a nice thing to have on your resume, showing you know a lot about Windows environments, which make up most of the corporate world.  Unfortunately, these certifications are extremely test-focused.  On the plus side, it means that you can pass them with no experience, just studying for the test.  However, it also means that even if you have a ton of experience, you <em>still </em>have to study a lot for the test, as they cover a great deal of material that is rarely used in the real world (e.g. unattended deployment scripts for servers) that you&#8217;ll just have to memorize.  There is a problem of &#8220;paper MCSEs&#8221; who have passed the test but know very little, which has devalued the certification in industry, but it&#8217;s still useful.</li>
<li>For application security specialists, having something to show your development experience is good.  Microsoft&#8217;s <a href="http://www.microsoft.com/learning/mcp/mcpd/default.mspx">MCPD</a> certification or Sun&#8217;s <a href="http://www.sun.com/training/catalog/packages_java.html">SCJP</a> certification can do this.  Your first job in application security isn&#8217;t going to be reviewing kernel architectures &#8212; most of the world&#8217;s applications are managed code, either .NET or Java.  Thus, these are a good place to start.</li>
</ul>
<p>I think that the technical certifications are very helpful for getting initial jobs, especially since they don&#8217;t have experience requirements like the CISSP.  However, they do have a useful life &#8212; once you&#8217;re making $100,000 per year or more, no one will ever ask, or care, if you have an MCITP, MCPD, or SCJP.  They show technical knowledge if people don&#8217;t have any other way to know if you have it &#8212; but a long career in IT or development will show technical knowledge even better.</p>
<p>The most important thing is to be good at more than one thing.  Security is a broad field by its nature &#8212; attackers go for the weakest point in the chain.  There&#8217;s a larger market for security generalists than specialists in any one area, and even the specialists need to have a general background.  If all you can do is firewalls, you&#8217;re competing for a smaller pool of jobs than if you can do firewalls, but also UNIX or Windows sysadmin work, or programming.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/01/31/how-to-get-a-job-in-information-security/feed/</wfw:commentRss>
		<slash:comments>3</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 (user agent is rejected)
Database Caching 5/13 queries in 0.091 seconds using disk

Served from: perimetergrid.com @ 2010-09-10 02:16:37 -->