Security/Features/Mixed Content Blocker

From MozillaWiki
Jump to navigation Jump to search
Please use "Edit with form" above to edit this page.

Status

Mixed Content Blocker
Stage Complete
Status Complete
Release target Firefox 23
Health OK
Status note `

{{#set:Feature name=Mixed Content Blocker

|Feature stage=Complete |Feature status=Complete |Feature version=Firefox 23 |Feature health=OK |Feature status note=` }}

Team

Product manager Sid Stamm
Directly Responsible Individual Tanvi Vyas
Lead engineer Tanvi Vyas
Security lead Dan Veditz
Privacy lead Sid Stamm
Localization lead `
Accessibility lead `
QA lead Mihai Morar
UX lead Larissa Co
Product marketing lead `
Operations lead `
Additional members Brandon Sterne, Christoph Kerschbaumer

{{#set:Feature product manager=Sid Stamm

|Feature feature manager=Tanvi Vyas |Feature lead engineer=Tanvi Vyas |Feature security lead=Dan Veditz |Feature privacy lead=Sid Stamm |Feature localization lead=` |Feature accessibility lead=` |Feature qa lead=Mihai Morar |Feature ux lead=Larissa Co |Feature product marketing lead=` |Feature operations lead=` |Feature additional members=Brandon Sterne, Christoph Kerschbaumer }}

Open issues/risks

Future UI tweaks

Edge Cases

Stage 1: Definition

1. Feature overview

The Mixed Content Blocker prevents "mixed script" content, defined as mixed content loads of scripts, plugins, and stylesheets, from being loaded into a secure web page. The primary threat model is the active network attacker who modifies the contents of mixed script resources to compromise the integrity of a secure web application. This feature blocks mixed scripts from loading by default, and adds UI that enables a user to reload the page with the insecure content permitted to load.

Detailed blog posts: https://blog.mozilla.org/tanvi/2013/04/10/mixed-content-blocking-enabled-in-firefox-23/

https://blog.mozilla.org/security/2013/05/16/mixed-content-blocking-in-firefox-aurora/

https://blog.mozilla.org/security/2013/06/27/mixed-content-blocker-hits-firefox-beta/

2. Users & use cases

`

3. Dependencies

`

4. Requirements

`

Non-goals

To prevent the disclosure of cookies and other sensitive data through mixed display content, such as images, and video. We have a pref, disabled by default, which when enabled would block these loads as well using the same infrastructure.

Stage 2: Design

5. Functional specification

Blocking of the mixed content loads occurs at the nsIContentPolicy level. When such a block occurs, the content policy fires an event at the document containing the mixed content, which causes the browser to display UI notifying the user that content was blocked, and providing the option to reload the page with the mixed content enabled.

The reload-with-insecure-content flag is stored on the session history entry, so navigating back and forward through the browsing history, if a page was allowed to load mixed content, would cause the page to be rendered with mixed content again. If the mixed content page is visited in a new tab, or the navigation chain is otherwise broken, then the page will go back to the default block-mixed-content state.

6. User experience design

http://people.mozilla.com/~lco/ProjectSPF/Mixed_Content/Mixed_Content_Spec/

Stage 3: Planning

7. Implementation plan

https://bugzilla.mozilla.org/show_bug.cgi?id=815321 - Master Bug

8. Reviews

Security review

`

Privacy review

`

Localization review

`

Accessibility

`

Quality Assurance review

`

Operations review

`

Stage 4: Development

9. Implementation

`

Stage 5: Release

10. Landing criteria

` {{#set:Feature open issues and risks==== Future UI tweaks ===

Edge Cases

|Feature overview=The Mixed Content Blocker prevents "mixed script" content, defined as mixed content loads of scripts, plugins, and stylesheets, from being loaded into a secure web page. The primary threat model is the active network attacker who modifies the contents of mixed script resources to compromise the integrity of a secure web application. This feature blocks mixed scripts from loading by default, and adds UI that enables a user to reload the page with the insecure content permitted to load.

Detailed blog posts: https://blog.mozilla.org/tanvi/2013/04/10/mixed-content-blocking-enabled-in-firefox-23/

https://blog.mozilla.org/security/2013/05/16/mixed-content-blocking-in-firefox-aurora/

https://blog.mozilla.org/security/2013/06/27/mixed-content-blocker-hits-firefox-beta/ |Feature users and use cases=` |Feature dependencies=` |Feature requirements=` |Feature non-goals=To prevent the disclosure of cookies and other sensitive data through mixed display content, such as images, and video. We have a pref, disabled by default, which when enabled would block these loads as well using the same infrastructure. |Feature functional spec=Blocking of the mixed content loads occurs at the nsIContentPolicy level. When such a block occurs, the content policy fires an event at the document containing the mixed content, which causes the browser to display UI notifying the user that content was blocked, and providing the option to reload the page with the mixed content enabled.

The reload-with-insecure-content flag is stored on the session history entry, so navigating back and forward through the browsing history, if a page was allowed to load mixed content, would cause the page to be rendered with mixed content again. If the mixed content page is visited in a new tab, or the navigation chain is otherwise broken, then the page will go back to the default block-mixed-content state. |Feature ux design=http://people.mozilla.com/~lco/ProjectSPF/Mixed_Content/Mixed_Content_Spec/ |Feature implementation plan=https://bugzilla.mozilla.org/show_bug.cgi?id=815321 - Master Bug |Feature security review=` |Feature privacy review=` |Feature localization review=` |Feature accessibility review=` |Feature qa review=` |Feature operations review=` |Feature implementation notes=` |Feature landing criteria=` }}

Feature details

Priority P1
Rank 999
Theme / Goal Product Hardening
Roadmap Security
Secondary roadmap `
Feature list `
Project `
Engineering team Security

{{#set:Feature priority=P1

|Feature rank=999 |Feature theme=Product Hardening |Feature roadmap=Security |Feature secondary roadmap=` |Feature list=` |Feature project=` |Feature engineering team=Security }}

Team status notes

  status notes
Products ` `
Engineering ` `
Security ` `
Privacy ` `
Localization ` `
Accessibility ` `
Quality assurance ` Test Plan
User experience ` `
Product marketing ` `
Operations ` `

{{#set:Feature products status=`

|Feature products notes=` |Feature engineering status=` |Feature engineering notes=` |Feature security status=` |Feature security health=` |Feature security notes=` |Feature privacy status=` |Feature privacy notes=` |Feature localization status=` |Feature localization notes=` |Feature accessibility status=` |Feature accessibility notes=` |Feature qa status=` |Feature qa notes=Test Plan |Feature ux status=` |Feature ux notes=` |Feature product marketing status=` |Feature product marketing notes=` |Feature operations status=` |Feature operations notes=` }}