<?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>Push cx &#187; security</title>
	<atom:link href="http://push.cx/tag/security/feed" rel="self" type="application/rss+xml" />
	<link>http://push.cx</link>
	<description>A traveling geek&#039;s blog on development, games, and the web</description>
	<lastBuildDate>Fri, 14 Oct 2011 10:24:13 +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>The Dog That Didn&#8217;t Bark</title>
		<link>http://push.cx/2010/the-dog-that-didnt-bark</link>
		<comments>http://push.cx/2010/the-dog-that-didnt-bark#comments</comments>
		<pubDate>Thu, 18 Nov 2010 13:38:08 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[evidence]]></category>
		<category><![CDATA[rights]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Sherlock Holmes]]></category>
		<category><![CDATA[TSA]]></category>

		<guid isPermaLink="false">http://push.cx/?p=1512</guid>
		<description><![CDATA[Silver Blaze is one of the most popular Sherlock Holmes stories, in part because (spoiler alert for a 118-year old story you can read by clicking that first link) the mystery is in part solved by Holmes recognizing that something didn&#8217;t happen: &#8220;Is there any point to which you would wish to draw my attention?&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3NoZXJsb2NraG9sbWVzX2Nhc2VzLnRyaXBvZC5jb20vc2lsYmxhemUuaHRt">Silver Blaze</a> is one of the most popular Sherlock Holmes stories, in part because (spoiler alert for a 118-year old story you can read by clicking that first link) the mystery is in part solved by Holmes recognizing that something <em>didn&#8217;t</em> happen:
</p>

<blockquote>
<p>
&#8220;Is there any point to which you would wish to draw my attention?&#8221;
</p>

<p>
&#8220;To the curious incident of the dog in the night-time.&#8221;
</p>

<p>
&#8220;The dog did nothing in the night-time.&#8221;
</p>

<p>
&#8220;That was the curious incident,&#8221; remarked Sherlock Holmes.
</p>
</blockquote>

<p>
Holmes realizes the guard dog didn&#8217;t bark because it knew the perpetrator of the crime. The absence of an expected happenstance is a signal.
</p>

<p>
This is what I was getting at when I was writing about <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=LzIwMTAvc3ByZWFkc2hlZXQtZXJyb3Jz">spreadsheet errors</a> being a signal that institutions are more robust than they initially appear. The spreadsheets they depend on have a surprisingly high error rate, but these errors are only rarely transmitted to their public behavior.
</p>

<p>
This was on my mind again this week because of the outcry over the Transportation Security Administration&#8217;s new screening measures that take nearly-naked photos of passengers or, for those who opt out, an invasive pat-down. The TSA <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3AtZHluL2NvbnRlbnQvYXJ0aWNsZS8yMDEwLzExLzE2L0FSMjAxMDExMTYwNzI1NS5odG1sP2hwaWQ9dG9wbmV3cw==">claims</a> that this policy strikes a balance between privacy and security, and that &#8220;We have to ensure that each person getting on every flight is secure.&#8221;
</p>

<p>
Which is not really news. The TSA justifies everything they do by saying it&#8217;s &#8220;for security purposes&#8221; like a magician says &#8220;abracadabra&#8221;. Words are uttered but no meaning is produced, the speaker is filling time while they do whatever they like.
</p>

<p>
When you look at those security purposes, the dog isn&#8217;t barking. There are no attacks on &#8220;soft targets&#8221; where people congregate like malls, churches, sporting events, and airport security lines. If the terrorists existed, why don&#8217;t they attack?
</p>

<p>
Carl Sagan <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9FdmlkZW5jZV9vZl9hYnNlbmNl">pointed out</a> pointed out that &#8220;absence of evidence is not evidence of absence&#8221;, but he said it because he was dealing with cranks who tried to shift the burden of proof to scientists to disprove their weird theories about flying saucers instead of proving that they exist. Where&#8217;s the burden of proof for these searches?
</p>

<p>
No one disputes that terrorists do exist, the question is whether they&#8217;re adequately addressed by existing law enforcement or if the government has <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9Gb3VydGhfQW1lbmRtZW50X3RvX3RoZV9Vbml0ZWRfU3RhdGVzX0NvbnN0aXR1dGlvbg==">reason</a> to employ low-trained workers to <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zZmdhdGUuY29tL2NnaS1iaW4vYmxvZ3Mvc2Ztb21zL2RldGFpbD9lbnRyeV9pZD03NzE0MA==">grope 3 year olds</a>. U.S. law does not default to requiring everyone to submit to searches, it requires that law enforcement prove in warrants or articulable facts why each search is needed by the particular circumstances. Blanket searches are permitted to enforce immigration and import law, but searches of the person of every domestic airline passenger are far removed from that need.
</p>

<p>
In short, the TSA hasn&#8217;t made a case for these searches, let alone proved it or gotten judicial approval, and the curious incident of the terrorist in the strip mall is an indication we need to pay attention.
</p>
 <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=1512" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2010/the-dog-that-didnt-bark/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambrian Development</title>
		<link>http://push.cx/2006/cambrian-development</link>
		<comments>http://push.cx/2006/cambrian-development#comments</comments>
		<pubDate>Fri, 02 Jun 2006 13:20:02 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[Cambrian House]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://push.cx/2006/cambrian-development-2</guid>
		<description><![CDATA[Since I posted about Cambrian House last night, they&#8217;ve responded to me. I sent a heads-up mail to them (because I saw their blog didn&#8217;t pick up the trackback I sent) and got a brief thank-you note back from the CEO/founder saying they&#8217;d fix their permissions problem. And this morning their development site had a [...]]]></description>
			<content:encoded><![CDATA[<p>
Since <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwNi9wcmUtY2FtYnJpYW4taG91c2U=">I posted</a> about <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NhbWJyaWFuaG91c2UuY29t">Cambrian House</a> last night, they&#8217;ve responded to me. I sent a heads-up mail to them (because I saw their blog didn&#8217;t pick up the trackback I sent) and got a brief thank-you note back from the CEO/founder saying they&#8217;d fix their permissions problem.
</p>

<p>
And this morning their development site had a new banner on it:
</p>

<img class="content" width="795" height="295" src="http://push.cx/wp-content/uploads/2006/06/cambrianhouse.png" alt="Cambrian House header" />

<p>
A classy response beats threatening a Lawyerclypse. And it&#8217;s a darn good sign given that public trust is a big part of their business model, which is all I&#8217;m going to say on the matter for 27 days or so.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=126" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/cambrian-development/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Pre-Cambrian House</title>
		<link>http://push.cx/2006/pre-cambrian-house</link>
		<comments>http://push.cx/2006/pre-cambrian-house#comments</comments>
		<pubDate>Thu, 01 Jun 2006 23:41:11 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Cambrian House]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/pre-cambrian-house</guid>
		<description><![CDATA[I was poking around reddit and followed a link to CambrianCode.com, an all-Flash (ugh!) puzzle game. There&#8217;s a few of these &#8220;guess how to get to next level&#8221; games online and they all just annoy me. Yes, you&#8217;re so clever. No, I find patronization alluring. Yes, I&#8217;ll spend my time on this for no discernable [...]]]></description>
			<content:encoded><![CDATA[<p>
I was poking around reddit and followed a link to <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jYW1icmlhbmNvZGUuY29t">CambrianCode.com</a>, an all-Flash (ugh!) puzzle game. There&#8217;s a few of these &#8220;guess how to get to next level&#8221; games online and they all just annoy me. Yes, you&#8217;re so clever. No, I find patronization alluring. Yes, I&#8217;ll spend my time on this for no discernable reward.
</p>

<p>
The puzzle is run by <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2NhbWJyaWFuaG91c2UuY29t">Cambrian House</a>, a mysteeeeerious <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL29uc3RhcnR1cHMuY29tL0hvbWUvdGFiaWQvMzMzOS9hcnRpY2xlVHlwZS9BcnRpY2xlVmlldy9hcnRpY2xlSWQvNTk3L1N0ZWFsdGhNb2RlU2NobWVhbHRoTW9kZVRoZVJlYWxSZWFzb25zV2h5U3RhcnR1cHNEb250VGFsay5hc3B4">stealth startup</a> that has only a teaser page online. If there&#8217;s one thing that annoys me more than Flash puzzle-level games, it&#8217;s stealth startups. 
</p>

<p>
So I went poking around some more and found a development copy of their website. And much to my surprise, it&#8217;s actually a darn cool business idea. So cool that after I wrote a whole &#8220;Mwaha, I&#8217;m raising the curtain early!&#8221; post I thought better of it and am only going to post this for now. It was clever and fun, there&#8217;s going to be a ridiculous amount of buzz around this company when it launches. And I got to register as user #9, which was damn funny when I noticed their &#8220;About Us&#8221; page lists 17 employees.
</p>

<p>
Confidential to CH in Calgary: it&#8217;s really tacky to litter your URLs with &#8220;.php&#8221; and get variables. Put the following in your .htaccess file and have index.php take apart the URL with the PHP code below and route to your different pages. URLs like &#8220;/community/member/Harkins&#8221; look much nicer than &#8220;/community/member-profile.php?users_id=9&#8243;. (Or ask me about mod_rewrite.)
</p>

<pre>
&lt;Location /secret_development_environment&gt;
    Order Deny,Allow
    Deny from all
    Allow from 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 .cambrianhouse.com
&lt;/Location&gt;

RewriteEngine On
RewriteCond    %{REQUEST_FILENAME}  -d [OR]
RewriteCond    %{REQUEST_FILENAME}  -f
RewriteRule     ^(.*)$  - [L]

RewriteRule ^(index.*) - [QSA,L]
RewriteRule ^([^.]*)$ /index.php [QSA,L]
</pre>

<pre>&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> url_parse<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0000ff;">$url</span> = <span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'REQUEST_URI'</span><span style="color: #66cc66;">&#93;</span>;
&nbsp;
        <span style="color: #808080; font-style: italic;">// we don't want to pass get vars or anchor tags on to the script</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'?'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'?'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'#'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'#'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
        <span style="color: #808080; font-style: italic;">//remove leading slash and possible trailing slash, store in $url</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'/'</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, -<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'/'</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, -<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span> == <span style="color: #ff0000;">'/'</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <span style="color: #ff0000;">''</span>;
        <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L2V4cGxvZGU="><span style="color: #000066;">explode</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'/'</span>, <span style="color: #0000ff;">$url</span><span style="color: #66cc66;">&#41;</span>;
        
        <span style="color: #b1b100;">return</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>

<div class="update">
Cambrian House house <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwNi9jYW1icmlhbi1kZXZlbG9wbWVudA==">responded</a> to me.
</div> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=121" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/pre-cambrian-house/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>FedEx Doesn&#8217;t Want Your Packages</title>
		<link>http://push.cx/2006/fedex-doesnt-want-your-packages</link>
		<comments>http://push.cx/2006/fedex-doesnt-want-your-packages#comments</comments>
		<pubDate>Fri, 12 May 2006 19:19:09 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://push.cx/2006/fedex-doesnt-want-your-packages</guid>
		<description><![CDATA[In news that&#8217;s been reported all over the web in the last few days, FedEx has stunningly announced it doesn&#8217;t want your packages. Anyone shipping a movie will have their package treated as stolen property, detected by dogs and torn open. Everywhere I&#8217;ve seen this story it&#8217;s &#8220;Look at what that wacky MPAA is up [...]]]></description>
			<content:encoded><![CDATA[<p>
In news that&#8217;s been reported all over the web in the last few days, FedEx has stunningly announced it <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zcGFjZWdyaW5kZXIuY29tL2FydGljbGU4Lmh0bWw=">doesn&#8217;t want your packages</a>. Anyone shipping a movie will have their package treated as stolen property, detected by dogs and torn open.
</p>

<p>
Everywhere I&#8217;ve seen this story it&#8217;s &#8220;Look at what that wacky MPAA is up to again&#8221;, but that&#8217;s not even half the story. FedEx chose to allow the MPAA to start nosing through its packages and the announcement describes the program as &#8220;amazingly successful&#8221; despite not catching a single pirate. The only logical conclusion is that FedEx doesn&#8217;t want your business anymore. And that&#8217;s easy enough to oblige.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=108" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/fedex-doesnt-want-your-packages/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NDAs: Fear and Shame</title>
		<link>http://push.cx/2006/ndas-fear-and-shame</link>
		<comments>http://push.cx/2006/ndas-fear-and-shame#comments</comments>
		<pubDate>Wed, 10 May 2006 18:03:40 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/ndas-fear-and-shame</guid>
		<description><![CDATA[The two fundamental reasons NDAs exist are fear and shame, and that&#8217;s only halfway a bad thing. You want a little healthy fear in your life, it keeps you from trying to pet those cute little bear cubs. In business, it keeps you paying attention to things like what the competition is up to, to [...]]]></description>
			<content:encoded><![CDATA[<p>
The two fundamental reasons NDAs exist are fear and shame, and that&#8217;s only halfway a bad thing.
</p>

<p>
You want a little healthy fear in your life, it keeps you from trying to pet those cute little bear cubs. In business, it keeps you paying attention to things like what the competition is up to, to if your burn rate is sustainable, and <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5yYW5kc2lucmVwb3NlLmNvbS9hcmNoaXZlcy8yMDA0LzA0LzE5L2hlaW5vdXMuaHRtbA==">how important those last few bugs are</a>.
</p>

<p>
Most NDAs exist because of two different and worthwhile fears: early competition and secret sauce. If you and two buddies have read <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cHM6Ly9nZXR0aW5ncmVhbC4zN3NpZ25hbHMuY29t">Getting Real</a> and struck out on your own to start a web-based business, you&#8217;d like to delay the day that knockoffs start appearing. Alternatively, if you&#8217;re Google, you have hordes of resourceful competitors and abusers who&#8217;d love to mine the offhand comments of your engineers.
</p>

<p>
But the nearly-as-common motivator behind NDAs is shame. You could call it fear of being found incompetent, but the word for that is shame. A shame-powered NDA will invariably be described as an important security measure, but the business is covering up that it runs everything in a slipshod, last-minute, &#8220;this is good for now and we need it&#8221; manner. Most organizations just barely work and spend their time lurching between crises, which is mildly disconcerting in an interdependent society but handy for breaking the spirit of idealistic young college graduates.
</p>

<p>
An NDA easily slips from being protection against competitors to being protection against customers, so companies have to be regularly act introverted, maybe stare into a candle while holding a crystal, and make sure they&#8217;re being honest with themselves about why they have an NDA. 
</p>

<p>
So think about yours. If you&#8217;re not thinking about how to balance tipping your hand and bragging about how cool you are, something&#8217;s terribly wrong.
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=106" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/ndas-fear-and-shame/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Defeating Hardware Keyloggers</title>
		<link>http://push.cx/2006/defeating-hardware-keyloggers</link>
		<comments>http://push.cx/2006/defeating-hardware-keyloggers#comments</comments>
		<pubDate>Mon, 27 Feb 2006 16:30:01 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[crypto]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://push.cx/2006/defeating-hardware-keyloggers</guid>
		<description><![CDATA[<p>
<a href="http://www.flickr.com/photos/teck0brain/102998532/"><img class="decoration" src="http://push.cx/wp-content/uploads/2006/02/keyboard.jpg" alt="Keyboards" height="100" width="150" /></a>
Last week I saw a nice article on <a href="http://www.schneier.com/cgi-bin/mt/mt-tb.cgi/732">building hardware keyloggers</a> and today I saw a response on <a href="http://www.combobulate.com/node/22">how to defeat them</a>.
</p>]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5mbGlja3IuY29tL3Bob3Rvcy90ZWNrMGJyYWluLzEwMjk5ODUzMi8="><img class="decoration" src="http://push.cx/wp-content/uploads/2006/02/keyboard.jpg" alt="Keyboards" height="100" width="150" /></a>
Last week I saw a nice article on <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5zY2huZWllci5jb20vYmxvZy9hcmNoaXZlcy8yMDA2LzAyL2RvaXR5b3Vyc2VsZl9rZS5odG1s">building hardware keyloggers</a> and today I saw a response on <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL3d3dy5jb21ib2J1bGF0ZS5jb20vbm9kZS8yMg==">how to defeat them</a>.
</p>

<p>
As it goes, the article presents a decent solution: if the keyboard might be insecure, use the mouse and some free software to enter your password. Of course, this solution makes a shoulder-surfing attack far easier, and creates a new opportunity for hardware video interception. (Both of these attacks are, admittedly, not as cheap and subtle as hardware keylogging.)
</p>

<p>
The key to this problem is the word &#8220;insecure&#8221; in the last paragraph. Hardware keyloggers intercept plaintext communication. Except for a few security products, all computer peripherals communicate in unencrypted plaintext.
</p>

<p>
Perhaps USB3 (just guessing randomly at the Next Big Standard) could implement some kind of public-key cryptosystem. When you plug in a device you&#8217;d be given a prompt like &#8220;Does your <i>Initech 104-key US-English Ubertype Keyboard</i> have <i>5524 44F2 0CF6 3FB8 CB03  458C 6BA3 D6BF AF80 2CAA</i> engraved on it somewhere?&#8221; (You&#8217;ve got to have it engraved by the manufacturer, otherwise you&#8217;ll be defeated by a ten-cent sticker. Even high-tech solutions have to exist in the real world.)
</p>

<p>
The technology for this already exists (though there&#8217;s some hurdles to clear for peripherals plugged in after boot time), but the biggest problems are price and user education. It&#8217;s very unlikely that most users will ever be targets for this attack, so the cost of establishing a new standard for peripherals and buying hardware that meets it is unreasonable.
</p>

<p>
More important than this is that users won&#8217;t know what this is or why it matters. It would be worth the extra training in situations that require a high degree of security (banking, the military, etc.) but most users would never bother to check the PK fingerprint and would just click &#8220;Sure, I checked it&#8221; to get on with their work (leaving them open to <a href="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9NYW4taW4tdGhlLW1pZGRsZV9hdHRhY2s=">man-in-the-middle attacks</a>). After a decade or two the understanding would probably percolate to the user community at large. (Or we could switch to wireless peripherals &#8212; we&#8217;ve had enough war/spy movies that everyone understands radio is trivial to intercept.) Anyone see other significant flaws with this approach?
</p>

<p>
Of course, security is an arms race and the next attack is to perform the interception in the hardware itself, calling for transparent cases and tamper-evident seals. And so on, and so on&#8230;
</p> <img src="http://push.cx/wp-content/plugins/wordpress-feed-statistics/feed-statistics.php?view=1&post_id=47" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/defeating-hardware-keyloggers/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

