<?xml version="1.0" encoding="iso-8859-1"?><!-- generator="b2evolution/3.3.3" -->
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Andrey's Web Log</title>
		<link>http://www.gentlesecurity.com/blog/blog5.php</link>
		<atom:link rel="self" type="application/rss+xml" href="http://www.gentlesecurity.com/blog/blog5.php?tempskin=_rss2" />
		<description></description>
		<language>en-US</language>
		<docs>http://blogs.law.harvard.edu/tech/rss</docs>
		<admin:generatorAgent rdf:resource="http://b2evolution.net/?v=3.3.3"/>
		<ttl>60</ttl>
				<item>
			<title>New attack bypasses virtually all AV protection</title>
			<link>http://www.gentlesecurity.com/blog/blog5.php/2010/05/13/new-attack-bypasses-virtually-all-av-pro</link>
			<pubDate>Thu, 13 May 2010 20:37:02 +0000</pubDate>			<dc:creator>Andrey</dc:creator>
			<category domain="main">Uncategorized</category>			<guid isPermaLink="false">57@http://www.gentlesecurity.com/blog/</guid>
						<description>&lt;p&gt;I have been receiving many questions due to &lt;a href=&quot;http://www.theregister.co.uk/2010/05/07/argument_switch_av_bypass/&quot;&gt;recently published vulnerabilities&lt;/a&gt; described in &lt;a href=&quot;http://seclists.org/bugtraq/2003/Dec/351&quot;&gt;my earlier research on &quot;TOCTOU with NT System Service Hooking&quot;&lt;/a&gt;.  So I decided to clarify the matter.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://securesize.com/Resources/index.shtml&quot;&gt;The research&lt;/a&gt; describes TOCTOU (Time-Of-Check-to-Time-Of-Use) issues applicable to hooking of Windows system services. The hooking is typical approach used by various security products around. With the research I have published a sample exploit which does not target any particular product.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;What is severity?&lt;/b&gt;&lt;br /&gt;
The vulnerability allows bypassing certain security restrictions enforced by 3d security software, such as anti-viruses, host  intrusion preventions, firewalls and etc. The issue renders the products ineffective. However, it doesn't introduce additional threats, such as privilege escalation and so on. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;Who is affected?&lt;/b&gt;&lt;br /&gt;
Many 3d party security products running 32-bit Windows platforms use hooking of Windows Services. To a certain extent  all such products are vulnerable.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;How easy it to exploit?&lt;/b&gt;&lt;br /&gt;
As was demonstrated in my research the exploit could be simple and stable particularly on multi-CPU/Core machines. &lt;/p&gt;

&lt;p&gt;&lt;b&gt;How to fix it?&lt;/b&gt;&lt;br /&gt;
In most of cases the issue cannot be properly fixed without removing system service hooking. The hooking should be replaced by device filtering, object and registry callbacks, various filter APIs and other means provided by Windows core. Virtually it means the affected security products should be partially re-designed. It takes quite a bit of time and cannot be done over night. So we may oversee vendors quickly claiming a fix but it likely would be just a workaround for particular attack vector, not a proper fix.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.gentlesecurity.com/blog/blog5.php/2010/05/13/new-attack-bypasses-virtually-all-av-pro&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>I have been receiving many questions due to <a href="http://www.theregister.co.uk/2010/05/07/argument_switch_av_bypass/">recently published vulnerabilities</a> described in <a href="http://seclists.org/bugtraq/2003/Dec/351">my earlier research on "TOCTOU with NT System Service Hooking"</a>.  So I decided to clarify the matter.</p>

<p><a href="http://securesize.com/Resources/index.shtml">The research</a> describes TOCTOU (Time-Of-Check-to-Time-Of-Use) issues applicable to hooking of Windows system services. The hooking is typical approach used by various security products around. With the research I have published a sample exploit which does not target any particular product.</p>

<p><b>What is severity?</b><br />
The vulnerability allows bypassing certain security restrictions enforced by 3d security software, such as anti-viruses, host  intrusion preventions, firewalls and etc. The issue renders the products ineffective. However, it doesn't introduce additional threats, such as privilege escalation and so on. </p>

<p><b>Who is affected?</b><br />
Many 3d party security products running 32-bit Windows platforms use hooking of Windows Services. To a certain extent  all such products are vulnerable.</p>

<p><b>How easy it to exploit?</b><br />
As was demonstrated in my research the exploit could be simple and stable particularly on multi-CPU/Core machines. </p>

<p><b>How to fix it?</b><br />
In most of cases the issue cannot be properly fixed without removing system service hooking. The hooking should be replaced by device filtering, object and registry callbacks, various filter APIs and other means provided by Windows core. Virtually it means the affected security products should be partially re-designed. It takes quite a bit of time and cannot be done over night. So we may oversee vendors quickly claiming a fix but it likely would be just a workaround for particular attack vector, not a proper fix.</p><div class="item_footer"><p><small><a href="http://www.gentlesecurity.com/blog/blog5.php/2010/05/13/new-attack-bypasses-virtually-all-av-pro">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.gentlesecurity.com/blog/blog5.php/2010/05/13/new-attack-bypasses-virtually-all-av-pro#comments</comments>
			<wfw:commentRss>http://www.gentlesecurity.com/blog/blog5.php?tempskin=_rss2&#38;disp=comments&#38;p=57</wfw:commentRss>
		</item>
				<item>
			<title>Protected Processes</title>
			<link>http://www.gentlesecurity.com/blog/blog5.php/2008/03/04/protected-processes</link>
			<pubDate>Tue, 04 Mar 2008 20:02:24 +0000</pubDate>			<dc:creator>Andrey</dc:creator>
			<category domain="main">Access Control</category>			<guid isPermaLink="false">54@http://www.gentlesecurity.com/blog/</guid>
						<description>&lt;p&gt;Windows Vista introduces new type of processes, so called &quot;protected processes&quot;. The access to the processes is restricted regardless of actual access control lists and assigned integrity levels. Only limited subset of operations is allowed, such as termination, suspending, resuming, retrieving process image name and synchronization. Whenever a process is opened system performs following access checks:&lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Access control checks according to integrity levels;&lt;/li&gt;
  &lt;li&gt;Standard access control for DACL;&lt;/li&gt;
  &lt;li&gt;Protected process checks.&lt;/li&gt;
&lt;/ol&gt;

&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://www.gentlesecurity.com/blog/andr/pix/0003.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Process/Thread specific checks are based on examining protection attribute for both acting and target processes.&lt;/p&gt;

&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://www.gentlesecurity.com/blog/andr/pix/0004.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://www.gentlesecurity.com/blog/andr/pix/0005.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;The same access checks are applied for threads that belong to protected processes.&lt;/p&gt;

&lt;p&gt;By default following processes are started as protected:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;System&lt;/li&gt;
&lt;li&gt;audiodg.exe&lt;/li&gt;
&lt;li&gt;mfpmp.exe&lt;/li&gt;
&lt;li&gt;WerFault.exe&lt;/li&gt;
&lt;li&gt;WerFaultSecure.exe&lt;/li&gt;
&lt;li&gt;wermgr.exe&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Protected processes are started via CreateProcess, CreateProcessAsUser, CreateProcessWithToken, etc. APIs by supplying &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/ms684863(VS.85).aspx&quot;&gt;CREATE_PROTECTED_PROCESS flag&lt;/a&gt; in CreationFlags parameter.&lt;/p&gt;

&lt;p&gt;When the flag is specified system creates an executable section (ZwCreateSection) with SEC_PROTECTED_IMAGE flag which forces signature checking. If an executable has no specific signature CreateProcess returns ERROR_INVALID_IMAGE_HASH. The signature could be embedded or provided in installed catalog file. Additionally signature checking is performed for all DLLs loaded into protected process. It means Microsoft limits usage of protected processes by third parties. &lt;a href=&quot;http://msdn2.microsoft.com/en-us/library/aa376846.aspx&quot;&gt;Protected Media Path&lt;/a&gt; program provides a way to supply signed modules for audiodg.exe and mfpmp.exe processes.&lt;/p&gt;

&lt;p&gt;The control over protected processes code is justified as a protected process may receive unrestricted access to other protected processes. Hence a custom protected processes with random code breaks the whole concept.&lt;/p&gt;

&lt;p&gt;The purpose of protected processes is not only providing environment for DRM solutions but also protecting kernel integrity. System process contains kernel mode threads and handles for many critical objects. For example, an unrestricted access to System process would effectively diminish kernel protection (aka Driver Signing) in Windows Vista x64.&lt;/p&gt;

&lt;p&gt;Apparently there are other applications which could be started protected beside the listed above. For example, &lt;a href=&quot;http://www.microsoft.com/whdc/devtools/debugging/default.mspx&quot;&gt;Microsoft Debugging Tools&lt;/a&gt; contain few utilities which may start as protected. You may find such applications by &lt;a href=&quot;http://www.gentlesecurity.com/blog/andr/pplauncher.zip&quot;&gt;pplauncher.exe tool&lt;/a&gt;. &lt;u&gt;The tool just probes for protected process launching by legitimate means, it does not use drivers and might run without administrative privileges.  Do not mix it up with &lt;a href=&quot;http://www.alex-ionescu.com/?p=35&quot;&gt;Alex Ionescu's tool&lt;/a&gt; that based on modification of kernel structures&lt;/u&gt;. &lt;/p&gt;

&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://www.gentlesecurity.com/blog/andr/pix/0006.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Note protection attribute is a part of EPROCESS structure and could be adjusted by kernel mode driver or debugger, which is illustrated by following experiment with Windows Task Manager.&lt;/p&gt;

&lt;p&gt; Initially TaskManager is not protected and as result cannot create memory dump of protected processes.&lt;/p&gt;

&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://www.gentlesecurity.com/blog/andr/pix/0007.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://www.gentlesecurity.com/blog/andr/pix/0008.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;Dumping EPROCESS structure in debugger reveals ProtectedProcess bit flag:&lt;/p&gt;

&lt;p&gt;kd&gt; dt _EPROCESS 8bb8a020&lt;br /&gt;
   ...&lt;br /&gt;
   +0x14c ImageFileName    : [16]  &quot;taskmgr.exe&quot;&lt;br /&gt;
   ...&lt;br /&gt;
   +0x224 Flags2           : 0xd000&lt;br /&gt;
   +0x224 JobNotReallyActive : 0y0&lt;br /&gt;
   +0x224 AccountingFolded : 0y0&lt;br /&gt;
   +0x224 NewProcessReported : 0y0&lt;br /&gt;
   +0x224 ExitProcessReported : 0y0&lt;br /&gt;
   +0x224 ReportCommitChanges : 0y0&lt;br /&gt;
   +0x224 LastReportMemory : 0y0&lt;br /&gt;
   +0x224 ReportPhysicalPageChanges : 0y0&lt;br /&gt;
   +0x224 HandleTableRundown : 0y0&lt;br /&gt;
   +0x224 NeedsHandleRundown : 0y0&lt;br /&gt;
   +0x224 RefTraceEnabled  : 0y0&lt;br /&gt;
   +0x224 NumaAware        : 0y0&lt;br /&gt;
   &lt;b&gt;+0x224 ProtectedProcess : 0y0&lt;/b&gt;&lt;br /&gt;
   +0x224 DefaultPagePriority : 0y101&lt;br /&gt;
   +0x224 PrimaryTokenFrozen : 0y1&lt;br /&gt;
   +0x224 ProcessVerifierTarget : 0y0&lt;br /&gt;
   +0x224 StackRandomizationDisabled : 0y0&lt;br /&gt;
   +0x228 Flags            : 0x144d0801&lt;br /&gt;
...&lt;/p&gt;

&lt;p&gt;Modification of the flag makes TaskManager a protected process.&lt;/p&gt;

&lt;p&gt;&lt;b&gt;kd&gt; ed 8bb8a020+224 0xd800&lt;/b&gt;&lt;br /&gt;
kd&gt; dt _EPROCESS 8bb8a020&lt;br /&gt;
   ...&lt;br /&gt;
   +0x14c ImageFileName    : [16]  &quot;taskmgr.exe&quot;&lt;br /&gt;
   ...&lt;br /&gt;
   &lt;b&gt;+0x224 ProtectedProcess : 0y1&lt;/b&gt;&lt;br /&gt;
   ...
&lt;/p&gt;

&lt;table border=&quot;0&quot; align=&quot;center&quot;&gt;&lt;tr&gt;&lt;td&gt;&lt;img src=&quot;http://www.gentlesecurity.com/blog/andr/pix/0009.png&quot; alt=&quot;&quot; title=&quot;&quot; /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;

&lt;p&gt;The flag modification is used by &lt;a href=&quot;http://www.alex-ionescu.com/?p=35&quot;&gt;Alex Ionescu's tool&lt;/a&gt;.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.gentlesecurity.com/blog/blog5.php/2008/03/04/protected-processes&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p>Windows Vista introduces new type of processes, so called "protected processes". The access to the processes is restricted regardless of actual access control lists and assigned integrity levels. Only limited subset of operations is allowed, such as termination, suspending, resuming, retrieving process image name and synchronization. Whenever a process is opened system performs following access checks:</p>
<ol>
  <li>Access control checks according to integrity levels;</li>
  <li>Standard access control for DACL;</li>
  <li>Protected process checks.</li>
</ol>

<table border="0" align="center"><tr><td><img src="http://www.gentlesecurity.com/blog/andr/pix/0003.png" alt="" title="" /></td></tr></table>

<p>Process/Thread specific checks are based on examining protection attribute for both acting and target processes.</p>

<table border="0" align="center"><tr><td><img src="http://www.gentlesecurity.com/blog/andr/pix/0004.png" alt="" title="" /></td></tr></table>

<table border="0" align="center"><tr><td><img src="http://www.gentlesecurity.com/blog/andr/pix/0005.png" alt="" title="" /></td></tr></table>

<p>The same access checks are applied for threads that belong to protected processes.</p>

<p>By default following processes are started as protected:</p>
<ul>
<li>System</li>
<li>audiodg.exe</li>
<li>mfpmp.exe</li>
<li>WerFault.exe</li>
<li>WerFaultSecure.exe</li>
<li>wermgr.exe</li>
</ul>

<p>Protected processes are started via CreateProcess, CreateProcessAsUser, CreateProcessWithToken, etc. APIs by supplying <a href="http://msdn2.microsoft.com/en-us/library/ms684863(VS.85).aspx">CREATE_PROTECTED_PROCESS flag</a> in CreationFlags parameter.</p>

<p>When the flag is specified system creates an executable section (ZwCreateSection) with SEC_PROTECTED_IMAGE flag which forces signature checking. If an executable has no specific signature CreateProcess returns ERROR_INVALID_IMAGE_HASH. The signature could be embedded or provided in installed catalog file. Additionally signature checking is performed for all DLLs loaded into protected process. It means Microsoft limits usage of protected processes by third parties. <a href="http://msdn2.microsoft.com/en-us/library/aa376846.aspx">Protected Media Path</a> program provides a way to supply signed modules for audiodg.exe and mfpmp.exe processes.</p>

<p>The control over protected processes code is justified as a protected process may receive unrestricted access to other protected processes. Hence a custom protected processes with random code breaks the whole concept.</p>

<p>The purpose of protected processes is not only providing environment for DRM solutions but also protecting kernel integrity. System process contains kernel mode threads and handles for many critical objects. For example, an unrestricted access to System process would effectively diminish kernel protection (aka Driver Signing) in Windows Vista x64.</p>

<p>Apparently there are other applications which could be started protected beside the listed above. For example, <a href="http://www.microsoft.com/whdc/devtools/debugging/default.mspx">Microsoft Debugging Tools</a> contain few utilities which may start as protected. You may find such applications by <a href="http://www.gentlesecurity.com/blog/andr/pplauncher.zip">pplauncher.exe tool</a>. <u>The tool just probes for protected process launching by legitimate means, it does not use drivers and might run without administrative privileges.  Do not mix it up with <a href="http://www.alex-ionescu.com/?p=35">Alex Ionescu's tool</a> that based on modification of kernel structures</u>. </p>

<table border="0" align="center"><tr><td><img src="http://www.gentlesecurity.com/blog/andr/pix/0006.png" alt="" title="" /></td></tr></table>

<p>Note protection attribute is a part of EPROCESS structure and could be adjusted by kernel mode driver or debugger, which is illustrated by following experiment with Windows Task Manager.</p>

<p> Initially TaskManager is not protected and as result cannot create memory dump of protected processes.</p>

<table border="0" align="center"><tr><td><img src="http://www.gentlesecurity.com/blog/andr/pix/0007.png" alt="" title="" /></td></tr></table>

<table border="0" align="center"><tr><td><img src="http://www.gentlesecurity.com/blog/andr/pix/0008.png" alt="" title="" /></td></tr></table>

<p>Dumping EPROCESS structure in debugger reveals ProtectedProcess bit flag:</p>

<p>kd> dt _EPROCESS 8bb8a020<br />
   ...<br />
   +0x14c ImageFileName    : [16]  "taskmgr.exe"<br />
   ...<br />
   +0x224 Flags2           : 0xd000<br />
   +0x224 JobNotReallyActive : 0y0<br />
   +0x224 AccountingFolded : 0y0<br />
   +0x224 NewProcessReported : 0y0<br />
   +0x224 ExitProcessReported : 0y0<br />
   +0x224 ReportCommitChanges : 0y0<br />
   +0x224 LastReportMemory : 0y0<br />
   +0x224 ReportPhysicalPageChanges : 0y0<br />
   +0x224 HandleTableRundown : 0y0<br />
   +0x224 NeedsHandleRundown : 0y0<br />
   +0x224 RefTraceEnabled  : 0y0<br />
   +0x224 NumaAware        : 0y0<br />
   <b>+0x224 ProtectedProcess : 0y0</b><br />
   +0x224 DefaultPagePriority : 0y101<br />
   +0x224 PrimaryTokenFrozen : 0y1<br />
   +0x224 ProcessVerifierTarget : 0y0<br />
   +0x224 StackRandomizationDisabled : 0y0<br />
   +0x228 Flags            : 0x144d0801<br />
...</p>

<p>Modification of the flag makes TaskManager a protected process.</p>

<p><b>kd> ed 8bb8a020+224 0xd800</b><br />
kd> dt _EPROCESS 8bb8a020<br />
   ...<br />
   +0x14c ImageFileName    : [16]  "taskmgr.exe"<br />
   ...<br />
   <b>+0x224 ProtectedProcess : 0y1</b><br />
   ...
</p>

<table border="0" align="center"><tr><td><img src="http://www.gentlesecurity.com/blog/andr/pix/0009.png" alt="" title="" /></td></tr></table>

<p>The flag modification is used by <a href="http://www.alex-ionescu.com/?p=35">Alex Ionescu's tool</a>.</p><div class="item_footer"><p><small><a href="http://www.gentlesecurity.com/blog/blog5.php/2008/03/04/protected-processes">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.gentlesecurity.com/blog/blog5.php/2008/03/04/protected-processes#comments</comments>
			<wfw:commentRss>http://www.gentlesecurity.com/blog/blog5.php?tempskin=_rss2&#38;disp=comments&#38;p=54</wfw:commentRss>
		</item>
				<item>
			<title>Cracking Windows Access Control</title>
			<link>http://www.gentlesecurity.com/blog/blog5.php/2008/02/02/cracking-windows-access-control</link>
			<pubDate>Sat, 02 Feb 2008 09:05:43 +0000</pubDate>			<dc:creator>Andrey</dc:creator>
			<category domain="main">Access Control</category>			<guid isPermaLink="false">52@http://www.gentlesecurity.com/blog/</guid>
						<description>&lt;p&gt;&lt;a href=&quot;http://www.gentlesecurity.com/blog/andr/cracking_windows_access_control.pdf&quot;&gt;Cracking Windows Access Control&lt;/a&gt; paper prepared for &lt;a href=&quot;http://hack.lu&quot;&gt;Hack.lu 2007&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;ABSTRACT&lt;br /&gt;
Windows access control evolves from the original model to address actual security threats. In overall it becomes more and more complicated. Starting from Windows Vista, access control shifts towards mandatory access control (MAC). The shift is used to mitigate weaknesses of discretional access control (DAC) that relies upon user's settings. This paper discusses the main weaknesses of discretional access control such as privilege elevation through impersonation, complexity of configuration, ownership specific and uncontrollable objects. Then it describes how the issues partly resolved by new mandatory access control model also known as integrity levels. The main focus is given to the least privileges concept or so called &quot;security boundary&quot; that could be achieved by the combination of access control lists and integrity levels. Security boundary is required to reduce attack surface, damage caused by malware and targeted intrusions. While the recent access control developments help to enforce a real security boundary around untrusted applications, they have a number of described usage limitations. Finally, the paper concludes general inadequacy of discretional user based access control and advocates for true per-process permissions.  As per-process permissions apparently are too complicated for a human administrator to configure properly, a solution is proposed addressing the complexity problem.&lt;/p&gt;&lt;div class=&quot;item_footer&quot;&gt;&lt;p&gt;&lt;small&gt;&lt;a href=&quot;http://www.gentlesecurity.com/blog/blog5.php/2008/02/02/cracking-windows-access-control&quot;&gt;Original post&lt;/a&gt; blogged on &lt;a href=&quot;http://b2evolution.net/&quot;&gt;b2evolution&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;&lt;/div&gt;</description>
			<content:encoded><![CDATA[<p><a href="http://www.gentlesecurity.com/blog/andr/cracking_windows_access_control.pdf">Cracking Windows Access Control</a> paper prepared for <a href="http://hack.lu">Hack.lu 2007</a></p>

<p>ABSTRACT<br />
Windows access control evolves from the original model to address actual security threats. In overall it becomes more and more complicated. Starting from Windows Vista, access control shifts towards mandatory access control (MAC). The shift is used to mitigate weaknesses of discretional access control (DAC) that relies upon user's settings. This paper discusses the main weaknesses of discretional access control such as privilege elevation through impersonation, complexity of configuration, ownership specific and uncontrollable objects. Then it describes how the issues partly resolved by new mandatory access control model also known as integrity levels. The main focus is given to the least privileges concept or so called "security boundary" that could be achieved by the combination of access control lists and integrity levels. Security boundary is required to reduce attack surface, damage caused by malware and targeted intrusions. While the recent access control developments help to enforce a real security boundary around untrusted applications, they have a number of described usage limitations. Finally, the paper concludes general inadequacy of discretional user based access control and advocates for true per-process permissions.  As per-process permissions apparently are too complicated for a human administrator to configure properly, a solution is proposed addressing the complexity problem.</p><div class="item_footer"><p><small><a href="http://www.gentlesecurity.com/blog/blog5.php/2008/02/02/cracking-windows-access-control">Original post</a> blogged on <a href="http://b2evolution.net/">b2evolution</a>.</small></p></div>]]></content:encoded>
								<comments>http://www.gentlesecurity.com/blog/blog5.php/2008/02/02/cracking-windows-access-control#comments</comments>
			<wfw:commentRss>http://www.gentlesecurity.com/blog/blog5.php?tempskin=_rss2&#38;disp=comments&#38;p=52</wfw:commentRss>
		</item>
			</channel>
</rss>

