<?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>Security Musings &#187; cool</title>
	<atom:link href="http://securitymusings.com/article/category/cool/feed" rel="self" type="application/rss+xml" />
	<link>http://securitymusings.com</link>
	<description>Rants and raves from information security professionals</description>
	<lastBuildDate>Wed, 01 Feb 2012 21:41:34 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>How a Platform Using HTML5 Can Affect the Security of Your Website</title>
		<link>http://securitymusings.com/article/3159/how-a-platform-using-html5-can-affect-the-security-of-your-website</link>
		<comments>http://securitymusings.com/article/3159/how-a-platform-using-html5-can-affect-the-security-of-your-website#comments</comments>
		<pubDate>Wed, 01 Feb 2012 19:57:33 +0000</pubDate>
		<dc:creator>Joey Tyson</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[localstorage]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=3159</guid>
		<description><![CDATA[tl;dr Abstract To improve performance, particularly for mobile users, many websites have started caching app logic on client devices via HTML5 local storage. Unfortunately, this can make common injection vulnerabilities even more dangerous, as malicious code can invisibly persist in the cache. Real-world examples of this problem have now been discovered in third-party &#8220;widgets&#8221; embedded [...]]]></description>
			<content:encoded><![CDATA[<h3><span style="font-weight: bold; font-size: 120%">tl;dr Abstract</span></h3>
<p><em>To improve performance, particularly for mobile users, many websites have started caching app logic on client devices via HTML5 local storage. Unfortunately, this can make common injection vulnerabilities even more dangerous, as malicious code can invisibly persist in the cache. Real-world examples of this problem have now been discovered in third-party &#8220;widgets&#8221; embedded across many websites, creating security risks for the companies using such services &#8211; even if their sites are otherwise protected against attacks. Striking a balance between security and performance can be difficult, but certain precautions may help prevent an attacker from exploiting local storage caches.</em></p>
<h3><span style="font-weight: bold; font-size: 120%">Background</span></h3>
<p>Throughout the history of web development, people have found ways to use and abuse various technologies beyond their intended purposes. Before CSS gained widespread support, many developers created complex layouts with HTML tables. Now that browsers provide far more presentation-layer tools, one can recreate complex images using only CSS. Such tricks can at times be very helpful in overcoming the limits of a browser-based environment, but they can also inadvertently create security issues.</p>
<p><span id="more-3159"></span>One feature commonly classified as part of HTML5 is local storage, a method for saving content on a visitor&#8217;s device that offers more space and flexibility than previous options (such as cookies). While intended as a client-side analogue to database storage, local storage has increasingly served another purpose: code caching. If a web app routinely requires large blocks of JavaScript, it can avoid downloading those chunks every time a visitor returns to the app by saving a copy of them in local storage. This can provide a significant performance boost, particularly on mobile devices, where bandwidth and typical caches can be much more limited.</p>
<h3><span style="font-weight: bold; font-size: 120%">Local Storage Attacks</span></h3>
<p>However, this approach opens new possibilities for attacking the app. If the local storage can be compromised, an attacker could inject malicious code that persists in the client-side cache. This payload would then be executed by the web app each time a user opened the site &#8211; even if they&#8217;d previously closed the browser. In fact, eradicating such code can be quite difficult, and the victim website might not even be able to detect an ongoing attack. Artur Janc, a security engineer at Google, outlined these issues in <a href="http://events.ccc.de/congress/2011/Fahrplan/events/4811.en.html">a talk last December</a> (<a href="http://www.youtube.com/watch?v=ppFcSP2HWdE">video</a>) detailing many of the dangerous ramifications they present, but as Janc notes, such an attack was also previously described by <a href="http://www.cs.berkeley.edu/~dawnsong/papers/2010%20emperors%20new%20api.pdf">a paper from researchers at Berkeley</a> (PDF) in May 2010.</p>
<p>Given the restrictions on access to a site&#8217;s local storage, modifying code saved there would nearly always require another vulnerability in the app as an initial attack vector. However, just one entry point for injecting code in a page would be enough to change the cache, and such problems tend to be quite common across the web. Many of these vulnerabilities (described as cross-site scripting, or XSS) are &#8220;reflected&#8221;, in that they only change a particular request for content, but using local storage automatically makes them capable of launching persistent attacks. Essentially, caching code in HTML5 local storage actually makes any existing cross-site scripting vulnerabities more dangerous.</p>
<p>And as influential researcher Michal Zalewski <a href="http://lcamtuf.blogspot.com/2011/10/origin-is-forever.html">also noted a few months before</a> Janc&#8217;s presentation, &#8220;if content from the compromised origin is commonly embedded on third-party pages (think syndicated &#8216;like&#8217; buttons or advertisements), with some luck, attacker&#8217;s JavaScript may become practically invincible&#8221;. In this age of mash-ups, data from a variety of sources are often mixed together, creating implicit trust relationships that may have significant effects on the security of an app. When a developer includes third-party JavaScript on his or her site, that code has the same capabilities as any other script on the page. Of course, modifying a static file on a remote server is generally not possible, even if cross-site scripting issues are present. But what if a third-party script from a site with XSS problems also stored code in local storage?</p>
<h3><span style="font-weight: bold; font-size: 120%">Vulnerabilities in the Wild</span></h3>
<p>As it turns out, this is no longer a hypothetical situation. Apture was a start-up that provided pop-up boxes for exploring content related to highlighted terms in a page. The service garnered praise from various tech media outlets, and the company was bought out by Google a few months ago. Just over a week ago, Google shut down the embedded search functionality, which was still in use by several sites after the acquisition. Apture is one example of a third-party &#8220;widget&#8221; service that used local storage code caching &#8211; and a page on the same domain as those scripts had a reflected XSS vulnerability which could be used to inject malicious code in the cache. This code would then be executed in the context of the site using Apture, meaning the problem with Apture&#8217;s service affected the security of many sites across the web.</p>
<p>And while Apture&#8217;s widgets are now offline, another service still operating on high-profile sites was recently found to have a similar issue (though in this case, scripts were not executed from the original site&#8217;s origin). This problem has been reported and is currently being addressed by the service&#8217;s engineers.</p>
<h3><span style="font-weight: bold; font-size: 120%">Reducing Risk</span></h3>
<p>Ultimately, there isn&#8217;t a simple way of avoiding this type of vulnerability while still getting the performance gains of client-side code caching. Another new HTML feature, application cache, is actually geared towards precisely this use case and would be harder to compromise, but it can create UI warnings in some browsers, such as Firefox. (Such warnings are a good practice, but may be unwanted for third-party widgets.) Ideally, any data in local storage should be treated as untrusted, even if it&#8217;s just content instead of code. But if local storage is used for scripts, it should be accessed from a domain that only serves static files. This will help reduce the likelihood of an XSS vulnerability that would have direct access to local storage, though the overall structure of an app should be taken into account to prevent indirect access as well. Newer browsers also support features such as sandboxed inline frames and Content Security Policy that could help limit the impact of embedded widgets if they became compromised.</p>
<p>I think it&#8217;s important to note that many smart people, including those behind Apture, have used local storage for caching app logic &#8211; even Google and Bing use a similar technique on their mobile sites &#8211; and that in theory, this method should not make a website less secure. And for many web developers, it may not be immediately obvious why local storage data should not be trusted. This is another case where a clever trick that serves its primary goal very well has unintended consequences when considered in a broader context. It&#8217;s also an example of possibly making trade-offs which balance usability with risk. Understanding these conflicts and connections is part of what information security is all about &#8211; and what we do at <a href="http://geminisecurity.com/">Gemini</a> every day. As browser features continue to expand and sites continue to integrate services from other domains, it&#8217;s likely we&#8217;ll see many more examples of security issues evolving in complexity &#8211; and organizations will need to adapt to such changes while still reducing risk.</p>
<p><em>Special thanks to <a href="http://twitter.com/0x6D6172696F">@0x6D6172696F</a>, <a href="http://twitter.com/lcamtuf">@lcamtuf</a>, <a href="http://twitter.com/thekos">@theKos</a>, and <a href="http://twitter.com/kkotowicz">@kkotowicz</a> for their help with this research!</em></p>
<h3><span style="font-weight: bold; font-size: 120%">Technical Details</span></h3>
<p>For a site to use Apture widgets, the owner included a bit of JavaScript on their pages:</p>
<pre class="brush:js">&lt;script id="aptureScript"&gt;
(function (){var a=document.createElement("script");a.defer="true";
a.src="http://www.apture.com/js/apture.js?siteToken=XXXXXXX";
document.getElementsByTagName("head")[0].appendChild(a);})();
&lt;/script&gt;</pre>
<p>This dynamically loaded an external script hosted on apture.com with a site token specified. The external script included various parameters, such as title, logo, and search URLs that are associated with the account identified by the token. This code then loaded another script based on the user&#8217;s browser which actually began setting up the framework for Apture to integrate with the site&#8217;s content.</p>
<p>For browsers that support it, HTML5 cross-document messaging then came into play. The Apture script inserted an inline frame into the page that loaded a file from cdn.apture.com. A callback function allowed this iframe to pass messages back to the original window context where the script is running (the non-Apture site). This iframe then loaded the actual app logic and passed the code back to the original site via the cross-document messaging interface.</p>
<p>At this point, you&#8217;re probably wondering why Apture didn&#8217;t simply load the app logic as another script in the original page; in fact, that&#8217;s precisely what Apture did if the browser didn&#8217;t support newer HTML5 features. But Apture&#8217;s iframe setup allowed them to take advantage of another HTML5 innovation that made their service load much faster. Web storage functionality provides the localStorage object, a place to save key/value data on the client which allows for more space and flexibility than cookies. This storage is persistent across browser sessions, but is specific to each domain and access to it is restricted by a same-origin policy.</p>
<p>Apture used a localStorage object for cdn.apture.com not only to save data, such as an ID for tracking users, but to actually cache their app logic code. If the cdn.apture.com iframe detected that this cache already existed, it would simply load the code from localStorage rather than issue another HTTP request for the 272KB worth of JavaScript &#8211; saving time and bandwidth. Apture introduced this functionality in January 2011.</p>
<p>But how does one load code from localStorage? For Apture, with this line in the cross-domain callback function:</p>
<pre class="brush:js">window.execScript ? window.execScript(f) : window.eval(f);</pre>
<p>Seeing code such as this should immediately raise red flags in the mind of any web developer. Those familiar with browser security may have heard the adage that &#8220;eval is evil&#8221;, and it certainly applies here. The eval function (or the analogous execScript function also seen above) treats its input as valid JavaScript and simply executes it in the current window&#8217;s global context. If an attacker can send malicious code to the function, that code will also be executed &#8211; a class of vulnerabilities known as cross-site scripting (XSS).</p>
<p>In Apture&#8217;s case, though, the code came from the cdn.apture.com storage, so one might assume it can be trusted &#8211; in theory, only pages from cdn.apture.com can modify the localStorage cache. But once again, the power of cross-site scripting demonstrates that many seemingly trustworthy data sources are still potential avenues of attack. The presence of any XSS on a cdn.apture.com page, including reflected XSS, would allow an attacker to execute code in that domain&#8217;s context and thus modify the localStorage object.</p>
<p>As it turns out, Apture did have an exploitable XSS vulnerability. The cdn.apture.com domain actually mirrored www.apture.com, including a topic page that loaded a topic title from the URL path and a YouTube video ID from a GET parameter. Both of these values were included in the page without being escaped to prevent XSS. This example URL includes a script that appends &#8220;alert(document.cookie)&#8221; to the app logic in localStorage:</p>
<pre>http://cdn.apture.com/search/xss?yt=%22%3E%3Cscript%3Eif%28
window.x%21%3D1%29%7BlocalStorage%5B%27app-49971756%27%5D
%3DlocalStorage%5B%27app-49971756%27%5D%2b%22alert%28
document.cookie%29%3B%22%7Dwindow.x%3D1%3C%2fscript%3E</pre>
<p>The window.x logic ensures that the code only executes once, since the parameter appears in the topic page multiple times. In an actual attack, more code would likely be needed, as the specific localStorage key includes a version number that could change depending on the user. This does not stop the attack, however, as the correct version can be loaded by the script before making changes to localStorage.</p>
<p>Once this vulnerability is used to insert attack code into localStorage (e.g. if the above URL were loaded in an invisible iframe on an attacker&#8217;s site), visiting any site that had Apture&#8217;s widgets would cause the attack code to be loaded from the Apture iframe and executed in the context of the non-Apture site. And since this is essentially an example of DOM-based XSS (the code is loaded dynamically on the client side), requests sent to those sites&#8217; servers would not include any XSS fingerprints, such as &lt;script&gt; in a GET or POST parameter. In summary, the localStorage code caching turned one reflected XSS vulnerability on Apture&#8217;s site into persistent, client-side XSS across all domains using their service.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=How+a+Platform+Using+HTML5+Can+Affect+the+Security+of+Your+Website+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D3159" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/3159/how-a-platform-using-html5-can-affect-the-security-of-your-website&amp;t=How+a+Platform+Using+HTML5+Can+Affect+the+Security+of+Your+Website" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/3159/how-a-platform-using-html5-can-affect-the-security-of-your-website/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Can Client-Side JavaScript Protect Itself?</title>
		<link>http://securitymusings.com/article/3066/can-client-side-javascript-protect-itself</link>
		<comments>http://securitymusings.com/article/3066/can-client-side-javascript-protect-itself#comments</comments>
		<pubDate>Fri, 14 Oct 2011 03:59:58 +0000</pubDate>
		<dc:creator>Joey Tyson</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Technology & Tool Thursday]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=3066</guid>
		<description><![CDATA[Security researcher Mario Heiderich (also creator of the HTML5 Security Cheatsheet and lead developer for PHPIDS) has been posting some interesting cross-site scripting challenges lately that highlight aspects of security on the client side. The most recent, called XSSMe², involved a page with a reflected XSS vulnerability that allowed one to insert arbitrary HTML &#8211; no [...]]]></description>
			<content:encoded><![CDATA[<p>Security researcher <a href="http://heideri.ch/">Mario Heiderich</a> (also creator of the <a href="http://html5sec.org/">HTML5 Security Cheatsheet</a> and lead developer for <a href="https://phpids.org/">PHPIDS</a>) has been posting some interesting cross-site scripting challenges lately that highlight aspects of security on the client side. The most recent, called XSSMe², involved a page with a reflected XSS vulnerability that allowed one to insert arbitrary HTML &#8211; no filters applied by the server. The goal? Retrieve a particular bit of data, originally stored in document.cookie, without any user interaction. I say &#8220;originally,&#8221; because the page included JavaScript which attempted to lock down access to the data by removing it from document.cookie and hiding it unless retrieved by a user click. The code used evolved as bypasses were found, with several tricks employed along the way.</p>
<p>One trick was to hide the variable in a closure. In JavaScript, every function has its own local scope. If you define a variable within a function block, that variable is distinct from one defined in the global scope. In a way, the variable is hidden from code executed in the global scope, though the function can provide a gatekeeper method to access it. Consider this block of code:</p>
<pre class="brush:js">document.cookie = "secret";

var Safe = function() {
    var cookie = document.cookie;
    this.get = function(magicWord) {
        if (magicWord === "please") {
            return cookie;
        }
        return null;
    }
}
window.Safe = new Safe();

document.cookie = "";

alert(document.cookie);
alert(Safe.get(""));
alert(Safe.get("please"));</pre>
<p>The first alert returns nothing &#8211; document.cookie has been set to an empty string. The second alert only returns null, given the if statement in the definition of Safe.get. But with the third alert, the statement <code>return cookie</code> gets executed &#8211; and that statement is in the local scope of the function, so it returns the cookie variable defined in that scope, which is &#8220;secret&#8221;. This is the concept of a closure &#8211; the local variable of the function lives on as it was defined in that context.</p>
<p>Initially, this may seem to be a good defense against cross-site scripting, since the power of XSS comes from all a page&#8217;s scripts executing in the same scope. But as entries in the challenge demonstrated, a script has many resources for attacking itself. For instance, the challenge included code that checked whether a function requesting the secret variable was a mouse click event initiated by the user. That last bit came from checking the isTrusted property on the event, which should tell you whether the click came from a script or from the user.</p>
<p>But in JavaScript, new objects are created by cloning a model object called a prototype. If you change a particular prototype, any new variety of that object will inherit the changes you made. In this case, changing the isTrusted property of a mouse event&#8217;s prototype to always be true meant any spoofed clicks generated automatically by a script would fool the protective code and retrieve the secret value.</p>
<p>With each new bypass, Mario updated the code with new protections to block them. Eventually, he created a Firefox-specific version that essentially rewrote the entire page to get rid of the original Document Object Model and all its loopholes. If you&#8217;re interested in reading more about other bypass techniques and the challenge&#8217;s implications for client-side filtering, researcher Krzysztof Kotowicz has <a href="http://blog.kotowicz.net/2011/10/sad-state-of-dom-security-or-how-we-all.html">an excellent write-up</a> that covers more details. But the challenge is also worth studying as a way of understanding more about web scripting and XSS. I certainly learned more about closures and event spoofing by tackling the puzzle, and it helps illustrate the difficulties of trying to protect against code running in the same origin and same scope. We may be moving towards DOM features that provide enough security to block even client-side attacks, but for right now, any untrusted script has myriad ways of overcoming client-side protections.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Can+Client-Side+JavaScript+Protect+Itself%3F+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D3066" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/3066/can-client-side-javascript-protect-itself&amp;t=Can+Client-Side+JavaScript+Protect+Itself%3F" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/3066/can-client-side-javascript-protect-itself/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Apricorn Aegis Padlock Review</title>
		<link>http://securitymusings.com/article/2937/apricorn-aegis-padlock-review</link>
		<comments>http://securitymusings.com/article/2937/apricorn-aegis-padlock-review#comments</comments>
		<pubDate>Mon, 15 Aug 2011 12:46:48 +0000</pubDate>
		<dc:creator>Laura Raderman</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[data protection]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2937</guid>
		<description><![CDATA[Disclaimer: I requested and received an evaluation version of the Apricorn Aegis Padlock. I was sent the 250GB AES-256 version, and I need to return it to the company in 30 days. This is a pretty sweet hard drive, but there are a few annoyances that I think can be improved upon. I was unable [...]]]></description>
			<content:encoded><![CDATA[<p>Disclaimer: I requested and received an evaluation version of the <a href="http://www.apricorn.com/products/hardware-encrypted-drives/apricorn-padlock-256-bit-aes-encrypted-usb-drive.html">Apricorn Aegis Padlock</a>. I was sent the 250GB AES-256 version, and I need to return it to the company in 30 days.</p>
<p>This is a pretty sweet hard drive, but there are a few annoyances that I think can be improved upon. I was unable to test a few things just due to the time I could devote to this, the fact that I need to return the drive in working condition, and that I don&#8217;t have access to some specialized hardware to test timing attacks.</p>
<p>The drive is FIPS 197 validated &#8211; aka, uses AES according to NIST.</p>
<p>You can check out Apricorn&#8217;s site for the specs and details, but what you see on the product site is pretty much what you get. The drive draws power from your USB port, so you&#8217;ll need a powered port. The drive came with an adapter (1 USB to 2 USB) if one of your USB ports doesn&#8217;t provide enough power. I had no issues with power on my MacBook Air, but I did on my office desktop since all USB ports were already taken &#8211; easily solved with a powered USB hub.</p>
<p><strong><span id="more-2937"></span></strong>The drive comes formatted for Windows, but my mac helpfully formatted it for me once I said &#8220;yes&#8221; to &#8220;Use this as a Time Machine drive?&#8221; The quick start sheet in the box also provides Mac formatting instructions. The actual manual is already on the drive, and my mac helpfully erased it for me during formatting. However, the &#8220;Support&#8221; section of the website has the full manual available for download. At first, you really want to have the full manual available (and not on the drive).</p>
<p>The drive has the capability to have an administrator PIN and up to 9 &#8220;user&#8221; PINs. Knowledge of the admin PIN can wipe the user PINs, but not change them &#8211; only users can change their PINs. The different PINs do not allow access to different parts of the drive. All PINs have access to the entire drive. PINs can be anywhere between 6 and 16 digits, the default admin PIN is 123456 and there are no user PINs. There is &#8220;drive wipe&#8221; protection, but it&#8217;s pretty lame, and wouldn&#8217;t meet most corporate policies (complaint #1). After 6 invalid PIN attempts, the drive needs to be unplugged before you can try 6 more attempts. Once you&#8217;ve gotten to 50 attempts, you have to type in a (hardcoded) PIN to try 50 more times (you still have to unplug every 6 tries). Only after 100 total attempts will the drive &#8220;wipe&#8221; itself. Given how long the wipe took during this testing, it&#8217;s probably only wiping the keys, not the whole drive (but the manual doesn&#8217;t say this is the case). While annoying, certainly not insurmountable for someone who&#8217;s really determined, but a brute force for a 6 digit PIN (the minimum) is 10^6 &#8211; well over 100, so unless the attacker has some prior knowledge, the drive will likely wipe first.</p>
<p>Basic operation is plug in drive, enter a valid PIN (user or admin) and the drive mounts &#8211; decrypted. When you&#8217;re done, unmount the drive from your OS, and unplug the drive. Until you unplug the drive, the data is still decrypted (complaint #2).</p>
<p>The administrative &#8220;interface&#8221; works, but it&#8217;s pretty complicated &#8211; hence my suggestion to keep the manual handy until you&#8217;ve got the hang of it. All commands are sent using a keypress combination or sequence. Granted, the primary interface is a keypad with a &#8220;cancel&#8221; and a lock icon in addition to the 10 digits, and you&#8217;re limited a bit. I had some trouble creating user PINs, but it seemed intermittent, so I blame it on user error instead of anything the drive did (or didn&#8217;t do).</p>
<p>If you forget your PINs, you&#8217;re SOL (which is as it should be &#8211; in most cases). You can reset the drive back to factory settings &#8211; again, the &#8220;wipe&#8221; is just a wipe of the keys and partition table based on the time it took. This is great for most uses, but I can see corporate folks leery about this because if a user forgets their PIN (or tries to reset their drive themselves), the company&#8217;s just lost a lot of data. The admin PIN is supposed to protect against that and as long as help desk/etc. keep that PIN, they&#8217;re safe from all but others resetting the drive.</p>
<p>The keypad is supposed to be wear resistant &#8211; but in the two weeks I had the drive, I can&#8217;t test that, but it feels sturdy, and the digits seem to be embedded in the rubbery keys.</p>
<p>The casing appears sturdy and no obvious screws (they&#8217;re probably under the rubber feet), but since I have to return it in working condition, I didn&#8217;t try too hard to break the case. There is no special padding or ruggedness to the case that you wouldn&#8217;t see in an unencrypted external drive case. However, the product page claims some protection from drops (I&#8217;ve found that most external drives can handle a small drop).</p>
<p>There&#8217;s also VTC (Variable Time Circuit) technology, which I&#8217;ve never heard of, but apparently helps to thwart timing attacks &#8211; again, not something I can test, because I don&#8217;t have the equipment (or time).</p>
<p>It&#8217;s pretty easy to use, and I used it almost daily for two weeks &#8211; mostly for play, since I don&#8217;t have a real need for external drives (except Time Machine). The drive is on my wish list, but until I get my house sold, we&#8217;re on a spending moratorium at home. It&#8217;s really not that expensive relative to unencrypted drives &#8211; the AES-256 250GB drive is listed at $109. There&#8217;s a 3 year warranty on the drive, which covers the drive and the casing.</p>
<p>The drive&#8217;s a bit slower than your typical external drive, but I expected that. An initial Time Machine backup of 198GB took 4.5 hours. I was using the computer while it was backing up, so that could have impacted the performance. For most uses, you won&#8217;t notice much of a difference &#8211; unless you&#8217;re moving a *lot* of data that has to be encrypted on the drive.</p>
<p>There are a few annoyances, but they&#8217;re really just annoyances.</p>
<p>1: Having to unplug the drive to lock it. There&#8217;s already a cancel button, why not use that for a &#8220;lock&#8221; button. As long as the drive is receiving power &#8211; say, while the computer has the screensaver turned on, the drive remains decrypted. Now, someone can&#8217;t easily read the drive if the screen is locked, but if someone doesn&#8217;t lock their screen? It&#8217;s available. There&#8217;s also no &#8220;timeout&#8221;. I can see why &#8211; as long as the OS has the drive mounted, it could be in use. I wonder if it&#8217;s possible for the drive to detect that it&#8217;s been unmounted and lock itself after a pre-determined time.</p>
<p>2: It&#8217;d be nice to have a configurable wipe after X attempts capability &#8211; or at least wipe after 10-15 attempts, which would cover most corporate policies.</p>
<p>3: I would love to see a Kensington style laptop lock on the drive case. The data may be protected if someone steals the drive, but it&#8217;s annoying. As I can see this drive going along to the library/coffee shop/etc. with the laptop, it&#8217;d be nice if there were some physical way to lock the drive either to the table or to the laptop. You should never leave your laptop/data/&#8221;stuff&#8221; unattended in public places, but a lot of people do it.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Apricorn+Aegis+Padlock+Review+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2937" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2937/apricorn-aegis-padlock-review&amp;t=Apricorn+Aegis+Padlock+Review" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2937/apricorn-aegis-padlock-review/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Crockford&#8217;s History of JavaScript</title>
		<link>http://securitymusings.com/article/2880/crockfords-history-of-javascript</link>
		<comments>http://securitymusings.com/article/2880/crockfords-history-of-javascript#comments</comments>
		<pubDate>Tue, 28 Jun 2011 18:56:54 +0000</pubDate>
		<dc:creator>Joey Tyson</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Tutorial Tuesday]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2880</guid>
		<description><![CDATA[Ever wonder about how we came to have the technologies and programming languages used today? Yahoo&#8217;s senior JavaScript architect Douglas Crockford gave a presentation in early 2010 that traces the developments which brought us the beloved and hated language that powers client-side web behaviors. The video is nearly two hours and only the first in [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wonder about how we came to have the technologies and programming languages used today? Yahoo&#8217;s senior JavaScript architect Douglas Crockford gave a presentation in early 2010 that traces the developments which brought us the beloved and hated language that powers client-side web behaviors. The video is nearly two hours and only the first in a series on JavaScript, but Crockford relates many interesting stories about the history of computing and notes patterns in how technology tends to develop. Check it out if you want to learn more about the background of that quirky yet powerful bit of tech we call JavaScript:</p>
<p><a href="http://developer.yahoo.com/yui/theater/video.php?v=crockonjs-1">Crockford on JavaScript: The Early Years</a></p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Crockford%E2%80%99s+History+of+JavaScript+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2880" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2880/crockfords-history-of-javascript&amp;t=Crockford%E2%80%99s+History+of+JavaScript" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2880/crockfords-history-of-javascript/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Product Review: The hiddn Crypto Adapter Offers Secure USB Storage</title>
		<link>http://securitymusings.com/article/2802/product-review-the-hiddn-crypto-adapter-offers-secure-usb-storage</link>
		<comments>http://securitymusings.com/article/2802/product-review-the-hiddn-crypto-adapter-offers-secure-usb-storage#comments</comments>
		<pubDate>Thu, 02 Jun 2011 16:30:38 +0000</pubDate>
		<dc:creator>Joey Tyson</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[data protection]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[Technology & Tool Thursday]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2802</guid>
		<description><![CDATA[Recently I had the chance to test out a clever little device called the hiddn Crypto Adapter. Made by Norway-based High Density Devices, the adapter looks somewhat like a miniature desk calculator with a USB port instead of a display, but its simple appearance belies some powerful functionality: transparent, real-time encryption of USB drives with [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I had the chance to test out a clever little device called the <a href="http://www.hdd.no/ca/">hiddn Crypto Adapter</a>. Made by Norway-based <a href="http://www.hdd.no/">High Density Devices</a>, the adapter looks somewhat like a miniature desk calculator with a USB port instead of a display, but its simple appearance belies some powerful functionality: transparent, real-time encryption of USB drives with two-factor authentication.</p>
<p>The adapter essentially acts as a proxy between your computer and a USB drive, meaning it needs no software, has no operating system requirement, and works with everything from a flash memory stick to an external hard drive. All communication with the USB device is encrypted on the fly using 256-bit AES via a certified FIPS 140-2 Level 3 crypto module, but the key isn’t stored on the drive: at the front of the hiddn adapter is a smart card slot.</p>
<p>When you insert a smart card, you have to enter the corresponding PIN code to use it. (After three unsuccessful attempts, the card becomes locked until a longer PUK code is given.) The device does not appear as an active USB device in the OS until a card is verified, and becomes “unplugged” when the card is removed. The encryption key (or half of it in split-key mode) stays on the smart card, making an encrypted drive unusable without it.</p>
<p>Setting up and operating the hiddn system is very straightforward. You connect it to your computer with a USB cable, plug a drive into the top USB port, insert your smart card, and then enter your PIN. From there, the experience is no different than using a USB drive normally – there’s not even a difference in speed.</p>
<p>When I first connected an unencrypted drive on a Windows machine, it appeared as an unformatted drive. After formatting, it behaved just as it would when plugged in directly. (A few times I had to reconnect the adapter to get Windows to recognize a new drive if I didn’t “eject” the drive first or tried a bad PIN, but those were minor issues.) Trying to use the drive without the hiddn adapter after it had been encrypted brought up another prompt to format – Windows could tell there was a volume, but it was completely unreadable.</p>
<p>After using the hiddn Crypto Adapter for a short time, I started wondering why no one else had thought of it before – or at least why I’d never heard of it before. It’s a great tool for anyone wanting a no-hassle method to encrypt removable storage. The only potential drawback is pricing; two adapters and two sets of pre-configured smart cards can run almost $900. High Density Devices offers a few different packages of units and cards, ranging from one of each to ten, as well as an enterprise key management system for creating new cards. But while some users may find hiddn too expensive for personal use, its flexibility, ease-of-use, and high security make for a combination that’s hard to beat.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Product+Review%3A+The+hiddn+Crypto+Adapter+Offers+Secure+USB+Storage+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2802" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2802/product-review-the-hiddn-crypto-adapter-offers-secure-usb-storage&amp;t=Product+Review%3A+The+hiddn+Crypto+Adapter+Offers+Secure+USB+Storage" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2802/product-review-the-hiddn-crypto-adapter-offers-secure-usb-storage/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Cloud of Suspicion&#8230;</title>
		<link>http://securitymusings.com/article/2761/a-cloud-of-suspicion</link>
		<comments>http://securitymusings.com/article/2761/a-cloud-of-suspicion#comments</comments>
		<pubDate>Wed, 11 May 2011 04:41:18 +0000</pubDate>
		<dc:creator>Nick Staples</dc:creator>
				<category><![CDATA[cool]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2761</guid>
		<description><![CDATA[It may be true that cloud computing services are permeating nearly every facet of our networked world; but in the process of sharing our data with the companies that provide these resources, what do we do about the trust issue? Data in the cloud is vulnerable unless it&#8217;s protected somehow. And if this protection isn&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>It may be true that cloud computing services are permeating nearly every facet of our networked world; but in the process of sharing our data with the companies that provide these resources, what do we do about the trust issue? Data in the cloud is vulnerable unless it&#8217;s protected somehow. And if this protection isn&#8217;t implemented, then the whole service becomes less useful for those people who require it. </p>
<p>Not all services are affected equally, however; and some are not affected much at all. For example, protecting certain data fields stored in a distributed online database may be as common-practice as using strong encryption. However, more delicate services may not be as flexible&#8230;</p>
<p>How do you force the image data stored on a cloud image editor to be encrypted at their end? Or force a word processor to encrypt your latest holiday shopping list? Without the assistance of the service providers, the only solution is a customized technical workaround; colloquially known as a hack.</p>
<p>An example of precisely this kind of workaround was outlined in this paper (<a href="http://www.cs.virginia.edu/evans/pubs/securedocs2011/securedocs-packaged.pdf">pdf</a>) by Yan Huang and David Evans. In it, they describe a method (and a working <a href="http://www.mightbeevil.com/securedocs/">example</a>) by which a user can use Google Docs while maintaining both confidentiality and integrity. </p>
<p>It works by way of some very clever applications of incremental encryption, data structuring, and indexing to transparently handle all of the security operations. And although it interferes with some functional capabilities, it stands as an example of the kind of solutions needed to shine some light on the shady parts of the cloud.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=A+Cloud+of+Suspicion%E2%80%A6+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2761" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2761/a-cloud-of-suspicion&amp;t=A+Cloud+of+Suspicion%E2%80%A6" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2761/a-cloud-of-suspicion/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Now Offering Bounties for Web App Bugs</title>
		<link>http://securitymusings.com/article/2250/google-now-offering-bounties-for-web-app-bugs</link>
		<comments>http://securitymusings.com/article/2250/google-now-offering-bounties-for-web-app-bugs#comments</comments>
		<pubDate>Fri, 05 Nov 2010 17:30:10 +0000</pubDate>
		<dc:creator>Joey Tyson</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[hacking]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2250</guid>
		<description><![CDATA[Back in January, Google announced they would pay between $500 and $1,337 for bugs in their Chromium web browser code, if the discoverer first reported it privately to them and followed certain conditions. Since then, the company has handed out quite a few bounties to security researchers who found problems. Now, Google has expanded the [...]]]></description>
			<content:encoded><![CDATA[<p>Back in January, Google announced they would pay between $500 and $1,337 for bugs in their Chromium web browser code, if the discoverer first reported it privately to them and followed certain conditions. Since then, the company has handed out <a href="http://dev.chromium.org/Home/chromium-security/hall-of-fame">quite a few</a> bounties to security researchers who found problems.</p>
<p>Now, Google has expanded the program by offering <a href="http://googleonlinesecurity.blogspot.com/2010/11/rewarding-web-application-security.html">similar bounties</a> for vulnerabilities in their web-based applications. Hackers who find issues such as HTML injection or cross-site request forgery in important Google services can now report them and possibly qualify for rewards ranging from $500 to $3,133.70. As with the Chromium bounties, bug hunters have to follow a few rules and conditions, such as giving Google some time to fix the issue before public disclosure.</p>
<p>Given the success of the Chromium bounties, it&#8217;s likely this new experiment will be beneficial both for security researchers and Google&#8217;s users. It certainly adds an interesting new twist to the debate over how to handle outside bug discoveries &#8211; perhaps we&#8217;ll see more companies offering such compensation in the future.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Google+Now+Offering+Bounties+for+Web+App+Bugs+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2250" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2250/google-now-offering-bounties-for-web-app-bugs&amp;t=Google+Now+Offering+Bounties+for+Web+App+Bugs" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2250/google-now-offering-bounties-for-web-app-bugs/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Firesheep on a Mac running FileVault</title>
		<link>http://securitymusings.com/article/2240/firesheep-on-a-mac-running-filevault</link>
		<comments>http://securitymusings.com/article/2240/firesheep-on-a-mac-running-filevault#comments</comments>
		<pubDate>Wed, 03 Nov 2010 19:40:05 +0000</pubDate>
		<dc:creator>Peter Hesse</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[hacking]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2240</guid>
		<description><![CDATA[You may have seen Ben&#8217;s post earlier this week on Firesheep. I am running a Mac and I use FileVault, as I recommend most people do in order to protect their sensitive files.  Unfortunately the current release of Firesheep does not support FileVault.  That didn&#8217;t stop me, here is what you need to get Firesheep [...]]]></description>
			<content:encoded><![CDATA[<p>You may have seen <a href="http://securitymusings.com/article/2220/firesheep-sidejacking-made-painfully-simple">Ben&#8217;s post earlier this week on Firesheep</a>. I am running a Mac and I use FileVault, as I recommend most people do in order to protect their sensitive files.  Unfortunately the current release of Firesheep <a href="http://codebutler.com/firesheep-a-day-later">does not support FileVault</a>.  That didn&#8217;t stop me, here is what you need to get Firesheep running on Firefox 3.6.x on a Mac running FileVault from start to finish.</p>
<ol>
<li>Download the Firesheep .xpi file <a href="http://codebutler.github.com/firesheep">here</a>.</li>
<li>Drag the .xpi file into your Firefox browser window to install it, then quit Firefox.</li>
<li>Move the extension folder from your user account to the application folder.  The <strong>/Users/[<em>youraccount</em>]/Library/Application Support/Firefox/Profiles/[<em>yourprofile</em>]/extensions/firesheep@codebutler.com</strong> folder should be <span style="text-decoration: underline;">moved</span> into the <strong>/Applications/Firefox.app/Contents/MacOS/extensions</strong> folder.</li>
<li>Relaunch Firefox, and you should be good to go.  If you receive an error related to &#8220;&#8211;fix-permissions&#8221;, make sure you moved the folder (and didn&#8217;t copy it), and if it still didn&#8217;t work try running once as root (<em>sudo /Applications/Firefox.app/Contents/MacOS/firefox-bin</em>).</li>
</ol>
<p>Enjoy. Use responsibly. And encourage your local coffee shop owner to turn on WPA2 to limit its usefulness.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Firesheep+on+a+Mac+running+FileVault+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2240" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2240/firesheep-on-a-mac-running-filevault&amp;t=Firesheep+on+a+Mac+running+FileVault" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2240/firesheep-on-a-mac-running-filevault/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Technical Look at Cryptography</title>
		<link>http://securitymusings.com/article/2232/a-technical-look-at-cryptography</link>
		<comments>http://securitymusings.com/article/2232/a-technical-look-at-cryptography#comments</comments>
		<pubDate>Wed, 03 Nov 2010 01:24:12 +0000</pubDate>
		<dc:creator>Nick Staples</dc:creator>
				<category><![CDATA[cool]]></category>
		<category><![CDATA[general]]></category>
		<category><![CDATA[Tutorial Tuesday]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2232</guid>
		<description><![CDATA[Here at Security Musings, we occasionally discuss some fairly technical topics. Like most speciallized subjects, there is a plethora of disorganized information, and occasional spatterings of highly organized resources on the Internet that help widen one&#8217;s knowledge and expertise in any given area. One such spattering I recently came across is the online version of [...]]]></description>
			<content:encoded><![CDATA[<p>Here at Security Musings, we occasionally discuss some fairly technical topics. Like most speciallized subjects, there is a plethora of disorganized information, and occasional spatterings of highly organized resources on the Internet that help widen one&#8217;s knowledge and expertise in any given area.</p>
<p>One such spattering I recently came across is the online version of the <u>Handbook of Applied Cryptography</u> (not to be confused with the other book of similar appellation that is more-frequently used in college classes around the country).</p>
<p>Although it can get pretty nitty gritty at times with regard to the math and science involved in cryptography, sometimes that is exactly what you need to get the full picture and/or fill in the blanks that other resources gloss over in the interest of comprehensibility.</p>
<p>And best of all, the publishing company has released the chapters for free electronic distribution: <a href="http://www.cacr.math.uwaterloo.ca/hac/">http://www.cacr.math.uwaterloo.ca/hac/</a></p>
<p>Keep in mind, the last printing was in 2001, so some of the information may be a little aged. But if you&#8217;ve ever read any of our posts regarding <a href="http://securitymusings.com/article/504/pki-part-i-public-key-cryptography">public key encryption</a> (Ch. 8, <a href="http://www.cacr.math.uwaterloo.ca/hac/about/chap8.pdf">pdf</a>), <a href="http://securitymusings.com/article/1703/return-of-the-mac">hash functions</a> (Ch. 9, <a href="http://www.cacr.math.uwaterloo.ca/hac/about/chap9.pdf">pdf</a>), or <a href="http://securitymusings.com/article/2090/pdf-signature-vulnerability-found-kind-of">digital signatures</a> (Ch. 11, <a href="http://www.cacr.math.uwaterloo.ca/hac/about/chap11.pdf">pdf</a>), and wish we went a little further with the technical details, this just might satiate your thirst for knowledge.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=A+Technical+Look+at+Cryptography+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2232" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2232/a-technical-look-at-cryptography&amp;t=A+Technical+Look+at+Cryptography" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2232/a-technical-look-at-cryptography/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Notes from The Next HOPE</title>
		<link>http://securitymusings.com/article/2036/notes-from-the-next-hope</link>
		<comments>http://securitymusings.com/article/2036/notes-from-the-next-hope#comments</comments>
		<pubDate>Mon, 19 Jul 2010 18:11:12 +0000</pubDate>
		<dc:creator>Laura Raderman</dc:creator>
				<category><![CDATA[cool]]></category>

		<guid isPermaLink="false">http://securitymusings.com/?p=2036</guid>
		<description><![CDATA[HOPE was this weekend at the Hotel Penn in New York City. Except for the choice of venues, it&#8217;s a pretty nice (and cheap) conference to get to. I went to several of the talks, although, not all of them would be interesting to purely security people &#8211; like cooking for geeks&#8230; The talks I [...]]]></description>
			<content:encoded><![CDATA[<p>HOPE was this weekend at the Hotel Penn in New York City.  Except for the choice of venues, it&#8217;s a pretty nice (and cheap) conference to get to.  I went to several of the talks, although, not all of them would be interesting to purely security people &#8211; like cooking for geeks&#8230;  The talks I did attend were interesting, if not ground breaking.  HOPE isn&#8217;t generally where people release new code, tools or exploits &#8211; that&#8217;s Black Hat and Defcon in two weeks, but there tend to be more talks about hacker culture and privacy.  The one talk I skipped that I would have liked to go to was the Social Engineering talk &#8211; at 9pm on a Saturday (I was already half asleep).  I heard that they tried to social engineer a BP gas station, with some success. </p>
<p>I also hit up the talk on the American Bombe &#8211; yes, we had a few &#8211; a well researched and interesting discussion on how the US got started on that project and some of the stumbling blocks along the way.  I also went to the HTTPS discussion, but it rehashed old SSL vulnerabilities and issues with the default CAs trusted in the browsers.  One of the better talks I went to was the Locational Privacy and Wholesale Surveillance via Photo services talk by Ben Jackson.  He discussed using the EXIF GPS data to stalk people.  I promptly told my iPhone that the Camera app was not allowed to use location services.</p>
<p>For me, HOPE is more about the hallway track and meeting people and learning new things on the mezzanine level. This year, the lockpick village was so small that no one could fit in, so I didn&#8217;t stop by there &#8211; even if I did take my picks.  There were more vendors on the M level as well, mostly books, with very little electronics as there have been in years past.</p>
<p>This year, I borrowed a friend&#8217;s ham radio and used my license for the first time in 10 years to get an N2H QSL card &#8211; along with my friend and several others.  Just listening to the hams talk from N2H was interesting as well.</p>
<div class="tweetthis" style="text-align:left;"><p> <a class="tt" href="http://twitter.com/intent/tweet?text=Notes+from+The+Next+HOPE+http%3A%2F%2Fsecuritymusings.com%2F%3Fp%3D2036" title="Post to Twitter"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/twitter/tt-twitter2.png" alt="Post to Twitter" /></a> <a class="tt" href="http://www.facebook.com/share.php?u=http://securitymusings.com/article/2036/notes-from-the-next-hope&amp;t=Notes+from+The+Next+HOPE" title="Post to Facebook"><img class="nothumb" src="http://securitymusings.com/wp-content/plugins/tweet-this/icons/en/facebook/tt-facebook.png" alt="Post to Facebook" /></a></p></div>]]></content:encoded>
			<wfw:commentRss>http://securitymusings.com/article/2036/notes-from-the-next-hope/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

