[EROS-Arch] Installers
Pascal J. Bourguignon
pjb@imaginet.fr
Tue, 27 Mar 2001 04:46:07 +0200 (CEST)
> From: "Jonathan S. Shapiro" <shap@eros-os.org>
>
> > The declarations probably has been computed some time ago (when
> > generating the package, be it by software or by wetware). Therefore, I
> > don't see the difference and the advantage to request a _static_
> > declaration of the authorities the installer needs over having some
> > installation program or script compute them at installation time. What
> > did I missed?
>
> You missed a social (human) problem.
>
> As the person installing the software on a system, I want to know in advance
> what authority is required and make active decisions about whether I will
> agree to grant that authority. This should be done at install time, not
> incrementally as the software comes to realize that it needs more authority.
Any well thought installer will first ask everything it needs, then do
its job. But of course, this is easier to ensure if we provide the
only installer program in the system...
> The problem with the incremental strategy is that over time I will forget
> what authority a program holds, and I might slowly give it combinations of
> authorities that are well-suited to misuse or abuse.
A good point.
But were we not to have a good feed back of the assigned capacities
from the user interface ? This probably should be general: each time a
capacity is to be assigned to an entity, the user interface should
list the capacities the entity already holds.
And by the same token, it may be very interesting, security-wise, that
the "file" choosers show what other entity may have a capacity on the
element to be selected and assigned to the calling entity. We'd like
to know explicitely that a file that we're giving a write capacity to
to a program X, another program Y already holds a read capacity on to,
or vice-versa, because those programs may not belong to the same
"security ring", and them sharing a file may be dangerous for the
system. (I write "file" here, but the same is valid for any resource
actually).
> In fact, I want to give it all dangerous authorities in a way that can be
> disabled, because I may later decide that this software cannot be trusted
> due to a security flaw, but after fixing that flaw I may want to restore the
> software to operation.
>
> In any case, knowing (in advance) the authority required by a program is
> part of my decision about whether to install it or not. Therefore, a static
> list is appropriate.
Perhaps I don't understand exactly what is meant by "authority" with
respect to "capacity". Aren't capacities all that can be required by a
program and all that is needed? Wouldn't an authority be implemented
by a capacity?
> Finally, note that a dynamically generated list is unlikely to be useful. As
> a practical matter, most dynamic decisions concern resource *allocation* as
> distinct from the *authority to allocate*. Access to exceptional authorities
> can certainly be captured by prior static description.
>
> Jonathan
--
__Pascal_Bourguignon__ (o_ Software patents are endangering
() ASCII ribbon against html email //\ the computer industry all around
/\ and Microsoft attachments. V_/ the world http://lpf.ai.mit.edu/
1962:DO20I=1.100 2001:my($f)=`fortune`; http://petition.eurolinux.org/