[cap-talk] Polaris: Virus Safe Computing for Windows XP

Karp, Alan H alan.karp at hp.com
Mon Dec 13 13:56:18 EST 2004


Jed Donnelley wrote:
> >The synchronizer updates the file as soon as it detects a 
> change to the
> >copy.
> 
> Does that mean it's polling?  How does the synchronizer find out
> about such a change?
> 
I haven't looked at the code, but I know you can register for an event
to be sent when a file or directory changes.
 
> >           Indeed, most applications won't open a file for 
> write if it's
> >already open for write.
> 
> Notepad apparently does...  I haven't tested many others, but 
> that seems
> pretty significant to me.
> 
The important thing is that the behavior will be the same with Polaris
as it is without.
> 
> I agree the mechanism in useful to avoid having implicit
> sharing happening through the RunAs user.  However,
> touting this value as resulting from "properly distinguishing
> authority from permission" seems somewhat more than
> a bit much - to me.
> 
I agree.  I've now removed the offending phrase from the document.
 
> >Not specifically.  If I logged into a pet account and launced Excel
> >directly, there's be no RunAs involved.  As long as the 
> PowerBox running
> >as a system service recognized this process as running in a 
> pet, opening
> >a file would work the same as described in the paper.  
> (Well, at least
> >it should, but we don't have the PowerBox running as a 
> service today.)
> 
> By "the same" do you mean that the PowerBox will somehow (above)
> detect changes in the file and change the corresponding file
> belonging to another user outside the Pet?  If that's so I'll have to
> say that doesn't seem particularly desirable behavior to me.  I don't
> know why anybody would (or would be allowed to) login as this
> "pet" user, but if that happened it seems to me to confuse things.
> In that case you would have multiple applications sharing "ambient"
> access to some of these (admittedly indirect) resources - in
> likely violation of POLA.
> 
If I use Polaris to open the file, then there would be a synchronizer,
whether I did a RunAs or logon.  Also, there is a separate pet for each
application, or even several pets for the same application.  Logging in
to a pet account gives me the same privileges as launching an
application under Polaris, which uses RunAs.
> 
> In contrast the 2 level encapsulation scheme that I outlined
> runs each Windows application under a separate Windows
> emulator which is individually granted resource access strictly
> according to POLA.
> 
> Sorry if I'm not getting it, but it sounds to me like you might
> be getting a bit carried away with your mechanism and losing
> sight of what you're trying to accomplish - at least if I'm
> correctly understanding what you are trying to accomplish.
> 
I'd love to use your encapsulation scheme, and it's exactly what I'd use
on Linux.  I just don't know how to do it on Windows.  None of the
virtual OSes, ala Xen, works with Windows, and virtual machines are too
heavyweight to have one per process.
> 
> I've got that, but isn't it also important that if multiple 
> applications
> are running at the same time under Polaris (or when logged into
> the "pet" account) that they each get rights according to
> POLA?
> 
They are to the best of our ability and consistent with usability.  For
example, in the Alpha, all files opened by a particular pet are
accessible to all running instances of that pet.  That's a violation of
POLA, but creating an account on launch would make the system too slow.
However, each pet runs in a separate account, so a file opened in an
Excel pet is not accessible by an Word pet, or even by a different pet
configured to run Excel.
> 
> Ah.  Unfortunate.  Is it the lack of the restricted execution 
> environment
> that's the major problem or the lack of the Windows emulator or ???
> 
If we had an emulator with the right hooks, we could build the
restricted execution environment.  That might be a lot of effort, but at
least we'd have a shot at it.
> 
> You indicated that you are considering virtual machine monitors
> for a protected execution environment for Polaris.  Isn't 
> that over kill
> if all you need is the simpler sort of protected execution environment
> that I discussed?  Is it just the fact that some VM monitors are
> available and the simpler facility doesn't seem to be?  Using a
> VM monitor for something like Polaris would seem to me to really
> be opening up a can of worms.
> 
Yes, but it's there, and it runs Windows.  We now think we can avoid
using a VM by taking advantage of alternate desktops to close the GUI
hole.
> 
> >We originally planned to do something along these lines on
> >Linux.  Given the resources, we might still.
> 
> It would be of particular interest on Linux I think because you would
> not only get POLA for applications but you'd be getting it for Windows
> applications under Linux.  Of course you'd need and could probably
> leverage something like wine to pull it off.   Paradoxically on Linux
> it might be more difficult to provide a POLA execution environment
> for Linux applications ;-)
> 
I meant for Gnome or other Linus desktop environments.  We also have a
plan for future work that combines CapDesk and Polaris, but I don't know
when we can start working on it.
 
________________________
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
https://ecardfile.com/id/Alan_Karp
http://www.hpl.hp.com/personal/Alan_Karp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: Karp, Alan H.vcf
Type: text/x-vcard
Size: 433 bytes
Desc: Karp, Alan H.vcf
Url : http://www.eros-os.org/pipermail/cap-talk/attachments/20041213/25e43724/KarpAlanH-0001.vcf


More information about the cap-talk mailing list