<?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>Mozilla Security Blog</title>
	<atom:link href="http://blog.mozilla.org/security/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.mozilla.org/security</link>
	<description></description>
	<lastBuildDate>Fri, 17 May 2013 17:29:55 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Mixed Content Blocking in Firefox Aurora</title>
		<link>http://blog.mozilla.org/security/2013/05/16/mixed-content-blocking-in-firefox-aurora/</link>
		<comments>http://blog.mozilla.org/security/2013/05/16/mixed-content-blocking-in-firefox-aurora/#comments</comments>
		<pubDate>Fri, 17 May 2013 05:26:49 +0000</pubDate>
		<dc:creator>Tanvi</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=1048</guid>
		<description><![CDATA[Firefox 23 moved from Nightly to Aurora this week, bundled with a new browser security feature. The Mixed Content Blocker is enabled by default in Firefox 23 and protects our users from man-in-the-middle attacks and eavesdroppers on HTTPS pages. When &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/05/16/mixed-content-blocking-in-firefox-aurora/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Firefox 23 moved from Nightly to Aurora this week, bundled with a new browser security feature. The Mixed Content Blocker is enabled by default in Firefox 23 and protects our users from man-in-the-middle attacks and eavesdroppers on HTTPS pages.</p>
<p>When an HTTPS page contains HTTP resources, the HTTP resources are called Mixed Content. With the latest Aurora, Firefox will block certain types of Mixed Content by default, providing a per-page option for users to &#8220;Disable Protection&#8221; and override the blocking.</p>
<p>What types of Mixed Content are blocked by default and what types are not? The browser security community has divided mixed content into two categories: Mixed Active Content (like scripts) and Mixed Passive Content (like images). Mixed Active Content is considered more dangerous than Mixed Passive Content because the former can alter the behavior of an HTTPS page and potentially steal sensitive data from users. Firefox 23+ will block Mixed Active Content by default, but allows Mixed Passive Content on HTTPS pages. For more information on the differences between Mixed Active and Mixed Passive Content, <a href="https://blog.mozilla.org/tanvi/2013/04/10/mixed-content-blocking-enabled-in-firefox-23/">see here</a>.</p>
<p><strong>Mixed Content Blocker UI</strong><br />
Designing UI for security is always tricky. How do you inform the user about a potential security threat without annoying them and interrupting their task?</p>
<p>Larissa Co (<a href="https://twitter.com/lyco1">@lyco1</a>) from Mozilla’s User Experience team aimed to solve this problem. She created a Security UX Framework with a set of core principles that drove the <a href="https://people.mozilla.com/%7Elco/ProjectSPF/Mixed_Content/Mixed_Content_Spec/Mixed%20Content%20Spec%20v4.pdf">UX design</a> for the Mixed Content Blocker.</p>
<p>When a user visits an HTTPS page with blocked Mixed Active Content, they will see a shield icon in the location bar:</p>
<div>
<p style="text-align: center;"><a href="https://people.mozilla.com/~tvyas/FigureA.jpg"><img class="aligncenter" alt="Shield Icon Doorhanger shown on HTTPS page with Mixed Active Content" src="https://people.mozilla.com/~tvyas/FigureA.jpg" width="643" height="86" /></a></p>
</div>
<p>Clicking on the shield, the user will see options to &#8220;Learn More&#8221;, &#8220;Keep Blocking&#8221;, or &#8220;Disable Protection on This Page&#8221;:</p>
<div><a href="https://people.mozilla.com/~tvyas/FigureB.jpg"><img class="aligncenter" alt="Shield Doorhanger Drop Down UI" src="https://people.mozilla.com/~tvyas/FigureB.jpg" width="637" height="309" /></a></div>
<p>If a user decides to “Keep Blocking”, the notification in the location bar will disappear:</p>
<div id="magicdomid61"><a href="https://people.mozilla.com/~tvyas/FigureC.jpg"><img class="aligncenter" alt="If the user decides to Keep Blocking, the shield will disappear." src="https://people.mozilla.com/~tvyas/FigureC.jpg" width="644" height="84" /></a></div>
<p>On the other hand, if a user decides to “Disable Protection on This Page”, all mixed content will load and the lock icon will be replaced with a yellow warning sign:</p>
<p style="text-align: center;"><a href="https://people.mozilla.com/~tvyas/FigureD.jpg"><img class=" aligncenter" alt="Yellow Warning Triangle appears after the user Disables Protection" src="https://people.mozilla.com/~tvyas/FigureD.jpg" width="644" height="87" /></a></p>
<p>When a user visits an HTTPS page with Mixed Passive Content, Firefox will not block the passive content by default. But since the page is not fully encrypted, the user will not see the lock icon in the location bar:<br />
<a href="https://people.mozilla.com/~tvyas/FigureE.jpg"><img class="aligncenter" alt="A page with Mixed Passive Content will show the Globe icon instead of the Lock icon." src="https://people.mozilla.com/~tvyas/FigureE.jpg" width="636" height="85" /></a></p>
<p><strong>Compatibility</strong><br />
We have a <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=844556">master tracking bug</a> for websites that break when Mixed Active Content is blocked in Firefox 23+. In addition to websites that our users have been reporting to us, we are running automated tests on the Top Alexa websites looking for pages with Mixed Active Content. If you run into a compatibility issue with a website involving mixed content, please let us know in the <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=844556">master bug</a>, or take a step further and contact the website to let them know. Chances are, their website is also broken on Chrome and/or Internet Explorer. Chrome and Internet Explorer also have Mixed Content Blockers, but their definitions of Mixed Active and Mixed Passive Content differ from slightly from Firefox&#8217;s definition.</p>
<p><strong>Want to learn more?</strong><br />
Still curious and want to learn more details about the Mixed Content Blocker in Firefox? Check out <a href="https://blog.mozilla.org/tanvi/2013/04/10/mixed-content-blocking-enabled-in-firefox-23">this more detailed blog post</a> or feel free to ask us questions on <a href="https://groups.google.com/forum/?fromgroups#!forum/mozilla.dev.security">mozilla.dev.security</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/05/16/mixed-content-blocking-in-firefox-aurora/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Orangfuzz &#8211; an experimental user interaction fuzzer for Firefox OS</title>
		<link>http://blog.mozilla.org/security/2013/04/17/orangfuzz-an-experimental-user-interaction-fuzzer-for-firefox-os/</link>
		<comments>http://blog.mozilla.org/security/2013/04/17/orangfuzz-an-experimental-user-interaction-fuzzer-for-firefox-os/#comments</comments>
		<pubDate>Wed, 17 Apr 2013 20:10:54 +0000</pubDate>
		<dc:creator>Gary</dc:creator>
				<category><![CDATA[Firefox OS]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[fuzzing]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=1016</guid>
		<description><![CDATA[One of the goals of the fuzzing team is to identify security vulnerabilities within our products using various techniques. As we continue working with Firefox OS, we need to build and adapt the proper tools to enable fuzz testing on &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/04/17/orangfuzz-an-experimental-user-interaction-fuzzer-for-firefox-os/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>One of the goals of the fuzzing team is to identify security vulnerabilities within our products using various techniques. As we continue working with Firefox OS, we need to build and adapt the proper tools to enable fuzz testing on the mobile device.</p>
<p><a href="https://github.com/mozilla/orangfuzz">Orangfuzz</a> is an experimental user interaction fuzzer. It builds on <a href="https://github.com/mozilla-b2g/B2G/blob/master/scripts/generate-orangutan-script.py">generate-orangutan-script.py</a> and uses the <a href="https://github.com/wlach/orangutan">Orangutan framework</a>. Orangutan <a href="http://wrla.ch/blog/2012/07/the-evolution-of-simulating-events-in-eideticker-from-monkeys-to-orangutns/">injects events directly into the low-level kernel device file that represents an Android device’s touch screen</a>. It supports actions such as &#8220;tapping&#8221; and &#8220;dragging&#8221;, simulated from a user&#8217;s perspective. The fuzzer generates an <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=838215#c1">Orangutan script</a> containing random sets of these actions.</p>
<p>This concept was inspired by <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=838215#c3">bug 838215</a>, which was a crash involving the handling of touch events.</p>
<p>Orangfuzz currently only supports the B2G Test Driver device, but adding additional support for other devices, if Orangutan supports them, is straightforward. We <a href="https://github.com/mozilla/orangfuzz/blob/master/devices.py">define the device</a> through its specifications (e.g. home key location, screen resolution). Adding support for additional devices is as simple as adding new subclasses which provide the appropriate resolution and screensizes. It may be possible to run this against the <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Firefox_OS/Using_the_B2G_emulators">B2G emulators</a> but this has not been tested.</p>
<p><strong>Warning</strong>: It is entirely possible to generate a script that contains a set of actions that dial emergency numbers such as &#8220;911&#8243;, &#8220;112&#8243; or &#8220;999&#8243;, so it is recommended to run the script against a <a href="https://github.com/nth10sd/no-phone-no-messaging-gaia/tree/monkey">special build of Gaia</a> (not yet well-tested) with dialing and messaging capabilities disabled if one wants to run orangfuzz continuously without supervision.</p>
<p>How can you help?</p>
<ul>
<li><a href="https://github.com/mozilla/orangfuzz/blob/master/README.md">Run orangfuzz</a> on a test device.</li>
<li><a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Boot2Gecko">Report bugs in Bugzilla</a> when a generated script causes a crash in Firefox OS.</li>
</ul>
<p>At this point we are still experimenting with the most effective strategy for identifying and triaging crashes, but please feel free to file bugs or ideas moving forward either on <a href="https://github.com/mozilla/orangfuzz">GitHub</a> or in <a href="https://bugzilla.mozilla.org/enter_bug.cgi?product=Testing&amp;component=General&amp;cc=gary@rumblingedge.com&amp;short_desc=Orangfuzz%3A%20&amp;blocked=857276">Bugzilla</a>. Do subscribe to the <a href="https://lists.mozilla.org/listinfo/dev-b2g">mozilla.dev.b2g</a> newsgroup if one is interested.</p>
<p><a href="https://bugzilla.mozilla.org/show_bug.cgi?id=858174">Bug 858174</a> tracks moving orangfuzz to production.</p>
<p>A <a href="https://www.youtube.com/watch?v=yUPrFlrLuws">demonstration video on YouTube</a> with annotations is available, or you can get the <a href="http://blog.mozilla.org/security/files/2013/04/orangfuzzDemo-08Apr2013-b.webmhd.webm">.webm version</a> (no audio).</p>
<p>-Gary Kwong</p>
<p>* Credits go out to Gregor Wagner, who wrote <a href="https://github.com/mozilla-b2g/B2G/blob/master/scripts/generate-orangutan-script.py">generate-orangutan-script.py</a>, and <a href="http://wrla.ch/blog">William Lachance</a>, author of the Orangutan framework.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/04/17/orangfuzz-an-experimental-user-interaction-fuzzer-for-firefox-os/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re doing a Reddit AMA!</title>
		<link>http://blog.mozilla.org/security/2013/03/26/were-doing-a-reddit-ama/</link>
		<comments>http://blog.mozilla.org/security/2013/03/26/were-doing-a-reddit-ama/#comments</comments>
		<pubDate>Tue, 26 Mar 2013 18:52:55 +0000</pubDate>
		<dc:creator>Curtisk</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=1006</guid>
		<description><![CDATA[Members of the Mozilla Security community will be participating in an &#8220;Ask Me Anything (AMA)&#8221; even on Reddit tomorrow, 27-March-2013. We anticipate to run this for 24 hours from March 27th at 6:00 am PDT through March 28th at 6:00 &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/03/26/were-doing-a-reddit-ama/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Members of the Mozilla Security community will be participating in an &#8220;Ask Me Anything (AMA)&#8221; even on Reddit tomorrow, 27-March-2013. We anticipate to run this for 24 hours from March 27th at 6:00 am PDT through March 28th at 6:00 am PDT.</p>
<p>Within Mozilla our teams depend heavily on our community handle everything involved in Information Security research &amp;  development; if you would like to learn more please come out and ask us the questions you want to know the answer to!</p>
<p>You an also follow us on twitter at <a href="https://twitter.com/mozsec">https://twitter.com/mozsec</a></p>
<p>This post will be updated with the appropriate links tomorrow morning.</p>
<p>Update:</p>
<p>Link to AMA: <a href="http://www.reddit.com/r/netsec/comments/1b3vcx/we_are_the_mozilla_security_community_ask_us/">http://www.reddit.com/r/netsec/comments/1b3vcx/we_are_the_mozilla_security_community_ask_us/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/03/26/were-doing-a-reddit-ama/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mozilla and Pwn2Own Event</title>
		<link>http://blog.mozilla.org/security/2013/03/07/mozilla-and-pwn2own-event/</link>
		<comments>http://blog.mozilla.org/security/2013/03/07/mozilla-and-pwn2own-event/#comments</comments>
		<pubDate>Thu, 07 Mar 2013 23:52:21 +0000</pubDate>
		<dc:creator>mcoates</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=994</guid>
		<description><![CDATA[This week the Pwn2Own competition took place as part of the CanSecWest security conference. The Pwn2Own competition provides cash rewards for individuals that are able to demonstrate a security vulnerability in browsers or the browser plugins Flash and Java. Researchers &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/03/07/mozilla-and-pwn2own-event/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<div>This week the Pwn2Own competition took place as part of the <a href="http://cansecwest.com/">CanSecWest</a> security conference. The Pwn2Own competition provides cash rewards for individuals that are able to demonstrate a security vulnerability in browsers or the browser plugins Flash and Java.</p>
<p>Researchers <a href="http://h30499.www3.hp.com/t5/HP-Security-Research-Blog/Pwn2Own-2013/ba-p/5981157">successfully demonstrated</a> new security vulnerabilities in all three browsers tested -  Firefox, Chrome and IE. At the conclusion of the event we received technical details about the exploit so we could issue a fix.</p>
<p>We received the technical details on Wednesday evening and within less than 24 hours  diagnosed the issue, built a patch, validated the fix and the resulting builds, and deployed the patch to users. Our fast turn around time on this security issue is a reflection of the priority and focus we place on security. Security is more than a side item for us, it&#8217;s part of our <a href="http://www.mozilla.org/about/manifesto.en.html">core principles</a>.</p>
<p>We encourage community research within security and started the first major <a href="http://www.mozilla.org/security/bug-bounty.html">bug bounty program</a> in 2004 for Firefox.  Since then we’ve worked closely with experts around the world to help grow and mature security research. All security research and corresponding discoveries are used to proactively protect Firefox users as part of our larger security assurance program.</p>
<p>Find out more about how to get involved in Mozilla’s bug bounty program &#8211; <a href="http://www.mozilla.org/security/bug-bounty.html">http://www.mozilla.org/security/bug-bounty.html</a></div>
<p>Michael Coates<br />
Director of Security Assurance</p></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/03/07/mozilla-and-pwn2own-event/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announcing Version 2.1 of Mozilla CA Certificate Policy</title>
		<link>http://blog.mozilla.org/security/2013/02/15/announcing-version-2-1-of-mozilla-ca-certificate-policy/</link>
		<comments>http://blog.mozilla.org/security/2013/02/15/announcing-version-2-1-of-mozilla-ca-certificate-policy/#comments</comments>
		<pubDate>Sat, 16 Feb 2013 00:34:54 +0000</pubDate>
		<dc:creator>mcoates</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=988</guid>
		<description><![CDATA[Mozilla released version 2.1 of the Mozilla CA Certificate Policy. This version adds a requirement for either the technical constraint or the audit of subordinate CA certificates, and requires CAs who issue SSL certificates to comply with the CA/Browser Forum &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/02/15/announcing-version-2-1-of-mozilla-ca-certificate-policy/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Mozilla released version 2.1 of the <a href="http://www.mozilla.org/projects/security/certs/policy/">Mozilla CA Certificate Policy</a>. This version adds a requirement for either the technical constraint or the audit of subordinate CA certificates, and requires CAs who issue SSL certificates to comply with the CA/Browser Forum Baseline Requirements.</p>
<p>Mozilla is working towards stronger controls and visibility of publicly-trusted issuing certificates in order to make better trust decisions, detect security incidents faster, and limit the impact of each security incident. Version 2.1 of Mozilla&#8217;s CA Certificate Policy encourages CAs to technically constrain subordinate CA certificates using RFC 5280 extensions that are specified directly in the intermediate certificate and controlled by crypto code (e.g. NSS). We recognize that technically constraining subordinate CA certificates in this manner may not be practical in some cases, so the subordinate CA certificates may instead be publicly disclosed, and audited in accordance with Mozilla&#8217;s CA Certificate Policy.</p>
<p>All subordinate CA certificates that are issued after May 15, 2013 must comply with version 2.1 of Mozilla’s CA Certificate Policy, and all pre-existing subordinate CA certificates must be updated to comply with version 2.1 of Mozilla’s CA Certificate Policy for new certificate issuance by May 15, 2014. This time frame takes into account the impact that the new requirements might have on large enterprise subordinate CAs who may need to plan and budget for new infrastructure and audits.</p>
<p>Audit criteria have recently been released for the CA/Browser Forum’s “Baseline Requirements for the Issuance and Management of Publicly Trusted Certificates” (BRs). Therefore, Version 2.1 of Mozilla&#8217;s CA Certificate Policy requires CAs to update their operations and SSL certificate issuance to comply with version 1.1 of the BRs. The BRs provide clear standards for CAs on important subjects including verification of identity, certificate content and profiles, CA security, revocation mechanisms, and use of algorithms and key sizes. As of February 2013, SSL certificate issuance must be audited according to the BR criteria, but initial BR audits for each CA and subCA that include a reasonable list of exceptions will be considered and potentially accepted.</p>
<p>Mozilla sent a <a href="https://wiki.mozilla.org/CA:Communications">CA Communication</a> in January requesting that CAs review the draft of version 2.1 of Mozilla’s CA Certificate Policy and evaluate their current operations in regards to the Baseline Requirements. Responses to this communication are publicly posted and discussed in the mozilla.dev.security.policy forum. CAs are planning to complete their necessary system and documentation upgrades according to the <a href="https://wiki.mozilla.org/CA:CertificatePolicyV2.1 ">grace periods</a> that Mozilla provided. Many CAs continue to diligently work towards compliance with the BRs, the most common effort being to implement OCSP. Additionally, we asked CAs to scan their certificate databases to identify and revoke certificates that were not issued in accordance with certain recommended practices.</p>
<p>With these updates to Mozilla&#8217;s CA Certificate Policy, we re-iterate our belief that each root is ultimately accountable for every certificate it signs, directly or through its subordinates. Participation in Mozilla’s root program is at our sole discretion, and we will take whatever steps are necessary to keep our users safe, up to and including the removal of root certificates that mis-issue, as well as any roots that cross-sign them. Nevertheless, we believe that security is best served when browsers and CAs can work together; we hope that frank communication and clear expectations can resolve these issues before any such action is required. We must also be diligent in looking for new ways to improve the security systems of the web. Those systems are built on the trust of web users, and we all have a responsibility to be strong stewards of that trust.</p>
<p>&nbsp;</p>
<p>Mozilla Security Team</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/02/15/announcing-version-2-1-of-mozilla-ca-certificate-policy/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Using CryptoStick as an HSM</title>
		<link>http://blog.mozilla.org/security/2013/02/13/using-cryptostick-as-an-hsm/</link>
		<comments>http://blog.mozilla.org/security/2013/02/13/using-cryptostick-as-an-hsm/#comments</comments>
		<pubDate>Thu, 14 Feb 2013 00:47:15 +0000</pubDate>
		<dc:creator>gdestuynder</dc:creator>
				<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=970</guid>
		<description><![CDATA[Mozilla maintains a wide range of services which are secured using different solutions.  For internal repositories, our Operations Security team has chosen to use the low-cost, open source and open hardware CryptoStick from the German Privacy Foundation. Advantages of using &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/02/13/using-cryptostick-as-an-hsm/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Mozilla maintains a wide range of services which are secured using different solutions.  For internal repositories, our Operations Security team has chosen to use the low-cost, open source and open hardware <a href="http://www.crypto-stick.org/">CryptoStick</a> from the <a href="http://www.privacyfoundation.de/">German Privacy Foundation</a>.</p>
<p><strong>Advantages of using an HSM</strong><br />
An HSM is a Hardware Security Module. It’s a hardware card, stick, device able to perform crypto operations. In general, it stores private keys which are used to sign, encrypt or authenticate.<br />
The key itself never leaves the hardware, thus attackers cannot steal the key (i.e., if the hardware is disconnected, the key cannot be used anymore.)</p>
<p><em><strong>Note</strong>: In the event the system is compromised, the connected key can still be used. Thus, the access to the system should be otherwise secured and the key should be removed when not in use.<br />
</em></p>
<p style="text-align: center;"><a href="https://blog.mozilla.org/security/files/2013/02/jpg"><img class=" wp-image-971 aligncenter" alt="" src="https://blog.mozilla.org/security/files/2013/02/jpg-600x471." width="366" height="291" /></a></p>
<p><strong>Our use case</strong><br />
Internal package repositories, such as RPM or Deb. all use GnuPG for package signing.<br />
Mozilla’s architecture is however broad and different teams use different platforms, at different places, in different networks.<br />
We want to ensure that the packages they install are signed by us, and while we’re at it, have a good level of assurance that the key used for signing cannot be compromised or stolen.<br />
We also need redundancy.</p>
<p>Many community-owned projects, such as Linux distributions have to deal with the exact same issue. Often, the signing machine has no HSM. This is one of the possible solutions.</p>
<p><strong>About the CryptoStick</strong><br />
The choice was driven by:</p>
<ul>
<li dir="ltr">The  openness of the project</li>
<li dir="ltr">The size and connectivity (USB)</li>
<li dir="ltr">No real smart card, yet easy to physically disconnect</li>
<li dir="ltr">The integration with GnuPG (OpenPGP Smart card, <a href="http://en.wikipedia.org/wiki/ISO/IEC_7816">ISO 7816-4</a>)</li>
<li dir="ltr">Low price and ease of getting additional sticks</li>
<li dir="ltr">Speed, support and certifications were not a requirement</li>
</ul>
<p>The major point being, that the CryptoStick operates without any smart card, but emulates one instead.</p>
<p><em><strong>Note</strong>: while we focus here on using OpenPGP for signing, the stick also supports other standards, such as x509 certificates and SSH authentication.<br />
</em></p>
<p><a href="https://blog.mozilla.org/security/files/2013/02/cstick2.jpg"><img class="alignnone  wp-image-972" alt="cstick2" src="https://blog.mozilla.org/security/files/2013/02/cstick2-600x471.jpg" width="600" height="471" /></a></p>
<p><strong>Our setup</strong><br />
We use BL460c blade servers which have an internal USB port. Dimensions are perfect for the CryptoStick.</p>
<p>We have decided on having two repository machines for redundancy, signing with the same keys.<br />
We also needed to be able to replace the hardware easily (both machines and the CryptoStick) in case of failure, which involves backing up the private key off-site. Finally, we needed the signing to happen automatically.</p>
<p>Some modifications were needed in order to make this work:</p>
<p><strong>Custom PIN-entry program</strong><br />
As the OpenPGP smart card standard requires entering a user PIN upon signing, we needed this user PIN to be entered automatically. Consequently, we assume the user PIN adds no security in our setup.</p>
<p>A simple script is used as pinentry program: <a href="https://github.com/gdestuynder/pinentry-auto">https://github.com/gdestuynder/pinentry-auto</a></p>
<p><em><strong>Note</strong>: the non-enforcing user PIN option only allows for caching the user PIN upon successfully entering the user PIN a first time, which would defeat the purpose of automatic signing in case of system reboot, process restart, etc.</em></p>
<p><strong>One private signing key, multiple sticks</strong><br />
The OpenPGP smart card standard also require the private keys generated on the HSM to contain the card’s serial number. While it allows for a software backup at creation time, the backup also contains the card’s serial number. The hardware will refuse to load those keys on a CryptoStick with a different serial number.</p>
<p>There is a different way to work around this issue. The stick also supports importing private keys. By using an offline machine, it is possible to generate the signing key in software using traditional GnuPG commands, and import it on the stick.<br />
This allowed us to import the signing key on different sticks, and to keep an off-site backup.</p>
<p>This is also the most significant difference with traditional HSMs, which requires a set of smart cards to protect and import the key backup. In our use case, we decided that the trade-off was acceptable.</p>
<p><em><strong>Note</strong>: when possible, it’s recommended to keep a master signing key offline, and create software signing GnuPG sub-keys. In the unlikely event of HSM compromise, it is then possible to revoke the sub-keys while retaining the trust of the master key, which then is simply used to issue new signing sub-keys. Not all package repositories support this feature.</em></p>
<p><strong>Advanced usage, some commands</strong><br />
Here are some sample commands that are commonly used with the CryptoStick.</p>
<p><em><strong>Note</strong>: it’s generally more convenient to have the gpg-agent running, for speed,and for PIN caching. General usage, such as encryption, signing and authentication work with the exact same commands as with a regular GnuPG or SSH key.</em></p>
<p><strong>Get card info:</strong><br />
$ gpg &#8211;card-status</p>
<p><code><br />
scdaemon[10692]: updating slot 0 status: 0x0000-&gt;0x0007 (0-&gt;1)<br />
Application ID ...: D2760001240102000005000014731337<br />
Version ..........: 2.0<br />
Manufacturer .....: ZeitControl<br />
Serial number ....: 00001478<br />
Name of cardholder: Mozilla<br />
Language prefs ...: en<br />
Sex ..............: unspecified<br />
URL of public key : [not set]<br />
Login data .......: [not set]<br />
Signature PIN ....: [not set]<br />
Key attributes ...: 2048R 2048R 2048R<br />
Max. PIN lengths .: 32 32 32<br />
PIN retry counter : 3 0 3<br />
Signature counter : 16<br />
Signature key ....: 067A A494 9B64 347D FA2E EEEE 9B3C 64F9 8006 EEEE<br />
created ....: 2013-01-17 22:40:53<br />
Encryption key....: 3C00 DA66 554D 67FE 8607 1AAB AAAA C9F2 AAAA 1D67<br />
created ....: 2013-01-17 22:40:53<br />
Authentication key: 1AF9 988A 0EAB 6F10 D69C 2DFC EF3B CCCC 784E A733<br />
created ....: 2013-01-17 22:40:53<br />
General key info..: [none]<br />
</code></p>
<p><strong>Set User and Admin PIN</strong>. Defaults are 123456 and 12345678 respectively:<br />
<code><br />
$ gpg --card-edit<br />
Command&gt; admin<br />
Admin commands are allowed<br />
Command&gt; passwd<br />
</code></p>
<p><strong>Generate keys</strong> (you need to have setup the PINs above first):<br />
<code><br />
$ gpg --card-edit<br />
Command&gt; admin<br />
Admin commands are allowed<br />
Command&gt; generate<br />
</code></p>
<p>Import existing key (only recommended if the original keys were generated on a trusted machine, such as an offline machine that has never been connected to the network):<br />
<em><strong>Note</strong>: this will erase the key from disk during the import. If necessary, make an extra backup of the key first.</em></p>
<p><code><br />
$ gpg --edit-key<br />
gpg&gt; toggle<br />
gpg&gt; keytocard<br />
(say yes)<br />
gpg&gt; save<br />
gpg&gt; quit<br />
</code></p>
<p><strong>Reset to factory defaults</strong>:<br />
Make sure GnuPG agent is started, if not:<br />
<code><br />
$ eval $(gpg-agent --daemon)<br />
</code></p>
<p>Send the reset commands:<br />
<code><br />
$ gpg-connect-agent &lt; file<br />
</code></p>
<p>Where &#8220;file&#8221; contains:<br />
<code><br />
hex<br />
scd serialno<br />
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 20 00 81 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 20 00 83 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 20 00 83 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 20 00 83 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 20 00 83 08 40 40 40 40 40 40 40 40<br />
scd apdu 00 e6 00 00<br />
scd apdu 00 44 00 00<br />
/echo Reset complete<br />
</code></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/02/13/using-cryptostick-as-an-hsm/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Putting Users in Control of Plugins</title>
		<link>http://blog.mozilla.org/security/2013/01/29/putting-users-in-control-of-plugins/</link>
		<comments>http://blog.mozilla.org/security/2013/01/29/putting-users-in-control-of-plugins/#comments</comments>
		<pubDate>Tue, 29 Jan 2013 16:00:33 +0000</pubDate>
		<dc:creator>mcoates</dc:creator>
				<category><![CDATA[Press]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=953</guid>
		<description><![CDATA[Mozilla is changing the way Firefox loads third party plugins such as Flash, Java and Silverlight. This change will help increase Firefox performance and stability, and provide significant security benefits, while at the same time providing more control over plugins &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/01/29/putting-users-in-control-of-plugins/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>Mozilla is changing the way Firefox loads third party plugins such as Flash, Java and Silverlight. This change will help increase Firefox performance and stability, and provide significant security benefits, while at the same time providing more control over plugins to our users.</p>
<p>Previously Firefox would automatically load any plugin requested by a website. Leveraging <a href="https://blog.mozilla.org/security/2012/10/11/click-to-play-plugins-blocklist-style/">Click to Play</a> Firefox will only load plugins when a user takes the action of clicking to make a particular plugin play or the user has previously configured Click To Play to always run plugins on the particular website.</p>
<p><a href="https://blog.mozilla.org/security/files/2012/10/ctp-in-action1.png"><img class="size-medium wp-image-836 aligncenter" alt="ctp-in-action" src="https://blog.mozilla.org/security/files/2012/10/ctp-in-action1-252x200.png" width="252" height="200" /></a></p>
<p><strong>More User Control</strong><br />
Users should have the choice of what software and plugins run on their machine. Click to Play allows users to easily choose if they wish to run a plugin on a particular site. Users can also configure sites to never run plugins or conversely <a href="http://support.mozilla.org/kb/why-do-i-have-click-activate-plugins">always run plugins</a>. This change puts the user in control.</p>
<p><strong>Increased Performance &amp; Stability</strong><br />
Poorly designed third party plugins are the number one cause of crashes in Firefox and can severely degrade a user’s experience on the Web. This is often seen in pauses while plugins are loaded and unloaded, high memory usage while browsing, and many unexpected crashes of Firefox. By only activating plugins that the user desires to load, we’re helping eliminate pauses, crashes and other consequences of unwanted plugins.</p>
<p><strong>Significant Security Benefits</strong><br />
One of the most common exploitation vectors against users is drive by exploitation of vulnerable plugins. In this kind of attack, a user with outdated or vulnerable plugins installed in their browser can be infected with malware simply by browsing to any site that contains a plugin exploit kit. We&#8217;ve observed plugin exploit kits to be present on both malicious websites and also otherwise completely legitimate websites that have been compromised and are unknowingly infecting visitors with malware. In these situations the website doesn’t have any legitimate use of the plugin other than exploiting the user&#8217;s vulnerable plugin to install malware on the their machine. The Click to Play feature protects users in these scenarios since plugins are not automatically loaded simply by visiting a website.</p>
<p>In addition to the security benefits provided by Click to Play Mozilla also strongly recommends that users keep their plugins up to date. The following website can be used to determine if plugins are current.<br />
<a href="http://support.mozilla.org/kb/why-do-i-have-click-activate-plugins">https://www.mozilla.org/plugincheck/</a></p>
<p><strong>Implementing this change </strong><br />
Our plan is to enable Click to Play for all versions of all plugins except the current version of Flash. Click to Play has already been enabled for many plugins that pose significant security or stability risks to our users. This includes vulnerable and outdated versions of Silverlight, Adobe Reader, and Java.</p>
<p>More specifically, our next steps are the following:<br />
1. Click to Play old versions of Flash (versions &lt;=10.2.*) and slowly add more recent insecure Flash versions to the Click to Play list. <strong>Note</strong>: The most current version of Flash will NOT have Click To Play.</p>
<p>After we complete final UI work:<br />
2. Click to Play current versions of Silverlight, Java, and Acrobat Reader and all versions of all other Plugins.</p>
<p>During this change we will monitor the results and feedback of the new settings and UI to ensure we&#8217;re providing a quality experience and delivering the many benefits of Click to Play to Firefox users.</p>
<p>&nbsp;</p>
<p>Michael Coates<br />
Director of Security Assurance</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/01/29/putting-users-in-control-of-plugins/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>Using Coverage Data for Security</title>
		<link>http://blog.mozilla.org/security/2013/01/22/using-coverage-data-for-security/</link>
		<comments>http://blog.mozilla.org/security/2013/01/22/using-coverage-data-for-security/#comments</comments>
		<pubDate>Wed, 23 Jan 2013 00:55:28 +0000</pubDate>
		<dc:creator>decoder</dc:creator>
				<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Vulnerabilities]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=949</guid>
		<description><![CDATA[We recently started measuring C/C++ code coverage on mozilla-central again and documented the various efforts around it in a new MDN article. This article describes why coverage measurements are useful, how to create the necessary builds and also provides a &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/01/22/using-coverage-data-for-security/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p>We recently started measuring <em>C/C++ code coverage</em> on mozilla-central again and documented the various efforts around it in a <a href="https://developer.mozilla.org/en-US/docs/Measuring_Code_Coverage_on_Firefox">new MDN article</a>.<span id="more-949"></span> This article describes why coverage measurements are useful, how to create the necessary builds and also provides a link to the <a href="http://people.mozilla.org/~choller/firefox/coverage/">most recent coverage measurements</a> of <a href="https://developer.mozilla.org/en-US/docs/Mozilla_automated_testing">Mozilla&#8217;s automated test suites</a>. This data can also be used to improve the security of Gecko based products, Firefox included. Below we list some approaches to that you may want to consider when testing Mozilla software with automated tools.</p>
<h4>Combining Vulnerabilities and Coverage</h4>
<p>Ideally all code should be well tested, but we all know that competing priorities in software development don&#8217;t always make this possible. From a security perspective, it makes sense to focus on uncovered code that recently had one or more security problems to take advantage of this coverage inequity. One hypothesis is that such code suffers from structural problems, as such bugs with similar root causes might still be present.<br />
As an example of this; we started by creating a list of files that were patched due to security problems and then manually checked their testing coverage. The most interesting files were picked and <a href="https://bugzilla.mozilla.org/showdependencytree.cgi?id=790572&amp;hide_resolved=0">bugs were filed to increase their test coverage</a>.</p>
<p>We created some <a href="https://github.com/mozilla/security/tree/master/client/stats">publicly available scripts</a> that are able to collect the data automatically. Of course since current security bug reports are not available to the public, you will only be able to use this on older time frames where bugs have been unhidden.</p>
<h4>Check Coverage of your Fuzzer</h4>
<p>If you are using your own tools to test Firefox, then it often makes sense to try a <a href="https://developer.mozilla.org/en-US/docs/Measuring_Code_Coverage_on_Firefox#Creating_your_own_Coverage_Build">coverage build</a> to see what your tool is actually hitting and how often. This not only gives you a binary result of code that is tested or not; it can also tell you if certain code is reached, but very rarely compared to the rest of the covered code. Since fuzzers can be complex software they can also contain bugs, and while not hitting code at all might still be somewhat observable without special tools, hitting code just very rarely is hard to see.<br />
To try this out, just compile Firefox as described in the  <a href="https://developer.mozilla.org/en-US/docs/Measuring_Code_Coverage_on_Firefox">MDN article</a>, run your tool for a while and take a look at the lcov results.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/01/22/using-coverage-data-for-security/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Protecting Users Against Java Vulnerability</title>
		<link>http://blog.mozilla.org/security/2013/01/11/protecting-users-against-java-vulnerability/</link>
		<comments>http://blog.mozilla.org/security/2013/01/11/protecting-users-against-java-vulnerability/#comments</comments>
		<pubDate>Fri, 11 Jan 2013 17:30:16 +0000</pubDate>
		<dc:creator>mcoates</dc:creator>
				<category><![CDATA[Press]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=912</guid>
		<description><![CDATA[Update &#8211; January 18, 2013 Mozilla is extending Click to Play for Java 7u11 due to reports of exploit code available for 7u11 and information that all elements of the original Java bug have not been fully addressed by Oracle &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/01/11/protecting-users-against-java-vulnerability/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<div><strong>Update &#8211; January 18, 2013</strong></div>
<div>Mozilla is extending Click to Play for Java 7u11 due to reports of exploit code available for 7u11 and information that all elements of the original Java bug have not been fully addressed by Oracle in the 7u11 patch.</p>
</div>
<div><strong>Update &#8211; January 13, 2013</strong></div>
<div>
<p>Oracle has released an update to address this vulnerability. Read more <a href="http://www.oracle.com/technetwork/topics/security/alert-cve-2013-0422-1896849.html">here</a> and download updates <a href="http://www.oracle.com/technetwork/java/javase/downloads/index.html">here</a>.</p>
</div>
<div id="magicdomid17"><b>Issue</b></div>
<div id="magicdomid142">
<p>Mozilla is aware of a security vulnerability in the current version of Java (Java 7 Update 10) that is being actively exploited and affects any browser using the Java plugin. Firefox users may be vulnerable to this issue if they have the Java plugin installed in their browser. Information on how to check which plugins are installed can be found <a href="https://www.mozilla.org/plugincheck/#list-plugins">here</a>.</p>
</div>
<p><b>Impact </b><br />
An attacker could exploit this vulnerability to execute malicious software on a victim’s machine. This vulnerability is being actively used in attacks and the malicious exploit code is also available in common exploit kits.</p>
<div id="magicdomid24"><b>Status</b></div>
<div>
<p><del>There is no patch currently available for this issue from Oracle.</del> To protect Firefox users we have enabled <a href="https://blog.mozilla.org/security/2012/10/11/click-to-play-plugins-blocklist-style/">Click To Play</a> for recent versions of Java on all platforms (Java 7u9, 7u10, 6u37, 6u38). Firefox users with older versions of Java are already protected by existing plugin blocking or Click To Play defenses.</p>
</div>
<div>The Click To Play feature ensures that the Java plugin will not load unless a user specifically clicks to enable the plugin. This protects users against drive-by exploitation, one of the most common exploit techniques used to compromise vulnerable users. Click To Play also allows users to enable the Java plugin on a per-site basis if they absolutely need the Java plugin for the site.</div>
<p>&nbsp;</p>
<div style="text-align: center;"><img class="aligncenter" title="Demo of Click To Play Functionality" alt="" src="https://blog.mozilla.org/security/files/2012/10/ctp-in-action1-600x478.png" width="420" height="335" />Demo screenshot of Click To Play</div>
<p>&nbsp;</p>
<div id="magicdomid34"><b>Additional Information</b></div>
<div id="magicdomid35">
<p>We encourage users to always keep plugins up to date. Visit the<a href="https://www.mozilla.org/plugincheck"> plugin check website</a> to update plugins now.</p>
</div>
<div id="magicdomid37">
<p>Information to fully disable the Java plugin can be found at the following page: <a href="https://support.mozilla.org/kb/How to turn off Java applets">http://support.mozilla.org/kb/How to turn off Java applets</a></p>
</div>
<p>&nbsp;</p>
<div>Michael Coates<br />
Director of Security Assurance</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/01/11/protecting-users-against-java-vulnerability/feed/</wfw:commentRss>
		<slash:comments>70</slash:comments>
		</item>
		<item>
		<title>Revoking Trust in Two TurkTrust Certificates</title>
		<link>http://blog.mozilla.org/security/2013/01/03/revoking-trust-in-two-turktrust-certficates/</link>
		<comments>http://blog.mozilla.org/security/2013/01/03/revoking-trust-in-two-turktrust-certficates/#comments</comments>
		<pubDate>Thu, 03 Jan 2013 19:08:07 +0000</pubDate>
		<dc:creator>mcoates</dc:creator>
				<category><![CDATA[Press]]></category>
		<category><![CDATA[Security]]></category>

		<guid isPermaLink="false">http://blog.mozilla.org/security/?p=898</guid>
		<description><![CDATA[Update: For clarification, the last sentence of this post references our actions to suspend inclusion of a TURKTRUST root certificate. There are currently two TURKTRUST root certificates included in Mozilla&#8217;s CA Certificate program. TURKTRUST had requested that a newer root &#8230; <a class="go" href="http://blog.mozilla.org/security/2013/01/03/revoking-trust-in-two-turktrust-certficates/">Continue reading</a>]]></description>
				<content:encoded><![CDATA[<p><strong>Update</strong>: For clarification, the last sentence of this post references our actions to suspend inclusion of a TURKTRUST root certificate. There are currently two TURKTRUST root certificates included in Mozilla&#8217;s CA Certificate program. TURKTRUST had requested that a newer root certificate be included, and their request had been approved and was in Firefox 18 beta. However, due to the mis-issued  intermediate certificates, we decided to suspend inclusion of their new root certificate for now.</p>
<p><strong>Issue</strong></p>
<p>TURKTRUST, a certificate authority in Mozilla’s root program, mis-issued two intermediate certificates to customers. TURKTRUST has scanned their certificate database and log files and confirmed that the mistake was made for only two certificates.</p>
<p>This is not a Firefox-specific issue. Nevertheless, we are concerned that at least one of the mis-issued intermediate certificates was used for man-in-the-middle (MITM) traffic management of domain names that the customer did not legitimately own or control. We are also concerned that the private keys for these certificates were not kept as secure as would be expected for intermediate certificates.</p>
<p><strong>Impact</strong></p>
<p>An intermediate certificate that is used for MITM allows the holder of the certificate to decrypt and monitor communication within their network between the user and any website. Additionally, If the private key to one of the mis-issued intermediate certificates was compromised, then an attacker could use it to create SSL certificates containing domain names or IP addresses that the certificate holder does not legitimately own or control. An attacker armed with a fraudulent SSL certificate and an ability to control their victim’s network could impersonate websites in a way that would be undetectable to most users. Such certificates could deceive users into trusting websites appearing to originate from the domain owners, but actually containing malicious content or software.</p>
<p><strong>Status</strong></p>
<p>Mozilla is actively revoking trust for the two mis-issued certificates which will be released to all supported versions of Firefox in the next update on Tuesday 8th January.</p>
<p>We have also suspended inclusion of the “TÜRKTRUST Bilgi İletişim ve Bilişim Güvenliği Hizmetleri A.Ş. (c) Aralık 2007” root certificate, pending further review.</p>
<p>Additional action regarding this CA will be discussed in the mozilla.dev.security.policy forum.</p>
<p><strong>Credit</strong></p>
<p>This issue was initially reported to us by Google, Inc.</p>
<p>&nbsp;</p>
<p>Michael Coates<br />
Director of Security Assurance</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.mozilla.org/security/2013/01/03/revoking-trust-in-two-turktrust-certficates/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
	</channel>
</rss>
