<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>peekay</title>
	<atom:link href="http://peekay.org/feed/" rel="self" type="application/rss+xml" />
	<link>http://peekay.org</link>
	<description>random stuff about software, infrastructure, security, etc</description>
	<lastBuildDate>Sun, 15 Nov 2009 10:19:25 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='peekay.org' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/0526199acccfd08adde132342cd1146a?s=96&#038;d=http://s2.wp.com/i/buttonw-com.png</url>
		<title>peekay</title>
		<link>http://peekay.org</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://peekay.org/osd.xml" title="peekay" />
	<atom:link rel='hub' href='http://peekay.org/?pushpress=hub'/>
		<item>
		<title>PGP Online Store Customer Data Exposure</title>
		<link>http://peekay.org/2009/11/15/pgp-online-store-exposure/</link>
		<comments>http://peekay.org/2009/11/15/pgp-online-store-exposure/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 10:09:28 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[PGP]]></category>

		<guid isPermaLink="false">http://peekay.org/?p=84</guid>
		<description><![CDATA[A PGP Online Store vulnerability could have allowed hackers to harvest PGP Corporation&#8217;s customer data.
Exposed data included each customer&#8217;s full contact info (name, physical address, email address, telephone number, etc), the PGP product &#38; version level purchased by the customer, and the customer&#8217;s operating system (Windows or Mac).
For some customers, partial credit card information were [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=84&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>A <a href="http://store.pgp.com/index.html">PGP Online Store</a> vulnerability could have allowed hackers to harvest <a href="http://www.pgp.com/">PGP Corporation</a>&#8217;s customer data.</p>
<p>Exposed data included each customer&#8217;s full contact info (name, physical address, email address, telephone number, etc), the PGP product &amp; version level purchased by the customer, and the customer&#8217;s operating system (Windows or Mac).</p>
<p>For some customers, partial credit card information were also exposed, including the type of card the customer used (Visa, Amex, etc.), the last four digits of the card, the card&#8217;s expiration date, and the first &amp; last name associated with the card.</p>
<p><img class="alignnone size-full wp-image-91" title="PGP Customer Data (masked)" src="http://peekay.files.wordpress.com/2009/11/pgp_masked.png?w=480&#038;h=348" alt="Screenshot showing masked PGP customer data" width="480" height="348" /></p>
<p>The type and amount of data exposed could have subjected PGP customers to an extremely effective targeted phishing attack, especially considering PGP&#8217;s reputation as a leader in the data protection market.</p>
<p>The vulnerability involved an <a href="http://www.owasp.org/index.php/Top_10_2007-A4">Insecure Direct Object Reference</a> on a product renewal URL which was not protected by any form of authentication.</p>
<p><em>Timeline:</em></p>
<p>This vulnerability was disclosed to PGP on October 17, 2009.  PGP acknowledged the issue on October 22 and implemented a fix; however, my re-testing indicated the problem was not resolved (results communicated back to them on the same day).  Sent follow-up email on November 5 as there were no updates from PGP.  On November 9, PGP responded that they were planning to add authentication to protect the renewal function.  Verified vulnerability still existed on November 11. Issue appears to have been fixed on November 12.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/84/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/84/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/84/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=84&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2009/11/15/pgp-online-store-exposure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>

		<media:content url="http://peekay.files.wordpress.com/2009/11/pgp_masked.png" medium="image">
			<media:title type="html">PGP Customer Data (masked)</media:title>
		</media:content>
	</item>
		<item>
		<title>Update to Google Docs security issues</title>
		<link>http://peekay.org/2009/11/13/65/</link>
		<comments>http://peekay.org/2009/11/13/65/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 06:32:44 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Docs]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://peekay.org/?p=65</guid>
		<description><![CDATA[Back in March I wrote about a few security issues with Google Docs while keeping some details private.
Google Security and the Google Docs product management team engaged me immediately after the issues became public, and kept me well informed of their findings through several days of productive exchange of ideas. I&#8217;m used to getting the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=65&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Back in March I wrote about <a href="http://peekay.org/2009/03/26/security-issues-with-google-docs/">a few security issues</a> with Google Docs while keeping some details private.</p>
<p>Google Security and the Google Docs product management team engaged me immediately after the issues became public, and kept me well informed of their findings through several days of productive exchange of ideas. I&#8217;m used to getting the silent treatment when reporting security issues, so I&#8217;d like to credit Google for keeping the lines of communications open.</p>
<p>I had been &#8220;on the road&#8221; since then and decided to take time off from blogging.  Now that I&#8217;m back home, I&#8217;d like to close these issues before writing about a few other (non-Google) security &amp; privacy concerns I have in mind.</p>
<p>So without further delay let&#8217;s revisit the three Docs issues based on my emails with Google back in late March and early April.  I understand that Google have made changes to remediate part or all of these issues, according to their own risk determination.</p>
<p><strong>1. No protection for embedded images</strong></p>
<p>This issue was about the lack of protection (authentication) for images embedded in a document, and an image’s continued existence on Google&#8217;s servers after its containing document has been deleted.  The lack of authentication means that the image URL could be accessed by 3rd parties without the document&#8217;s owner consent.</p>
<p>Google <a href="http://googledocs.blogspot.com/2009/03/just-to-clarify.html">correctly noted</a> that the image URL would have been known only to those with previous access to the image, and someone with such access could have saved the image anyway, and perhaps disclosed the saved image with unauthorized persons.</p>
<p>However, from a privacy perspective, there is a crucial difference between a “saved” image being disclosed, and one being served directly by Google Docs: <em>evidence of ownership</em>.</p>
<p>Let’s examine how a typical Docs image URL is constructed:</p>
<p>docs.google.com/File?id=<strong>dtfqs27</strong>_<em>1</em>f3vfmkcz_b   (an image stored at Google)</p>
<p>The bolded portion of the URL (“dtfqs27”) seems to uniquely identify the resource owner (in this case, me).  Documents and images created by the same account will have this same ID as part of the URL.</p>
<p>Embedding “personally linkable” IDs in URLs is poor practice and has wide-ranging privacy implications on on its own &#8212; more on this later.  Yet we’re going twice further here by: 1) associating the ID with a document resource; and 2) making the entire URL publicly accessible.  This is a form of <a href="http://www.owasp.org/index.php/Top_10_2007-A4">Insecure Direct Object Reference</a>, a common security issue which I&#8217;ll have to say more about in the coming days.</p>
<p><em>Contrived scenario</em>:</p>
<p>I share a picture of my company’s ultra-secret new <em>tablet</em> with a potential supplier.   An employee of said supplier saves the picture and wants to sell it to AdeInsider.com, a rumor-site tracking my inventions.   They accuse the employee of just making it all up in Photoshop.  So the employee shares the link instead, e.g.:</p>
<p>docs.google.com/File?id=<strong>dtfqs27</strong>_<em>4</em>ghppz9dq_b</p>
<p>Since there is no authentication, AdeInsider.com can now widely publish that link, and point out to their readers that the image on my blog has the same unique identifier, thus <em>positively</em> determining ownership. Instant privacy breach.  (Instead of a secret gadget, imagine compromising pictures, etc.)  My only recourse is to get Google support to remove the image, since I can’t immediately do it myself by deleting the containing document.  But any action on my part would have been too late, anyway.</p>
<p>As I noted in a <a href="http://peekay.org/2009/03/23/chinks-in-the-armor/">previous post</a>, I can only recommend defense-in-depth.   In this case the lack of authentication &#8212; which appears benign by itself due to randomness in the URL &#8212; might cause a serious privacy breach due to another issue (leak of what is essentially personally identifying information.)</p>
<p><em>Tangent</em>:</p>
<p>Tagging resources with IDs potentially linked to personal information is unfortunately a widespread practice, with Facebook being a big example.  Like Google Docs, images uploaded to Facebook are tagged with the user&#8217;s ID, are accessible without authentication, and subject to the same privacy flaw.  It&#8217;s trivial to map Facebook IDs to real names.  From a privacy perspective, ID tagging might in some cases be more problematic than tracking cookies.</p>
<p><strong>2. File revision flashback</strong></p>
<p>I&#8217;m not going to add much more to this issue except to note that privacy breaches can occur due to designed behavior having non-intuitive implications to regular users &#8212; the old <a href="http://www.zdnetasia.com/news/security/0,39044215,62032332,00.htm">Microsoft Fast Save feature</a> comes to mind, as well as a number of <a href="http://www.techcrunch.com/2009/02/11/the-ap-reveals-details-of-facebookconnectu-settlement-with-best-hack-ever/">accidental disclosures</a> involving PDF.  The fact that someone can fiddle with an embedded image&#8217;s URL (normally buried in HTML) to get previous revisions is not obvious to your typical Docs user.</p>
<p>Google has added useful entries in their Help files and there are now explicit controls in the diagram tool.</p>
<p><strong>3. I’ll help myself to your Docs, thanks</strong></p>
<p>I reported that in some cases, a person <em>removed</em> from a shared document could <em>add himself back</em> to a document&#8217;s shared list without the owner&#8217;s permission or knowledge.  This issue obviously garnered the most attention and as it turned out, was much more complex than I originally thought.</p>
<p>Google clarified that this behavior is proper when a document has the &#8220;invitations may be used by anyone&#8221; option enabled.  The purpose of this option is to allow forwarding of invitations (e.g., for mailing lists), and essentially works by making the document public.</p>
<p>After Google&#8217;s clarification, I checked through my test documents, and sure enough, this option <em>was </em>enabled on them, explaining the behavior.  There was only one problem:  I had <em>explicitly disabled</em> this option when creating my test documents, yet somehow these documents became publicly accessible!</p>
<p>After additional analysis at the time, my findings indicated that:</p>
<p>- A <a href="http://en.wikipedia.org/wiki/Race_condition">race condition</a> existed due to the way the document sharing control GUI was implemented.  Most of the time, the Docs sharing control worked fine.  However, in some cases the control could fail in three distinct ways: a) the &#8220;invitations may be used by anyone&#8221; option <a href="http://www.barkah.org/misc/SubmitFailureComposite.png">visibly re-enabled itself</a> after being disabled, immediately prior to the user clicking &#8220;submit&#8221;; b) the option remained disabled on screen, but was incorrectly submitted as enabled; c) the GUI completely failed and became non-responsive (which is actually fine since that&#8217;s <a href="http://en.wikipedia.org/wiki/Fail-safe">fail-secure</a>.)</p>
<p>I was able to record screencasts of each failure type and submitted them for Google&#8217;s review.</p>
<p>- Compounding the issue, a different GUI problem could <em>hide</em> the fact that a deleted &#8220;sharee&#8221; has added himself back to a document.</p>
<p>In Google Docs there are several areas where a document&#8217;s sharing status can be seen, including from the main screen&#8217;s &#8220;folder view&#8221;, from the left-nav of the main screen, and from a document&#8217;s sharing dialog.  When a sharee deleted a document (breaking the share) then immediately added himself back, the main folder view and left-nav will show that the document is no longer being shared <em>when in fact it still is</em>.</p>
<p>So weaknesses in the Google Docs user interface implementation could cause private documents invitations to be wrongly permissioned as public, and furthermore, deleted share participants could add him/herself back to documents without  document&#8217;s owner noticing.</p>
<p>What are essentially simple UI flaws (which arguably should have been caught by developers and/or QA) now have security and privacy implications.   This &#8220;escalation&#8221; is an inherent risk with collaborative applications, especially &#8220;cloud&#8221; applications which have world-shareable features.</p>
<p>I must state, the likelihood of a direct breach due to wrong permissioning is low.  However, as Issue #1 demonstrated, even seemingly minor flaws could lead to privacy leaks.  Indeed, documents incorrectly permissioned in this way are subject to the same <em>evidence of ownership</em> leak as the images in Issue #1.</p>
<p>From what I could tell, Google quickly implemented changes to fix part if not all of these issues.  I have no visibility regarding how many documents were incorrectly marked public.  Readers with highly sensitive documents should periodically review their sharing controls.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/65/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/65/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/65/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=65&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2009/11/13/65/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>
	</item>
		<item>
		<title>Security issues with Google Docs</title>
		<link>http://peekay.org/2009/03/26/security-issues-with-google-docs/</link>
		<comments>http://peekay.org/2009/03/26/security-issues-with-google-docs/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 10:02:47 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Docs]]></category>
		<category><![CDATA[privacy]]></category>

		<guid isPermaLink="false">http://peekay.org/?p=47</guid>
		<description><![CDATA[[Update 11/13: Please see my follow-up to these issues.]
[Update 3/26: I'm now in contact with Google Security.]
[Update 3/28: I'm aware of Google's official response to the issues raised in this blog.  I am continuing to share my findings with Google Security and appreciate the excellent feedback they are providing me.  It would be premature for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=47&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><em>[Update 11/13: Please see my <a href="http://peekay.org/2009/11/13/65/">follow-up to these issues</a>.]</em></p>
<p><em>[Update 3/26: I'm now in contact with Google Security.]</em></p>
<p><em>[Update 3/28: I'm aware of Google's <a href="http://googledocs.blogspot.com/2009/03/just-to-clarify.html">official response</a> to the issues raised in this blog.  I am continuing to share my findings with Google Security and appreciate the excellent feedback they are providing me.  It would be premature for me to provide further comment at this time. ]</em></p>
<p>If you can see the image below, you&#8217;ve just hacked Google Docs:</p>
<p><img class="alignnone" title="owned" src="http://docs.google.com/File?id=dtfqs27_1f3vfmkcz_b" alt="" /></p>
<p>The above image should not be accessible to you.  It&#8217;s supposed to be embedded solely within a protected Google Docs document, which I have <em>not</em> shared. In fact, I&#8217;ve actually <strong>deleted</strong> that document.  It shouldn&#8217;t even exist anymore.  Yet here you are, viewing my precious picture in all its glory, nakedly served by Google servers,  outside of the protective Docs environment.</p>
<p>What went wrong?  In light of the recent Google Docs <a href="http://www.techcrunch.com/2009/03/07/huge-google-privacy-blunder-shares-your-docs-without-permission/">privacy glitch</a>, let&#8217;s take a look at three privacy issues highlighting problems with the way documents are shared:</p>
<p><strong>1. No protection for embedded images</strong></p>
<p>When you embed (&#8220;insert&#8221;) an image from your computer into a Google Document, that image is &#8220;uploaded&#8221; onto Google servers and assigned an id.   From then on, the image is accessible via a URL.  For example, the URL for the above image is:</p>
<pre>docs.google.com/File?id=dtfqs27_1f3vfmkcz_b</pre>
<p>However, unlike the containing document, embedded images are <em><strong>not protected by the sharing controls</strong></em>.  That means anyone with access to the URL can view the image.  If you&#8217;ve shared a document containing embedded images with someone, that person will always be able to view those images.  Even after you&#8217;ve stopped sharing the document.  Or as the image above demonstrates, even after you&#8217;ve deleted the document.</p>
<p>That&#8217;s counter-intuitive behavior for most users.   If you embed an image into a protected document, you&#8217;d expect the image to be protected too.  If you delete a document, you&#8217;d expect any embedded resources to be deleted also. The end result is a potential privacy leak.</p>
<p><strong>2. File revision flashback<br />
</strong></p>
<p>It&#8217;s 4am and you&#8217;re been working all night on a document.   This document contains a Docs <em>diagram,</em> blueprinting that million-dollar-idea you have in your head.</p>
<p>You want to share this document with potential suppliers, but you don&#8217;t want to reveal all of your secrets just yet.   So you diligently redact the <em>diagram</em>, removing all the sensitive parts of the blueprints.  Satisfied that your idea is safe, you share the document (view-only).</p>
<p>Next thing you know, your idea has been stolen.  A Chinese company quickly ships knockoffs based on your complete blueprints.  What happened?</p>
<p>Unknown to you, anyone you shared the document with can view <strong><em>any version of any diagram</em></strong> embedded in the document.  The fact that you&#8217;ve deleted sensitive parts of the diagram doesn&#8217;t matter, because the viewer can see the older versions.</p>
<p>How?  Quite easy.  In Google Docs, a diagram<em> </em>is a set of instructions that&#8217;s <em>rasterized</em> into an image (in <a href="http://en.wikipedia.org/wiki/Portable_Network_Graphics">PNG</a> format).  Each time you modify a diagram, a <em>new</em> raster image is created, but the old versions remain accessible via a URL, in the format:</p>
<pre>docs.google.com/drawings/image?id=1234&amp;...&amp;<strong>rev=23</strong>&amp;ac=1</pre>
<p>To view any previous version, just change the &#8220;rev=&#8221; number above.</p>
<p>This problem is reminiscent of the old <a href="http://www.zdnetasia.com/news/security/0,39044215,62032332,00.htm">Microsoft Word Fast Save issue</a>, and will have similar privacy implications if not changed.</p>
<p><strong>3. I&#8217;ll help myself to your Docs, thanks<br />
</strong></p>
<p>So you learned your lesson from above, and stopped sharing your documents.  You&#8217;ve <em>kicked everyone out</em> from your Docs.  This negates the purpose of Docs somewhat, but you&#8217;d rather be safe than sorry.</p>
<p>Working solo, you happily add new ideas to your secret document, patting yourself on the back before you go on a well-deserved vacation.</p>
<p>Too bad while you&#8217;re sipping <em>piña coladas</em> on the beach, those same suppliers you&#8217;ve just kicked out <em><strong>have added themselves back</strong></em> to your Docs and stealing your new ideas!  <em>What?</em></p>
<p>It&#8217;s true.  Even if you unshare a document with a person, that person can <em>in certain cases</em> still access your document without your permission, a serious breach of privacy.  For now I&#8217;m withholding the mechanics of when/why/how this happens, pending further research and feedback from Google if any.</p>
<p><strong>NOTE:</strong></p>
<p>These findings are based upon my investigations stemming from Issue #1 above.  I disclosed this particular issue to Google on March 18.  I tend to follow rfpuppy&#8217;s <a href="http://www.wiretrip.net/rfp/policy.html">Full Disclosure Policy </a>and so waited five business days for Google to comment.  I&#8217;ve yet received any response from Google other than the usual automated, canned reply (which I don&#8217;t consider a real response.)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=47&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2009/03/26/security-issues-with-google-docs/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>

		<media:content url="http://docs.google.com/File?id=dtfqs27_1f3vfmkcz_b" medium="image">
			<media:title type="html">owned</media:title>
		</media:content>
	</item>
		<item>
		<title>Chinks in the Armor</title>
		<link>http://peekay.org/2009/03/23/chinks-in-the-armor/</link>
		<comments>http://peekay.org/2009/03/23/chinks-in-the-armor/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 07:16:10 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[defense in depth]]></category>
		<category><![CDATA[xss]]></category>

		<guid isPermaLink="false">http://peekay.org/?p=38</guid>
		<description><![CDATA[Defense-in-depth is a cornerstone of any information security strategy.   Corporate networks are routinely segmented into various zones such as &#8220;public&#8221;, &#8220;DMZ&#8221;, &#8220;extranet&#8221; and &#8220;intranet&#8221; to contain sensitive information deep within several protection domains.  Failure of one control should not compromise the entire system.
Defense-in-depth is everywhere.   Border routers filter spoofing attacks.  The firewalls behind them enforce [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=38&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Defense_in_Depth_(computing)">Defense-in-depth</a> is a cornerstone of any information security strategy.   Corporate networks are routinely segmented into various zones such as &#8220;public&#8221;, &#8220;DMZ&#8221;, &#8220;extranet&#8221; and &#8220;intranet&#8221; to contain sensitive information deep within several protection domains.  Failure of one control should not compromise the entire system.</p>
<p>Defense-in-depth is everywhere.   Border routers filter spoofing attacks.  The firewalls behind them enforce specific network (and sometimes application) controls.  <a href="http://en.wikipedia.org/wiki/Intrusion-prevention_system">IPS/IDS</a> systems monitor numerous operational parameters.   Sophisticated log analysis and alerting tools are being deployed.  Everything from the HR hiring procedures to the workstation anti-virus update procedure forms a part of this layering strategy.</p>
<p>Yet while IT and security professionals are becoming adept in designing sophisticated fortresses to protect ultra-secret corporate data, sometimes they completely forget to protect their customers.</p>
<p>Defense-in-depth as practiced today protect bad stuff from <em>coming in</em>, but not bad stuff from <em>going</em> <em>out</em>.</p>
<p>Let&#8217;s take a look at a simple <a href="http://en.wikipedia.org/wiki/Cross-site_scripting">XSS</a> attack.   For example, I disclosed <a href="http://www.solvay.com/services/searchresult/0,,2276-2-0,00.htm?query=%22%3E%3Cscript%3Ealert(%27pk%20wuz%20here%27);%3C/script%3E">this problem</a> to <a href="http://www.solvay.com/">Solvay</a> more than six months ago.  They&#8217;ve never bothered to fix (or even acknowledge) the issue.</p>
<p>You see, the Solvay public website is more or less just a &#8220;brochure-ware&#8221;.  It doesn&#8217;t have credit-card numbers.   It doesn&#8217;t contain Solvay&#8217;s trade secrets.  A lowly XSS attack like the above wont compromise any Solvay databases.  It&#8217;s not worthy of a fix.</p>
<p>I can, however, use the above XSS to phish Solvey customers into giving up <em>their</em> confidential information.  Or create a <em>fake</em> <em>press release</em> to manipulate <a href="http://online.wsj.com/public/quotes/main.html?type=djn&amp;symbol=SOLB.BT">Solvay&#8217;s stock price</a>. I&#8217;m sure Solvay&#8217;s investors wont be very happy.</p>
<p>A simple XSS bug might be &#8220;harmless&#8221; by itself but can form a powerful attack when combined with other techniques, both technical and non-technical.  It can be a malicious &#8220;first-step&#8221; used to exploit other weaknesses in the system.  Fixing simple problems like this should be part of any layered defense strategy.</p>
<p>Solvay, by the way, makes chemicals and pharmaceuticals,  like industrial hydrogen-peroxide, equally useful in hair-bleaching and <a href="http://en.wikipedia.org/wiki/Acetone_peroxide">bomb-making</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=38&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2009/03/23/chinks-in-the-armor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>
	</item>
		<item>
		<title>Security Compliance</title>
		<link>http://peekay.org/2009/03/22/29/</link>
		<comments>http://peekay.org/2009/03/22/29/#comments</comments>
		<pubDate>Sun, 22 Mar 2009 17:28:46 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[audit]]></category>
		<category><![CDATA[compliance]]></category>

		<guid isPermaLink="false">http://peekay.org/?p=29</guid>
		<description><![CDATA[Having served on a national information security standards working group, I&#8217;m keenly aware that compliance is a major driver &#8212; if not the primary driver &#8212; for security initiatives today.
Compliance rules work best when the threat for inaction is tangible and immediate.   Usually, the threat is &#8220;we will fail external audit unless we comply with [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=29&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Having served on a national information security standards working group, I&#8217;m keenly aware that compliance is a major driver &#8212; if not the <em>primary</em> driver &#8212; for security initiatives today.</p>
<p>Compliance rules work best when the threat for inaction is tangible and immediate.   Usually, the threat is &#8220;we will fail external audit unless we comply with X&#8221; and thus management is highly motivated to comply with X, spending resources they otherwise would not.</p>
<p>There are many issues with this approach:</p>
<ul>
<li>The majority of small &amp; medium businesses out there are not subject to periodic audit.  Without the big stick of a negative audit opinion, compliance rules are routinely ignored.</li>
<li>Initiatives are often designed to pass audit with the least amount of work.  Little or no effort is expended in actually understanding the risks and designing controls appropriate for that level of risk.</li>
<li>Within large enterprises with complex infrastructure, compliance teams and auditors can realistically only sample small parts of the overall system, leaving large gaps unexamined.</li>
<li>Auditors are often too reluctant to &#8220;fail&#8221; an auditee if the auditee has appropriate &#8220;processes and procedures&#8221; in place.  Auditors generally &#8220;believes&#8221; an auditee who says a pending issue is being addressed. However, often these processes and procedures only exist on paper, and sometimes no action is taken until an auditor starts complaining.</li>
<li>As an extension to the above, often what&#8217;s being audited is only the paperwork (existence of standards, directives, design documents, change logs, etc.), not the actual systems in use.</li>
<li>Compliance does not equal security.  Standards, rules and regulations cannot replace common sense.</li>
</ul>
<p>I could go on and on.  None of these problems are new, mirroring issues with auditing in general.</p>
<p>Having said all that, I truly believe compliance-driven initiatives do help organizations improve their security posture.  Even when companies just do the bare minimum required, that&#8217;s still more than doing nothing.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=29&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2009/03/22/29/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>
	</item>
		<item>
		<title>iPhone SDK Regular Expressions</title>
		<link>http://peekay.org/2009/03/18/iphone-sdk-regular-expressions/</link>
		<comments>http://peekay.org/2009/03/18/iphone-sdk-regular-expressions/#comments</comments>
		<pubDate>Wed, 18 Mar 2009 02:49:28 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[regex]]></category>

		<guid isPermaLink="false">http://peekay.wordpress.com/?p=22</guid>
		<description><![CDATA[If you&#8217;re programming the iPhone, sooner or later you&#8217;ll need regular expressions (regex).  By default OS X includes the ICU, an open source Unicode library which has extensive regex capabilities.
The ICU APIs are in C/C++ however, not Objective-C.    Fear not, RegexKitLite to the rescue.   This small library has done all the hard work [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=22&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re programming the iPhone, sooner or later you&#8217;ll need regular expressions (regex).  By default OS X includes the <a title="International Components for Unicode" href="http://site.icu-project.org/">ICU</a>, an open source Unicode library which has extensive regex capabilities.</p>
<p>The ICU APIs are in C/C++ however, not Objective-C.    Fear not, <a href="http://regexkit.sourceforge.net/RegexKitLite/index.html">RegexKitLite</a> to the rescue.   This small library has done all the hard work of adding regex methods to NSString.  RegexKitLite is small, thread-safe, and quite fast.  It simply links to ICU &#8211;  unlike its bigger brother, RegexKit, which must be compiled against <a title="Perl Compatible Regular Expressions" href="http://www.pcre.org/">PCRE</a>.</p>
<p>RegexKitLite is also easy to use:</p>
<pre style="padding-left:30px;">#import "RegexKitLite.h"
NSString * foo = @"some string to search on";
NSString * regex = @"^(.+?)\s";
NSLog(@"Match: %@", [foo stringByMatching:regex capture:1]);</pre>
<p>Then just link with -<em>licucore </em>and that&#8217;s it!!</p>
<p>Note: In Xcode I simply added <em>-licucore</em> to the &#8220;Other Linker Flags&#8221; in my project&#8217;s build configuration.  Maybe there&#8217;s a &#8220;better&#8221; way of doing this but this method works for me.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/22/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/22/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/22/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=22&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2009/03/18/iphone-sdk-regular-expressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>
	</item>
		<item>
		<title>Google Suggest vs. Privacy</title>
		<link>http://peekay.org/2008/09/03/google-suggest-vs-privacy/</link>
		<comments>http://peekay.org/2008/09/03/google-suggest-vs-privacy/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 23:07:39 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[suggest]]></category>

		<guid isPermaLink="false">http://peekay.wordpress.com/?p=16</guid>
		<description><![CDATA[Since Google launched Chrome yesterday, much have been said on the blogosphere about its privacy implications.  The issue is Google can log your search keystrokes as you type, even prior you hitting that Enter key to submit the search. But since Google Suggest is now enabled by default, this behavior is actually no different [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=16&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>Since Google launched Chrome yesterday, much have been said on the blogosphere about its privacy implications.  The issue is Google can log your search keystrokes as you type, even prior you hitting that Enter key to submit the search. But <a href="http://googlesystem.blogspot.com/2008/08/google-suggest-enabled-by-default.html">since Google Suggest is now enabled by default</a>, this behavior is actually no different than when you type in a search into Google.com directly, <em>using any browser</em>.</p>
<p>And this behavior is not confined to Google.com either, many third-party websites directly or indirectly uses Google Suggest, even if they don&#8217;t use the Google Search widget.  It gets worse (see later).   But how does it work from non-Google websites?</p>
<p>Basically, the website traps your keystrokes using an &#8220;onkeyup&#8221; event handler, then issues an AJAX call to the Suggest API (suggestqueries.google.com).  The API can be invoked with a simple HTTP GET.  Here&#8217;s an example when you search for &#8220;sarah p&#8221; today:</p>
<pre style="padding-left:30px;">http://suggestqueries.google.com/complete/search?qu=sarah%20p</pre>
<p>Google then returns a suggestion list:</p>
<pre style="padding-left:30px;">window.google.ac.h(["sarah p",[["sarah palin","357,000 results","1"],
["sarah polley","1,110,000 results","2"],["sarah paulson","487,000 results","3"]
...etc...</pre>
<p>notice this is a <a href="http://en.wikipedia.org/wiki/JSON">JSONP</a> result.</p>
<p>What most people don&#8217;t know, if you use Firefox, the top-right Google search box (that&#8217;s default for most people) has already been using this functionality all along!!   So Firefox has the same privacy issue.  The Firefox search handler calls the suggestion API with an added parameter (output=firefox&amp;qu=sarah%20p)  and gets a simpler return list:</p>
<pre style="padding-left:30px;">["sarah p",["sarah palin","sarah polley","sarah paulson", ...</pre>
<p>So what&#8217;s new with Chrome?  The difference is Chrome combines the URL bar and the Search bar together.  When you type in &#8220;http://www.slashdot&#8221;, for example, Chrome sends out the following HTTP request prior to you completing your action.  Here&#8217;s what the packet sniffer logs:</p>
<pre style="padding-left:30px;">GET /complete/search?client=chrome&amp;output=chrome&amp;hl=en-US&amp;q=http%3A%2F%2Fwww.slashdot HTTP/1.1\r\n
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/525.13 (KHTML, like Gecko) Chrome/0.2.149.27 Safari/525.13\r\n
Accept-Language: en-US,en\r\n
Accept-Charset: ISO-8859-1,*,utf-8\r\n
Accept-Encoding: gzip,deflate,bzip2\r\n
Host: clients1.google.ca\r\n
Connection: Keep-Alive\r\n</pre>
<p>Which means with Chrome, Google now knows not only what you&#8217;re searching for, but also which websites you directly go to as well.</p>
<p>You can turn off this functionality by going to Options &gt; Default Search &gt; Manage and uncheck the &#8220;Use a suggestion service&#8221; box.   At the very least, Google should let users turn off URL auto-suggestions (off by default) while still enabling search completion.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/peekay.wordpress.com/16/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/peekay.wordpress.com/16/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/16/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/16/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/16/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=16&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2008/09/03/google-suggest-vs-privacy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>
	</item>
		<item>
		<title>Struts2 external redirect</title>
		<link>http://peekay.org/2008/09/03/struts2-external-redirect/</link>
		<comments>http://peekay.org/2008/09/03/struts2-external-redirect/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 13:05:56 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[java]]></category>
		<category><![CDATA[struts2]]></category>

		<guid isPermaLink="false">http://peekay.wordpress.com/?p=9</guid>
		<description><![CDATA[For one of my S2 apps I needed to redirect to an external site.  If you Google on how to do this, you&#8217;ll see examples in the form of:
&#60;result name=&#8221;foo&#8221; type=&#8221;redirect&#8221;&#62;${externalUrl}&#60;/result&#62;
which doesn&#8217;t actually work, at least not in 2.0.11.2.  Instead, I&#8217;m using the httpheader result type to do a 301 redirect:
&#60;result name=&#8221;foo&#8221; type=&#8221;httpheader&#8221;&#62;
&#60;param [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=9&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>For one of my S2 apps I needed to redirect to an external site.  If you Google on how to do this, you&#8217;ll see examples in the form of:</p>
<p style="padding-left:30px;">&lt;result name=&#8221;foo&#8221; type=&#8221;redirect&#8221;&gt;${externalUrl}&lt;/result&gt;</p>
<p>which doesn&#8217;t actually work, at least not in 2.0.11.2.  Instead, I&#8217;m using the <em>httpheader</em> result type to do a 301 redirect:</p>
<p style="padding-left:30px;">&lt;result name=&#8221;foo&#8221; type=&#8221;httpheader&#8221;&gt;<br />
&lt;param name=&#8221;status&#8221;&gt;301&lt;/param&gt;<br />
&lt;param name=&#8221;headers.Location&#8221;&gt;${externalUrl}&lt;/param&gt;<br />
&lt;/result&gt;</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/peekay.wordpress.com/9/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/peekay.wordpress.com/9/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/9/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/9/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/9/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=9&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2008/09/03/struts2-external-redirect/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>
	</item>
		<item>
		<title>Moore&#8217;s law == SSL</title>
		<link>http://peekay.org/2008/09/02/moore-vs-ssl/</link>
		<comments>http://peekay.org/2008/09/02/moore-vs-ssl/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 15:22:27 +0000</pubDate>
		<dc:creator>peekay</dc:creator>
				<category><![CDATA[security]]></category>
		<category><![CDATA[freebsd]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[poweredge]]></category>
		<category><![CDATA[sc1435]]></category>
		<category><![CDATA[ssl]]></category>

		<guid isPermaLink="false">http://peekay.wordpress.com/?p=4</guid>
		<description><![CDATA[When it comes to security, Moore&#8217;s law usually benefits crackers: faster brute-force is an obvious benefit. One win for &#8220;the good guys&#8221; is in regards to SSL.
Not so long ago, implementing SSL was so expensive compute-wise we had to deploy special cryptographic accelerator cards either on our load-balancers or on our edge servers.  One type [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=4&subd=peekay&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<p>When it comes to security, Moore&#8217;s law usually benefits crackers: faster brute-force is an obvious benefit. One win for &#8220;the good guys&#8221; is in regards to SSL.</p>
<p>Not so long ago, implementing SSL was so expensive compute-wise we had to deploy special cryptographic accelerator cards either on our load-balancers or on our edge servers.  One type of card we had was capable of 200 RSA signs/second, but cost ~$4000.00 each.  Theoretically we could stuff three of these cards into a web server,  achieving 600 signs/sec for $12000 (plus whatever the server costs.)</p>
<p>Fast forward 2008.   I recently evaluated a &#8220;low-end&#8221; Dell Poweredge SC1435 1U rackserver with a single dual-core 2.6GHz Opteron.  After installing FreeBSD/amd64 and recompiling OpenSSL from sources, running &#8220;speed rsa1024&#8243; computed 2000+ signs/sec <em>per core</em>, totalling 4100 RSA signs/sec.  Plus the SC1435 has an open socket for a second dual-core Opteron.</p>
<p>Not bad for a machine we bought for less than $800 on eBay.  Needless to say we have no performance concerns deploying our application with SSL enabled.  Thanks Mr. Moore.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/peekay.wordpress.com/4/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/peekay.wordpress.com/4/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/peekay.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/peekay.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/peekay.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/peekay.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/peekay.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/peekay.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/peekay.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/peekay.wordpress.com/4/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/peekay.wordpress.com/4/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/peekay.wordpress.com/4/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=peekay.org&blog=4701354&post=4&subd=peekay&ref=&feed=1" />]]></content:encoded>
			<wfw:commentRss>http://peekay.org/2008/09/02/moore-vs-ssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/0846f908258a0d05752ee89a61da5d4f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">peekay</media:title>
		</media:content>
	</item>
	</channel>
</rss>