<?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>meandering wildly &#187; Security</title>
	<atom:link href="http://blog.johnath.com/category/commentary/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.johnath.com</link>
	<description>johnath in blog form</description>
	<lastBuildDate>Thu, 26 Jan 2012 14:39:08 +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 SSL Observatory</title>
		<link>http://blog.johnath.com/2010/08/05/the-ssl-observatory/</link>
		<comments>http://blog.johnath.com/2010/08/05/the-ssl-observatory/#comments</comments>
		<pubDate>Thu, 05 Aug 2010 16:23:05 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Linkage]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=498</guid>
		<description><![CDATA[Oh ho, lookit what the EFF went and did! The EFF SSL Observatory is a project to investigate the certificates used to secure all of the sites encrypted with HTTPS on the Web. We have downloaded a dataset of all of the publicly-visible SSL certificates, and will be making that data available to the research [...]]]></description>
			<content:encoded><![CDATA[<p>Oh ho, <a href="https://www.eff.org/observatory">lookit what the EFF went and did</a>!</p>
<blockquote><p>The EFF SSL Observatory is a project to investigate the certificates used to secure all of the sites encrypted with HTTPS on the Web. We have downloaded a dataset of all of the publicly-visible SSL certificates, and will be making that data available to the research community in the near future.</p></blockquote>
<p>This is exciting. I knocked together a <a href="http://blog.johnath.com/2009/03/25/updated-ssl-certificate-database/">less ambitious version of this</a> last year, but the EFF guys are doing it like grown-ups, and are getting some interesting data.</p>
<p>Numbers-wise, they&#8217;re in the right ballpark, as far as I can tell. Their numbers (1-2m CA-signed certs) coarsely match ones I&#8217;ve seen from private sources. I&#8217;ve heard from a few CAs that public-crawl estimates tend to err 50-80% low since they miss intranet dark matter, but at least the EFF is tracking other public-crawls. Given that their collection tools and data are going to be made public, that&#8217;s a really big deal. Previously, I haven&#8217;t been able to get this kind of data without paying for it or collecting it myself. If the database is actively maintained and updated, this will be a great resource for research.</p>
<p>Their analysis of CA certificate usage is also interesting. I&#8217;d like to see more work done, here, and in particular I&#8217;d like to see how CA usage breaks down between the Mozilla root store and others. We spend considerable effort managing our root store, and <a href="http://blog.johnath.com/2010/07/13/kathleen-a-faq/">recently removed a whole pile of CA certificates</a> that were idle. In some places, the paper seems to make the claim that fully half of trusted CAs are never used, but in other places, the number of active roots they count outnumbers our entire root program. I understand why they blurred the line for the initial analysis, but it would be swell to see it broken out.</p>
<p>As they mention, there are legit reasons for root certs to be idle, particularly for future-proofing. We have several elliptic curve roots, and some large-modulus RSA roots, which are waiting for technology to catch up before they become active issuers while giving CAs a panic switch in the case of an Interesting Mathematical Result &#8212; that feels okay to me. On the other hand, if there are certs which are just redundant, it would be great to know, so that we can have that conversation with the relevant CAs, and understand the need to keep the cert active.</p>
<p>This is exactly what I hoped would come of my crawler last year, but they&#8217;ve done a much more thorough job. We&#8217;ve seen an uptick in research interest in SSL over the last few years. Having a high quality data source to poke when testing a hunch is going to make it easier to spot trends, positive or otherwise. Interesting work, folks; keep it going!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2010/08/05/the-ssl-observatory/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kathleen, a FAQ</title>
		<link>http://blog.johnath.com/2010/07/13/kathleen-a-faq/</link>
		<comments>http://blog.johnath.com/2010/07/13/kathleen-a-faq/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 14:24:53 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=426</guid>
		<description><![CDATA[Q: Kathleen who? Kathleen Wilson works for the Mozilla Corporation, and manages our queue of incoming certificate authority requests. She coordinates the information we need from the CAs, shepherds them through our public review process and, if approved, files the bugs to get them into the product. Q: Holy crap! One person does all of [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Q: Kathleen who?</strong></p>
<p>Kathleen Wilson works for the Mozilla Corporation, and manages our queue of incoming certificate authority requests. She coordinates the information we need from the CAs, shepherds them through our public review process and, if approved, files the bugs to get them into the product.</p>
<p><strong>Q: Holy crap! One person does all of that? Is she superhuman?</strong></p>
<p>It has been proven by science. She is 14% unobtainium by volume.</p>
<p><strong>Q: That&#8217;s really awesome, but I am a terrible, cynical person and require ever-greater feats of amazing to maintain any kind of excitement.</strong></p>
<p>She came in to a root program with a long backlog and sparse contact information, and has reduced the backlog, completely updated our contact information, and is now collecting updated audit information for every CA, to be renewed yearly.</p>
<p><strong>Q: Hot damn! She&#8217;s like some kind of awesome meta-factory that just produces new factories which each, in turn, produce awesome!</strong></p>
<p>I know, right? She has also now removed several CAs that have grown inactive, or for which up to date audits cannot be found. They&#8217;ll be <a href="http://hg.mozilla.org/releases/mozilla-1.9.2/rev/110a5e30fad0#l1.92">gone as of Firefox 3.6.7</a>. They&#8217;re already gone on trunk.</p>
<p><strong>Q: Wait, what?</strong></p>
<p>Yeah &#8211; you can <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=534274">check out the bug</a> if you like. I&#8217;m not positive, but I think this might represent one of the first times that multiple trust anchors have ever been removed from a shipping browser. It&#8217;s almost certainly the largest such removal.</p>
<p><strong>Q: I don&#8217;t know what to say. Kathleen completes Mozilla. It is inconceivable to me that there could be anything more!</strong></p>
<p>Inconceivable, yes. And yet:</p>
<ol>
<li>She&#8217;s also made what I believe to be the <a href="http://spreadsheets.google.com/pub?key=ttwCVzDVuWzZYaDosdU6e3w&amp;single=true&amp;gid=0&amp;output=html">first comprehensive listing</a> of our root, with signature algorithms, moduli, expiry dates, &amp;c.</li>
<li>In her spare time, she&#8217;s coordinating with the CAs in our root program around the retirement of the MD5 hash algorithm, which should be a good practice run for the retirement of 1024-bit RSA (and eventually, in the moderately distant but forseeable future, SHA-1).</li>
<li>She has invented a device that turns teenage angst into arable land suitable for agriculture.</li>
</ol>
<p><em>Fully 2 of the above statements are true!</em></p>
<p><strong>Q: All I can do is whimper.</strong></p>
<p>Not true! You can also help! Kathleen ensures that every CA in our program undergoes a public review period where others can pick apart their policy statements or issuing practices and ensure that we are making the best decisions in terms of who to trust, and she&#8217;d love you to be a part of that.</p>
<ul>
<li>subscribe to the <a href="news://mozilla.dev.security.policy">mozilla.dev.security.policy</a> usenet group</li>
<li>or the <a href="https://lists.mozilla.org/listinfo/dev-security-policy">mailing list</a> version</li>
<li>or the <a href="http://groups.google.com/group/mozilla.dev.security.policy/topics?pli=1">google group clone</a></li>
</ul>
<p><strong>Q: I&#8217;ll do it! Thanks!</strong></p>
<p>No, thank you. That wasn&#8217;t a question.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2010/07/13/kathleen-a-faq/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Interview with a 419 Scammer</title>
		<link>http://blog.johnath.com/2010/02/11/interview-with-a-419-scammer/</link>
		<comments>http://blog.johnath.com/2010/02/11/interview-with-a-419-scammer/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 15:40:36 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Linkage]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Phishing & Malware]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=441</guid>
		<description><![CDATA[For those who haven&#8217;t seen it, scam-detectives.co.uk has a really interesting 3-part interview with a former Nigerian scammer. Scam-Detective: A reader has asked me to talk to you about face to face scams. Were you ever involved in meeting a victim, or was all of your contact by email? John: I never met a victim, [...]]]></description>
			<content:encoded><![CDATA[<p>For those who haven&#8217;t seen it, <a href="http://www.scam-detectives.co.uk/">scam-detectives.co.uk</a> has a really interesting 3-part interview with a former Nigerian scammer.</p>
<blockquote><p><strong>Scam-Detective</strong>: A reader has asked me to talk to you about face to face scams. Were you ever involved in meeting a victim, or was all of your contact by email?</p>
<p><strong>John</strong>: I never met a victim, but I was involved in a couple of Wash-Wash scams.</p>
<p><strong>Scam-Detective</strong>: Wash Wash scams? What does that involve?</p>
<p><strong>John</strong>: We would tell the victim that we had a trunk full of money, millions of dollars. One victim met some of my associates in a hotel in Amsterdam, where he was shown a box full of black paper. He was told that the money had been dyed black to get through customs, and that it could be cleaned with a special chemical that was very expensive. My associates showed him how this worked with a couple of $100 bills from the top of the box, which they rinsed with some liquid to remove the black dye. Of course the rest of the bills were only black paper, but the victim saw real money. He handed over $27,000 (about £17,000) to buy the chemicals and was told to return to the hotel later that day to pick up the cash. Of course when he came back, there was nobody there. He couldn’t report it to anybody because if it had been real it would have been illegal, so he would have gotten himself into trouble.</p></blockquote>
<p><a href="http://www.scam-detectives.co.uk/blog/2010/01/22/interview-with-a-scammer-part-one/">Part 1</a>, <a href="http://www.scam-detectives.co.uk/blog/2010/01/26/interview-with-a-scammer-part-two/">Part 2</a>, <a href="http://www.scam-detectives.co.uk/blog/2010/02/02/interview-with-a-scammer-part-three/">Part 3</a>.</p>
<p>We build tools in Firefox like stale-plugin warnings and malware blocking to help protect our users, to neuter the  technological attacks they may encounter on the web. But we also try, and need to keep trying, to build tools that inform our users so that they can make better decisions. Our phishing warnings and certificate errors try to do this, but mostly by scaring users away from specific attack situations. I hope we&#8217;ll continue to build tools like <a href="http://www.dria.org/wordpress/archives/2008/05/06/635/">Larry</a> which try to give people some affirmative context as well, to lend some nuance to their sense of place online. I want us to help our users know when they&#8217;re on Main Street, and when they&#8217;re in an alley.</p>
<p>I know: People get conned in the real world, too, and certainly no browser UI is going to save you from an email-based scam. Stories like this, though, are just specific instances of what I believe to be a more universal principle:</p>
<p style="text-align: center;"><em>the biggest security risk most people face is misplaced trust</em></p>
<blockquote><p><strong> John:</strong> Some of the blame has to go to the victims.  They wanted the money too because they were greedy. Lots of times I  would get emails telling me that they wanted more money than I was  offering because of the money they were having to send. They could  afford to lose the money.</p>
<p><strong> Scam-Detective:</strong> John, I think you have been  basically honest with me so far. Please don’t stop that now. You know as  well as I do that not all of your victims were motivated by greed. I have seen plenty of scam emails that talk about dying widows who want to  give their money to charity, or young people who are in refugee camps and need help to get out. You targetted vulnerable, charitable people as  well as greedy businessmen, didn’t you? You didn’t care whether they  could afford it or not, did you?</p>
<p><strong> John:</strong> Ok, you are right. I am not proud of it but I  had to feed my family.</p></blockquote>
<p>If you have ideas for how we can help users place their trust online more deliberately and carefully: please comment here, or build an addon, or file a bug.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2010/02/11/interview-with-a-419-scammer/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Videos &#8211; Firefox Privacy &amp; Security Features</title>
		<link>http://blog.johnath.com/2009/10/27/videos-firefox-privacy-security-features/</link>
		<comments>http://blog.johnath.com/2009/10/27/videos-firefox-privacy-security-features/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 20:46:35 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Video]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=356</guid>
		<description><![CDATA[Preamble (with Discussion Question) I don&#8217;t know if there are people out there who like the way they sound in audio recordings, or look on video. I certainly don&#8217;t. I don&#8217;t think it&#8217;s a self-image issue, either; and I know I&#8217;m not alone. My recorded voice lacks the resonance I experience internally, and my recorded [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Preamble (with Discussion Question)</strong></p>
<p>I don&#8217;t know if there are people out there who <em>like</em> the way they sound in audio recordings, or look on video. I certainly don&#8217;t. I don&#8217;t think it&#8217;s a self-image issue, either; and I know I&#8217;m not alone. My recorded voice lacks the resonance I experience internally, and my recorded image just looks&#8230; mouthier (?!) than I imagine myself to be. I don&#8217;t even know what that means.</p>
<p>Proposed:</p>
<blockquote><p>Nightingale&#8217;s Corollary to the <a href="http://en.wikipedia.org/wiki/Uncanny_valley">Uncanny Valley Hypothesis</a>: The depth of one&#8217;s psychological attachment to, and familiarity with, one&#8217;s own image, amplifies feelings of canny/uncanniness. This can result in greater than average affinity for moderately dissimilar representations (c.f. the popularity of &#8220;realistic cartoon avatar&#8221; generators, or caricature artists), but also particularly heightened sensitivity to minor dissimilarities.</p></blockquote>
<p><em>[Discuss. Cite examples.]</em></p>
<p><strong>The Point (i.e. Where You Should Have Started Reading)</strong></p>
<p>I bring this up because the inimitable duo of Alix and Rainer recently took some of my scattered ramblings and knit them together into an educational piece on some of the security features in Firefox. I think they did a lovely job:</p>
<p style="text-align: center;"><video src="http://videos.mozilla.org/firefox/3.5/security/security.ogv" controls width="400"><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/TBOuQhKEs2w&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/TBOuQhKEs2w&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object><br />
</video><br /><a href="http://www.youtube.com/watch?v=TBOuQhKEs2w">YouTube</a></p>
<p>In very much related news, <a href="http://blog.mozilla.com/adw">Drew </a> worked with Alix and Rainer to put together a video that talks about some of Firefox&#8217;s privacy features. I find it much easier to listen to Drew&#8217;s calm, matter of fact, &#8220;we did awesome stuff, and want you to know about it&#8221; delivery. I suspect you will, as well.</p>
<p style="text-align: center;"><video src="http://videos.mozilla.org/firefox/3.5/privacy/privacy.ogv" controls width="400"><br />
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/kz2_Yo5p2LA&#038;hl=en&#038;fs=1&#038;rel=0"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/kz2_Yo5p2LA&#038;hl=en&#038;fs=1&#038;rel=0" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></video><br /><a href="http://www.youtube.com/watch?v=kz2_Yo5p2LA">YouTube</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2009/10/27/videos-firefox-privacy-security-features/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
<enclosure url="http://videos.mozilla.org/firefox/3.5/security/security.ogv" length="11263472" type="video/ogg" />
<enclosure url="http://videos.mozilla.org/firefox/3.5/privacy/privacy.ogv" length="5904616" type="video/ogg" />
		</item>
		<item>
		<title>Deletion</title>
		<link>http://blog.johnath.com/2009/09/04/deletion/</link>
		<comments>http://blog.johnath.com/2009/09/04/deletion/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 13:53:32 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=348</guid>
		<description><![CDATA[To a first approximation, I think you can gauge how much people think about software quality by how highly they value deletion. While most rookie developers are chiefly interested in building rather than in tearing down (for what I hope are obvious reasons), great throbbing brains like Graydon speak about deletion with the kind of [...]]]></description>
			<content:encoded><![CDATA[<p>To a first approximation, I think you can gauge how much people think about software quality by how highly they value deletion. While most rookie developers are chiefly interested in building rather than in tearing down (for what I hope are obvious reasons), great throbbing brains like <a href="http://blog.mozilla.com/graydon/">Graydon</a> speak about deletion with the kind of reverence that I presume cardinals reserve for only the <em>coolest</em> of popes.</p>
<p>In what history will likely judge as a vain attempt to impress him, then, I recently landed <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=513147">bug 513147</a>, deletion of the now antiquated &#8220;Properties&#8221; dialog that used to be available on right-clicking things like images and links. Not because it was useless (every feature is someone&#8217;s baby, and is added for a reason) but because it <em>wasn&#8217;t useful enough</em>, to enough people, to justify the cost.</p>
<p style="text-align: center;"><a href="http://www.flickr.com/photos/moz_kev/3886411815/"><img class="aligncenter" title="I cant believe this thing is more than a thousand lines long" src="http://farm4.static.flickr.com/3441/3886411815_e9d73e32c5.jpg" alt="" width="442" height="185" /></a></p>
<p>50kb of code in our product that is poorly understood, not often used, and not covered by unit tests is not free. When bugs show up, it takes longer than it should to fix them. If a security bug were to show up (which is always a risk when content mixes with chrome, however remote it may seem) it would be particularly expensive for us to reload that context into our brains to fix it.</p>
<p>Deleting it isn&#8217;t free either, of course &#8211; there are 4 extensions that build off that dialog that will need to be updated, and there may be some who use it regularly who will be disappointed. But the forces of software (inertia, squeaky wheels, cynicism and inertia) bias so heavily towards keeping code in the tree that we should all try to take clear deletion opportunities when they come up. Not capriciously, not without sensitivity to the impact it can have, but with recognition that the hidden cost to keeping them is also large and&#8230; hidden.</p>
<p>It is in the spirit of this sensitivity that we, on the Firefox team, have tagged this bug and others like it: <tt>[killthem]</tt>.  What else do you think should go? (And please, be gentle. Remember, every feature is someone&#8217;s baby.)</p>
<p>[Update: Geoff Lankow has taken the code that used to be built in, and made it into an <a href="http://https://addons.mozilla.org/en-US/firefox/addon/14228/">add-on</a>, which is think is fantastic. As I said to him, and as I said above, my assertion has never been that the code was useless, just that it wasn't useful enough to justify its cost in the core product. An add-on is a great place for functionality like that, and I thank Geoff for his work.]</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2009/09/04/deletion/feed/</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>Updated SSL Certificate Database</title>
		<link>http://blog.johnath.com/2009/03/25/updated-ssl-certificate-database/</link>
		<comments>http://blog.johnath.com/2009/03/25/updated-ssl-certificate-database/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 20:26:11 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=302</guid>
		<description><![CDATA[When I blogged about my database of SSL certs from the top 1M alexa sites, it got much more reaction than I expected. It&#8217;s nice to have peers in this microcosm of nerdspace. Easily the most often requested improvement was to include intermediates in the database. People wanted to see which issuers had a bunch [...]]]></description>
			<content:encoded><![CDATA[<p>When I blogged about <a href="http://blog.johnath.com/2009/01/21/ssl-information-wants-to-be-free/">my database of SSL certs</a> from the top 1M alexa sites, it got much more reaction than I expected. It&#8217;s nice to have peers in this microcosm of nerdspace.</p>
<p>Easily the most often requested improvement was to include intermediates in the database. People wanted to see which issuers had a bunch of subordinate CAs and which issued right from the root.  They wanted to see what kind of key sizes and algorithms CAs chose, and how they compared to the key sizes and algorithms used in regular site certs.</p>
<p>I&#8217;ve gone and re-crawled to gather that information now, and you can download the <a href="http://people.mozilla.org/~johnath/sslcrawl/feb-6-with-intermediates.sqlite3.gz">zipped db (509M)</a>.  It&#8217;s still an SQLite3 database, though I&#8217;ve changed the schema a bit, with certificates now stored in their own table.  Let me know in the comments/email if you need help working with the data.</p>
<p>The schema, if you can call it that, was 100% expediency over forethought, so I would welcome any suggestions on DB organization/performance tweaking.  I have done no optimizing so low-hanging fruit abounds, and a complicated query can take more than a day right now, so your suggestions will have visible effects!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2009/03/25/updated-ssl-certificate-database/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Deep Packet Inspection Considered Harmful?</title>
		<link>http://blog.johnath.com/2009/03/05/deep-packet-inspection-considered-harmful/</link>
		<comments>http://blog.johnath.com/2009/03/05/deep-packet-inspection-considered-harmful/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 16:58:05 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Commentary]]></category>
		<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Speaking]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=287</guid>
		<description><![CDATA[I was recently asked, in the context of the ongoing Phorm debacle, and with other interested parties, to meet with members of the UK government and discuss deep packet inspection technologies, and their impact on the web.  I&#8217;m still organizing my thoughts on the subject &#8211; I&#8217;ve put some here, but I&#8217;d love to know [...]]]></description>
			<content:encoded><![CDATA[<p>I was recently asked, in the context of the <a title="Inphormation Desk's (albeit biased) Summary" href="http://www.inphormationdesk.org/briefing.htm">ongoing Phorm debacle</a>, and with other interested parties, to meet with members of the UK government and discuss deep packet inspection technologies, and their impact on the web.  I&#8217;m still organizing my thoughts on the subject &#8211; I&#8217;ve put some here, but I&#8217;d love to know where else you think I should look to ensure I have considered the relevant angles.</p>
<p><strong>Brief Background</strong></p>
<p><a href="http://en.wikipedia.org/wiki/Phorm">Phorm</a>&#8216;s technology hooks in at the ISP level, watches and logs user traffic, and uses it to assemble a comprehensive profile for targeting advertising. While an opt-out mechanism was provided, many users have complained that there was no notice, or that it was insufficiently clear what was going on. <a href="http://en.wikipedia.org/wiki/NebuAd">NebuAd</a>, another company with a similar product, has apparently used its position at the ISP level to not only observe, but also to inject content into the pages before they reached the user.  It&#8217;s hard to get unbiased information here, but this is what I understand of the situation.</p>
<p><strong>Thoughts</strong></p>
<p>1.  <a href="http://en.wikipedia.org/wiki/Deep_packet_inspection">Deep packet inspection</a>, in the general case, is a neutral technology. Some technologies are malicious by design (virus code, for instance), but I think DPI has as many positive uses as negative. DPI can let an ISP make better quality of service decisions, and can be done with the full knowledge and support of its users. I don&#8217;t think DPI, as a technology, should be treated as insidious.</p>
<p>2. Using deep packet inspection to assemble comprehensive browsing profiles of users without explicit opt-in is substantially more questionable. My browsing history and habits are things I consider private in aggregate, even though any single visit is obviously visible to the site I&#8217;m browsing.</p>
<p>It&#8217;s possible that I will choose to allow this surveillance in exchange for other things I value, but it must be a deliberate exchange. I would want to have that choice in an explicit way, and not to be opted in by default, even for aggregate data. Moreover, given the complexity of this technology, I would want a great deal of care to go into the quality of the explanation.  Explaining this well to non-technical users might be so difficult as to be impossible, which is why it&#8217;s so important that it be opt-in.</p>
<p>3. Using deep packet inspection in conjunction with software that modifies the resultant pages to include, for instance, extra advertising content, is profoundly offensive and undermines the web. The content provider and the user have a reasonable expectation that no one else is modifying the content, and a typical user should not be expected to understand the mechanics of the web sufficiently to be able to anticipate such modifications.</p>
<p><strong>Solutions</strong></p>
<p>As a browser, we do some things to help our users here, but we can&#8217;t solve the problem. https resists this kind of surveillance and tampering well, but requires sites to provide 100% of their content over SSL. Technologies like signed http content would prevent tampering, if not surveillance, but once again assume that sites (and browsers!) will support the technology. Ad blockers can turn off any injected ads, tools like NoScript can de-fang any injected javascript but, fundamentally, http content is not tamper-proof, and no plaintext protocol is eavesdropping proof.</p>
<p>People trust their ISPs with a huge amount of very personal data. It&#8217;s fine to say that customers should vote with their feet if their ISP is breaking that trust, but in many areas, the list of available ISPs is small, and so the need for prudence on the part of ISPs is large.</p>
<p>That&#8217;s what I&#8217;m thinking so far, what am I missing?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2009/03/05/deep-packet-inspection-considered-harmful/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>SSL Information Wants to be Free</title>
		<link>http://blog.johnath.com/2009/01/21/ssl-information-wants-to-be-free/</link>
		<comments>http://blog.johnath.com/2009/01/21/ssl-information-wants-to-be-free/#comments</comments>
		<pubDate>Wed, 21 Jan 2009 14:28:05 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=267</guid>
		<description><![CDATA[Recent events have really thrown light onto something I&#8217;ve been feeling for a while now: we need better public information about the state of the secure internet.  We need to be able to answer questions like: What proportion of CA-signed certs are using MD5 signatures? What key lengths are being used, with which algorithms? Who [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.mozilla.com/security/2008/12/30/md5-weaknesses-could-lead-to-certificate-forgery/">Recent events</a> have really thrown light onto something I&#8217;ve been feeling for a while now: we need better public information about the state of the secure internet.  We need to be able to answer questions like:</p>
<ul>
<li>What proportion of CA-signed certs are using MD5 signatures?</li>
<li>What key lengths are being used, with which algorithms?</li>
<li>Who is issuing which kinds of certificates?</li>
</ul>
<p>So I decided to go get some of that information, so that I could give it to all of you wonderful people.</p>
<p><span id="more-267"></span><strong>What I Did<br />
</strong></p>
<p>I put together some python to crawl a list of sites and record the details of their response to an SSL handshake into an sqlite3 database. I don&#8217;t know python, and my SQL is extremely rusty, but it works.  The code is <a title="Hg repo for sslcrawl" href="http://hg.mozilla.org/users/jnightingale_mozilla.com/sideprojects/file/tip/sslcrawl/">here</a>, take it and make it better!  Pay particular attention to the <a title="sslcrawl TODO list" href="http://hg.mozilla.org/users/jnightingale_mozilla.com/sideprojects/file/tip/sslcrawl/TODO">TODO</a> list!</p>
<p>As for a list, I used Alexa&#8217;s list of the top 1,000,000 sites, which they quite helpfully make available for <a title="Link to the global rankings - not direct linking to the download because Alexa might not like that. It's linked to from that page, though." href="http://www.alexa.com/site/ds/top_sites?ts_mode=global">free download</a>. Of course we can have all kinds of fun debating whether this is the right list to use, it&#8217;s obviously going to have some skews. Anyone with a similar list can either hook me up and I&#8217;ll give it a whirl, or download the code and run it themselves.  This list did get me 382,860 certificates from the public internet though, so that&#8217;s pretty okay.</p>
<p><strong>What I Can Do With It<br />
</strong></p>
<p>For each host in the list, I currently record:</p>
<ul>
<li>Whether the connection succeeded or not, and if not, why</li>
<li>The verification result, using the Mozilla list of CAs</li>
<li>Various and sundry connection/certificate details (subject, issuer, cipher, keylength)</li>
<li>The PEM-encoded end-entity cert, for post-analysis</li>
</ul>
<p>What that means is that I can answer some reasonably relevant questions. For instance, during the recent excitement over MD5 weaknesses, we have been having <a title="mozilla.dev.tech.crypto newsgroup thread" href="http://groups.google.com/group/mozilla.dev.tech.crypto/browse_thread/thread/edaf97f51f41f5e7">conversations</a> about retiring MD5 as a supported signature algorithm as, I&#8217;m certain, have the other browsers. Making that decision in an informed way requires us to understand how much of the internet still relies on MD5, though, and when those certificates will expire.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-268" title="md5 pie chart" src="http://blog.johnath.com/wp-content/uploads/2009/01/picture-4.png" alt="md5 pie chart" width="334" height="274" /><img class="aligncenter size-full wp-image-270" title="md5 expiry by year" src="http://blog.johnath.com/wp-content/uploads/2009/01/picture-5.png" alt="md5 expiry by year" width="305" height="230" /></p>
<p><strong>What Can <em>You</em> Do With It?</strong></p>
<p>There&#8217;s almost 400,000 certificates, all told, in a big SQL-queryable database. Want to see a total breakdown of certs by issuer? By verification code? Want to see the distribution of key lengths?  Or cipher suites?</p>
<p>Maybe you write software that processes certificates &#8211; want 400,000 real world examples to test against?  As far as I know, this kind of data hasn&#8217;t been available before without paying for it, so I&#8217;m actually really interested to know what you can do with it.</p>
<p><strong>How Much of the Internet is this?</strong></p>
<p>Good question! Other estimates I&#8217;ve seen for the total population of servers responding to SSL hails out there is about 1-4M.  Based on that, I&#8217;d say this is probably about 10-20% of the secure internet, but I wouldn&#8217;t try to use this data to make magnitude assessments; it&#8217;s better suited to proportions and comparative work, really.  If my estimates are close, then this is a big enough chunk of the total population to produce <a href="http://www.surveysystem.com/sscalc.htm">pretty good data</a>.  Remember, it will exhibit the skews you&#8217;d expect from sampling the more popular sites, but that will also serve to weight it towards the certs people are more likely to see. If that&#8217;s not the bias you want, use a different list!</p>
<p><strong>The Goods</strong></p>
<ul>
<li>The database (gzip&#8217;d, sqlite3 format, 367MB) for my <a href="http://people.mozilla.org/~johnath/sslcrawl/alexa-top1m-crawl-jan15-2009.sqlite3.gz">Jan 15 crawl</a>.</li>
<li><a href="http://hg.mozilla.org/users/jnightingale_mozilla.com/sideprojects/file/tip/sslcrawl/">The code</a> I used to gather it.  (It needs love, love it.)</li>
<li>If you want to play with something a little less gargantuan, I&#8217;ve also put up a <a title="Smaller sqlite db - just 10,000 hosts" href="http://people.mozilla.org/~johnath/sslcrawl/jan-15-crawl-alexa-10k.sqlite3.gz">trimmed version</a> with just the top 10,000 (gzip&#8217;d, 3MB).</li>
</ul>
<p>If you find good stuff in here, I hope you&#8217;ll leave a comment letting me know.  If you can&#8217;t access the database or download the file and want me to run a query against it, let me know.  I only connect to each host once, and all I do is open an SSL connection, so the load on the servers is non-existent.  The load on my machine while running it though, can be heavy.  To keep the interruption to a minimum, I use conservative settings which make a crawl take about 40 hours, so until I have it running in parallel on a rack of excitingly fast machines, please understand that requests for re-crawls will take a while.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2009/01/21/ssl-information-wants-to-be-free/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Firefox Malware?</title>
		<link>http://blog.johnath.com/2008/12/08/firefox-malware/</link>
		<comments>http://blog.johnath.com/2008/12/08/firefox-malware/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 17:28:04 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Phishing & Malware]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=224</guid>
		<description><![CDATA[A crappy thing happened last week &#8211; someone wrote some malware that infects Firefox. We obviously don&#8217;t like that very much at all, but I wanted to at least make it clear what is and isn&#8217;t happening, since there&#8217;s some confusion out there. What is going on? Basically for as long as there has been [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">A crappy thing happened last week &#8211; someone wrote some malware that infects Firefox. We obviously don&#8217;t like that very much at all, but I wanted to at least make it clear what is and isn&#8217;t happening, since there&#8217;s some confusion out there.</p>
<p style="text-align: left;"><strong>What is going on?</strong></p>
<p style="text-align: left;">Basically for as long as there has been software, there have been nasty people out there who get you to download and install software which turns out to have hidden cargo.  Security folks use names like &#8220;virus,&#8221; &#8220;trojan,&#8221; &#8220;worm,&#8221; and &#8220;malware&#8221; to describe different types, but the point is that if a person can be tricked into running nasty programs, they can do nasty things.</p>
<p style="text-align: left;">In this case, rather than wiping your hard drive or turning all your icons upside down, this particular jerk has decided to mess with your Firefox. Once you run the program, it hooks into your Firefox and watches for you to visit certain sites, at which point it will steal your username and password.</p>
<p style="text-align: left;"><strong>How Can I Tell If I Have It?</strong></p>
<p style="text-align: left;">You can open up your Firefox addons manager (Tools-&gt;Add-ons) and go to the &#8220;Plugins&#8221; section.  If you have a plugin called &#8220;Basic Example Plugin for Mozilla&#8221; you should disable it.</p>
<p style="text-align: center;"><a href="/images/plugin.jpg"><img class="aligncenter" title="Plugin Manager" src="/images/plugin.jpg" alt="" width="450" /></a><br />
<small>Original credit to TrustDefender Labs&#8217; <a href="http://www.trustdefender.com/blog/2008/12/06/firefox-malware-chromeinject-the-honeymoon-is-over/">blog post</a> on the subject</small>
</p>
<p style="text-align: left;"><strong>Does This Mean that Firefox is Insecure?</strong></p>
<p style="text-align: left;">No, and here&#8217;s why:</p>
<ul style="text-align: left;">
<li>This particular malware targets our program, but once you have malicious software running on your system, it can just as easily attack other programs, or harm your computer in other ways.</li>
<li>This isn&#8217;t contracted by just browsing around the web with Firefox 3. In fact, the Malware Protection features in Firefox 3 are designed specifically to prevent sites from being able to attack your computer.</li>
</ul>
<p style="text-align: left;">The people getting infected here are either downloading enticing files that have the malware hiding inside (which is why Firefox 3 hands off all downloads to your computer&#8217;s virus scanner once downloaded) or, as some sites are <a title="The Register Article" href="http://www.theregister.co.uk/2008/12/04/firefox_plug_in_trojan/">reporting</a>, people who have already been infected in the past having their computers forced to download this file as well.</p>
<p style="text-align: left;">Typical Firefox 3 users who avoid downloading software they don&#8217;t trust are unlikely to ever see this, and even the sites reporting it describe its incidence as &#8220;rare&#8221;.</p>
<p style="text-align: left;"><strong>What&#8217;s this I hear about GreaseMonkey?</strong></p>
<p style="text-align: left;">There are some mentions of greasemonkey in a couple of the early reports based on some analysis of the code used by this malware, but I want to be clear that the (legitimate, and awesome) <a href="https://addons.mozilla.org/en-US/firefox/addon/748">Greasemonkey Addon</a> is not involved in this malware in any way. It is not involved in the installation or execution of the attack.</p>
<p style="text-align: left;">As always, the best defense is vigilance.  Use a browser with a solid security record and modern anti-malware defenses built in, and be very careful about downloading and running programs you find online.  If a bad guy is able to get you to run a program on your machine they will be able to do bad things, so we&#8217;ll keep trying to stop them and you keep trying to as well.</p>
<p style="text-align: left;">More details are also available on the <a href="http://blog.mozilla.com/security/2008/12/08/malicious-firefox-plugin/">official Mozilla security blog</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2008/12/08/firefox-malware/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
		<item>
		<title>SSL Error Pages in Firefox 3.1</title>
		<link>http://blog.johnath.com/2008/11/06/ssl-error-pages-in-firefox-31/</link>
		<comments>http://blog.johnath.com/2008/11/06/ssl-error-pages-in-firefox-31/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 17:35:57 +0000</pubDate>
		<dc:creator>Johnath</dc:creator>
				<category><![CDATA[Mozilla]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.johnath.com/?p=174</guid>
		<description><![CDATA[If you’re using Firefox 3.1 nightlies or the upcoming Firefox 3.1 beta 2, you might notice some changes in the way we handle SSL errors. I landed them last week, and since it’s a topic that readers of this blog have historically wanted to talk about, I thought I would highlight some of the changes [...]]]></description>
			<content:encoded><![CDATA[<p>If you’re using Firefox 3.1 nightlies or the upcoming Firefox 3.1 beta 2, you might notice some changes in the way we handle SSL errors.  I landed them last week, and since it’s a topic that readers of this blog have historically wanted to talk about, I thought I would highlight some of the changes here.<span id="more-174"></span></p>
<p style="text-align: center;"><a href="/images/SSLErrors-BeforeAndAfter.png"><img class="aligncenter" src="/images/SSLErrors-BeforeAndAfter.png" alt="SSL Errors, Before and After" width="640" /></a></p>
<h3>What Changed?</h3>
<p>From a distance, without your glasses on, not much.  We still spot situations that could signal a worrying lack of confidence in the integrity of the connection.  We still use a content page to inform you of this, and to ask how you’d like to handle it.  It sucks that we can’t make the call more automatically &#8211; that the attack situations are so hard to tell from the benign ones.  What I’ve tried to do is at least make the experience more humane.</p>
<p>Let me mention 4 noteworthy changes:</p>
<ul>
<li><strong>Leading with the human text, not the error code.</strong> The old pages were implemented using our generic error reporting framework, and that meant that things like technical details got top billing.With this rewrite, I’ve moved certificate errors off on their own, so that our users don’t suffer for our implementation woes.  The technical details are still there, but they are now collapsed away until needed.</li>
</ul>
<ul>
<li> <strong>Talking about the trust we have in the connection, not in the site.</strong> A certificate doesn’t attest to whether a site is trustworthy or not, whether its operators are scrupulous, or whether they have monkeys designing their shopping cart security. The real problem with these expired, mismatched, or self-signed certificates is that we don’t have any confidence that they are the “right” ones for securing your connection to the site.
<p>Maybe that sounds frivolous to you, but I have spoken with a lot of people who said they supported the action Firefox was taking, but not the way it made them seem unsavoury.  I think we now do a much better job here.</li>
</ul>
<ul>
<li><strong> Making the choice clearer.</strong> Getting people to read errors is hard, but it’s completely impossible if we teach them that reading just makes things more confusing.  I’m convinced that the text here makes the choices, and risks, a lot clearer than they were hiding behind the “Or you can add an exception&#8230;” hyperlink.</li>
</ul>
<ul>
<li> If you click the “Add Exception” button on the new page, the dialog will <strong>automatically fetch the certificate for you</strong>, instead of asking you to manually click “Get Certificate”.  This was always possible to set up by changing the <tt>browser.ssl_override_behavior</tt> preference in about:config, our secret-handshake background config panel, but it was not particularly discoverable back there.
<p>There were a couple reasons for Firefox 3 not doing that as well.  There was some hope that having users interact with the dialog instead of just looking for the “whatever” button might be beneficial, but there was also a concern that pre-fetching the dialog would result in it being full of text as soon as users saw it, making it less likely that they would read it or understand the thing they were asking Firefox to do.</p>
<p>In the final analysis though, I think the time to try to engender that understanding is before they hit that dialog.  So that seeing the report there of the certificates problems is just a final sanity check for a site they already know to expect this from.</li>
</ul>
<p></p>
<h3>What Didn’t Change?</h3>
<p>We still show the error pages. People often ask why we don&#8217;t just wave self-signed certs through unmolested (possibly hiding the security indicators) instead of blocking them.  As I mentioned when we introduced these pages, <a title="TODO: Break Internet" href="http://blog.johnath.com/2007/10/11/todo-break-internet/">that punishes people with safe habits</a>, and lets them get victimized by the man in the middle attacks that are getting <a title="SSL Question Corner" href="http://blog.johnath.com/2008/08/05/ssl-question-corner/">much easier to pull off</a>.</p>
<p>We still default to permanent exceptions.  Sometimes people ask why we don&#8217;t do temporary exceptions which, being a lesser amount of trust, ought to be a safer default.  The problem is, defaulting to temporary means that users see these error pages more often, which teaches them to ignore them.  It also eliminates the modicum of protection we build up by being able to detect when a trusted self-signed cert changes.  Adding permanent exceptions by default means that a typical user may not see this page more than 2 or 3 times in their life.  Unless, that is, they&#8217;re on public wifi and someone starts trying to intercept their traffic, in which case it will pop up surprisingly often.</p>
<p>We still respect the expert pref, for users that deal with hundreds of misbehaving hardware boxes, or otherwise have an atypical need to frequently interact with constantly changing untrusted certs.  If you are one of those people, going into about:config and setting <tt>browser.xul.error_pages.expert_bad_cert</tt> to true will tell Firefox that you are one of the edge cases.  Combined with the pre-fetch above, this means that a user can add permanent exceptions in the same 2 clicks that it took in Firefox 2, but with significantly more humane language around it.</p>
<p>Ehsan just landed <a href="http://ehsanakhgari.org/blog/2008-11-04/dont-leave-trace-private-browsing-firefox#comment-107">his Private Browsing work</a>, Shawn&#8217;s got some awesome <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=460086">site-specific data-clearing</a> cooking, and this week I&#8217;m busting my ass a little to get some <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=453440">improvements</a> into our Clear Private Data code as well. When it comes to managing your security and privacy online, Firefox 3.1 is going to be awesome.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.johnath.com/2008/11/06/ssl-error-pages-in-firefox-31/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>

