<?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>Tyler Oderkirk&#039;s Blog &#187; Footnotes</title>
	<atom:link href="http://unsyncopated.com/blog/index.php/category/plugins-used/footnotes/feed/" rel="self" type="application/rss+xml" />
	<link>http://unsyncopated.com/blog</link>
	<description>&#34;Scared money don&#039;t[sic] make money&#34;</description>
	<lastBuildDate>Thu, 27 Jan 2011 05:02:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>libhasp: Repurposing a copy-protection dongle for general-purpose data storage</title>
		<link>http://unsyncopated.com/blog/index.php/2010/03/12/libhasp-repurposing-a-copy-protection-dongle-for-general-purpose-data-storage/</link>
		<comments>http://unsyncopated.com/blog/index.php/2010/03/12/libhasp-repurposing-a-copy-protection-dongle-for-general-purpose-data-storage/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 15:07:29 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Reverse engineering]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Table of Contents]]></category>

		<guid isPermaLink="false">http://unsyncopated.com/blog/index.php/2010/03/12/libhasp-repurposing-a-copy-protection-dongle-for-general-purpose-data-storage/</guid>
		<description><![CDATA[Way back in 2004, I spied an offer in Circuit Cellar magazine for a free evaluation kit from Aladdin Knowledge Systems (AKS), manufacturer of copy protection tokens. These are the little gadgets that you often need to plug in to your computer to prove that you &#8221;really&#8221; own the particularly expensive application you&#8217;re trying to [...]]]></description>
			<content:encoded><![CDATA[						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/2420667301"><img class="flickr small" title="HASP HL Dongle" alt="HASP HL Dongle" src="http://farm3.static.flickr.com/2378/2420667301_d57374a9a8_m.jpg" /></a></div>
					Way back in 2004, I spied an offer in Circuit Cellar magazine for a free evaluation kit from Aladdin Knowledge Systems (AKS), manufacturer of copy protection tokens. These are the little gadgets that you often need to plug in to your computer to prove that you &#8221;really&#8221; own the <a href="http://usa.autodesk.com/adsk/servlet/pc/index?siteID=123112&amp;id=13577897">particularly expensive application</a> you&#8217;re trying to run.</p>
<p><div class='toc wptoc'>
<h2>Contents</h2>
<ol class='toc-odd level-1'>
	<li>
		<a href="#The_goods">The goods</a>
	</li>
	<li>
		<a href="#The_hack">The hack</a>
	</li>
	<li>
		<a href="#The_blob">The blob</a>
	</li>
	<li>
		<a href="#What_Bob_and_I_learned">What Bob and I learned</a>
	</li>
	<li>
		<a href="#Further_reading">Further reading</a>
	</li>
</ol>
</ol>
</ol>
</div>
<div class='wptoc-end'>&nbsp;</div>
<span id="The_goods"><h3>The goods</h3></span>
<p>Anyways, the offer boasted&#8230;</p>
<ul>
<li>A <a href="http://www.aladdin.com/hasp/protection-keys-benefits-models.aspx">HASP HL &#8220;Time&#8221; dongle</a> with built-in AES, host-accessible 4kB EEPROM, and &#8220;tamperproof&#8221; real-time clock (RTC).</li>
<li>A cross-platform SDK with libraries and example code in C and a handful of other languages.</li>
<li>Printed API documentation.</li>
</ul>
<p>After pestering them with a few emails over the course of a week, AKS sent me the kit and it arrived just in time to distract me from the first round of exams during my Senior year `X|`</p>
<p>The SDK includes a demo application which can&#8230;</p>
<ul>
<li>Read/write the token&#8217;s EEPROM.</li>
<li>Ask the token to encrypt/decrypt data with its key.</li>
<li>Read the RTC.</li>
</ul>
<span id="The_hack"><h3>The hack</h3></span>
<p>To prevent its use in a commercial setting, AKS hard-codes the encryption keys on its evaluation kit tokens.</p>
<p>So, I set out to make use of one of the &#8221;un-crippled&#8221; features: the on-token EEPROM. Claiming 1,000,000+ read/write cycles, it seems like a nice place to store &#8221;my own&#8221; encryption keys or perhaps store two-factor authentication data.</p>
<p>						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/4426568909"><img class="flickr small" title="FUSE architecture" alt="FUSE architecture" src="http://farm3.static.flickr.com/2705/4426568909_5df292d6df_m.jpg" /></a></div>
					At the time, Miklos Szeredi had just <a href="http://marc.info/?l=linux-fsdevel&amp;m=110099238632141&amp;w=2">released his Filesystem-in-userspace (FUSE) framework</a> thus extending the Real Ultimate Power(tm) of the *NIX &#8220;everything-is-a-file&#8221; paradigm to mere mortals<sup>1</sup>.</p>
<p>I hacked up the demo application to implement a bare-bones FUSE filesystem &#8211; one which provides a single file, `hello`, backed by the token&#8217;s EEPROM. I call the result &#8220;<a href="http://unsyncopated.com/hg/haspfuse/file/tip/haspfuse.c#l1">haspfuse</a>&#8220;.</p>
<p>Here are its limitations. See <a href="http://unsyncopated.com/hg/haspfuse/">the haspfuse code</a> for details.</p>
<ul>
<li>The filesystem only supports a single file. This wouldn&#8217;t be too bad if you were to stack a <a href="http://code.google.com/p/fuse-zip/">fuse-zip</a> or <a href="http://en.wikipedia.org/wiki/Archivemount">archivemount</a>-based tarball-backed filesystem on top. Don&#8217;t even think about JFFS(2) or ext2 &#8211; they each require more than 4kB for a single block.</li>
<li>The single file has a fixed size of 3584.</li>
<li>No operation besides: `getattr`, `readdir`, `open`, `read`, `write`, `truncate`, and `chmod` is supported.</li>
<li>The filesystem probably isn&#8217;t &#8220;eject-safe&#8221;. See FUSE&#8217;s `direct_io` for a starting point.</li>
</ul>
<span id="The_blob"><h3>The blob</h3></span>
<p>Additionally, a proprietary blob &#8220;driver&#8221; named `aksusbd` and a static library from the SDK named `libhasp_linux.a` are required. I had trouble with version 3.5.0 so I included v1.8.1 with the haspfuse code.</p>
<p>`aksusbd` is a userspace driver that employs usbfs to interact with the token. Unfortunately, the deprecation of usbfs is <a href="http://www.alteraforum.com/forum/showthread.php?t=5893">apparently now complete with the release of the 2.6.31.20 Ubuntu kernel</a>. This means that <a href="https://help.ubuntu.com/community/VirtualBox/USB">the old standby methods for re-enabling it</a> no longer work.</p>
<p>You&#8217;ll need to use a custom kernel with usbfs support, or better yet, develop an open source driver for these tokens!</p>
<p>The latter approach would be especially helpful because my friend Bob claims that &#8220;`aksusbd` is setuid root and full of vulnerabilities&#8221;. But that&#8217;s another story&#8230;</p>
<p>Be aware that various AKS licenses and draconian US laws may prohibit you from reverse engineering `akusbd`.</p>
<span id="What_Bob_and_I_learned"><h3>What Bob and I learned</h3></span>
<ul>
<li>Filesystem design for severely space-constrained storage devices.</li>
<li>How to build a virtual filesystem using the FUSE C API.</li>
<li>Methods for rebuilding ELF symbol tables and the idiosyncrasies that result when the binary is dynamically-linked and uses <a href="http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library">the Native POSIX Thread Library (NTPL)</a>.</li>
<li>The software tools available for USB protocol reversing.</li>
<li>The myriad sorts of implementation failures that lead to &#8220;cracked&#8221; hardware tokens.</li>
</ul>
<span id="Further_reading"><h3>Further reading</h3></span>
<ul>
<li><a href="http://www.etokenonlinux.org/et/">etokenonlinux.org</a> &#8211; A great resource for using other AKS tokens to do two-factor authentication, one-time password storage, and encrypted partition unlocking <em>The Right Way™</em>. Provided by Cornelius Koelbel.</li>
<li>Guy-Gregoire Leclercq&#8217;s <a href="http://www.stacksegment.net/wiki/index.php/Aladdin_eToken_64k">detailed notes on using the eToken 64k with OpenCT/OpenSC on Debian</a>.</li>
<li>Andy Smith&#8217;s rebuilt, <a href="http://andys.org.uk/bits/2009/12/23/openssh-and-opensc-for-debian-and-ubuntu/">OpenSC-enabled, openssh-client and how to store SSH keys</a> on an eToken with it.</li>
</ul>
<ol class="footnotes">
<li id="footnote_0_542" class="footnote">Well, mortals too squeamish to run <a href="http://en.wikipedia.org/wiki/Plan_9_from_Bell_Labs">Plan 9</a> as their every-day operating system ;]</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://unsyncopated.com/blog/index.php/2010/03/12/libhasp-repurposing-a-copy-protection-dongle-for-general-purpose-data-storage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sending data via cellular voice connections with Linux</title>
		<link>http://unsyncopated.com/blog/index.php/2009/11/19/sending-data-via-cellular-voice-connections-with-linux/</link>
		<comments>http://unsyncopated.com/blog/index.php/2009/11/19/sending-data-via-cellular-voice-connections-with-linux/#comments</comments>
		<pubDate>Thu, 19 Nov 2009 10:45:03 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Python programming]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Shell programming]]></category>
		<category><![CDATA[Syntax highlighter]]></category>
		<category><![CDATA[Table of Contents]]></category>

		<guid isPermaLink="false">http://unsyncopated.com/blog/index.php/2009/11/20/sending-data-via-cellular-voice-connections-with-linux/</guid>
		<description><![CDATA[&#8220;A5/1 [the encryption scheme used in most cellular voice calls] has operated unchanged for the last 21 years but it has now reached its cryptographic end-of-life, engulfed by the march of Moore&#8217;s Law. However, the operational end-of-life of A5/1 may still be decades away as there are approximately 2 billion GSM subscribers, commanding about 80% of [...]]]></description>
			<content:encoded><![CDATA[<div>
<p style="padding-left: 30px;">&#8220;A5/1 [the encryption scheme used in most cellular voice calls] has operated unchanged for the last 21 years but it has now reached its cryptographic end-of-life, engulfed by the march of Moore&#8217;s Law. However, the operational end-of-life of A5/1 may still be decades away as there are approximately 2 billion GSM subscribers, commanding about 80% of the global mobile market. This would be a tough product recall indeed. A5/1 is well-positioned to become the NT of the mobile crypto world, and I see the makings of a long tail of GSM vulnerability.&#8221; - <a href="http://ch.linkedin.com/pub/luke-o-connor/1/bb6/152">Dr. Luke O&#8217;Connor</a> at <a href="http://lukenotricks.blogspot.com/2009/09/another-crack-at-open-rainbow-tables.html">NoTricks: Another crack at open Rainbow Tables for A5/1</a></p>
<div class='toc wptoc'>
<h2>Contents</h2>
<ol class='toc-odd level-1'>
	<li>
		<a href="#Introduction">Introduction</a>
	</li>
	<li>
		<a href="#The_modem__Hardware_components">The modem / Hardware components</a>
	</li>
	<li>
		<a href="#Transmitting_audio_from_a_PC_to_a_cell_phone__Software_components">Transmitting audio from a PC to a cell phone / Software components</a>
	</li>
	<li>
		<a href="#Demonstration__OKCrypto_scripts">Demonstration / OKCrypto scripts</a>
	</li>
	<li>
		<a href="#Encryption">Encryption</a>
	</li>
	<li>
		<a href="#Further_work">Further work</a>
	</li>
	<li>
		<a href="#What_I_learned">What I learned</a>
	</li>
	<li>
		<a href="#Conclusion__Download">Conclusion / Download</a>
	</li>
	<li>
		<a href="#Further_reading">Further reading</a>
	</li>
</ol>
</ol>
</ol>
</div>
<div class='wptoc-end'>&nbsp;</div>
<span id="Introduction"><h3>Introduction</h3></span>
<p>The ability to intercept and decrypt GSM cell phone conversations is now well within the reach of hobbyists.<sup>1</sup><sup>2</sup></p>
<p>My friend Scott and I were discussing this sobering fact one night and we began wondering if any systems exist which provide end-to-end encryption for this insecure link.</p>
<p>Sure, there are plenty of solutions for people with access to cellular dataconnections, but what can voice call participants use to foil eavesdroppers?</p>
<p>We didn&#8217;t find any low-cost systems so we decided to create our own. OKCrypto is the Linux-based encrypting software modem that we&#8217;ve made. It consists of two components: the modem component and crypto component.</p>
<span id="The_modem__Hardware_components"><h3>The modem / Hardware components</h3></span>
<p>We needed the ability to send data before we could try sending  encrypteddata, so the first step was to design a simple software modem.</p>
<p>Rather than executing the modem code on the cell phones themselves, I decided to host the modem code on a the sender and receiver&#8217;s Linux systems. This design provides two benefits:</p>
<ol>
<li>The modem code and crypto code has access to the rich Linux API.</li>
<li>Sensitive code and data are isolated from the both the cell phone itself and from the cell infrastructure. We have clean separation between trusted (PC) and untrusted (cell) environments.</li>
</ol>
<p>Thus, the &#8220;real work&#8221; in OKCrypto is done on the PC &#8211; the cell phones simply allow the PCs to talk to each other. See figure 1 for an overview of the hardware involved in the system. 						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/4153181728"><img class="flickr small" title="Fig. 1 - Hardware components" alt="Fig. 1 - Hardware components" src="http://farm3.static.flickr.com/2534/4153181728_a0fe8e3a63_m.jpg" /></a></div>
					</p>
<p>Conceptually, the modem is similar to the analog Plain Old Telephone Service (POTS) modems from the Bad Old Days before broadband service became popular. Instead of an audio coupler, we&#8217;re using Bluetooth to connect our PC to our phone line. Instead of custom hardware, our modem is comprised of some glue scripts and the software packages they connect &#8211; all running on a Linux PC.</p>
<p>The modem doesn&#8217;t provide an asynchronous full-duplex communication link like traditional modems. This modem&#8217;s operation is simpler: The sender&#8217;s modem dials the number of, and subsequently transmits a pre-prepared chunk of data to, the recipient&#8217;s modem. It then hangs up.</p>
<p>The modem uses Dual-tone multi-frequency (DTMF) signaling to encode the data it transmits. I chose DTMF because I was familiar with it and because Debian provides a package for <a href="http://www.baycom.org/~tom/ham/linux/multimon.html">Multimon</a>. OKCrypto uses two utilities that Multimon provides:</p>
<ol>
<li>gen &#8211; a DTMF generation utility (digits-&gt;wav file)</li>
<li>multimon &#8211; a DTMF detection utility (wav file-&gt;digits)</li>
</ol>
<span id="Transmitting_audio_from_a_PC_to_a_cell_phone__Software_components"><h3>Transmitting audio from a PC to a cell phone / Software components</h3></span>
<p>I&#8217;d been working on a few Bluetooth security projects at the time, so the Hands-Free Profile (HFP)<sup>3</sup> came immediately to mind as a convenient way to transfer audio (and any data we&#8217;ve encoded in the audio) between a PC and a cell phone during a call.</p>
<p>-flickr size=&#8221;small&#8221; float=&#8221;right&#8221;-4153181752-/flickr-In most cases HFP is used to connect a a Bluetooth phone to a Bluetooth headset so that the headset can be used to make calls via the phone. See figure 2.</p>
<p>-flickr size=&#8221;small&#8221; float=&#8221;right&#8221;-4153181518-/flickr-In the PC world, HFP is typically used to connect a desktop computer to a bluetooth headset. See figure 3. In that configuration, the PC fulfills the first of two roles mandated by the HFP specification: the Audio Gateway (AG) role. The headset fulfills the hands-free (HF) role.</p>
						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/4152393267"><img class="flickr small" title="Fig. 4 - PC ~ Cell phone" alt="Fig. 4 - PC ~ Cell phone" src="http://farm3.static.flickr.com/2737/4152393267_95526e2aaf_m.jpg" /></a></div>
					For our purposes, we need the PC to appear to be a bluetooth headset to a cell phone &#8211; the PC must fulfill the HF role. See figure 4. This is similar to how call-handling in-vehicle GPS/stereo units work.</p>
<p>Support for the HF role in <a href="http://www.bluez.org/">bluez</a>, the Linux Bluetooth stack (pronounced &#8220;blue-zee&#8221;), is just now maturing<sup>4</sup> so I went searching for a userspace implementation of the HFP protocol stack.</p>
<p>One of the best, chan_mobile, is distributed as an add-on to the popular open-source private branch exchange (PBX) <a href="http://www.asterisk.org/">Asterisk</a> system. If you configure chan_mobile to use your cell phone, Asterisk can make both outbound calls and receive inbound calls with the phone.</p>
<p>Asterisk is the largest software component of the OKCrypto modem. It not only provides a reliable HFP HF role implementation which works with a wide array of modern phones (see above), but also many essential telephony operations:</p>
<ol>
<li>Recording audio during a call. OKCrypto uses Asterisk&#8217;s built-in voicemail capabilities.</li>
<li>Transmitting audio during a call.</li>
<li>Pausing for a given time period.</li>
<li>Logging phone call details.</li>
</ol>
<p>See figure 5 for an overview of the software components in the OKCrypto system. Note that the same software is used on both the sender and receiver&#8217;s PCs.						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/4153379126"><img class="flickr small" title="Fig. 5 - Software components" alt="Fig. 5 - Software components" src="http://farm3.static.flickr.com/2521/4153379126_22a0fbc569_m.jpg" /></a></div>
					
<span id="Demonstration__OKCrypto_scripts"><h3>Demonstration / OKCrypto scripts</h3></span>
<p>Let&#8217;s look at how we can use this modem to send a 16-byte binary file over a cellular voice connection.</p>
<p>First, the sender and recipient will need to perform some set-up steps:</p>
<ol>
<li>1. Acquire a Linux-supported computer and Bluetooth adapter. I found that using a virtual machine introduces latency that bluez/btusb cannot tolerate.</li>
<li>Acquire a HFP-capable cell phone.</li>
<li>Install Linux, <a href="http://sox.sourceforge.net/">SoX</a>, Python, multimon, Asterisk, the Asterisk &#8220;add-ons&#8221;, GPG, and the OKCrypto scripts.</li>
<li>Pair cell phone with computer. Grant HFP access.</li>
<li>Configure chan_mobile</li>
<li>Start Asterisk Next, the sender can issue this command at a shell to send the file &#8216;/tmp/foo&#8217; to the recipient at 585-555-3258.
<pre class="brush: bash;">$ ./bin_to_int_seq.py /tmp/foo | ./ast_send.sh 5855553258 [...]
$ cksum /tmp/foo 668417501 16 /tmp/foo</pre>
<p>She&#8217;ll notice her PC making a call with her phone, silently transmitting the data, and disconnecting. Behind the scenes, the OKCrypto scripts will&#8230;</li>
<li>Convert the bytes in /tmp/foo to a series of decimal digits.</li>
<li>Encode the digits as DTMF tones with gen from the multimon package. 1. Increase the pitch (time-independent) to prevent any intermediary systems (esp. Asterisk) from interpreting the tones.</li>
<li>Queue the final audio file for transmission by Asterisk.</li>
</ol>
<p>The recipient will hear his phone ring once before his PC answers the call, records the audio, and disconnects. When the call is complete, Asterisk will invoke one of the OKCrypto scripts to&#8230;</p>
<ol>
<li>Decrease the pitch to yield the original DTMF tones.</li>
<li>Decode the DTMF tones to a series of decimal digits.</li>
<li>Convert the digits to a series of bytes which is written to &#8216;/tmp/bar&#8217;.
<pre class="brush: bash;">$ tr -d '\n' &lt; /tmp/newest_vm.txt | ./int_seq_to_bin.py /tmp/bar [...]
$ cksum /tmp/bar 668417501 16 /tmp/bar</pre>
</li>
</ol>
<span id="Encryption"><h3>Encryption</h3></span>
<p>Now that we can reliably send data, let&#8217;s make sure that it&#8217;s encrypted first. This turns out to be one of the simplest components of the system &#8211; many good crypto APIs are available.</p>
<p>I use <a href="http://www.gnupg.org/">GnuPG</a>:</p>
<pre class="brush: bash;">$ gpg --symmetric --force-mdc --cipher-algo AES256 filetoencrypt </pre>
<p>The `&#8211;force-mdc` option provides integrity checking &#8211; useful for handling transmission errors. Consider these GPG options carefully and make sure they fit your requirements.</p>
<span id="Further_work"><h3>Further work</h3></span>
<p>Here are a few ideas we&#8217;re pursuing for the future of this project:</p>
<ul>
<li>Moving the modem code to the cell phone. This would simplify the setup but potentially risk security.</li>
<li>Improving modem error rate. Data is often erroneously duplicated during transmission.</li>
<li>Increasing the modem throughput. The current code averages a meager 10 bytes/second.</li>
<li>Hiding the data within a steganographic channel in a normal voice conversation.</li>
<li>Incorporating GPG into the OKCrypto scripts.</li>
<li>Packaging the system as a LiveCD/Live flash drive.</li>
<li>Implementing key exchange.</li>
<li>Building an embedded device dedicated to OKCrypto.</li>
</ul>
<span id="What_I_learned"><h3>What I learned</h3></span>
<p>I gained experience in the follow areas during the design, implementation. and testing:</p>
<ul>
<li>GSM, CDMA crypto. I suspect the cellular phone industry would make a great case study in protocol security by obscurity.</li>
<li>Cellular voice codecs used by large carriers. Trivia: your calls only require ~10kbps.<sup>5</sup></li>
<li>Bluetooth HFP specification and available implementations.</li>
<li>Debugging latency tolerances in virtual machine USB &#8220;passthrough&#8221; subsystems.</li>
<li>The <a href="http://www.twilio.com/">Twilio</a> telephony API. I used Twilio when I only had one cell phone to debug with.</li>
<li>Asterisk administration.</li>
</ul>
<span id="Conclusion__Download"><h3>Conclusion / Download</h3></span>
<p>I&#8217;ve described a method to securely transmit data over any of the widely-available cell voice networks. The implementation requires only commodity hardware, open-source software, and minimal setup.</p>
<p>Be aware that transmitting data by &#8220;automated means&#8221; may violate the terms of your cellular service contract. I disclaim all liability. This information is provided for educational purposes only.</p>
<p>You can download the OKCrypto system here: http://www.unsyncopated.com/corral/okcrypto_v0.1.tar.gz</p>
<p>It is licensed under the LGPL.</p>
<span id="Further_reading"><h3>Further reading</h3></span>
<ul>
<li>You&#8217;ll find lots of links to cell security architecture articles, Bluetooth HFP implementations, and Asterisk administration web pages on the wiki at <a href="http://www.unsyncopated.com/wiki/Crypto%20Phone/Stacked%20Linux-based%20CPhone%20Brainstorming">Crypto Phone/Stacked Linux-based CPhone Brainstorming</a></li>
</ul>
<p>Update 1/13/09 - Check out some technical notes on our recent progress with a faster and more reliable modem: <a href="https://www.unsyncopated.com/wiki/OKCrypto/Progress%20Report%20for%2001-09-2010">OKCrypto/Progress Report for 01-09-2010</a></p>
</div>
<ol class="footnotes">
<li id="footnote_0_317" class="footnote"><a href="http://spectrum.ieee.org/telecom/wireless/open-source-effort-to-hack-gsm">Open-Source Effort to Hack GSM</a> John Blau &#8211; IEEE Spectrum Magazine &#8211; December 2009 issue</li>
<li id="footnote_1_317" class="footnote"><a href="https://har2009.org/program/attachments/119_GSM.A51.Cracking.Nohl.pdf">Subverting the security base of GSM</a> Karsten Nohl &#8211; Hacking at Random &#8211; 8/15/2009</li>
<li id="footnote_2_317" class="footnote"><a href="http://www.bluetooth.com/Bluetooth/Technology/Works/HFP.htm">Bluetooth Hands-Free Profile (HFP) 1.5</a> &#8211; Bluetooth Special Interest Group &#8211; 11/25/2005</li>
<li id="footnote_3_317" class="footnote"><a href="https://bugs.maemo.org/show_bug.cgi?id=2754#c1">Comment #1 on Maemo bug #2754</a> &#8211; Johan Hedberg &#8211; 1/25/2009</li>
<li id="footnote_4_317" class="footnote"><a href="http://en.wikipedia.org/w/index.php?title=Adaptive_Multi-Rate_audio_codec&amp;oldid=327719647">Adaptive Multi-Rate audio codec</a> &#8211; Wikipedia &#8211; 11/24/2009</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://unsyncopated.com/blog/index.php/2009/11/19/sending-data-via-cellular-voice-connections-with-linux/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secure browser-based communications</title>
		<link>http://unsyncopated.com/blog/index.php/2009/04/18/secure-browser-based-communications/</link>
		<comments>http://unsyncopated.com/blog/index.php/2009/04/18/secure-browser-based-communications/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 20:35:12 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Syntax highlighter]]></category>

		<guid isPermaLink="false">http://unsyncopated.com/blog/index.php/2009/04/19/secure-browser-based-communications/</guid>
		<description><![CDATA[Introduction I&#8217;ve often wanted to securely send a message to someone who didn&#8217;t have a serious software package like GPG installed. Rather than ask them to install software they might not use ever again, I employed the scheme described below &#8211; it only requires a web browser with Javascript support. Our friends Alice and Bob [...]]]></description>
			<content:encoded><![CDATA[<span id="Introduction"><h3>Introduction</h3></span>
<p>I&#8217;ve often wanted to securely send a message to someone who didn&#8217;t have a serious software package like <a href="http://www.gnupg.org/">GPG</a> installed. Rather than ask them to install software they might not use ever again, I employed the scheme described below &#8211; it only requires a web browser with Javascript support.</p>
<p style="text-align: left;">Our friends Alice and Bob have agreed to help me illustrate this scheme for secure browser-based communications. Eve declined my invitation. She&#8217;s busy <a href="http://www.willhackforsushi.com/Home/Entries/2009/2/3_Decrypting_DebIan-Vulnerable_SSH_Traffic.html">decrypting debian-vulnerable SSH sessions off the wire</a>.</p>
<p style="text-align: left;"><div class='toc wptoc'>
<h2>Contents</h2>
<ol class='toc-odd level-1'>
	<li>
		<a href="#Introduction">Introduction</a>
	</li>
	<li>
		<a href="#The_scheme">The scheme</a>
	</li>
	<li>
		<a href="#Potential_pitfalls">Potential pitfalls</a>
	</li>
	<li>
		<a href="#Conclusion">Conclusion</a>
	</li>
	<li>
		<a href="#An_aside:_Damn_I_shouldnt_have_killed_that_Emacs_buffer">An aside: "Damn! I shouldn't have killed that Emacs buffer!"</a>
	</li>
	<li>
		<a href="#See_also">See also</a>
	</li>
</ol>
</ol>
</ol>
</div>
<div class='wptoc-end'>&nbsp;</div></p>
<span id="The_scheme"><h3>The scheme</h3></span>
<p>						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/3456154555"><img class="flickr small" title="Secure browser-based communication" alt="Secure browser-based communication" src="http://farm4.static.flickr.com/3585/3456154555_a31501c097_m.jpg" /></a></div>
					<br />
Alice wants to send Bob a secret message. Bob doesn&#8217;t want to fiddle around with any stand-alone crypto software in order to read the secret message. Bob <em>is</em>, however, saavy with his web browser.</p>
<ol>
<li>Alice points her browser to an SSL-secured web page (&#8220;https://foo.com/aes.html&#8221;) which contains a bit of HTML and an inline <a href="http://www.movable-type.co.uk/scripts/aes.html">Javascript implementation of the AES encryption standard</a>.</li>
<li>Alice uses the form on the web page to encrypt the secret message (&#8220;linux rulz&#8221;) with the password she chose (&#8220;thelegendofdrunkenmaster&#8221;). The encryption is performed locally &#8211; the secret message does not enter the network nor interact with any software besides the browser&#8217;s Javascript engine.</li>
<li>Alice sends the message encrypted message (&#8220;MGfrSbm5ubmqsnbYtoa9cgeYfA==&#8221;) to Bob via a second channel &#8211; e.g. by reading it to him over the telephone. Alice also gives Bob a hint about the password (&#8220;it&#8217;s the name of <a href="http://en.wikipedia.org/wiki/Drunken_Master_II">the movie</a> we watched last week &#8211; without any spaces&#8221;).</li>
</ol>
<ol>
<li>Bob visits the same secured page with &#8221;his&#8221; web browser. He types the encrypted message and the password into the form.</li>
<li>The decrypted message appears on his screen and he compliments Alice on her astute observation.</li>
</ol>
<span id="Potential_pitfalls"><h3>Potential pitfalls</h3></span>
<ul>
<li>The password &#8220;hint&#8221; should be chosen carefully. If it isn&#8217;t, a passive attacker (Eve, when she&#8217;s done submitting Valgrind &#8220;uninitialized data&#8221; warning reports to the Debian project<sup>1</sup> ) has a chance at brute-forcing the password. Substituting an ad-hoc &#8220;hint&#8221; system for well-designed key-exchange mechanisms should be done with caution!</li>
<li>Alice and Bob should devote an entire browser instance to this task and &#8221;only&#8221; to this task. They should close the browser and reboot after handling the decrypted message. If they don&#8217;t, malicious browser components, malicious websites, or OS paging could subvert their efforts by revealing the decrypted message to an attacker. I recommend that they use <a href="http://www.google.com/googlebooks/chrome/">a browser</a> that was &#8221;designed&#8221; with security in mind.</li>
<li>The webserver that serves the encryption/decryption page should be managed by a trusted party. If it isn&#8217;t, an active attacker could obtain the decrypted message. Barring port-forwarding and self-signed SSL key hassles, Alice herself could run a <a href="http://www.yeraze.com/2008/03/webservers-with-python-ssl-cac-authentication/">small webserver</a> devoted to the purpose.</li>
<li><a href="http://www.movable-type.co.uk/scripts/aes.html">Chris Veness&#8217; Javascript</a> emits Base64 encoded ciphertext. Base64&#8242;s default alphabet may lend itself to transcription errors if the telephone is chosen as a second channel e.g. &#8220;3&#8243; is heard as &#8220;E&#8221;. In rare cases, this could go undetected by the decoding scheme&#8217;s error detection and result in the generation of incorrect plaintext e.g. &#8220;linux drulz&#8221;. For &#8221;one&#8221; clever (ref: genetic algorithms!) solution to the transcription problem, see <a href="http://en.wikipedia.org/wiki/PGP_word_list">The PGP word list</a>.</li>
</ul>
<span id="Conclusion"><h3>Conclusion</h3></span>
<p>I&#8217;ve presented a scheme for secure communications between two parties where the only application software required is a Javascript-capable web browser and a SSL-capable web server.</p>
<p>Using a second channel and carefully-chosen password &#8220;hint&#8221;, this scheme allows access to high-grade cryptography with minimal &#8220;new software&#8221; requirements.</p>
<span id="An_aside:_8220Damn_I_shouldn8217t_have_killed_that_Emacs_buffer8221"><h3>An aside: &#8220;Damn! I shouldn&#8217;t have killed that Emacs buffer!&#8221;</h3></span>
<p>I began writing some code for this article in an Emacs scratch buffer. I then proceeded to accidentally kill the buffer before cutting its contents to my kill-ring.</p>
<p>I figured that maybe I could find the &#8220;lost&#8221; source code in Emacs&#8217; heap so I forced a core dump with `killall &#8211;signal ABRT emacs`<sup>2</sup><sup>3</sup>.</p>
<p>Next I tried to search for a snippet of the source code (the word &#8220;alice&#8221;) in the core dump with the `strings(1)` utility. The values for `CUR_ENC` are from the `strings(1)` manpage.</p>
<pre class="brush: bash;">

$ for CUR_ENC in s S b l B L; do strings --encoding \
${CUR_ENC} core | grep --ignore-case alice; done

$
</pre>
<p>No dice! If I had to guess, I&#8217;d say that Emacs uses some funky elisp mechanism for allocating memory for the contents of buffers, hence the failure of this naive `strings | grep` search. Suggestions welcome `;]`.</p>
<p><strong>Update 5/12/09</strong> &#8211; I should have tried <a href="http://bitbucket.org/haypo/hachoir/wiki/hachoir-grep">hachoir-grep</a> &#8211; it&#8217;s UNICODE-aware.</p>
<span id="See_also"><h3>See also</h3></span>
<ul>
<li><a href="http://lists.immunitysec.com/pipermail/dailydave/2009-May/005730.html">A DailyDave discussion on sources of entropy is Javascript-land</a></li>
<p><!-- detacord --></ul>
<ol class="footnotes">
<li id="footnote_0_245" class="footnote">Ooooooh. Twice in one blog post? I only do it because I love ya, Debian `:]`</li>
<li id="footnote_1_245" class="footnote">I&#8217;d started emacs in a shell where I&#8217;d previously run `ulimit -c unlimited`, thus enabling core dumps. Dog help you if you haven&#8217;t done so and need a core dump. </li>
<li id="footnote_2_245" class="footnote">Ubuntu disables `/dev/mem` (booooo hissss) IIRC so I didn&#8217;t try that route.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://unsyncopated.com/blog/index.php/2009/04/18/secure-browser-based-communications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>good.net is fast.com</title>
		<link>http://unsyncopated.com/blog/index.php/2009/02/24/goodnet-is-fastcom/</link>
		<comments>http://unsyncopated.com/blog/index.php/2009/02/24/goodnet-is-fastcom/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 16:34:57 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Shell programming]]></category>
		<category><![CDATA[Syntax highlighter]]></category>

		<guid isPermaLink="false">http://unsyncopated.com/blog/index.php/2009/02/24/goodnet-is-fastcom/</guid>
		<description><![CDATA[good.net is a stripped-down file-hosting service (cf. drop.io/sendthisfile.com)1 that has four &#8220;new-to-me&#8221; features:2 You can earn money when people download your files via their affiliate program. Your audience can access your files via HTTPS. An honest dedication to free speech and free software. You can upload your files via FTP-over-explicit-SSL (FTPES). Their support page doesn&#8217;t list [...]]]></description>
			<content:encoded><![CDATA[						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/docsearls/2440194966"><img class="flickr small" title="2008_04_biketrail_infrastructure_016" alt="2008_04_biketrail_infrastructure_016" src="http://farm3.static.flickr.com/2133/2440194966_ec0face197_m.jpg" /></a></div>
					<br />
<a href="http://good.net/">good.net</a> is a stripped-down file-hosting service (cf. <a href="http://www.drop.io">drop.io</a>/<a href="http://www.sendthisfile.com">sendthisfile.com</a>)<sup>1</sup> that has four &#8220;new-to-me&#8221; features:<sup>2</sup></p>
<ul>
<li>You can earn money when people download your files via <a href="http://good.net/affiliate/">their affiliate program</a>.</li>
<li>Your audience can access your files via HTTPS.</li>
<li>An honest <a href="https://good.net/about/">dedication to free speech and free software</a>.</li>
<li>You can upload your files via FTP-over-explicit-SSL (FTPES). <a href="http://good.net/support/">Their support page</a> doesn&#8217;t list their FTPES host key fingerprint but you &#8221;can&#8221; just barely see it at 0m36s on their <a href="http://good.net/support/filezilla.html">FileZilla support page</a>. <strong>Update:</strong> they&#8217;ve posted <a href="https://forums.good.net/phpBB/viewtopic.php?f=4&amp;t=6&amp;sid=a6c80c76bc9054ac1a3a51e7f313b3a1">the fingerprint in their support forum</a>. See <a href="http://unsyncopated.com/wiki/Secure good.net FTP uploads with lftp">my notes on uploading with lftp(1)</a> for more info on securing your CLI FTP transactions.</li>
</ul>
<p>Their servers are also hooked up to especially fat pipes. I get 5 megabytes/sec sustained with my Thinkpad T30&#8242;s wired NIC on RIT&#8217;s library network. I got <em>10</em> megabytes/sec with my <a href="http://www.rimuhosting.com">Rimuhosting</a> VPS in their <a href="http://rimuhosting.com/datacenters.jsp#a3">Level(3) and Abovenet</a>-connected datacenter.</p>
<span id="Backstory"><h3>Backstory</h3></span>
<p>						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/3308794151"><img class="flickr small" title="Openmoko guru Harald Welte at 25C3" alt="Openmoko guru Harald Welte at 25C3" src="http://farm4.static.flickr.com/3374/3308794151_8d3c79147a_m.jpg" /></a></div>
					
<p>I found good.net via a link in <a href="http://www.mcgrewsecurity.com/2008/09/11/black-hat-usa-2008-and-defcon-16-audio-available/">the McGrew Security blog</a> to <a href="https://avondale.good.net/dl/bd/">good.net&#8217;s mirror</a> of <a href="http://darkoz.com/">DarkOz</a>&#8216;s <em>giant</em> collection of security conference videos &#8211; the &#8220;Hacker Media Archive&#8221;.</p>
<p>The Archive&#8217;s <a href="https://avondale.good.net/dl/bd/25c3/video_h264_720x576/">25th Chaos Communication Congress (25C3) videos</a> alone occupy nearly 40GB&#8230;</p>
<pre class="brush: bash;">

$ curl --silent http://avondale.good.net/dl/bd/25c3/video_h264_720x576/ |
awk --assign i=0 '/.mp4&quot;/{i=i+substr($8, 1, length($8)-1);} END {print i}'

39175
</pre>
<p>						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/3309623054"><img class="flickr small" title="Tor Project co-founder Roger Dingledine at 25C3" alt="Tor Project co-founder Roger Dingledine at 25C3" src="http://farm4.static.flickr.com/3039/3309623054_268ec04272_m.jpg" /></a></div>
					<br />
I&#8217;ve included two screen captures from the <a href="http://creativecommons.org/licenses/by-nc-nd/2.0/">freely-licensed</a> h264-encoded 720&#215;576 25C3 videos at right.</p>
<p>In addition to the CCC videos, you can find footage and materials from DEFCON, HOPE, Black Hat, CodeCon, DeepSec, HITB, NOTACON, PhreakNIC,  REcon, Shmoocon, and ToorCon. Phew!
<ol class="footnotes">
<li id="footnote_0_128" class="footnote">If you&#8217;re looking for a more &#8221;active&#8221; filesharing tool, one that syncs files across machines for you, try <a href="http://www.getdropbox.com">Dropbox</a> as recommended by an <a href="http://www.imdb.com/name/nm1168932/bio">aspiring grocer</a> friend of mine. They&#8217;ve even got a Linux client.</li>
<li id="footnote_1_128" class="footnote">Yes, the above manhole cover photo was taken by <a href="http://blogs.law.harvard.edu/doc/">the Doc Searls of Linux Journal fame</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://unsyncopated.com/blog/index.php/2009/02/24/goodnet-is-fastcom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShmooCon 2009</title>
		<link>http://unsyncopated.com/blog/index.php/2009/02/07/shmoocon-2009/</link>
		<comments>http://unsyncopated.com/blog/index.php/2009/02/07/shmoocon-2009/#comments</comments>
		<pubDate>Sun, 08 Feb 2009 02:31:27 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://unsyncopated.com/blog/index.php/2009/02/08/schmoocon-2009/</guid>
		<description><![CDATA[Having last attended Shmoocon in 2007, I was glad to see that all the things that made it great &#8221;then&#8221; were still present for the 2009 installment: A close-knit community feel. The Shmoo Group&#8217;s prolific members are very active in the infosec community and appear to unite many disparate groups within it. The freedom to [...]]]></description>
			<content:encoded><![CDATA[						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/sonicvanajr/3267407795"><img class="flickr small" title="Shmoocon Attendee Badge" alt="Shmoocon Attendee Badge" src="http://farm4.static.flickr.com/3371/3267407795_0cddc9cd1d_m.jpg" /></a></div>
					
<p>Having last attended Shmoocon in 2007, I was glad to see that all the things that made it great &#8221;then&#8221; were still present for the 2009 installment:</p>
<ul>
<li>A close-knit community feel. The Shmoo Group&#8217;s prolific members are very active in the infosec community and appear to unite many disparate groups within it.</li>
<li>The freedom to push the boundaries of free speech. I believe this freedom comes, in part, from an independent backing (as opposed to an overriding corporate interest).</li>
<li>Affordable tickets.</li>
</ul>
<p>There wasn&#8217;t enough reverse engineering content for my taste, but the low price and DC&#8217;s proximity more than make up for it.</p>
<span id="Twitter"><h3>Twitter</h3></span>
<p>During the conference I spent a fair amount of time reading <a href="http://search.twitter.com/search?q=shmoocon">other attendees&#8217; Twitter feeds</a>. I was impressed. It is honestly a decent alternative to an official &#8216;con IRC channel. I used it to find&#8230;</p>
<ul>
<li>The locations of unscheduled events (e.g. the Podcaster&#8217;s meetup)</li>
<li>Feedback on nearby restaurants and BARZ.</li>
<li><a href="http://flickr.com/search/?s=rec&amp;q=shmarcode">This photographic collection of entries to the &#8220;Barcode Shmarcode&#8221; competition</a> wherein prizes were given to the most creative ticket barcode substitute.</li>
</ul>
<p>It was also nice to see people discussing a presentation &#8221;&#8217;as it happened&#8221;&#8217; rather than hoping to be called upon during the short Q&amp;A in meatspace<sup>1</sup>.</p>
<p>If I succumb to ADD, I might start twittering sometime in the future. In the meantime, I&#8217;m keeping <a href="http://unsyncopated.com/wiki/My Blog#Micro-blogging">some notes on alternative (esp. open source) micro-blogging software</a>.</p>
<span id="Ticket_resale_market_on_eBay"><h3>Ticket resale market on eBay</h3></span>
<p>A friend of mine wasn&#8217;t able to make it so I sold a ticket on eBay. After eBay/PayPal fees (~$20 all told) I lost about $30 on the deal. Anyways, for future reference, here&#8217;s <a href="http://unsyncopated.com/mirror/shmoocon_ebay_completed_auctions-2.html">how eBay looked on the day the conference began</a>. As you can see, 34 of 47 listed auctions resulted in a sale between January 22nd and Feb 5th with an average selling price of ~$150.</p>
<p>As an aside, selling barcodes/UUIDs is apparently a violation of eBay&#8217;s TOS &#8211; they&#8217;re &#8220;intangible&#8221;.</p>
<p>For more on the economics of Shmoocon ticket sales look for a video of the &#8217;0wn the con&#8217; organizer-led presentation.</p>
<span id="Saturday_272009"><h3>Saturday 2/7/2009</h3></span>
<p>If you&#8217;re staying at the Wardman Park Marriott and you&#8217;ve got a hankering for a killer NY-style deli sandwich, you should take the 12-minute walk to <a href="http://www.yelp.com/biz/sos-your-mom-washington">So&#8217;s Your Mom</a> in Adam&#8217;s Morgan. Buy your chips and drink at the natural foods store next door, though, to save a buck or two.</p>
<p>Here are some rough notes I took during <a href="http://crispincowan.com/">Crispin Cowan</a>&#8216;s <a href="http://www.shmoocon.org/presentations-all.html#stranger">presentation</a> on his transition from the Linux world to the Microso~1 world.</p>
<ul>
<li>Microsoft employs &#8221;&#8217;entire compute farms&#8221;&#8217; for the purpose of fuzzing their software.</li>
<li>Some members of it&#8217;s security team are paid &#8221;per discoverd bug&#8221;.</li>
<li>In the early part of the decade Microsoft&#8217;s OS group stopped most of it&#8217;s design and coding work for a period of a few months to educate its engineers on the topic of secure coding. During this time, it &#8220;lost&#8221; $200 million dollars.</li>
<li>A security prompt to the user is and unhandled security exception.</li>
<li>Access control in X is very immature &#8211; apps can keylog others.</li>
<li>Microsoft&#8217;s security department is roughly the size of the entire SUSE Linux company.</li>
</ul>
<p>						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/3265857538"><img class="flickr small" title="R U A MACHINE Y/N" alt="R U A MACHINE Y/N" src="http://farm4.static.flickr.com/3522/3265857538_c6ac6f1bba_m.jpg" /></a></div>
					In the evening, I watched the <a href="http://hackorhalo.blogspot.com/">Hack or Halo</a> competition (props to coynemartin) and started <a href="http://unsyncopated.com/wiki/Computer%20Security/Auditing%20Shmoocon%202009's%20FreeRADIUS%20Registration">poking at the conference&#8217;s FreeRADIUS registration form</a>. I discovered that its (homebrew?) CAPTCHA is vulnerable to replay attacks `:/`. If this is still the case next year, I&#8217;ll have to let them know. I wonder what the consequence of this vulnerability is. Resource exhaustion?</p>
<span id="Sunday_282009"><h3>Sunday 2/8/2009</h3></span>
<p>A beautiful, sunny day. Arrived just in time to learn about <a href="http://reusablesec.googlepages.com/">Matt Weir&#8217;s clever synthesis of dictionaries/rulesets and rainbow tables</a>. At some point I should grab the source code and see if he&#8217;s optimized the OpenSSL MD5 code or used it verbatim as the <a href="http://www.freerainbowtables.com/">freerainbowtables.com</a> folks have.</p>
<p>After the conference wrapped up at 4ish, I <a href="http://www.gmap-pedometer.com/?r=2546997">walked</a> from the Mariott, down scenic Connecticut Avenue to the Obama family&#8217;s new home. As I walked towards the capital, the Obamas returned from their first Camp David trip via three Marine helicopters<sup>2</sup>. Finally, I walked <em>past</em> the hostel for a giant fish sandwich at <a href="http://www.yelp.com/biz/horace-and-dickies-seafood-carryout-washington">Horace and Dickie&#8217;s</a>, past the hostel <em>again</em> for an overpriced six-pack of Sam Adams, and then <em>to</em> the hostel to enjoy both with a new batch of folks at the hostel.</p>
<span id="Charity"><h3>Charity</h3></span>
<p>I was glad to see that ShmooCon directly and indirectly supports the following charities and non-profits:</p>
<ul>
<li><a href="http://deviating.net/ttb/">Deviant Ollum&#8217;s Travelling Terabyte Project</a> &#8211; Sending suitcases of hard drives containing lots of multimedia to members of the armed services.</li>
<li>The EFF</li>
<li><a href="http://www.covenanthousedc.org/">The Covenant House</a></li>
</ul>
<ol class="footnotes">
<li id="footnote_0_98" class="footnote">Yeah, I said it. &#8220;Meatspace&#8221;. </li>
<li id="footnote_1_98" class="footnote">Part of a <a href="http://www.washingtonpost.com/wp-dyn/content/article/2008/03/16/AR2008031602936.html">fleet</a> that costs more than 11 <em>billion</em> dollars</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://unsyncopated.com/blog/index.php/2009/02/07/shmoocon-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Tulsa road trip day #2</title>
		<link>http://unsyncopated.com/blog/index.php/2009/01/18/tulsa-road-trip-day-2/</link>
		<comments>http://unsyncopated.com/blog/index.php/2009/01/18/tulsa-road-trip-day-2/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 23:06:25 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://unsyncopated.com/blog/index.php/2009/01/20/tulsa-road-trip-day-2/</guid>
		<description><![CDATA[I had a nice leisurely morning today &#8211; waffles, some meditation, and a swim in the hotel&#8217;s pool. I like this pace. After a ham sandwich lunch, I listened to Jules Verne&#8217;s &#8220;Around the World in Eighty Days&#8221;1 as recommended by John Udell in an insightful piece about trying to sip from the firehose. The snow [...]]]></description>
			<content:encoded><![CDATA[<p>I had a nice leisurely morning today &#8211; waffles, some meditation, and a swim in the hotel&#8217;s pool.</p>
<p>I like this pace.</p>
<p>After a ham sandwich lunch, I <a href="http://unsyncopated.com/BrainSolvent/Things%20to%20Listen%20To?action=diff&amp;rev2=31&amp;rev1=30">listened</a> to Jules Verne&#8217;s &#8220;Around the World in Eighty Days&#8221;<sup>1</sup> as recommended by John Udell in <a href="http://blog.jonudell.net/2008/06/10/a-quiet-retreat-from-the-busy-information-commons/">an insightful piece about trying to sip from the firehose</a>.</p>
<p>The snow disappeared from the ground, but the air remained cold.</p>
<p>I&#8217;m staying at a $40 (woo woo) motel in Greenville Illinois tonight. 7hrs of driving remain.</p>
<span id="Radar_detector__GPS__"><h3>Radar detector + GPS = ???</h3></span>
<p>Someone should make a radar detector with an integrated GPS receiver. This way, on your daily commute when you pass e.g. an &#8220;icy conditions&#8221; sign that causes a false alarm, you could press a &#8220;don&#8217;t alert me about radar in this location anymore&#8221; button. Even better, the device could allow you to download (user-submitted) &#8220;cops hide here&#8221; coordinates from the internet and warn you &#8221;before&#8221; you drive into a suspected radar beam. For more road gadget ideas, check out this excellent story from Wired about a dude trying to cross the USA in under 32 hours: &#8220;<a href="http://www.wired.com/cars/coolwheels/magazine/15-11/ff_cannonballrun?currentPage=all">The Pedal-to-the-Metal, Totally Illegal, Cross-Country Sprint for Glory</a>&#8221;</p>
<p>It&#8217;d be nice to see a cell service coverage map overlaid on my GPS too.</p>
<span id="Gas_price_temperature_map"><h3>Gas price temperature map</h3></span>
<p>						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/sjmookie/2553291374"><img class="flickr small" title="gasbuddy temperature map of gas prices" alt="gasbuddy temperature map of gas prices" src="http://farm4.static.flickr.com/3102/2553291374_a09fa4bc57_m.jpg" /></a></div>
					Take a look at GasBuddy&#8217;s <a href="http://gasbuddy.com/gb_gastemperaturemap.aspx">USA National Gas Temperature Map</a>.</p>
<p>Did you know that <a href="http://money.cnn.com/2008/02/01/news/companies/exxon_earnings/">Exxon  Mobil made more profit in 2007 than any other US company in 2007</a>?
<ol class="footnotes">
<li id="footnote_0_61" class="footnote">I&#8217;d later learn from Jessica that &#8220;Around the World in 80 Days&#8221; was made into <a href="http://www.imdb.com/title/tt0327437/">a 2004 film starring Jackie Chan</a>.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://unsyncopated.com/blog/index.php/2009/01/18/tulsa-road-trip-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tulsa road trip begins</title>
		<link>http://unsyncopated.com/blog/index.php/2009/01/18/tulsa-road-trip-begins/</link>
		<comments>http://unsyncopated.com/blog/index.php/2009/01/18/tulsa-road-trip-begins/#comments</comments>
		<pubDate>Sun, 18 Jan 2009 13:25:33 +0000</pubDate>
		<dc:creator>Tyler</dc:creator>
				<category><![CDATA[Flickr]]></category>
		<category><![CDATA[Footnotes]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://unsyncopated.com/blog/index.php/2009/01/19/tulsa-road-trip-begins/</guid>
		<description><![CDATA[I coaxed my iron horse onto the road today at 5pm. Packing for a month of travel took a bit longer than I expected `:]` I plan to&#8230; Visit my sister and Jared in Tulsa. Check out a school and meet up with some folks in Denver. Potentially visit Sioux City and Omaha. Jet back [...]]]></description>
			<content:encoded><![CDATA[<p>						<div class="flickr-gallery image right"><a href="http://www.flickr.com/photos/55502932@N00/3208288447"><img class="flickr small" title="Long day tomorrow" alt="Long day tomorrow" src="http://farm4.static.flickr.com/3320/3208288447_7aecbe7c2e_m.jpg" /></a></div>
					I <a href="http://www.flickr.com/photos/55502932@N00/3208287131/">coaxed my iron horse onto the road</a> today at 5pm. Packing for a month of travel took a bit longer than I expected `:]`</p>
<p>I plan to&#8230;</p>
<ul>
<li>Visit my sister and Jared in Tulsa.</li>
<li>Check out a school and meet up with some folks in Denver.</li>
<li>Potentially visit Sioux City and Omaha.</li>
<li>Jet back to the east coast for Shmoocon 2009 in DC.</li>
<li>Check in on some colleagues in the Constitution State<sup>1</sup>.</li>
</ul>
<p>Road tunes! <a href="http://www.amazon.com/Fy-Ah-Bob-Marley-Wailers/dp/B00030EEOK/ref=sr_1_1?ie=UTF8&amp;s=music&amp;qid=1269270934&amp;sr=1-1">Fy-Ah Fy-Ah: Bob Marley and the Wailers (disc 2 of 3)</a>. Bob Marley as you probably haven&#8217;t heard him before: <a href="http://en.wikipedia.org/wiki/Rocksteady">rockin&#8217; steady</a>. Romance and praise for Jah layered over (traditionally Christian?) hymns are the dominant themes. Be sure to absorb the groovy bassline on &#8220;Back Out&#8221;.</p>
<p>There&#8217;s something surreal about listening to smooth Reggae while driving 50mph on an expressway in a whiteout, passing a snowplows throwing snow towards the median and sparks toward me.</p>
<p>The weather got real nasty so I stopped in Erie for a room in a La Quinta (free weefee, indoor pool, &#8221;&#8217;hot&#8221;&#8217; breakfast). The front desk dude tried to pull a fast one and charge me $60 for the room. &#8220;I&#8217;d like the $50 room from the [giant 30ft jumbotron] sign out front&#8221;. &#8220;Most people don&#8217;t want that room. It&#8217;s next to the vending machines&#8230; &#8221; He paused. &#8220;Are you sure?&#8221;. &#8220;Yep&#8221;. He lightened up. &#8220;Yeah, I&#8217;d probably take that room too &#8211; easy access&#8221; he laughed.</p>
<p>By good fortune, an <a href="http://www.imdb.com/title/tt0067140/">excellent Sergio Leone</a> western was playing on AMC.
<ol class="footnotes">
<li id="footnote_0_44" class="footnote">If you misspell &#8220;colleague&#8221; to Google, you might find some <a href="http://www.google.com/search?q=colleage">lolz</a> (potentially NSFW) </li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://unsyncopated.com/blog/index.php/2009/01/18/tulsa-road-trip-begins/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

