<?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; passwords</title>
	<atom:link href="http://perimetergrid.com/wp/category/passwords/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 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>Two-Factor Auth for World of Warcraft</title>
		<link>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/</link>
		<comments>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/#comments</comments>
		<pubDate>Mon, 30 Jun 2008 21:25:25 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[products]]></category>
		<category><![CDATA[risk]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=51</guid>
		<description><![CDATA[Blizzard Entertainment, makers of the phenomenally-successful multiplayer game World of Warcraft, have introduced two-factor authentication for logging into the game.  For $6.50, they&#8217;ll sell you a dynamic password keychain token called the Blizzard Authenticator, which looks much like the RSA keyfobs many in the IT industry use to log into their corporate VPNs. It may [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Blizzard Entertainment, makers of the phenomenally-successful multiplayer game World of Warcraft, have <a href="http://www.blizzard.com/us/press/080626-auth.html">introduced two-factor authentication for logging into the game</a>.  For $6.50, they&#8217;ll sell you a dynamic password keychain token called the <a href="http://www.blizzard.com/store/details.xml?id=1100000182">Blizzard Authenticator</a>, which looks much like the RSA keyfobs many in the IT industry use to log into their corporate VPNs.</p>
<p>It may seem silly to use two-factor auth for a video game.  However, with 12 million players, World of Warcraft is a big business, and stolen accounts are worth money.  Logging into someone else&#8217;s account, looting it for virtual money and supplies, then selling them on the <a href="http://www.mmoex.com/">open market</a> can easily net $50 per account, more for particularly lucrative ones.  What&#8217;s more, the account itself can be sold to offshore &#8220;gold farmers&#8221; who have a constant need for accounts as Blizzard revokes theirs for Terms of Service violations.  Considering that a stolen credit card number is usually worth only about $10, WoW accounts are actually pretty good targets for theft.</p>
<p>People steal these accounts via installing old-fashioned key loggers &#8212; Trojan Horses attached to downloaded software that monitor the user and steal their password when they log into WoW.  Generally these keyloggers are attached to fake WoW cheat programs with names like &#8220;<a href="http://www.youtube.com/watch?v=xldumHDIHeo">WoW stat changer</a>&#8220;, or modern recreations of some early real cheats that no longer work (the &#8220;speed hack&#8221; and &#8220;teleport hack.&#8221;)  Aspiring cheaters download and install these applications and are disappointed to find they don&#8217;t work, but don&#8217;t realize that their account has been stolen when the app was run.</p>
<p>The best mitigation to this would, of course, be not to download dubious cheat programs for World of Warcraft.  However, since downloading and installing UI add-ons is a normal activity by WoW players, it is perhaps a bit much to expect players to know the difference between a safe UI add-on (written in Blizzard&#8217;s LUA scripting language) and an unsafe one (with real executable code.)  So Blizzard offers a two-factor token, which renders a stolen password useless &#8212; since the dynamic passwords change every minute and are not reusable, keyloggers can no longer steal accounts.  If you&#8217;re a World of Warcraft player who downloads &amp; runs a lot of not-very-trustworthy Internet software, $6.50 is a small price to pay for security.</p>
<p>The ironic thing about this is that most <em>banks </em>won&#8217;t offer this level of security to their customers.  The loss of my World of Warcraft account would be a minor inconvenience (Blizzard keeps backups, after all, and can &#8220;roll back&#8221; a player&#8217;s account to a previous state upon request), while the theft of bank accounts and credit cards would be much more serious.  Yet my bank offers only passwords for protection, and other <a href="http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/">banks&#8217; &#8220;two-factor authentication&#8221; isn&#8217;t really</a> (&#8220;something you know&#8221; and &#8220;something else you know&#8221; is not two factors, it&#8217;s one factor repeated twice.)  Banks usually cite cost as the reason, and at the $90 for an RSA token, that sounds reasonable &#8212; but if Blizzard can put out their own tokens at $6.50, banks could, too.  The real reason is that the banks do not want to inconvenience their customers by making them carry around an additional object for access to their accounts.  For the most part, customers care more about convenience than security, and many customers would be locked of their accounts by losing a token than would be saved from theft.  (For that matter, customers don&#8217;t even know it when their bank account <em>isn&#8217;t </em>stolen because of a security measure, so they have no perceived benefit at all.)</p>
<p>Blizzard&#8217;s answer to the convenience/security tradeoff is to give customers the option &#8212; you can get an Authenticator if you want one, or just use passwords otherwise.  Banks don&#8217;t want to do this, though, because it would make password-only customers <em>feel insecure</em>.  The availability of a token might make them realize how unsafe a password alone is, and they might decide to forgo online banking altogether.  This is the last thing banks want &#8212; online banking is much cheaper than tellers.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/06/30/two-factor-auth-for-world-of-warcraft/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ubuntu/Debian CRNG Cracked &#8211; SSH Vulnerable</title>
		<link>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/</link>
		<comments>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/#comments</comments>
		<pubDate>Sun, 18 May 2008 02:41:14 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[attacks]]></category>
		<category><![CDATA[authentication]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[passwords]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/?p=50</guid>
		<description><![CDATA[I don&#8217;t usually post about newly-discovered vulnerabilities, simply because there are so many of them &#8212; a dozen come out every day, especially in web applications.  However, this one has further-reaching consequences.  Security researcher HD Moore (of Metasploit fame) has discovered a vulnerability in the OpenSSL cryptographic random number generator used by Debian Linux, the [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t usually post about newly-discovered vulnerabilities, simply because there are so many of them &#8212; a dozen come out every day, especially in web applications.  However, this one has further-reaching consequences.  Security researcher HD Moore (of <a href="http://metasploit.org">Metasploit</a> fame) has <a href="http://metasploit.com/users/hdm/tools/debian-openssl/">discovered a vulnerability</a> in the OpenSSL cryptographic random number generator used by Debian Linux, the widely-used distribution on which Ubuntu is based.  As <a href="http://perimetergrid.com/wp/2007/11/16/backdoored-pnrgs-from-the-nsa/">I have discussed before</a>, flaws in the RNG underlying a cryptosystem can compromise the entire system &#8212; both block ciphers and public-key systems rely on a source of entropy to create the large numbers they work with.  If the bits of entropy in this source is smaller than the key length, a &#8220;back door&#8221; is created &#8212; instead of cracking the key, you essentially &#8220;crack&#8221; the RNG, by trying all the possible seeds and seeing which one produces the key you need.</p>
<p>In this case, the result of this OpenSSL bug (an erroneous &#8220;bug fix&#8221; made in 2006) is to reduce the entropy in the seed to only 15 bits &#8212; a terribly small number (32,768) in cryptographic terms.  Moore was able to produce all the possible SSH keys that could be generated on this system in a matter of hours, save for those few people using 8192-bit RSA keys (and he&#8217;ll have those in a few days, too.  He&#8217;s placed them all on his website for download.</p>
<p>So what are the implications of this?  The most important one is SSH authorized keys.  SSH is the secure replacement for Telnet and FTP; security-conscious administrators and users use it instead of older protocols.  SSH has an option wherein instead of using a password to log in, you can save a set of keys in your user account, so that when you connect to another server the keys automatically authenticate you.  It&#8217;s quick, convenient, and generally more secure than passwords &#8212; and thus secures the most sensitive accounts (such as root) on almost all Linux-based servers.  With this exploit, it goes from being more secure than passwords to being much less secure &#8212; 32,768 guesses and you&#8217;re sure to get the right one.  This can be automated in a couple of hours if there is no lockout on the target machine (and the root account is normally not protected by a lockout since doing so means that an attacker can intentionally lock out the legitimate administrators.)  You could even use this as a local attack &#8212; log into your webhost account and run a script that will shortly give you root access to the server (from which you will have root access to most of the <em>other </em>servers at the hosting provider, too.)  Moore&#8217;s website includes a couple of scripts that can easily do this.</p>
<p>The nasty part about this is that keys are sticky.  Upgrading your Debian/Ubuntu servers to fix the bug is, of course, required.  However, also necessary is to replace every key generated on a Debian-based machine in the last two years (since 5/2/2006.)  It&#8217;s quite a task for administrators to even <em>find </em>all of those keys.  The first step is that if you use SSH to or from a Debian system, you need to immediately delete your authorized_keys and generate new sets (after applying the patch for this bug, of course.)  After that, it&#8217;s important to make sure all your users do the same.  Purging the SSH keys of all the users is not going to be a painless process and will undoubtedly involve some support cost, but keep in mind that <em>not </em>doing so is the equivalent of having all your users using 3-character lowercase alphabetic passwords.</p>
<p>The harder problem, though, is this: this bug isn&#8217;t really in <em>SSH</em>, it&#8217;s in <em>the OpenSSL libraries</em>.  These are commonly used by all sorts of apps to generate keys &#8212; OpenSSL is practically the Linux equivalent of CryptoAPI/DPAPI on Windows.  Everything uses them.  Essentially, every key generated on a Debian-based system for any purpose whatsoever in the last two years is potentially vulnerable.  You won&#8217;t be able to use HD Moore&#8217;s linked scripts to crack these, but they are all potentially cryptographically feasible now.  This is a <em>major </em>breach; if the NSA didn&#8217;t already know about this vulnerability (which I wouldn&#8217;t rule out), they&#8217;re no doubt engaging in a flurry of excited codebreaking right this minute.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2008/05/17/ubuntudebian-crng-cracked-ssh-vulnerable/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Securing Data at Rest with Cryptography</title>
		<link>http://perimetergrid.com/wp/2007/12/04/securing-data-at-rest-with-cryptography/</link>
		<comments>http://perimetergrid.com/wp/2007/12/04/securing-data-at-rest-with-cryptography/#comments</comments>
		<pubDate>Tue, 04 Dec 2007 20:12:50 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[crypto]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[products]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/2007/12/04/securing-data-at-rest-with-cryptography/</guid>
		<description><![CDATA[Over at Schneier on Security, Bruce Schneier has a post today about securing data on disk. Encryption is often sold as a panacea for all security problems &#8212; which it&#8217;s not &#8212; but keeping people from reading your data if they steal your laptop is one thing encryption is really good at, and it&#8217;s an [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>Over at <a href="http://www.schneier.com">Schneier on Security</a>, Bruce Schneier has a <a href="http://www.schneier.com/blog/archives/2007/12/how_to_secure_y.html">post today about securing data on disk</a>.  Encryption is often sold as a panacea for all security problems &#8212; which it&#8217;s not &#8212; but keeping people from reading your data if they steal your laptop is one thing encryption <em>is </em>really good at, and it&#8217;s an area where the real complexities of encryption (key management, key rotation, public key infrastructure) aren&#8217;t terribly important and can be safely neglected.</p>
<p>Schneier mentions <a href="http://technet2.microsoft.com/WindowsVista/en/library/ba1a3800-ce29-4f09-89ef-65bce923cdb51033.mspx">Microsoft&#8217;s BitLocker</a> in passing, and I wanted to add some detail.  BitLocker is a whole-disk encryption system integrated into Windows Vista, and integrates with the Trusted Platform Module if available (the TPM is a smart chip on the mainboard that stores keys and performs secure cryptographic operations.)  You tell BitLocker to encrypt your drive, and then choose one of several options for how to store the key.  The simplest mode simply prevents someone from mounting the drive in another system or operating system, by storing the key in the TPM and retrieving it automatically on boot (this actually does make it significantly harder to get at the data on the disk without your password.)  More complex modes store the key in the TPM and require either a PIN code from you or a certificate stored on a USB key to extract the key.  Thus, on booting your PC you enter your PIN or insert the key, and the drive is unlocked.</p>
<p>The PGP product Schneier advocates encrypts the drive similarly to BitLocker, though rather than storing the key in the TPM it relies on a user-supplied passphrase to decrypt the key.  While this is theoretically less secure (with the TPM, even the encrypted key is stored in tamper-resistant hardware and difficult to access), in practice it makes little difference &#8212; it&#8217;s still quite secure, and unlike BitLocker will let you encrypt other drives.</p>
<p>However, one feature BitLocker has and PGP lacks is key escrow.  Now, this is normally thought of by privacy activists as an anti-feature, remembering the <a href="http://en.wikipedia.org/wiki/Clipper_chip">Clipper Chip fiasco</a> of the late 90&#8242;s.  However, the purpose of BitLocker&#8217;s key escrow is not to give a back-door key to the government, but rather to make the system palatable for enterprise deployment.  Large corporations have traditionally been unwilling to embrace whole-disk encryption products like PGP even on laptops carrying sensitive data, for fear that the person with the key will forget the passphrase or simply leave the company and refuse to disclose it.  By having the BitLocker keys escrowed with the domain controller such that appropriate corporate officers can retrieve it, it makes BitLocker &#8220;safe&#8221; for corporate use.  If you&#8217;re not a domain member (i.e. it&#8217;s your home computer), then the keys aren&#8217;t escrowed with anyone else &#8212; there&#8217;s no government back-door.</p>
<p>Schneier rightly points out that an issue with any sort of whole-drive encryption is that they do not protect your data from government subpoena.  If the government seizes your computer as evidence, they can (in the United States at least) subpoena the keys, and if you don&#8217;t turn them over you can be fined or jailed for contempt of court.  This is not an issue for most (legal) data, but if you have something to hide from <em>everyone</em>, there are solutions other than the one Schneier posits (&#8220;just don&#8217;t keep data on your laptop that you don&#8217;t want subpoenaed.&#8221;)  One option is the open-source disk encrypter <a href="http://www.truecrypt.org/">TrueCrypt</a>.</p>
<p>The problem with encrypted data on your disk is that it&#8217;s really obvious.  It is not plausible to say &#8220;Oh, I don&#8217;t have any encrypted data&#8221; if served with a subpoena.  For one, you probably have encryption software on your computer, and links to data that can&#8217;t be followed without decryption.  But besides that, encrypted data is provably, mathematically distinguishable from almost everything else.  Encrypted data consists of a binary blob with a uniform distribution across its entire data space &#8212; that is, any given byte is just as likely to be 00 as it is to be 01, 02, 03, or any other value.  If you plotted it on a histogram, given enough data the graph would be approximately flat (subject to the variation and &#8220;clumpiness&#8221; always present in random data) and there would be no more repetition than expected by random chance.  This is unlike every other type of data &#8212; executable programs, graphics, sound, word processor files, spreadsheets, etc. all have their own characteristic histograms and repeated patterns.  Even compressed files have specific, recognizable headers and certain characteristic patterns (though they come closest to looking like encrypted data, since they have high entropy.)  Thus, encrypted data stands out because it is &#8220;more random&#8221; than any other data on your hard drive.  Since no one keeps large blobs of totally random noise on their hard drive, if one is found, it&#8217;s pretty certain to be encrypted data, and the courts know this (or at least can be convinced of it by expert witnesses.)</p>
<p>TrueCrypt has the feature of being able to place an encrypted volume inside an encrypted volume.  Combined with the fact that it pads encrypted volumes with random noise, this leads to the ability to have plausible deniability of encrypted data.  Essentially, it works as follows:</p>
<ol>
<li>You create a TrueCrypt volume on your hard drive with a specified size, say 10 GB.  TrueCrypt reserves that much space, and fills it with random noise.</li>
<li>You create a second TrueCrypt volume, with a different key, inside the first volume, with a smaller specified size, say 2 GB.  TrueCrypt takes that space and fills it with different random noise.</li>
<li>When you want to access encrypted data, you mount both volumes.  You put <em>really </em>secret stuff on the inner volume, and moderately secret stuff (e.g. pirated MP3s) on the outer volume.</li>
</ol>
<p>Now, if someone gets your laptop, they can see that you have TrueCrypt installed, and that there is a 10GB encrypted volume (as there&#8217;s a 10GB blob of random noise on your hard drive.)  They force you to give them the key, and you do so.  This unlocks the outer volume, revealing its encrypted files.  However, <em>there is no sign that the inner volume exists</em>.  Unless you know it&#8217;s there, and know the key, there is no way to distinguish the random noise of its encrypted files from the random noise TrueCrypt filled the outer volume with anyway.  There could be a dozen encrypted volumes, or none &#8212; it&#8217;s impossible for anyone to know, and indeed, most people without a security mindset would never even think of such a thing.</p>
<p>Now, there are drawbacks to this technology.  If you mount the outer volume but not the inner one, neither TrueCrypt nor your operating system knows about the inner volume, either!  This means that writing files to the outer volume may overwrite and destroy the inner volume if you&#8217;ve not mounted it.  This isn&#8217;t a major problem, but it is inconvenient, especially if you have many volumes (as you need to type in the different passphrases and addresses of all of them every time you want to write to any of them.)  And no automation will help you, because having any would defeat the purpose &#8212; the existence of automation scripts would tip off a smart forensic investigator that your outer volume contains inner volumes.</p>
<p>It&#8217;s an interesting solution to the problem of plausible deniability &#8212; using steganography to hide encrypted data in encrypted data.  Admittedly, Schneier&#8217;s solution (just don&#8217;t have the data at all) is even safer, but sometimes that&#8217;s not good enough.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2007/12/04/securing-data-at-rest-with-cryptography/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Passwords Aren&#8217;t Secure; Two-Factor Auth on a Credit Card</title>
		<link>http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/</link>
		<comments>http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/#comments</comments>
		<pubDate>Tue, 30 Oct 2007 20:41:23 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[authentication]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[products]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/</guid>
		<description><![CDATA[A pair of companies called Innovative Card Technologies and eMue Technologies have put out a press release for a one-time-password token embedded in a credit card. Essentially, they embed a smart chip and an LCD display inside a bank card. When you need the password to your account (such as to log into online banking), [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>A pair of companies called <a href="http://www.incardtech.com/">Innovative Card Technologies</a> and <a href="http://www.emue.com/">eMue Technologies</a> have put out a press release for a one-time-password token <a href="http://www.infosecurityproductsguide.com/technology/2007/InnovativeCardTechnologies.html">embedded in a credit card</a>.</p>
<p>Essentially, they embed a smart chip and an LCD display inside a bank card.  When you need the password to your account (such as to log into online banking), you type your PIN into the card itself, and the display shows your password.  This provides true two-factor authentication (something you have &#8212; the card &#8212; and something you know &#8212; the PIN) for online financial transactions, and is tamper-resistant.</p>
<p>Now, OTP tokens are not new.  RSA has been producing the SecurID line for over a decade.  However, they have not been widely adopted for online banking because of bulk and inconvenience.  Nobody wants to have an extra device (they&#8217;re usually keychain fobs) that they have to find every time they log into their bank&#8217;s website.  People want this even less because of the lack of standardization &#8212; you&#8217;d need one for <em>every </em>bank or credit card you have, and you&#8217;d need to be able to tell them apart.  Embedding it in the card itself, though, solves this customer inconvenience.  After all, you have the card on you anyway.</p>
<p>The trick now is to get banks to actually adopt this thing.  This is very convenient for customers, and makes them substantially more secure.  However, it requires the banks to actually buy the devices for all their customers &#8212; and eMue/InCard don&#8217;t say on their web site what they cost.  An RSA SecurID keychain fob, however, costs $86, so I wouldn&#8217;t be terribly surprised if the cost to the banks of these cards is similar.  And because of the costs, banks, like corporations, are inclined to go for what Alex at <a href="http://worsethanfailure.com">Worse Than Failure</a> whimsically calls &#8220;<a href="http://worsethanfailure.com/Articles/WishItWas-TwoFactor-.aspx">Wish-It-Was-Two-Factor Authentication</a>:&#8221; simply requiring you to provide something you know, and&#8230; something else you know.</p>
<p>The problem is that passwords are simply not very secure anymore.  There was a time when even a modest password (say, an 8-letter combination not found in the dictionary) was pretty secure against most attackers.  However, that time has passed; there are too many ways to crack a password.  For example, if I want a user&#8217;s password so I can log into his online banking site, I could:</p>
<ol>
<li>Lure him to my website, which installs spyware on his machine which records what he types.</li>
<li>Intercept his communication to the website and grab the password (mitigated by SSL login)</li>
<li>Steal his session cookies and hijack the session (mitigated by using SSL beginning-to-end on the website &#8212; common for banks/financial institutions, but rare for online email and other sites)</li>
<li>Wait for him to sign onto a public wireless hotspot, spoof the bank&#8217;s website, and steal the password with a man-in-the-middle attack (gets past the mitigations in #2 and #3)</li>
<li>Break into his email account, tell the website I &#8220;forgot&#8221; my password, and read the password-reset email it sends</li>
<li>Break into the banking website itself and get the encrypted password file.  Admittedly, in this case I probably don&#8217;t even need to get his password anymore.  But if I do, I can then use a rainbow table to break the encryption in seconds.  A 12-character password with numbers and symbols still falls in seconds.</li>
<li>Break into any other website the user subscribes to; chances are he uses the same password on all of them</li>
<li>Send a phishing email tricking the user into supplying me with his password.  He won&#8217;t fall for that?  Send one asking him to sign up for some other service and create a username and password, then see #6</li>
</ol>
<p>Password strength is irrelevant.  Today, there&#8217;s really only two levels of password strength:</p>
<ol>
<li>Guessable &#8212; blank, &#8220;password,&#8221; &#8220;secret,&#8221; your pet&#8217;s name, your wife&#8217;s birthday, a dictionary word</li>
<li>Not guessable &#8212; something meaningful only to you</li>
</ol>
<p>There is not much variation in #2 &#8212; whether your password is &#8220;i like cheese&#8221; or &#8220;jR3&amp;sJ7#iK9(wV2$&#8221; makes little difference (it makes no difference whatsoever to the 8 attacks listed above), but the former is far easier to remember.  The problem with passwords isn&#8217;t that they&#8217;re too short, or not complex enough &#8212; it&#8217;s that a password is <em>just data</em>, and there are many ways to steal data.</p>
<p>So why do banks and corporate IT departments keep harping on longer, more complicated passwords?  Why do banks require you to answer &#8220;secret questions?&#8221;  (Technically called cognitive passwords &#8212; things like &#8220;what was your high school&#8217;s mascot?&#8221; &#8212; these are really just extra passwords, only required to be easily guessable.)  Simple &#8212; it passes the cost, both in money and in effort, on to you.  Asking the customer to answer extra questions, or the IT user to remember harder passwords, puts the onus of maintaining security on them.  The IT department or bank doesn&#8217;t have to do anything at all to implement these &#8220;solutions&#8221; &#8212; it just asks you to do it.  In the case of banks, there&#8217;s the added benefit of making people believe (falsely) that they are more secure by jumping through these hoops.</p>
<p>The problem is that these methods don&#8217;t actually do anything.  Asking for &#8220;something you know and something else you know&#8221; is pointless; whatever method is used to steal the first password can also steal the cognitive password.  Requiring strong passwords mitigates only against attack #6 above (stolen password database), and these days it doesn&#8217;t do even that (if your password is under 14 characters I can crack it in seconds with a rainbow table; even if the hashes are salted, preventing that sort of attack, distributed cracking with GPU offload will still get it in days.)  What is needed is true two-factor authentication &#8212; not just for banks, but for anything online for which real authentication is required.</p>
<p>Unfortunately, this requires banks to shoulder the cost of providing either a token or a biometric reader to all their customers.  The token is the simpler solution, though it has the disadvantage that, since there is no common token infrastructure out there, every bank or site has to do it.  A biometric solution would scale better (one reader for every site,) but has a first-mover problem (which bank is going to give you the reader, thereby subsidizing all the other banks you use?) and may have robustness issues.  This token-on-a-card technology is a good way to provide real security without inconveniencing the customer, and I hope to see it go somewhere.</p>
<p>Unfortunately, this is a case where the &#8220;<a href="http://en.wikipedia.org/wiki/Security_theater">security theater</a>&#8221; (as <a href="http://www.schneier.com/">Bruce Schneier</a> calls it in <a href="http://www.amazon.com/exec/obidos/ASIN/0387026207/counterpane/"><em>Beyond Fear</em></a>) interferes with real security.  Banks have been telling us that their sites are secure, and their silly questions keep us safe.  How do they now convince us that we&#8217;re not safe and we need to prefer the bank with the token-on-a-card?  Without competitive pressure, there&#8217;s little incentive for banks to spend the money &#8212; but banks are loath to exert competitive pressure that harms public trust in the banking system.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2007/10/30/passwords-arent-secure-two-factor-auth-on-a-credit-card/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Password Cracking Moves to the GPU</title>
		<link>http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/</link>
		<comments>http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 03:00:44 +0000</pubDate>
		<dc:creator>Grant Bugher</dc:creator>
				<category><![CDATA[authentication]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[products]]></category>

		<guid isPermaLink="false">http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/</guid>
		<description><![CDATA[A company called Elcomsoft has just put out a press release promoting the newest version of their Distributed Password Recovery tool, which is now capable of making use of the GPU (graphics processing unit) on modern 3D video cards for breaking password hashes. Password hashes have been weak for quite a while now &#8212; as [...]<p>a</p>
]]></description>
			<content:encoded><![CDATA[<p>A company called <a href="http://www.elcomsoft.com">Elcomsoft</a> has just put out a <a href="http://www.elcomsoft.com/EDPR/gpu_en.pdf">press release</a> promoting the newest version of their <a href="http://www.elcomsoft.com/edpr.html?r1=pr&amp;r2=gpu_071022">Distributed Password Recovery </a>tool, which is now capable of making use of the GPU (graphics processing unit) on modern 3D video cards for breaking password hashes.</p>
<p>Password hashes have been weak for quite a while now &#8212; as far back as 1997, it was practical, if you got a hold of the SAM hive from a Windows machine or the shadow file from a UNIX machine, to brute-force crack the passwords stored inside so long as they were relatively short and didn&#8217;t make use of obscure characters (hence all those &#8220;password complexity&#8221; guidelines urging you to use long, incomprehensible passwords.)  However, at this point you could usually crack even a strong password in a few weeks using a desktop machine.  This development cuts password cracking time by a factor of 20 or more.</p>
<p>Why is the GPU so much better than the CPU for cracking password hashes?  Parallelism.  Rendering a screen of graphics essentially consists of doing one task &#8212; figuring out what color a pixel on the screen should be &#8212; many, many times every second.  As a result, graphics cards are optimized for doing many simple tasks simultaneously.  CPUs, on the other hand, can do one task much faster than a GPU, but only do one thing at a time (multitasking is largely an illusion, as the CPU switches between tasks very quickly.)  We&#8217;re just now seeing dual-core and quad-core CPUs, but a &#8220;dual-core GPU&#8221; would be nonsensical &#8212; they&#8217;ve got 10 or more processing pipelines already.</p>
<p>The <a href="http://www.elcomsoft.com/edpr.html?r1=pr&amp;r2=gpu_071022">Elcomsoft software</a> further speeds up password cracking by allowing you to offload processing to many different machines, so each box tries a different section of the keyspace. If you have access to many machines, this can make it a very quick task.</p>
<p>Of course, sometimes you don&#8217;t need to go through this much work to crack a password.  For any Windows password 14 characters or shorter, you can already crack it in seconds with a <a href="http://www.antsight.com/zsl/rainbowcrack/#Rainbow%20Table">rainbow table attack</a>.  There are even online services that will do it for you for a small fee &#8212; you input the hash and PayPal a few bucks to them, they give you the password; if you&#8217;re willing to spend a few days on BitTorrent getting 64+ GB of data, you can get your own <a href="http://rainbowtables.shmoo.com/">rainbow table</a> for free.</p>
<p>So how do you make a safe password, when a table can crack it in seconds or new software in days, no matter how good it is?  You don&#8217;t.  There is basically no such thing as a strong password anymore &#8212; there is the total insecurity of having <em>no </em>password, or the moderate security of having <em>a</em> password.  If someone manages to break into a server that your password works on, they <em>will</em> get your password if they want it.  Not re-using passwords on multiple sites and servers is thus quite important if you care about what&#8217;s on it (we all use the same password on random registrations on the Internet, but you shouldn&#8217;t use that password for banking, too.)  However, the only long-term solution to this is two-factor authentication; the password alone just isn&#8217;t enough anymore.</p>
<p>a</p>
]]></content:encoded>
			<wfw:commentRss>http://perimetergrid.com/wp/2007/10/24/password-cracking-moves-to-the-gpu/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using xcache
Page Caching using xcache (user agent is rejected)
Database Caching 5/13 queries in 0.041 seconds using disk

Served from: perimetergrid.com @ 2010-09-07 00:14:27 -->