Apps/Security: Difference between revisions

no edit summary
No edit summary
No edit summary
Line 79: Line 79:
# Permissions should be enforced regardless of version of B2G installed
# Permissions should be enforced regardless of version of B2G installed


== Proposals ==
 
=== App instance / version ===
* Possible definitions of what an app instance / version is
*# a static bundle of code authenticated by manifest + signature (or equivalent)
*# a dynamic stream of code authenticated by a specific origin (same origin applied, all assets must be loaded from https://<a host>)
*# an initial loader authenticated by a specific origin (https://<a host>), which can then load whatever it wants
*# unauthenticated code loaded over any channel, from any origin
* loosely ordered from best to worst (descending) security wise
* 1) and 2) could work with additional security controls
* attacker can use option 2) as a proxy for malicious content
* attacker can use option 2) as proxy to paid app (buy once, share with world)
** mitigation for this may be responsibility of app developer
* CSP can secure 1) and 2) to an extent
** define baseline CSP policy that apps have to adopt
* See [https://www.adobe.com/devnet/air/articles/introduction_to_air_security.html Intro to AIR security]




Line 371: Line 357:


== Scope ==
== Scope ==
=== App instance / version ===
* Possible definitions of what an app instance / version is
*# a static bundle of code authenticated by manifest + signature (or equivalent)
*# a dynamic stream of code authenticated by a specific origin (same origin applied, all assets must be loaded from https://<a host>)
*# an initial loader authenticated by a specific origin (https://<a host>), which can then load whatever it wants
*# unauthenticated code loaded over any channel, from any origin
* loosely ordered from best to worst (descending) security wise
* 1) and 2) could work with additional security controls
* attacker can use option 2) as a proxy for malicious content
* attacker can use option 2) as proxy to paid app (buy once, share with world)
** mitigation for this may be responsibility of app developer
* CSP can secure 1) and 2) to an extent
** define baseline CSP policy that apps have to adopt
* See [https://www.adobe.com/devnet/air/articles/introduction_to_air_security.html Intro to AIR security]
===Permission Types===
===Permission Types===
#For privacy-related permissions, the user must always be asked, unless they have overridden
#For privacy-related permissions, the user must always be asked, unless they have overridden
Line 400: Line 401:


== Requirements ==
== Requirements ==
=== Management / granting of API permissions to WebApps ===
=== Management / granting of API permissions to WebApps ===
# User should be able to view / control / modify permissions granted to WebApps
# User should be able to view / control / modify permissions granted to WebApps
177

edits