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

<channel>
	<title>ISIS &#187; Physical Security</title>
	<atom:link href="http://isisblogs.poly.edu/category/physical-security/feed/" rel="self" type="application/rss+xml" />
	<link>http://isisblogs.poly.edu</link>
	<description>Information Systems and Internet Security</description>
	<lastBuildDate>Mon, 20 Oct 2008 17:57:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/us/</creativeCommons:license>
		<item>
		<title>Cute + Malicious == Deadly</title>
		<link>http://isisblogs.poly.edu/2008/06/28/cute-malicious-deadly/</link>
		<comments>http://isisblogs.poly.edu/2008/06/28/cute-malicious-deadly/#comments</comments>
		<pubDate>Sat, 28 Jun 2008 09:46:50 +0000</pubDate>
		<dc:creator>aleksey</dc:creator>
				<category><![CDATA[Exploits]]></category>
		<category><![CDATA[Physical Security]]></category>
		<category><![CDATA[Social Engineering]]></category>
		<category><![CDATA[Targeted Attacks]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://isisblogs.poly.edu/?p=114</guid>
		<description><![CDATA[In a recent (experimental only) project, I followed one of the multiple guides such as this one on how to make a Lego case for a USB stick. To top it off, I loaded the Hak5 Switchblade packages on the sticks. When used with U3 USB autorun technology, these packages allow automatic theft of various [...]]]></description>
			<content:encoded><![CDATA[<p>In a recent (experimental only) project, I followed one of the multiple guides such as <a href="http://www.instructables.com/id/Lego-USB-Stick/">this one</a> on how to make a Lego case for a USB stick. To top it off, I loaded the <a href="http://wiki.hak5.org/wiki/Switchblade_Packages">Hak5 Switchblade</a> packages on the sticks. When used with U3 USB autorun technology, these packages allow automatic theft of various personal data upon insertion of the stick into a Windows computer. Now, doesn&#8217;t this just crush the competition (a regular USB stick lost in the parking lot)?</p>
<p><a href="http://isisblogs.poly.edu/wp-content/uploads/sticks_small.png" rel="lightbox[114]"><img class="aligncenter size-full wp-image-115" src="http://isisblogs.poly.edu/wp-content/uploads/sticks_small.png" alt="The Mona Lisa" width="384" height="285" /></a></p>
<p><span id="more-114"></span></p>
<p>As far as the creation of the case goes, I didn&#8217;t really follow any guides. Pretty much all you have to do is buy a mix of legos and strip a USB stick (leaving only the chip and the metal connector). Then, you have to pick a few legos (I used 3, in two different configurations) the combination of which will house the chip.  You need to cut out some of their insides with a box cutter to place the chip. Then, you need to glue them together with <a href="http://solutions.3m.com/wps/portal/3M/en_US/3M-Super-77/Super77/">3M glue</a>, fill them with transparent construction <a href="http://www.alibaba.com/product-gs/205652014/A_6700_Neutral_Silicone_Structural_Sealant.html">silicone</a> and place the chip inside. Finally, you need to place some more silicon on the chip and cover the bottom hole with flat lego pieces. The color of lego pieces matters. Yellow allowed the USB LED to shine through it. Selection of the USB stick also matters &#8211; I used &#8220;SanDisk Cruzer Micro&#8221; which are medium in size and come loaded with U3.</p>
<p>As far as the Hak5 package goes,  well, I&#8217;m not giving a guide for that. But basically, it works by modifying the U3 binaries and autorun configuration files to execute windows batch files (that are also placed on the same stick) upon insertion of the USB. The scripts provided (payloads) vary form system password stealing to IE history viewing.  The information stolen is saved on the stick itself. Alternatively, there is a way to email it to yourself. Anyway, don&#8217;t pick these up on the street (not that I would part with any <img src='http://isisblogs.poly.edu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  ).</p>
]]></content:encoded>
			<wfw:commentRss>http://isisblogs.poly.edu/2008/06/28/cute-malicious-deadly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>RFID security &#8212; mark your calendars!</title>
		<link>http://isisblogs.poly.edu/2008/04/03/rfid-security-mark-your-calendars/</link>
		<comments>http://isisblogs.poly.edu/2008/04/03/rfid-security-mark-your-calendars/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 23:22:29 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[ISIS in the News]]></category>
		<category><![CDATA[Physical Security]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[RFID]]></category>

		<guid isPermaLink="false">http://isisblogs.poly.edu/2008/04/03/rfid-security-mark-your-calendars/</guid>
		<description><![CDATA[ISIS lab alumni, Mike Aiello, will be on CBS National News @ 6pm on Sunday, April 6th talking about RFID security. Mike runs DIFRWear, a company that makes RFID-blocking apparel.
]]></description>
			<content:encoded><![CDATA[<p>ISIS lab alumni, Mike Aiello, will be on CBS National News @ 6pm on Sunday, April 6th talking about <a href="http://tv.boingboing.net/2008/03/19/how-to-hack-an-rfide.html">RFID security</a>. Mike runs <a href="http://www.difrwear.com/">DIFRWear</a>, a company that makes RFID-blocking apparel.</p>
]]></content:encoded>
			<wfw:commentRss>http://isisblogs.poly.edu/2008/04/03/rfid-security-mark-your-calendars/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/us/</creativeCommons:license>
	</item>
		<item>
		<title>Countermeasures to Cold Booting Attacks</title>
		<link>http://isisblogs.poly.edu/2008/02/23/countermeasures-to-cold-booting-attacks/</link>
		<comments>http://isisblogs.poly.edu/2008/02/23/countermeasures-to-cold-booting-attacks/#comments</comments>
		<pubDate>Sun, 24 Feb 2008 00:24:21 +0000</pubDate>
		<dc:creator>dan</dc:creator>
				<category><![CDATA[Crypto]]></category>
		<category><![CDATA[Forensics]]></category>
		<category><![CDATA[Physical Security]]></category>

		<guid isPermaLink="false">http://isisblogs.poly.edu/2008/02/23/countermeasures-to-cold-booting-attacks/</guid>
		<description><![CDATA[There&#8217;s been a bit of a back and forth discussion on one of our mailing lists regarding Ed Felten&#8217;s recent cold-booting attacks on software FDE (BitLocker, FileVault, dm-crypt etc.). I thought it might be worthwhile to collect some of the potential software-only modifications that would protect against his attacks.
 First though, a [paraphrased] summary of [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s been a bit of a back and forth discussion on one of our <a href="https://isis.poly.edu/mailman/listinfo/infosec">mailing lists</a> regarding <a href="http://www.freedom-to-tinker.com/?p=1257">Ed Felten&#8217;s</a> <a href="http://www.youtube.com/watch?v=JDaicPIgn9U">recent</a> <a href="http://blog.wired.com/27bstroke6/2008/02/researchers-dis.html">cold-booting</a> <a href="http://www.schneier.com/blog/archives/2008/02/cold_boot_attac.html">attacks</a> on software FDE (BitLocker, FileVault, dm-crypt etc.). I thought it might be worthwhile to collect some of the potential software-only modifications that would protect against his attacks.</p>
<p><span id="more-61"></span> First though, a [paraphrased] summary of the discussion thus far:</p>
<blockquote><p><em>Dan F</em>: Why not extend the ISA of the CPU to offload crypto operations to an ASIC or a special part of the CPU? To avoid slowing down the CPU you&#8217;d need to widen the issue and decode/dispatch or add another word if it&#8217;s VLIW. Op fusion might come to your rescue in a future ISA, too.</p></blockquote>
<blockquote><p> <em>Mike P</em>: Good thing MacBooks get nice and hot <img src='http://isisblogs.poly.edu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> . Why not add a register for the encryption key that gets wiped with the last bit of power in the CPU?</p></blockquote>
<blockquote><p> <em>Me</em>: Can&#8217;t we just encrypt all of RAM too? Lots of consumer computers have TPMs with crypto-coprocessors already. Wait a minute, we&#8217;d need to shove one on the same bus as the RAM and CPU and where would we store <em>those</em> keys? D&#8217;oh! Oh and Dan F, <a href="http://www.news.com/IBM-bakes-security-into-processors/2100-7355_3-6059276.html">IBM beat you to it</a>.</p></blockquote>
<blockquote><p><em>Dan F</em>: I wonder what affect this has on power consumption and overall throughput?</p></blockquote>
<p>Computer forensics people have been getting physical memory dumps for years and what about malicious root-owned processes? The threat has always been there. Hasn&#8217;t <em>anyone</em> been aware of the threats and developed <em>any</em> countermeasures?</p>
<p>I picked up the <a href="http://www.oreilly.com/catalog/secureprgckbk/">Secure Programming Cookbook</a> to look for answers. Here are excerpts from recipes I found that might be applicable to this debate. Since Ed&#8217;s code reads through memory and tries to pick out things that looks like keys, maybe you can obfuscate them to look like something else?</p>
<p><em>DISCLAIMER: I&#8217;ve never dumped the contents of memory and inspected it, I&#8217;ve never written crypto that handled keys securely, I didn&#8217;t test any of these countermeasures, and so on. This is all baseless conjecture.</em></p>
<blockquote><p>Recipe 4.13 &#8211; Managing Key Material Securely<br />
Securely erase keys are soon as you have finished using them. Use the spc_memzero function from Recipe 13.2 or SecureZeroMemory() if you&#8217;re using a new version of Windows.</p></blockquote>
<blockquote><p>Recipe 12.4 &#8211; Performing Bit and Byte Obfuscation<br />
Use the <a href="http://echelon.pl/pubs/">Obcode library</a> by Pawel Krawcykz. The size of variables are inflated eightfold and the library provides many standard byte and integer operations.</p></blockquote>
<blockquote><p>Recipe 12.6 &#8211; Merging Scalar Variables<br />
Problem: Scalar variables with constant or initialized values disclose information about ranges of values.<br />
Solution: Merge multiple scalar values into a single, larger scalar value to make simple, unrelated values appear to be a large value or bitfield.</p></blockquote>
<blockquote><p>Recipe 12.7 &#8211; Splitting Variables<br />
Problem: Large scalar variables that cannot be merged, or that have large values that cannot easily be manipulated with a constant transform, need to be obfuscated.<br />
Solution: You&#8217;ll have to buy the book, I can&#8217;t explain it <img src='http://isisblogs.poly.edu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> .</p></blockquote>
<blockquote><p>Recipe 12.10 &#8211; Restructuring Arrays</p>
<ul>
<li>Split a one-dimensional array into multiple one-dimensional arrays</li>
<li>Fold a one-dimensional array into a multi-dimensional array</li>
<li>Flatten a multi-dimensional array into a single one-dimensional array</li>
<li>Merge two one-dimensional arrays into a single one-dimensional array</li>
</ul>
</blockquote>
<blockquote><p>Recipe 12.11 &#8211; Hiding Strings<br />
See the book</p></blockquote>
<p>I also read through all of the comments on <a href="http://www.freedom-to-tinker.com/">Freedom to Tinker</a> to look for potential solutions and bring them to light. Here are some of the more interesting comments I found:</p>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382112">Will Michaels said</a>, &#8220;Full Disk Encrypting (FDE) hard drives perform the encryption in hardware directly on the hard drive, using a key that never leaves the drive. Such FDE drives are protected against this attack on off-drive encryption.&#8221;</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382125">Laszlo Hars said</a>, &#8220;&#8230;However, it has been recommended for ages that encryption keys are never stored in RAM. They have to stay in a locked part of the processor cache. It was not because of the chilled-RAM effects, but because of virtual memory (swap file), or hibernation. The OS might write any info from RAM to disk, where an attacker can find it later. It is surprising that BitLocker does not follow this practice. TrueCrypt is known to be weak both in the choice of algorithms and their implementation (an example is their recent choice to implement the IEEE P1619 encryption standard meant for completely different type of applications)&#8230;.&#8221;</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382130">Brad Templeton said</a>, &#8220;Sorry, Ed, Iâ€™ve been hearing about this technique since the 90s. Itâ€™s not new. Rumor is that spooks have been using it for some time. Hereâ€™s an <a href="http://www.madisonlinux.org/pipermail/madlug/2003-October/007264.html">old message board thread</a> a quick Google search found.</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382138">Laszlo Hars said</a>, &#8220;The real issue revealed by the paper is not weaknesses in disk encryption software, but a cheap way to go around DRM, and code privacy. You run the protected code, like a DVD player or a game in one PC, freeze and move the RAM to another machine (can be the same one rebooted to DOS), where you can analyze the memory at your leisure. You can disassemble protected code, find media keys, etc. It is simpler and cheaper than using high speed, logic analyzers on memory lines.&#8221;</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382153">Justin Wells said</a>, &#8220;&#8230;Even were the disk encryption key problem resolved somehow the attacker could still use this technique to recover data the user had thought was secure. Recovering the key simply allows the attacker to recover ALL the data, rather than only the data in RAM&#8230;.&#8221;</p>
<p>and, &#8220;The â€œkey stored in CPUâ€ used to encrypt RAM, or used to encrypt the disk key stored in RAM, need be nothing more than some randomized values in a few registers that are then preserved. All access to the encrypted data would then make use of the randomized values. The randomized memory encryption key stored in the CPU can be recreated on every boot of the systemâ€“there is no need to preserve it over time. Its purpose is simply to make memory unreadable.&#8221;</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382186">Christopher said</a>, &#8220;Youâ€™re right, some common platforms use a hardware assist to look in the page tables. IA-64 can turn off hardware assistance, so that a TLB miss raises an exception rather than turning to the page table-handling hardware, but the vanilla IA-32 needs its page tables loaded in memory, and as you point out, the TLB isnâ€™t designed for recovering values stored in it.</p>
<p>Of course, if weâ€™re talking about IA-64 or x86_64, weâ€™ve got a lot of registers available to us, we might be able to hold four of them aside with a modified compiler, but that also assumes you can ensure these registers wonâ€™t get pushed to the stack on an interrupt request, or cleared by a context change.</p>
<p>OK, registers, TLB, cache. Is there anywhere else a person can find 256 bits of volatile storage on the die of a modern CPU? Hardware performance counters? You can read those, but I donâ€™t know if you can write them, or turn off their updating.</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382244">Anonymous pointed out</a>, &#8220;I saw something similar to this presented at Black Hat DC last year. Except they were semantically rebuilding the memory image to extract the TrueCrypt keys. <a href="http://www.blackhat.com/presentations/bh-dc-07/Walters/Paper/bh-dc-07-Walters-WP.pdf">link</a>&#8220;</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382251">Todd said</a>, &#8220;&#8230;Also no one has mentioned graphics card memory! OUCH! While there may not be tons of useful data there, it is conceivable that a illegitimate user could cull the image(s) of recent used documents&#8230;.&#8221;</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382256">Andreas said</a>, &#8220;Some processor architectures, like the SPARC architecture for example, provide general registers that are not saved onto the stack (e.g. %g1 to %g7 in case of SPARC) and support multiple register sets, including one exclusively for the operating system. On these architectures it would be feasible to keep the key permantly in registers which would never be copied into memory.&#8221;</p></blockquote>
<blockquote><p><a href="http://www.freedom-to-tinker.com/?p=1257#comment-382332">Richard L. Enison claimed</a> to have <a href="http://www.google.com/patents?vid=USPAT4262329">a patent</a> on storing encryption keys in hardware. sigh.</p></blockquote>
<p>You&#8217;re welcome for reading that entire thread for you, and yes, this is how I spend my weekends.</p>
<p>EDIT: I saw that <a href="http://rdist.root.org/2008/02/24/memory-remanence-attack-analysis/">Nate Lawson</a> of <a href="http://www.rootlabs.com/">Root Labs</a> entered the discussion today with a post on his blog. He seems to agree with Dan F that adding crypto the processor is the best long term solution <img src='http://isisblogs.poly.edu/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  but he also suggests things FDE developers can do in the meantime.</p>
]]></content:encoded>
			<wfw:commentRss>http://isisblogs.poly.edu/2008/02/23/countermeasures-to-cold-booting-attacks/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/us/</creativeCommons:license>
	</item>
	</channel>
</rss>
