As you are saying, we seem to be talking of different things, even if I have a problem seeing how different. You make a difference between apps using web technologies accessed by HTTP or not, which I thought close to installed or not. You postulate the absence of a "safe and usable way of escalating privileges for apps". That is probably what I most react to. You are talking of either sandboxing, or unfettered access. That is basically the difference between web apps and native apps in iOS, and I hate it! I can live with it only because Apple does some strict checking on native apps, but I hate relying on their judgment on privacy-related data.
So I hope you are wrong, and we can find a workable model with finer grain.
Best regards
JC

On 8/2/12 14:21 , Robin Berjon wrote:
On Feb 8, 2012, at 01:06 , Jean-Claude Dufourd wrote:
On 7/2/12 05:31 , Robin Berjon wrote:
The first problem is that of the security model. A lot of smart people have 
tried to come up with a lot of different solutions here, often involving 
signatures, policies, intricate user interfaces, etc. I think that's all 
massively over-engineered. Once you take into account the fact that the number 
of applications that actually need this level of privilege is only a tiny 
fraction of the whole, you realise that you can just give up on privilege 
policies. These are just regular apps: they have unfettered access — period 
(within the limits of the underlying platform's permissions system naturally). 
They ought to be harder (and unusual) to install, and maybe should look 
different, but that's it. We might want to give them strong CSP protection by 
default to defend against XSS attacks, but that's a detail.

JCD: I strongly disagree with you there, Robin. I do not see why "installed 
apps" should have more access.
You're the one calling them installed apps :) In the section you quote above (and, unless 
I made a mistake, in the entirety of my post) I don't refer to high-privilege apps as 
"installed". The installation method is largely an orthogonal problem. I 
personally think that it should be close to impossible to access a page in one's browser 
and by mistakenly clicking on a dialog to grant it permissions that would be dangerous. 
You probably need at least something involving multiple clicks with no quick keyboard 
bindings and a speed bump.

"Normal apps" and "installed apps" should have the same security model, but 
"installed apps" may have permanently remembered security clearances, and that could be the only 
difference.
That's not the line that I'm drawing. I'm drawing a line between browser apps and the 
rest. I'm further pointing out that the number of applications that actually fall into 
the "rest" category is smaller than most people expect once we have a generic 
user-mediation security system, such as Intents provide. That works *because* the number 
of security clearance dialogs (or the size of their content) can be diminished, perhaps 
even to the point that they disappear in most cases.

Under this approach, System Apps are few are far apart. For a lot of users I 
suspect it might even be possible that they would never want any beyond those 
preinstalled. Safety comes from cutting the escalation vector, and making 
interactions between users and security about what the user wants to do rather 
than about a personal security policy decision — which most people (myself very 
much included) don't want to hear about.

My proposal is as simplistic as yours, but in the opposite direction. You are saying "installed 
apps" should have all rights, I am saying "installed apps" should obey the exact same security 
as "normal apps".
In your system, it is dangerous to install an app, but it is very simple. In 
mine, there is no danger, but it is a bit more work.
It's difficult for me to reply to this properly since you're making a 
distinction that isn't the one I'm making. How does the approach you propose 
acquire privileges? Upfront permissions are a security no-go. 
Doorhanger/infobars don't scale to multiple permissions. Facebook's current 
model which mixes both in moderation (ask only the smallest set you absolutely 
need upfront, in full knowledge that asking too many permissions decreases your 
adoption, and ask more in the flow of user actions) could be an interesting 
option but I don't know if it could scale to the sort of dangerous features 
that we'll eventually need for a full platform.

The missing part in your description above is "there is no danger *if we have a way 
of escalating privileges from web apps in a safe, usable manner*". To the best of my 
knowledge we don't, hence the noodling on a different approach.

Java tried that for applets, and Java is now gone from the web apps stage.
Applets could gain a lot of permissions! It was a terrible model, and has 
nothing in common with what I'm thinking about :)



--
JC Dufourd
Directeur d'Etudes/Professor
Groupe Multimedia/Multimedia Group
Traitement du Signal et Images/Signal and Image Processing
Telecom ParisTech, 37-39 rue Dareau, 75014 Paris, France
Tel: +33145817733 - Mob: +33677843843 - Fax: +33145817144


Reply via email to