Security/WebAPI/Socket API

From MozillaWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.
Please use "Edit with form" above to edit this page.

Project Info

Socket API
Project Page https://bugzilla.mozilla.org/show_bug.cgi?id=733573
Next Milestone `
Security Resource `

{{#set:Component=Socket API |Project=https://bugzilla.mozilla.org/show_bug.cgi?id=733573 |Milestone=` |Resource=` }}

Security Information

Status: OK
Securtiy Approved for Beta Launch?: No
Data Flow Diagram: `
Threat Model: `
Bugs: `
Security Review: `
Final Security Approval: no

{{#set:Sectrackerstatus=OK |Simpyn=No |DFD=` |TM=` |bugs=` |Secreview=` |SecTrackerFSA=no }}

Background

Goals Expose Socket API so that Web Apps can connect to services requiring such access (e.g. SMTP Web App)

Articles:

Source:

Open Questions

  • Could any security restrictions be applied to mitigate security risk? E.g. we could prevent localhost connections - but this might prevent a valid use case.
  • (out of scope but important) How will credentials be stored (assuming that apps making connections will need credentials to make secure connections)
  • will this API only be available to b2g (I assume not, but how will the trust model work then?)

Threat Model

The following threats have been considered

  • Malicious website uses API to connect to internal resource
  • Increased port scanning capability
  • Data exfiltration
  • Connection to local device


Authorization Model

For B2G:

  • This will only be available to trusted web apps.
  • B2G trusted apps are cached on the phone, code is not loaded dynamically.
  • App must request socket permission in the manifest.



Implementation Requirements