[cap-talk] Reducing Ambient user authority in a Type Safe /Memory Safe OS.
Ben Kloosterman
bklooste at gmail.com
Fri Dec 18 03:13:39 PST 2009
<snip Replied in other message>
è All we are doing is limiting what rights the user (Actor) can delegate
The only meaningful limit is that users can only delegate rights they have.
It makes no sense from a security standpoint to prevent them from delegating
those rights because they can always use them on behalf of the party they
wish to delegate to. The only exception is if youre worried about users
making mistakes.
BK> Agreed. Some rights may require a stronger confirmation if the risk of
a mistake is higher,
è Im no expert and still learning but I can see how a file/Open and
setup/configure trusted dialogs can grant privilege but I dont see how you
can do it without giving the user (Actor) carte blanche access to the
machine, which in some cases is not desirable.
The Actor has some set of rights that it can delegate. Theres no reason
that implies carte blanche access. Some Actors will have more rights, some
of them less.
BK> But what about all those OS files , Device drivers , Creating users ,
services and all the other non file rights. ( I talk about this in the other
message more eg is the first user a admin user )
è Secondly if there are any bugs with these trusted controls you are
completely open eg click jacking even though you cant access the API
/message loop there are ways to manipulate UI rendering so the user (Actor)
is clicking on something he shouldnt normally approve. In both cases the
concept of user rights is almost meaningless and it is just a container to
hold the user group relationship and rights to home directory . Lastly
access on shared servers is normally controlled through such groups.
Clickjacking is a particular attack against a browser interface. As Tyler
pointed out in ACLs Dont capabilities in the form of webkeys defeat
clickjacking because the attacker doesnt know the URL for the page holding
interesting authorities.
BK> Disagree that click jacking is limited to browsers. It affects browsers
because its rendered from css and web pages have flexible layout. I have
seen click jacking with forms by using full transparency. This is a bit of
an issue for me as it is very likely that the UI I will be using will be
rendered ( prob using Moonlight from Xaml) , the same rules apply its just
a bit more tricky as it the security interacts with the rendering engine.
The problem with thinking of user rights in terms of accounts and groups is
that there is no way to modify the access rules from within the model. You
need a set of meta-rules outside of the basic mechanism, such as the owner
can change the ACL entry, but owner is not part of the basic ACL model. A
better way of thinking of user rights, whether local or on a shared server,
is to think of a c-list. The dynamic delegatability of capabilities allows
for modification of the access rules within the model.
Agree on the issue of modify the access rule in the model and that groups
are no issues and are easily modeled by a Capability List .
Its the interaction with ACL systems and how to manage if say you have a
Directory Server , A Capability File Server and Older NT File Server (Acl)
, Machines running Windows 7 , Macs and machines running a new Capability
OS. How do you interact the capabilities ? Im not designing a Research
system but a practical one. Windows allows you to add Domain groups to
local groups eg you can add Domain Admins to Administrator and Domain Users
to Users and all domain users can the login with User or Admin rights. How
do you model that any user in the organization can log in get basic rights
from the tree , deploy his allocated applications from the tree and access
his files on the server. I seem to always need this user Group mapping is
there a nicer way .. I need to rethink.
You are right that there is the possibility that the user will make a
mistake. Thats where Voluntary Oblivious Compliance comes in.
BK> But VOC from little what I have read of it still relies on another
user.
è By providing an underlying layer with escalations I can limit what the
user (Actor) has access to though I still can provide full machine rights
for a home user (Actor) based on a policy setting. In addition it can
work well with existing file servers , directories such as NDS and AD of
which you have no change to ever replace.
Any access control model must be able to grant full rights to some users and
restrict the rights of others. Thats not enough. You also need to think
about the rights of processes the user starts. Today, those processes get
all the users rights, which is the root cause of the virus problem.
Capabilities make it easy to do better, and there are numerous examples of
how to interface them to standard file systems. Directories, such as AD,
are one way to specify what might be called the users installation
endowment in a capability system.
BK> I think I understand capabilities and its benefits by limiting it to
apps it aligns well with OO programming and strongly typed/mem safe systems
. What I still dont get I think is who has the privilege rights to install
device drivers on say a new system and the users installation endowment
or User namespace and how this is different from user/group rights ? Is
the privilege right just an admin user who logs in first with lots of rights
?
Anyway I need to think on this for a while
especially the AD integration.
Regards,
Ben
________________________
Alan Karp
Principal Scientist
Virus Safe Computing Initiative
Hewlett-Packard Laboratories
1501 Page Mill Road
Palo Alto, CA 94304
(650) 857-3967, fax (650) 857-7029
http://www.hpl.hp.com/personal/Alan_Karp
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.eros-os.org/pipermail/cap-talk/attachments/20091218/4e05150b/attachment-0001.html
More information about the cap-talk
mailing list