WebAPI/Security/TCPSocket: Difference between revisions

No edit summary
No edit summary
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
Name of API: Socket API
== Socket API ==
 
Reference
*https://bugzilla.mozilla.org/show_bug.cgi?id=733573
*Security discussion: https://groups.google.com/d/topic/mozilla.dev.webapps/Asm37KDoVB4/discussion


Brief purpose of API: Grant full access to raw sockets to allow applications such as SMTP clients etc
Brief purpose of API: Grant full access to raw sockets to allow applications such as SMTP clients etc
Line 13: Line 9:
Threat severity: High
Threat severity: High


== Regular web content (unauthenticated) ==
Reference
Use cases for unauthenticated code: None
*https://bugzilla.mozilla.org/show_bug.cgi?id=733573
 
*Security discussion: https://groups.google.com/d/topic/mozilla.dev.webapps/Asm37KDoVB4/discussion
Authorization model for normal content: None
 
Authorization model for installed content: None
 
Potential mitigations:N/A
 
== Privileged (approved by app store) ==
Use cases: Talk to non-HTTP services. SSH, FTP, mail clients, supporting custom protocols


Authorization model: Implicit
=== Permissions Table===


Potential mitigations:
{| border="1" class="wikitable"
! Type
! Use Cases
! Authorization Model
! Notes & Other Controls
|-
| Web Content || None|| No access ||
|-
| Installed Web Apps || None || No access ||
|-
| Privileged Web Apps || Talk to non-HTTP services.  SSH, FTP, mail clients, supporting custom protocols || Implicit||
*Firewall should prohibit access to privileged low number OS ports (<1024).
*Firewall should prohibit access to privileged low number OS ports (<1024).
*Listening on a port < 1024 should be prohibited.
*Listening on a port < 1024 should be prohibited.
*Specify hosts/ports in the manifest, permissions granted implicitly. user can modify permissions?
*Specify hosts/ports in the manifest, permissions granted implicitly.
|-
| Certified Web Apps || Open a connection to any domain/port || Implicit || specify hosts/ports in the manifest, permissions granted implicitly and not able to be revoked (unless device is in developer mode)
|}


== Certified (system-critical apps) ==
[[Category:Web APIs]]
*Use cases:  Open a connection to any domain/port
[[Category:Security]]
*Authorization model: Implicit
*Potential mitigations: specify hosts/ports in the manifest, permissions granted implicitly and not able to be revoked (unless device is in developer mode)

Latest revision as of 23:42, 1 October 2014

Socket API

Brief purpose of API: Grant full access to raw sockets to allow applications such as SMTP clients etc

General Use Cases: None

Inherent threats: Malicious apps attacking internal systems (firewall bypass), local device access

Threat severity: High

Reference

Permissions Table

Type Use Cases Authorization Model Notes & Other Controls
Web Content None No access
Installed Web Apps None No access
Privileged Web Apps Talk to non-HTTP services. SSH, FTP, mail clients, supporting custom protocols Implicit
  • Firewall should prohibit access to privileged low number OS ports (<1024).
  • Listening on a port < 1024 should be prohibited.
  • Specify hosts/ports in the manifest, permissions granted implicitly.
Certified Web Apps Open a connection to any domain/port Implicit specify hosts/ports in the manifest, permissions granted implicitly and not able to be revoked (unless device is in developer mode)