<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: The Armed Butler</title>
	<atom:link href="http://usablesecurity.com/2005/05/12/armed-butler/feed/" rel="self" type="application/rss+xml" />
	<link>http://usablesecurity.com/2005/05/12/armed-butler/</link>
	<description>Every system has a user.</description>
	<pubDate>Thu, 20 Nov 2008 23:12:03 +0000</pubDate>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>By: Grumm</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-274</link>
		<dc:creator>Grumm</dc:creator>
		<pubDate>Fri, 09 Dec 2005 09:41:08 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-274</guid>
		<description>&lt;strong&gt;aries music&lt;/strong&gt;

The Armed Butler</description>
		<content:encoded><![CDATA[<p><strong>aries music</strong></p>
<p>The Armed Butler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mariche Van Dyk</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-266</link>
		<dc:creator>Mariche Van Dyk</dc:creator>
		<pubDate>Thu, 08 Dec 2005 18:34:35 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-266</guid>
		<description>&lt;strong&gt;asian myspace music video code&lt;/strong&gt;

The Armed Butler</description>
		<content:encoded><![CDATA[<p><strong>asian myspace music video code</strong></p>
<p>The Armed Butler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Krittina Kiato</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-257</link>
		<dc:creator>Krittina Kiato</dc:creator>
		<pubDate>Thu, 08 Dec 2005 08:23:52 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-257</guid>
		<description>&lt;strong&gt;free goo goo dolls music videos&lt;/strong&gt;

The Armed Butler</description>
		<content:encoded><![CDATA[<p><strong>free goo goo dolls music videos</strong></p>
<p>The Armed Butler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ermini Francehca</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-254</link>
		<dc:creator>Ermini Francehca</dc:creator>
		<pubDate>Thu, 08 Dec 2005 05:08:48 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-254</guid>
		<description>&lt;strong&gt;un mundo separado por el mismo dios mp3&lt;/strong&gt;

The Armed Butler</description>
		<content:encoded><![CDATA[<p><strong>un mundo separado por el mismo dios mp3</strong></p>
<p>The Armed Butler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Anton Hindsthom</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-253</link>
		<dc:creator>Anton Hindsthom</dc:creator>
		<pubDate>Thu, 08 Dec 2005 01:29:07 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-253</guid>
		<description>&lt;strong&gt;download music sites&lt;/strong&gt;

The Armed Butler</description>
		<content:encoded><![CDATA[<p><strong>download music sites</strong></p>
<p>The Armed Butler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Gil Coutinho</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-250</link>
		<dc:creator>Gil Coutinho</dc:creator>
		<pubDate>Wed, 07 Dec 2005 21:46:27 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-250</guid>
		<description>&lt;strong&gt;mpe download&lt;/strong&gt;

The Armed Butler</description>
		<content:encoded><![CDATA[<p><strong>mpe download</strong></p>
<p>The Armed Butler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Victoria Odman</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-241</link>
		<dc:creator>Victoria Odman</dc:creator>
		<pubDate>Sun, 04 Dec 2005 05:23:24 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-241</guid>
		<description>&lt;strong&gt;LOOK AT THIS LINK&lt;/strong&gt;

The Armed Butler</description>
		<content:encoded><![CDATA[<p><strong>LOOK AT THIS LINK</strong></p>
<p>The Armed Butler</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Usable Security  &#187; Blog Archive   &#187; Zaptastic Author Misses the Point</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-74</link>
		<dc:creator>Usable Security  &#187; Blog Archive   &#187; Zaptastic Author Misses the Point</dc:creator>
		<pubDate>Sun, 19 Jun 2005 19:52:56 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-74</guid>
		<description>[...] and sinker.  This is exactly the type of mistaken comparison I was talking about in recent entries. 	Viruses are dangerous when they enter your body because they have complete physical  [...]</description>
		<content:encoded><![CDATA[<p>[...] and sinker.  This is exactly the type of mistaken comparison I was talking about in recent entries. 	Viruses are dangerous when they enter your body because they have complete physical  [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: gnfntrutyeUFJHFJHws</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-63</link>
		<dc:creator>gnfntrutyeUFJHFJHws</dc:creator>
		<pubDate>Wed, 25 May 2005 21:37:55 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-63</guid>
		<description>gnfntrutyeUFJHFJHws</description>
		<content:encoded><![CDATA[<p>gnfntrutyeUFJHFJHws</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Ping</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-58</link>
		<dc:creator>Ping</dc:creator>
		<pubDate>Thu, 19 May 2005 10:53:38 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-58</guid>
		<description>The analogy with the recipe isn't quite right, because the way that the recipe makes you ill is that you ingest the food, giving it direct physical access to your body.  That's what would happen if you gave root access to a Trojan, but you don't necessarily have to give root away freely.</description>
		<content:encoded><![CDATA[<p>The analogy with the recipe isn&#8217;t quite right, because the way that the recipe makes you ill is that you ingest the food, giving it direct physical access to your body.  That&#8217;s what would happen if you gave root access to a Trojan, but you don&#8217;t necessarily have to give root away freely.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Iang</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-50</link>
		<dc:creator>Iang</dc:creator>
		<pubDate>Sun, 15 May 2005 20:31:29 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-50</guid>
		<description>The analogies on armed butlers and comparisons with bridge building are dancing around what I'd characterise as a distinction over 'goods' to use the economics term.  In 'safety goods', we note there are models of failure that lend themselves to statistical analysis and other mathematics like statics (for bridges), as well as good testability.

In 'security goods' this modelling breaks down.  The biggest difference is the presence of an active attacker - something that no other good or science tends to worry about.  Butlers don't follow notes to kill their masters, and bridges aren't nuilt to withstand demolitions.  Statistics fails to predict, as does testability.  Notwithstanding an ability to make proofs at a low level, taking proofs to a high level is fraught and hasn't really made a mark in the real world.  How does one build under these conditions?</description>
		<content:encoded><![CDATA[<p>The analogies on armed butlers and comparisons with bridge building are dancing around what I&#8217;d characterise as a distinction over &#8216;goods&#8217; to use the economics term.  In &#8217;safety goods&#8217;, we note there are models of failure that lend themselves to statistical analysis and other mathematics like statics (for bridges), as well as good testability.</p>
<p>In &#8217;security goods&#8217; this modelling breaks down.  The biggest difference is the presence of an active attacker - something that no other good or science tends to worry about.  Butlers don&#8217;t follow notes to kill their masters, and bridges aren&#8217;t nuilt to withstand demolitions.  Statistics fails to predict, as does testability.  Notwithstanding an ability to make proofs at a low level, taking proofs to a high level is fraught and hasn&#8217;t really made a mark in the real world.  How does one build under these conditions?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David G</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-49</link>
		<dc:creator>David G</dc:creator>
		<pubDate>Sat, 14 May 2005 23:15:09 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-49</guid>
		<description>Whoops, too many Davids. Call me David G.</description>
		<content:encoded><![CDATA[<p>Whoops, too many Davids. Call me David G.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-48</link>
		<dc:creator>David</dc:creator>
		<pubDate>Sat, 14 May 2005 23:07:12 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-48</guid>
		<description>A flaw with the butler analogy, I think, is that in the case of computers, everything is done through requests made of the butler (OS). All you can do is give the butler instructions and lists of things to do.

Say you tell the butler, "Follow the instructions on this list," and hand him one of two pieces of paper. Once says "1) Buy a new TV, 2) Follow all instructions in the manual," and the other says "1) Buy an Acme Suicide Kit, Bullets Included, 2) Follow all instructions in the manual." (Assume these are both valuable products.)

This brings us to the real issues. Should you have multiple butlers, only some of which have a gun, and send a no-gun butler to buy the TV? Should all butlers be required to ask you "Are you sure?" before using a loaded firearm? How about before installing a new TV?

What if both pages of instructions will cause the butler to approach you with a big cardboard box and say, "This action requires administrator privileges. Are you sure you want me to execute all instructions in this box, signed by Acme Corp., whatever the consequences?" What if they're the same box?</description>
		<content:encoded><![CDATA[<p>A flaw with the butler analogy, I think, is that in the case of computers, everything is done through requests made of the butler (OS). All you can do is give the butler instructions and lists of things to do.</p>
<p>Say you tell the butler, &#8220;Follow the instructions on this list,&#8221; and hand him one of two pieces of paper. Once says &#8220;1) Buy a new TV, 2) Follow all instructions in the manual,&#8221; and the other says &#8220;1) Buy an Acme Suicide Kit, Bullets Included, 2) Follow all instructions in the manual.&#8221; (Assume these are both valuable products.)</p>
<p>This brings us to the real issues. Should you have multiple butlers, only some of which have a gun, and send a no-gun butler to buy the TV? Should all butlers be required to ask you &#8220;Are you sure?&#8221; before using a loaded firearm? How about before installing a new TV?</p>
<p>What if both pages of instructions will cause the butler to approach you with a big cardboard box and say, &#8220;This action requires administrator privileges. Are you sure you want me to execute all instructions in this box, signed by Acme Corp., whatever the consequences?&#8221; What if they&#8217;re the same box?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Hopwood</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-43</link>
		<dc:creator>David Hopwood</dc:creator>
		<pubDate>Sat, 14 May 2005 20:46:12 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-43</guid>
		<description>"(This is related to the point Jed was making recently on cap-talk and in ... about interfaces.)"

The URL  intended to include here (that got eaten by WordPress) is http://www.computer-history.info/Page4.dir/pages/cap-livermore.html</description>
		<content:encoded><![CDATA[<p>&#8220;(This is related to the point Jed was making recently on cap-talk and in &#8230; about interfaces.)&#8221;</p>
<p>The URL  intended to include here (that got eaten by WordPress) is <a href="http://www.computer-history.info/Page4.dir/pages/cap-livermore.html" rel="nofollow">http://www.computer-history.info/Page4.dir/pages/cap-livermore.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: David Hopwood</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-42</link>
		<dc:creator>David Hopwood</dc:creator>
		<pubDate>Sat, 14 May 2005 20:42:26 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-42</guid>
		<description>"I’ve come to the conclusion that distinct domains of authentication (user/process/system authentication) is best supported by providing hypervisor/VM environments for these distinct domains to execute in."

I don't think there's much doubt that the security model used by Unix-like operating systems (including WinNT) has failed. But it hasn't failed because it is being enforced by an operating system rather than a hypervisor or VM. Any of those -- or a language -- are technically capable of enforcing security. Rather, it has failed for the reason Jed Donnelley says: that applications run with all the authority of their users, and depend on APIs that make it easy to confuse an app into misusing that authority.

A hypervisor/VM is in a somewhat worse position to enforce security models that fix this problem (such as capability models) than an OS or language, because it is separated from applications by another layer -- the guest OS -- which is not under the control of the hypervisor designer. (This is related to the point Jed was making recently on cap-talk and in  about interfaces.) In addition there is a severe complexity penalty for hypervisors to work on an architecture that is not naturally virtualizable like x86.

The main reason why hypervisors/VMs seem attractive is that they allow running existing operating systems. As long as the problems in those operating systems are not fixed -- and there is no reason to think that they can be -- this is at best a stopgap. Even if each app runs in its own OS instance (which is likely to be too inefficient and involve licensing problems for closed-source OSes), it assumes that you can statically assign trust levels to applications that will stop "untrusted" applications from doing "bad" things. What is really needed is to replace the interface between apps and the layer immediately below them (whatever that layer is called) with something that allows components (at a finer grain than current apps) to be given only the authority that they need, and that makes the path of least resistance in using this interface as secure as possible.

Having said all that, a stopgap may be useful, if it is clearly labelled as such, and provided as a compatibility layer to encourage migration to systems that also provide pure capability-based APIs. What I would be worried about is, first, the potential for this to provide only a false sense of security, and second, the developer time and effort that it would take away from working on longer-term solutions.
</description>
		<content:encoded><![CDATA[<p>&#8220;I’ve come to the conclusion that distinct domains of authentication (user/process/system authentication) is best supported by providing hypervisor/VM environments for these distinct domains to execute in.&#8221;</p>
<p>I don&#8217;t think there&#8217;s much doubt that the security model used by Unix-like operating systems (including WinNT) has failed. But it hasn&#8217;t failed because it is being enforced by an operating system rather than a hypervisor or VM. Any of those &#8212; or a language &#8212; are technically capable of enforcing security. Rather, it has failed for the reason Jed Donnelley says: that applications run with all the authority of their users, and depend on APIs that make it easy to confuse an app into misusing that authority.</p>
<p>A hypervisor/VM is in a somewhat worse position to enforce security models that fix this problem (such as capability models) than an OS or language, because it is separated from applications by another layer &#8212; the guest OS &#8212; which is not under the control of the hypervisor designer. (This is related to the point Jed was making recently on cap-talk and in  about interfaces.) In addition there is a severe complexity penalty for hypervisors to work on an architecture that is not naturally virtualizable like x86.</p>
<p>The main reason why hypervisors/VMs seem attractive is that they allow running existing operating systems. As long as the problems in those operating systems are not fixed &#8212; and there is no reason to think that they can be &#8212; this is at best a stopgap. Even if each app runs in its own OS instance (which is likely to be too inefficient and involve licensing problems for closed-source OSes), it assumes that you can statically assign trust levels to applications that will stop &#8220;untrusted&#8221; applications from doing &#8220;bad&#8221; things. What is really needed is to replace the interface between apps and the layer immediately below them (whatever that layer is called) with something that allows components (at a finer grain than current apps) to be given only the authority that they need, and that makes the path of least resistance in using this interface as secure as possible.</p>
<p>Having said all that, a stopgap may be useful, if it is clearly labelled as such, and provided as a compatibility layer to encourage migration to systems that also provide pure capability-based APIs. What I would be worried about is, first, the potential for this to provide only a false sense of security, and second, the developer time and effort that it would take away from working on longer-term solutions.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: coderman</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-38</link>
		<dc:creator>coderman</dc:creator>
		<pubDate>Sat, 14 May 2005 07:55:30 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-38</guid>
		<description>i'm enjoying these discussions.  i've come to the conslusion that distinct domains of authentication (user/process/system authentication) is best supported by providing hypervisor/VM environments for these distinct domains to execute in.

since end user compliance is such a critical aspect of security, the act of ensuring proper dilineation between security domains must be intuitive and prefereably implicit.

i'm using live CD based distribution for this software/security model.  promiscuous copy and share of ISO media is a handy mechanism for out of band key [pre]distribution.  the constraints inherent in manual distribution of ISO images places effective limits on gaming within this ad-hoc network.

real security is hard; i'm confident that only open and cooperative endeavors will be able to address this issue acceptably.  keep up the excellent work.</description>
		<content:encoded><![CDATA[<p>i&#8217;m enjoying these discussions.  i&#8217;ve come to the conslusion that distinct domains of authentication (user/process/system authentication) is best supported by providing hypervisor/VM environments for these distinct domains to execute in.</p>
<p>since end user compliance is such a critical aspect of security, the act of ensuring proper dilineation between security domains must be intuitive and prefereably implicit.</p>
<p>i&#8217;m using live CD based distribution for this software/security model.  promiscuous copy and share of ISO media is a handy mechanism for out of band key [pre]distribution.  the constraints inherent in manual distribution of ISO images places effective limits on gaming within this ad-hoc network.</p>
<p>real security is hard; i&#8217;m confident that only open and cooperative endeavors will be able to address this issue acceptably.  keep up the excellent work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jed Donnelley</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-37</link>
		<dc:creator>Jed Donnelley</dc:creator>
		<pubDate>Fri, 13 May 2005 23:00:01 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-37</guid>
		<description>In regard to your "Armed Butler" analogy I submit an alternative analogy which I believe to be closer both to day to day experience and to the situation we face with running software on today's operating systems:

You decide to hire somebody to - let's say - landscape your garden (service your vehicle, whatever).  You meet them and give them a key to the gate to your yard (key to your vehicle, whatever) in your key chain along with the keys to your house, vehicles, safe deposit boxes, luggage, office, mail box, neighbors house, etc. and then you tell them where your house is and what you want done.

Huh?  Better, I believe (more Principle Of Least Authority, POLA), if you meet them and give them just the key to the gate (vehicle, whatever) and then tell them where your house is and what you want done.  You keep the rest of your keys in your key chain with you.  You may pay them something up front and something upon completion and ask them to leave the key to the gate under the door mat.

The former situation (give them all keys/authorities) is how we are forced to operate in today's operating systems - e.g. Windows and Unix.  This is the "ambient authority" model.  It is the model under which running software acts as a surrogate for the human user that loaded and started it and enjoys all the authorities of that human user.

A better model, I believe, is the classical capability model.  Capabilities are analogous to and the computer embodiment of physical keys.  They are the computer representations of authority.  Under the capability model whenever you run software you explicitly give it just the authorities (as "capabilities") that it needs to do its work (POLA).  For example, a text or graphics editor you give access to the file(s) to edit and any needed multiplexed input/output (e.g. display, keyboard) devices.  Multimedia software packages you give access to their input (perhaps some audio/video files) and output (e.g. a rendered file or perhaps a multiplexed display window).  A Web browser you give access to the Internet.  Any such software can ask you for additional authorities that it may need that arise dynamically such as a needed authority to write a downloaded file.  It can do so via a pop-up window that is actually asking for an authority to write and not just asking for a location where it assumes it already has the authority to write.  You may choose to grant or deny or ignore any such requests just as if a service person asked for a key to your house or office.

With the capability/POLA model software is constrained by being given only the minimum set of authorities (access rights) that it needs to do its requested work.  With this model the damage that software can do (e.g. as a "Trojan Horse") is limited to what it can do with the authorities it needs to do its minimally requested work.  Certainly if you had a choice with your computer authorities as you do with your physical key authorities you would not consider it reasonable or wise to give all your authorities as a system user to software that you request a limited service from.

With today's "ambient authority" model (Windows, Unix, nearly all commercially significant systems) all software is given all the authorities of the user that runs it.  With this ambient authority model any software you run is a potential "Trojan Horse" that can damage your system or give away your resources, etc. as much as you yourself can.  Today's ambient authority model is broken and is the source of most of the security malaise in today's IT infrastructure.  This model simply needs to be replaced with a model that grants only needed authorities (POLA) to the software that we run on our computer systems.

A change from ambient authority to POLA is a significant undertaking.  Fortunately it's an undertaking that can be accomplished with very few changes to the "user" interfaces that people must deal with.  This change requires substantial modifications to the application programming interface to allow programs to designate which authorities should be given to other programs that they run - e.g. a shell or window manager would limit the authorities given to a text/graphics editor or a Web browser or any other program that's executed on behalf of a user.  Such a change would be expensive (not only in terms of design/programming, but also in terms of education for programmers, etc.) and so will of course only be undertaken if some way can be found of generating return from the required investment.  I believe a change from ambient authority to POLA is the only opportunity that we have for a real solution to the computer security problems that have been plaguing us evermore in recent years.</description>
		<content:encoded><![CDATA[<p>In regard to your &#8220;Armed Butler&#8221; analogy I submit an alternative analogy which I believe to be closer both to day to day experience and to the situation we face with running software on today&#8217;s operating systems:</p>
<p>You decide to hire somebody to - let&#8217;s say - landscape your garden (service your vehicle, whatever).  You meet them and give them a key to the gate to your yard (key to your vehicle, whatever) in your key chain along with the keys to your house, vehicles, safe deposit boxes, luggage, office, mail box, neighbors house, etc. and then you tell them where your house is and what you want done.</p>
<p>Huh?  Better, I believe (more Principle Of Least Authority, POLA), if you meet them and give them just the key to the gate (vehicle, whatever) and then tell them where your house is and what you want done.  You keep the rest of your keys in your key chain with you.  You may pay them something up front and something upon completion and ask them to leave the key to the gate under the door mat.</p>
<p>The former situation (give them all keys/authorities) is how we are forced to operate in today&#8217;s operating systems - e.g. Windows and Unix.  This is the &#8220;ambient authority&#8221; model.  It is the model under which running software acts as a surrogate for the human user that loaded and started it and enjoys all the authorities of that human user.</p>
<p>A better model, I believe, is the classical capability model.  Capabilities are analogous to and the computer embodiment of physical keys.  They are the computer representations of authority.  Under the capability model whenever you run software you explicitly give it just the authorities (as &#8220;capabilities&#8221;) that it needs to do its work (POLA).  For example, a text or graphics editor you give access to the file(s) to edit and any needed multiplexed input/output (e.g. display, keyboard) devices.  Multimedia software packages you give access to their input (perhaps some audio/video files) and output (e.g. a rendered file or perhaps a multiplexed display window).  A Web browser you give access to the Internet.  Any such software can ask you for additional authorities that it may need that arise dynamically such as a needed authority to write a downloaded file.  It can do so via a pop-up window that is actually asking for an authority to write and not just asking for a location where it assumes it already has the authority to write.  You may choose to grant or deny or ignore any such requests just as if a service person asked for a key to your house or office.</p>
<p>With the capability/POLA model software is constrained by being given only the minimum set of authorities (access rights) that it needs to do its requested work.  With this model the damage that software can do (e.g. as a &#8220;Trojan Horse&#8221;) is limited to what it can do with the authorities it needs to do its minimally requested work.  Certainly if you had a choice with your computer authorities as you do with your physical key authorities you would not consider it reasonable or wise to give all your authorities as a system user to software that you request a limited service from.</p>
<p>With today&#8217;s &#8220;ambient authority&#8221; model (Windows, Unix, nearly all commercially significant systems) all software is given all the authorities of the user that runs it.  With this ambient authority model any software you run is a potential &#8220;Trojan Horse&#8221; that can damage your system or give away your resources, etc. as much as you yourself can.  Today&#8217;s ambient authority model is broken and is the source of most of the security malaise in today&#8217;s IT infrastructure.  This model simply needs to be replaced with a model that grants only needed authorities (POLA) to the software that we run on our computer systems.</p>
<p>A change from ambient authority to POLA is a significant undertaking.  Fortunately it&#8217;s an undertaking that can be accomplished with very few changes to the &#8220;user&#8221; interfaces that people must deal with.  This change requires substantial modifications to the application programming interface to allow programs to designate which authorities should be given to other programs that they run - e.g. a shell or window manager would limit the authorities given to a text/graphics editor or a Web browser or any other program that&#8217;s executed on behalf of a user.  Such a change would be expensive (not only in terms of design/programming, but also in terms of education for programmers, etc.) and so will of course only be undertaken if some way can be found of generating return from the required investment.  I believe a change from ambient authority to POLA is the only opportunity that we have for a real solution to the computer security problems that have been plaguing us evermore in recent years.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-34</link>
		<dc:creator>Michael</dc:creator>
		<pubDate>Fri, 13 May 2005 16:11:37 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-34</guid>
		<description>Richard:
I would  be really interested in Pings opinion about your objections. As far as I can tell that are the kind of arguments one is always able to destroy a certain security model and I'm not sure your examples are less constructed (The butler has access to the weapon room and this kind of thing.) 
I guess the problem is here that Ping used the example to show that the butler in order to do this particular job shouldn't have too much rights (access to the gun cabinet in this case). In the real world the butler is really one person and he might have these rights, but in software I guess there doesn't have to be a piece of software which is able to control everything in behalf of a too dumb user. If there would be a piece of software cleaning the guns and keeping them in shape, but this piece can't leave the gun room (in order to use it) and the tv-install software isn't able to access the gun room, but can check the box, then the problems aren't necessarily there.
So if used right with software less could be more and software is anyway not the same as the real world.

Besides that, interesting Blog. :-)</description>
		<content:encoded><![CDATA[<p>Richard:<br />
I would  be really interested in Pings opinion about your objections. As far as I can tell that are the kind of arguments one is always able to destroy a certain security model and I&#8217;m not sure your examples are less constructed (The butler has access to the weapon room and this kind of thing.)<br />
I guess the problem is here that Ping used the example to show that the butler in order to do this particular job shouldn&#8217;t have too much rights (access to the gun cabinet in this case). In the real world the butler is really one person and he might have these rights, but in software I guess there doesn&#8217;t have to be a piece of software which is able to control everything in behalf of a too dumb user. If there would be a piece of software cleaning the guns and keeping them in shape, but this piece can&#8217;t leave the gun room (in order to use it) and the tv-install software isn&#8217;t able to access the gun room, but can check the box, then the problems aren&#8217;t necessarily there.<br />
So if used right with software less could be more and software is anyway not the same as the real world.</p>
<p>Besides that, interesting Blog. :-)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Nikita</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-32</link>
		<dc:creator>Nikita</dc:creator>
		<pubDate>Fri, 13 May 2005 05:01:03 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-32</guid>
		<description>Talk about dangerous analogies!  What about the following: you go to the store and buy a recipe that you then give to your butler to prepare.  You're hoping for a delicious meal, but the "trojan" recipe, rigorously followed by your butler, makes you very ill.</description>
		<content:encoded><![CDATA[<p>Talk about dangerous analogies!  What about the following: you go to the store and buy a recipe that you then give to your butler to prepare.  You&#8217;re hoping for a delicious meal, but the &#8220;trojan&#8221; recipe, rigorously followed by your butler, makes you very ill.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard M. Conlan</title>
		<link>http://usablesecurity.com/2005/05/12/armed-butler/#comment-29</link>
		<dc:creator>Richard M. Conlan</dc:creator>
		<pubDate>Fri, 13 May 2005 02:24:00 +0000</pubDate>
		<guid isPermaLink="false">http://usablesecurity.com/2005/05/12/armed-butler/#comment-29</guid>
		<description>Now, the problem with these examples is that they are all rather extreme. I wouldn't really consider a bomb in a box a Trojan...I think that is closer to a malicious virus. My example would be something more like:

# You go to the store and buy a television.
# The store gives you a box.
# You come home and bring the box into your living room, intending to set up your television.
# The box does indeed contain a television, which you set up.
# What you do not necessarily realize (unless you thouroughly examine and possibly dismantle the television) is that the television is not only keeping track of what you watch, but contains small cameras used to survey your reactions to what you are watching.

Now, the television appears to be serving its intended purpose (i.e. delivering pre-recorded crap directly to your home in all its digitized glory), but at the same time is serving a bunch of other purposes that you didn't ask for and aren't aware of.

You could always try and build your own television to get around this problem...but that quickly becomes a pain as you have the same sorts of threats from all the electronics you purchase. You could trust some underwriting lab to survey the products, but it could have been modified after they examined it.

No, what is needed is a tech-savey butler who can examine all of your components for you. Except...you have to hire this guy somewhere...and somehow you have to evaluate HIS credentials and make sure your butler there isn't 1) purposely letting trojaned electronics into your home and 2) isn't ADDING trojan capabilities to electronics that were benigned before he got his hands on them. For him to do this he needs a lot of leeway, and since the whole point for most users is that they need this butler precisely because they do not know enough about their devices to examine them on their own, they pretty much have to trust the butler.

It's a real shame when the butler is paid more by the companies producing the trojans (somewhere in there it becomes nice and commercial enough that it is no longer called a trojan, but the same idea applies) than he is by you.

Anyhoo...all that aside...back to the butler with the gun. That analogy is also rather extreme. The problem isn't that the butler has a gun so much as the fact that the butler probably has keys to your gun cabinet (which he might so that he can clean them and otherwise inspect them to assure they haven't been tampered with in your absence) and can go and GET the gun at whim. And, it is really had to NOT give the butler that key without taking a lot of responsibility on yourself. So there is a trade-off.

That said...I agree with the gist of your point...that the way the whole system is currently arranged is a bit daft. The trade-off point can be pushed to a much safer place than it currently is. There could always be cameras on the gun cabinet so that you be able to catch the butler in time to do something about his misbehaving. Things *could* be made transparent enough that even a naive user could keep basic tabs on the butler, and since the butler would likely behave most of the time things would likely work out a lot better overall.

All we have to do is figure out how to do all that. Let's get to work. ^_^</description>
		<content:encoded><![CDATA[<p>Now, the problem with these examples is that they are all rather extreme. I wouldn&#8217;t really consider a bomb in a box a Trojan&#8230;I think that is closer to a malicious virus. My example would be something more like:</p>
<p># You go to the store and buy a television.<br />
# The store gives you a box.<br />
# You come home and bring the box into your living room, intending to set up your television.<br />
# The box does indeed contain a television, which you set up.<br />
# What you do not necessarily realize (unless you thouroughly examine and possibly dismantle the television) is that the television is not only keeping track of what you watch, but contains small cameras used to survey your reactions to what you are watching.</p>
<p>Now, the television appears to be serving its intended purpose (i.e. delivering pre-recorded crap directly to your home in all its digitized glory), but at the same time is serving a bunch of other purposes that you didn&#8217;t ask for and aren&#8217;t aware of.</p>
<p>You could always try and build your own television to get around this problem&#8230;but that quickly becomes a pain as you have the same sorts of threats from all the electronics you purchase. You could trust some underwriting lab to survey the products, but it could have been modified after they examined it.</p>
<p>No, what is needed is a tech-savey butler who can examine all of your components for you. Except&#8230;you have to hire this guy somewhere&#8230;and somehow you have to evaluate HIS credentials and make sure your butler there isn&#8217;t 1) purposely letting trojaned electronics into your home and 2) isn&#8217;t ADDING trojan capabilities to electronics that were benigned before he got his hands on them. For him to do this he needs a lot of leeway, and since the whole point for most users is that they need this butler precisely because they do not know enough about their devices to examine them on their own, they pretty much have to trust the butler.</p>
<p>It&#8217;s a real shame when the butler is paid more by the companies producing the trojans (somewhere in there it becomes nice and commercial enough that it is no longer called a trojan, but the same idea applies) than he is by you.</p>
<p>Anyhoo&#8230;all that aside&#8230;back to the butler with the gun. That analogy is also rather extreme. The problem isn&#8217;t that the butler has a gun so much as the fact that the butler probably has keys to your gun cabinet (which he might so that he can clean them and otherwise inspect them to assure they haven&#8217;t been tampered with in your absence) and can go and GET the gun at whim. And, it is really had to NOT give the butler that key without taking a lot of responsibility on yourself. So there is a trade-off.</p>
<p>That said&#8230;I agree with the gist of your point&#8230;that the way the whole system is currently arranged is a bit daft. The trade-off point can be pushed to a much safer place than it currently is. There could always be cameras on the gun cabinet so that you be able to catch the butler in time to do something about his misbehaving. Things *could* be made transparent enough that even a naive user could keep basic tabs on the butler, and since the butler would likely behave most of the time things would likely work out a lot better overall.</p>
<p>All we have to do is figure out how to do all that. Let&#8217;s get to work. ^_^</p>
]]></content:encoded>
	</item>
</channel>
</rss>
