Maybe I am wrong, but are not all offline web apps static web apps? My assumption was since the apps which require critical permissions are typically those which would need to be offline applications, and therefore the restriction wasn't a large one.
When I say static app, I don't necessarily mean hosted on infrastructure controlled by the store - to me that is a separate control as I tried to articulate in the Trusted Host control in my email) . As far as I understood the proposal, anyone can host their own app, on their own server, and then if a trusted store trusts them, then their app can be granted sensitive permissions. The benefits from a security perspective of a static app are reduced risk of web application vulnerabilities and/or malicious code - It is much more simple to review a static application, and it is possible to gain a very high level of assurance - a level which is not usually possible in dynamic web applications - static apps can be signed, to mitigate the risk of app host compromise, or a trusted third party changing the code after submission to the store - A static app can be reviewed to see how it is using the permissions granted to it - A static application can be reviewed to see if it contains malicious code (to an extent) If the app is served dynamically, what sort of controls would you propose to mitigate the threats of server compromise, loading unsafe code and web application vulnerabilities? On Mar 23, 2012, at 12:44 AM, Ben Francis wrote: > On Thu, Mar 22, 2012 at 1:50 AM, ptheriault <ptheria...@mozilla.com> wrote: > To me these controls are not mutually exclusive, but rather a series of > controls that provide mitigations against slightly different threats. > > 1. Require the app host to have SSL? > 2. Require the app to be static HTML/JS/CSS (and prevent loading of dynamic > code)? > 3. Require the app to be hosted on a Trusted App Host (i.e. under the stores > control, or a trusted third party)? > 4. Require code to be signed? > > These all mitigate different threats: > > - SSL mitigates network compromise > - Static apps are easier to review (reduce chance of vulnerable or malicious > code) > - Deploying from a trusted location (in theory) reduces the risk of change > code due to app host compromise > - Code signing (with effective key management) prevents static code from > being modified on the app host, network or device itself > > Perhaps I am oversimplifying here but to me its more a case of what security > features are we going to support in B2G. I think that 1& 2 are mandatory: > > Really? I thought that the whole point of Open Web Apps was that anyone can > host their own web app on their own web server, then allow their app to be > installed either directly from their own server or from a listing on multiple > competing app stores, not host the app on one store's trusted server. > > I understand this makes security very challenging, but how is what you > describe better than the status quo? > > Also, how many existing web apps have static HTML, CSS and JavaScript in > practice? > > Ben > > -- > Ben Francis > http://tola.me.uk > _______________________________________________ dev-security mailing list dev-security@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-security