<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://50.77.162.165/mediawiki/skins/common/feed.css?207"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Erights - User contributions [en]</title>
		<link>http://50.77.162.165/wiki/Special:Contributions/67.124.149.116</link>
		<description>From Erights</description>
		<language>en</language>
		<generator>MediaWiki 1.15.5-7</generator>
		<lastBuildDate>Mon, 20 Apr 2026 14:11:20 GMT</lastBuildDate>
		<item>
			<title>Ambient authority</title>
			<link>http://50.77.162.165/wiki/Ambient_authority</link>
			<guid>http://50.77.162.165/wiki/Ambient_authority</guid>
			<description>&lt;p&gt;67.124.149.116:&amp;#32;/* Draft Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Draft Definition =&lt;br /&gt;
&lt;br /&gt;
If a [[subject]] can [[operation on object|operate]] on all [[object]]s of a given type, we say that it has '''ambient authority'''.&lt;br /&gt;
&lt;br /&gt;
(Note: Dean Tribble and I (Mark S. Miller) are the coiners of the term &amp;quot;ambient authority&amp;quot;. I have no idea what the above definition has to do with ambient authority. I am leaving it in place for now, with this note, in case it was a start on something that can be edited into something sensible. I have also changed the heading from &amp;quot;Definition&amp;quot; to &amp;quot;Draft Definition&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
= Comment =&lt;br /&gt;
&lt;br /&gt;
Several access control models were invented and implemented to enable restriction of ambient authority of subjects. Many of them are:&lt;br /&gt;
* either weak (we cannot follow the [[POLA|principle of least authority]])&lt;br /&gt;
* or convoluted (it is hard to learn how to work with this model and be sure about [[authority]] of subjects).&lt;br /&gt;
Things become more &amp;quot;interesting&amp;quot; if we have to consider different security policies enforced via different alternative security mechanisms for the same type of objects and for different type of objects and the relevant transitivity relationship.&lt;br /&gt;
&lt;br /&gt;
= Examples of ambient authority =&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes run by some user as [[subject]]s and files owned by that user as [[object]]s then all processes have ''ambient authority'' to manipulate all those files.&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes as [[subject]]s and TCP ports 1024--65535 as [[object]]s then all processes have ''ambient authority'' to listen to any TCP ports.&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes as [[subject]]s and UDP ports 1024--65535 as [[object]]s then all processes have ''ambient authority'' to listen to any UDP ports.&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes run by some user as [[subject]]s and all executable programs owned by that user as [[object]]s then all these processes have ''ambient authority'' to run any of those programs.&lt;br /&gt;
&lt;br /&gt;
If we consider all functions defined in some C program as [[subject]]s and all functions in the same C program as [[object]]s then any function has ''ambient authority'' to call any other function (in C we can cast any integer to a function pointer and perform the call operation with this forged reference to a function).&lt;br /&gt;
&lt;br /&gt;
If we consider all functions defined in some C program as [[subject]]s and all regions of the address space of the relevant process as [[object]]s then all these functions have ''ambient authority'' to read from or write to any such memory region.&lt;br /&gt;
&lt;br /&gt;
If we consider all processes in UNIX as [[subject]]s and also as [[object]]s then all UNIX processes have ''ambient authority'' to send any signal to any other process.&lt;/div&gt;</description>
			<pubDate>Thu, 11 Jun 2009 18:23:51 GMT</pubDate>			<dc:creator>67.124.149.116</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Ambient_authority</comments>		</item>
		<item>
			<title>Ambient authority</title>
			<link>http://50.77.162.165/wiki/Ambient_authority</link>
			<guid>http://50.77.162.165/wiki/Ambient_authority</guid>
			<description>&lt;p&gt;67.124.149.116:&amp;#32;/* Definition */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Draft Definition =&lt;br /&gt;
&lt;br /&gt;
If a [[subject]] can [[operation on object|operate]] on all [[object]]s of a given type, we say that it has '''ambient authority'''.&lt;br /&gt;
&lt;br /&gt;
(Note: Dean Tribble and I (Mark S. Miller) are the coiners of the term &amp;quot;ambient authority&amp;quot;. I have no idea what the above definition has to do with ambient authority. I am leaving it in place for now, with this note, in case it was a start on something that can be edited into something sensible. I have also changes the heading from &amp;quot;Definition&amp;quot; to &amp;quot;Draft Definition&amp;quot;.)&lt;br /&gt;
&lt;br /&gt;
= Comment =&lt;br /&gt;
&lt;br /&gt;
Several access control models were invented and implemented to enable restriction of ambient authority of subjects. Many of them are:&lt;br /&gt;
* either weak (we cannot follow the [[POLA|principle of least authority]])&lt;br /&gt;
* or convoluted (it is hard to learn how to work with this model and be sure about [[authority]] of subjects).&lt;br /&gt;
Things become more &amp;quot;interesting&amp;quot; if we have to consider different security policies enforced via different alternative security mechanisms for the same type of objects and for different type of objects and the relevant transitivity relationship.&lt;br /&gt;
&lt;br /&gt;
= Examples of ambient authority =&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes run by some user as [[subject]]s and files owned by that user as [[object]]s then all processes have ''ambient authority'' to manipulate all those files.&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes as [[subject]]s and TCP ports 1024--65535 as [[object]]s then all processes have ''ambient authority'' to listen to any TCP ports.&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes as [[subject]]s and UDP ports 1024--65535 as [[object]]s then all processes have ''ambient authority'' to listen to any UDP ports.&lt;br /&gt;
&lt;br /&gt;
If we consider UNIX processes run by some user as [[subject]]s and all executable programs owned by that user as [[object]]s then all these processes have ''ambient authority'' to run any of those programs.&lt;br /&gt;
&lt;br /&gt;
If we consider all functions defined in some C program as [[subject]]s and all functions in the same C program as [[object]]s then any function has ''ambient authority'' to call any other function (in C we can cast any integer to a function pointer and perform the call operation with this forged reference to a function).&lt;br /&gt;
&lt;br /&gt;
If we consider all functions defined in some C program as [[subject]]s and all regions of the address space of the relevant process as [[object]]s then all these functions have ''ambient authority'' to read from or write to any such memory region.&lt;br /&gt;
&lt;br /&gt;
If we consider all processes in UNIX as [[subject]]s and also as [[object]]s then all UNIX processes have ''ambient authority'' to send any signal to any other process.&lt;/div&gt;</description>
			<pubDate>Thu, 11 Jun 2009 18:23:09 GMT</pubDate>			<dc:creator>67.124.149.116</dc:creator>			<comments>http://50.77.162.165/wiki/Talk:Ambient_authority</comments>		</item>
	</channel>
</rss>