WebAPI/Security/TCPSocket

Name of API: Socket API

Reference

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

Regular web content (unauthenticated)

Use cases for unauthenticated code: None

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

Potential mitigations:

  • 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. user can modify permissions?

Certified (system-critical apps)

Use cases: Open a connection to any domain/port

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)