[Zope-dev] Re: Addressing client-side trojan problem

Shane Hathaway shane@zope.com
Tue, 25 Sep 2001 15:02:44 -0400


Ken Manheimer wrote:

> Shane Hathaway <shane@zope.com> wrote:
>>This hasn't been fixed because it's not well understood.  Javascript can
>>POST an invisible form, AFAIK.  The problem occurs on the browsers of
>>users who are *already authenticated*.  It has nothing to do with Zope
>>or any server software, really.
>>
> 
> I recently saw a _very_ interesting description of how capability-based
> distributed computing (and the Principle of Least Authority) is used to
> address vulnerabilities to client side trojans, viruses, etc.  I think the
> approach may apply to the web situation.
> 
> "Capabilities" are a signficant, fairly established idea in the realm of
> distributed operating systems, but are not very familiar more generally.
> This description is by far the most approachable i've seen (and perhaps,
> the first i've understood:) - i highly recommend looking it over.  It's
> in a substantial overview of the very nifty looking scripting language, E,
> which is specifically designed to provide secure, reliable, manageable
> distributed computing scripting.  The relevant bits are at:
> 
>   http://www.skyhunter.com/marcs/ewalnut.html#SEC41


Very interesting.  Thanks for the link.  I read Marc's whole description 
of capability-based security:

http://www.skyhunter.com/marcs/capabilityIntro/

It makes a lot of sense.  In situations where it is possible, I am 
inclined to agree that capabilities are the most secure approach to 
writing software.

I don't know how to apply capability-based security to the trojan 
problem, but I'm thinking about how it could be integrated into Zope. 
Perhaps there could be objects that declare themselves to be 
"capabilities"; that is, any object that can reach them is allowed to 
call any method of them.

Shane