<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.technet.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx</link><description>One of my favorite new security features in Windows Vista is Mandatory Integrity Control (MIC). It’s a classical computer science concept from the 1970s that’s finally getting its first commercial implementation—and of this I’m quite proud. While discretionary</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#443010</link><pubDate>Mon, 24 Jul 2006 01:46:23 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:443010</guid><dc:creator>Mike</dc:creator><description>Wow. This sounds great! Have you run into any major application compatibility problems because of it?</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#443078</link><pubDate>Mon, 24 Jul 2006 12:00:29 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:443078</guid><dc:creator>blogCZSK</dc:creator><description>I really like the concept of MIC, however I am missing one (I think quite important) thing - visual differential between applications in different MIC modes. Dont you know about something like explorer extensions, that will enable this???</description></item><item><title>HTTP over HTTP</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#443539</link><pubDate>Wed, 26 Jul 2006 22:47:13 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:443539</guid><dc:creator>spatie25</dc:creator><description>I was reading the blog by Keith Combs covering the new ‘HTTP over HTTP’ feature on ISA2006. (&lt;a rel="nofollow" target="_new" href="http://blogs.technet.com/keithcombs/archive/2006/07/08/440752.aspx"&gt;http://blogs.technet.com/keithcombs/archive/2006/07/08/440752.aspx&lt;/a&gt;)&lt;br&gt;&lt;br&gt;This got me back to a brain breaker I am struggling for some time now. &amp;nbsp;I am very concerned about the way things are moving with remote communication in all its aspects. &amp;nbsp;It shows over the last few years that more and more vendors are adopting the approach to encapsulating all sorts of protocols in HTTP. &amp;nbsp;Of course this is a very tempting solution, as HTTP in many cases is about the only protocol that is allowed to travel across a company’s firewall.&lt;br&gt;&lt;br&gt;I remember a presentation on security, hosted by MS employees, were it was stated bluntly : don’t use VPN, it is a hole in your firewall, which is quite fair to me.&lt;br&gt;&lt;br&gt;Now, I wonder what the advice would be from the MS security experts on protocols that are ported over HTTP. &amp;nbsp;I try to understand what the risks could be, or why I should be rest assured that this is under control. &amp;nbsp;The way I understand it is that there is no defence against malicious code, encapsulated in an HTTP protocol other than a very performant firewall with state of the art statefull inspection and even then, I am told, it still is risky business. &amp;nbsp; On the why’s, I get various explanations that do not always comply with one another. &lt;br&gt;&lt;br&gt;Now, I understand that this IPsec solution, offered by ISA2006, is pretty nice in terms of setting up a secure P2P connection without the hassle of a VPN client. &amp;nbsp;But this is not the discussion. &amp;nbsp;What to think about an employee, trying to access the OWA servers from a public computer : no VPN, no IPsec, just a certificate and a password. &amp;nbsp;Once compromised, you can only but imagine what could go wrong. &amp;nbsp;And in this case we are ‘talking’ HTTP, plain simple (for the firewall that is). &amp;nbsp;&lt;br&gt;What if that employee tries to do RDP over HTTP or whatever other traffic that could be routed over HTTP. &amp;nbsp;I am making to much fuzz out of nothing, or should we be careful in how we ‘adopt’ these new features?&lt;br&gt;</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#444870</link><pubDate>Fri, 04 Aug 2006 02:13:59 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:444870</guid><dc:creator>SomeDude</dc:creator><description>Great article!&lt;br&gt;&lt;br&gt;What GUI and command-line tools can be used to see or edit the labels on sucurable objects? &amp;nbsp;WHOAMI.EXE shows my SAT's label, but I don't see anything different in REGEDIT, Windows Explorer, etc.&lt;br&gt;&lt;br&gt; &amp;nbsp;Thanks!&lt;br&gt; </description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#444884</link><pubDate>Fri, 04 Aug 2006 04:27:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:444884</guid><dc:creator>Bryan</dc:creator><description>Very interesting - but I feel a nagging dread as well.&lt;br&gt;&lt;br&gt;What tools will administrators have, so that they can see and edit the intergrity level of an object?&lt;br&gt;&lt;br&gt;What errors will mismatched integrity levels generate?&lt;br&gt;&lt;br&gt;What documentation exists- explaining exactly how integrity levels are assigned by the OS and/or installer programs? Does written data always inherit the integrity level of the user whose process wrote it? (Given the IEPM example it seems not?)&lt;br&gt;&lt;br&gt;This could be an excellent feature, but it's going to need extensive documentation! Anything on MSDN yet?</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#452216</link><pubDate>Mon, 28 Aug 2006 19:57:54 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:452216</guid><dc:creator>Multician</dc:creator><description>Multics had it, back in the day. &amp;nbsp;And of course it was an option for almost every Unix vendor back in the 80's.</description></item><item><title>Mandatory Integrity Control in Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#454269</link><pubDate>Wed, 06 Sep 2006 03:25:26 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454269</guid><dc:creator>Mike Taulty's Blog</dc:creator><description>I picked up this post on Vista's new Mandatory Integrity Control feature by way of Steve's blog. The...</description></item><item><title>Ah, the joys of speaking about pre-release software!</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#454284</link><pubDate>Wed, 06 Sep 2006 06:21:47 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454284</guid><dc:creator>Steve Riley on Security</dc:creator><description>Two weeks ago I delivered my Windows Vista System Integrity presentation at the TechEds in New Zealand...</description></item><item><title>COM activation change in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#454298</link><pubDate>Wed, 06 Sep 2006 08:50:51 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454298</guid><dc:creator>Junfeng Zhang's .Net Framework Notes</dc:creator><description>In Windows Vista, COM will read HKLM\Software\Classes when the process has a integrity level &amp;amp;amp;gt; MEDIUM,...</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#454807</link><pubDate>Fri, 08 Sep 2006 13:26:17 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454807</guid><dc:creator>KJK::Hyperion</dc:creator><description>I wonder, why didn't you implement the &amp;quot;no read down&amp;quot; policy? not even as an optional flag for labels?</description></item><item><title>Ah, the joys of speaking about pre-release software!</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#454943</link><pubDate>Sat, 09 Sep 2006 06:29:09 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:454943</guid><dc:creator>Steve Riley on Security</dc:creator><description>Two weeks ago I delivered my Windows Vista System Integrity presentation at the TechEds in New Zealand...</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#455210</link><pubDate>Mon, 11 Sep 2006 00:18:52 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:455210</guid><dc:creator>Steve Riley</dc:creator><description>MIKE: No, I'm not aware of any app compat issues that MIC has caused.&lt;br&gt;&lt;br&gt;SPATIE25: A long time ago, I had the same lament as you. &amp;quot;It's a bastardization of HTTP to make it into the univseral transport,&amp;quot; I claimed. But I've changed my thinking there. Look for a blog post soon about why I think the trend is good.&lt;br&gt;&lt;br&gt;SOMEDUDE: Some SysInternals (www.sysinternals.com) now display integrity levels: AccessChk and Process Explorer.&lt;br&gt;&lt;br&gt;BRYAN: MIC is automatic and doesn't really require user or administrator tinkering. There's information on MSDN about MIC; one interesting document describes how IEPM uses MIC (&lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/en-us/IETechCol/dnwebgen/ProtectedMode.asp"&gt;http://msdn.microsoft.com/library/en-us/IETechCol/dnwebgen/ProtectedMode.asp&lt;/a&gt;).&lt;br&gt;&lt;br&gt;KJK: We want to keep MIC's purpose simple: to control writes. &amp;quot;No read down&amp;quot; is more of a privacy control. You can implement something very similar by putting deny ACLs on resources -- deny access to any principal whose integrity level is lower than the level of the resource.</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#455338</link><pubDate>Mon, 11 Sep 2006 14:52:13 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:455338</guid><dc:creator>Rob</dc:creator><description>Please, please do not confuse the mandatory ACCESS controls as described by Bell and LaPadula with the mandatory INTEGRITY controls as described by Biba. They are fundamentally different in the way they are working and in the way they allow and disallow access.&lt;br&gt;&lt;br&gt;Also, your statement on Vista being the first commercial OS to implement them is dead wrong. It may be the first consumer OS, but it most definitely is not the first commercial OS. </description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#455363</link><pubDate>Mon, 11 Sep 2006 17:37:15 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:455363</guid><dc:creator>Steve Riley</dc:creator><description>ROB: Hmm, I'm not exactly sure why you think I have confused them? I certainly understand the difference -- and my post even includes links to Wikipedia articles describing the two models.&lt;br&gt;&lt;br&gt;Note that I mention MIC as a *form* of Biba. While MIC does enforce Biba's no write-up restriction, it doesn't enforce the model's no read-down restriction. To do so is impractical for computer integrity controls. Consider that you, as a medium integrity user, would never be able to read data written by IE protected mode if MIC implemented no read-down.&lt;br&gt;&lt;br&gt;Plus, understand that Bell-LaPadula can't be directly compared to access controls. If you were to do that, then you could never write data that principals with a lower access level could read. In other words, you could never create information that's readable by, say, everyone.</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#455539</link><pubDate>Tue, 12 Sep 2006 10:05:34 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:455539</guid><dc:creator>Rob</dc:creator><description>Steve,&lt;br&gt;&lt;br&gt;You should reverse the matter, the Biba model is a form of MIC. Comparing the MIC as implemented to &amp;nbsp;Biba is pointless, since, as you point out, Biba describes no read down as a restriction, which the MIC implementation in Vista does not do. &lt;br&gt;&lt;br&gt;I find it a very puzzling implementation, why did Microsoft decide to have the operating system files unlabeled? (thus essentially sticking them at the same level as the user is?). It would have been no problem to have them at a higher integrity level... lower-level processes can still read from them. &lt;br&gt;&lt;br&gt;Regarding Bell-LaPadula, you bet they can be compared to access controls, ssince they *are* access controls. Just not the ordinary discretionary ones you have gotten used to. You got the point behing Bell-LaPadula right, the fact that principals with a lower access level can't read data with a higher level is what you *want* in the situation for which Bell-LaPadula was designed (namely a military organisation). &lt;br&gt;&lt;br&gt;I have worked with operating systems implementing the full Bell-LaPadula and the full Biba model, and those operating systems provide mechanisms to circumvent those models in certain, wel known and audited places. Working on such a system can be &amp;nbsp;pain, but the assurance that processes are strictly separated is in some cases worth that pain. &amp;nbsp;</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#455716</link><pubDate>Wed, 13 Sep 2006 01:03:53 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:455716</guid><dc:creator>Steve Riley</dc:creator><description>I guess we have different interpretations of the function of a model. To me, a model is a guideline, something to &lt;EM&gt;base&lt;/EM&gt; a design on, not to constrain. Biba and Bell-LaPadula describe idealized functionality -- functionality which can be fully implemented if necessary, as you mention. But in the more common cases of integrity and access control, certain elements of the models must be relaxed in order for the controls to be broadly useful. &lt;BR&gt;&lt;BR&gt;It's a good question about the OS files being unlabeled. Essentially, you've got two choices for protecting the files: label them system integrity (higher than admins) or ACL them read-only for everyone except the trusted installer. Neither approach will stop malicious admins or malware running as admin: in the former, the admin or malware can directly modify the master file table and remove the integrity labels on the files; in the latter, the admin or malware can take ownership of the files and change the ACLs. This reinforces the point that &lt;A href="http://www.microsoft.com/technet/community/columns/secmgmt/sm0705.mspx"&gt;administrators must be people you trust&lt;/A&gt;. &lt;BR&gt;&lt;BR&gt;There's one advantage to the approach we finally took. Setting the ACL to trusted-installer:full-control, everyone-else:read-execute-only makes very obvious the intention of the security policy. A system integrity level wouldn't be so clear. Generally, it's best to think of integrity checks as a compliment to access control, not a replacement.</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#455808</link><pubDate>Wed, 13 Sep 2006 11:56:05 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:455808</guid><dc:creator>Rob</dc:creator><description>Steve, in your last paragraph you are (again) mixing up access controls with integrity controls.&lt;br&gt;&lt;br&gt;The whole point behind mandatory controls is exactly that, they are mandatory. File ownership, access &amp;nbsp;and integrity are no longer at the discretion of the system administrator, they are enforced by the policy inspection mechanism according to the label they carry. And that means *everything* on the system has to have a label. It also means that an administrator might not be able to touch stuff on the system. In that case you no longer need to rely on trust in the administrator. This is a *fundamentally different* way of thinking about both access and integrity. &lt;br&gt;&lt;br&gt;And that is the issue here. You are not *enforcing* mandatory integrity. You are not enforcing anything. You are providing an extra integrity checking mechanism. The fact that it is provided is a good thing. The fact that it is labeled by your marketing department as &amp;quot;mandatory integrity controls&amp;quot;, which it is clearly *not*, is confusing at best. There is no such thing as mandatory integrity on Vista if I as administrator can still alter the master file table. &lt;br&gt;&lt;br&gt;</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#455908</link><pubDate>Wed, 13 Sep 2006 18:16:10 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:455908</guid><dc:creator>Steve Riley</dc:creator><description>Rob, I'm not sure we'll come to agreement here. I disagree with your assertion that I am &amp;quot;mixing up&amp;quot; access controls with integrity controls. I certainly understand the differences, the definitions of idealized implementations, and the reality of applying the computer science principles they embody to the real-world implementations that derive from them.&lt;br&gt;&lt;br&gt;Integrity controls in Windows Vista *are*, in fact, mandatory. Any object that has a security descriptor is evaluated against integrity controls, even if the object itself is unlabeled. In the case of unlabeled objects, the operating system assumes a label of medium.&lt;br&gt;&lt;br&gt;One of the fundamental laws of computer security states that if a bad guy can get software to run on your computer, then it isn't your computer anymore. In my description of how an administrator might alter labels, I'm simply being honest about how locally-executed malicious code can cause damage. Every computer system in the world, regardless of operating system, can be owned by a sufficiently-motivated attacker.</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#457198</link><pubDate>Mon, 18 Sep 2006 14:18:48 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:457198</guid><dc:creator>Mark Minasi</dc:creator><description>Hi --&lt;br&gt;&lt;br&gt;I noted that several of you wanted a tool that would let you examine and change integrity levels on objects in Vista. &amp;nbsp;icacls does it, but it's still broken and a bit limited, so I wrote a tool that may be useful. &amp;nbsp;It's at &lt;a rel="nofollow" target="_new" href="http://www.minasi.com/vista/chml.htm"&gt;http://www.minasi.com/vista/chml.htm&lt;/a&gt; and it's a command-line tool that lets you see an object's IL, change it via either SDDL (ugly but flexible) or with some simpler options. &amp;nbsp;I hope this helps someone!&lt;br&gt;-- Mark&lt;br&gt;</description></item><item><title>Phew ... I can come up for air now.</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#457235</link><pubDate>Mon, 18 Sep 2006 16:58:01 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:457235</guid><dc:creator>James O'Neill's blog </dc:creator><description>I have finally got my outlook unread messages down to zero. There are 1229 Messages in my deleted Items...</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#459725</link><pubDate>Fri, 29 Sep 2006 01:21:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:459725</guid><dc:creator>Walter</dc:creator><description>In prior Vista betas, Process Explorer used to show a SID flag named &amp;quot;DesktopIntegrity&amp;quot; in the SAT of a process. &amp;nbsp;The &amp;quot;Integrity&amp;quot; flag is still around, but what happened to &amp;quot;DesktopIntegrity&amp;quot;?&lt;br&gt;&lt;br&gt;I assume that &amp;quot;DesktopIntegrity&amp;quot; was for User Interface Privilege Isolation (UIPI), so does this mean MIC is no longer being used for UIPI just like Windows Resource Protection no longer uses MIC?&lt;br&gt;&lt;br&gt;Any other MIC changes in build 5728 to know about?&lt;br&gt;&lt;br&gt;Thanks again for the blog, it's hard to find this information!&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Ah, the joys of speaking about pre-release software!</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#461606</link><pubDate>Wed, 04 Oct 2006 01:52:06 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:461606</guid><dc:creator>Steve Riley on Security</dc:creator><description>&lt;p&gt;Two weeks ago I delivered my Windows Vista System Integrity presentation at the TechEds in New Zealand&lt;/p&gt;
</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#462950</link><pubDate>Fri, 06 Oct 2006 12:04:09 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:462950</guid><dc:creator>Enno Rey</dc:creator><description>&lt;p&gt;Steve,&lt;/p&gt;
&lt;p&gt;at first thanks for your blog and the valuable insight it provides. After reading your post on MIC I decided to have a look on it, given I've done some research on multi level security systems lately. I stumbled across some obscurities though which I'd like to clarify here. Please note that this was my first installation of Win Vista ever so maybe there are some misunderstandings of concepts on my side...&lt;/p&gt;
&lt;p&gt;So this is what I did in detail:&lt;/p&gt;
&lt;p&gt;- default installation of RC1 (build 5600)&lt;/p&gt;
&lt;p&gt;- creation of first and single user (here 'erey')&lt;/p&gt;
&lt;p&gt;- logged in as erey, with restricted token and the following privs&lt;/p&gt;
&lt;p&gt;PRIVILEGES INFORMATION&lt;/p&gt;
&lt;p&gt;----------------------&lt;/p&gt;
&lt;p&gt;Privilege Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Description &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;State &amp;nbsp; &lt;/p&gt;
&lt;p&gt;============================= ==================================== ========&lt;/p&gt;
&lt;p&gt;SeShutdownPrivilege &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Shut down the system &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Enabled &lt;/p&gt;
&lt;p&gt;SeChangeNotifyPrivilege &amp;nbsp; &amp;nbsp; &amp;nbsp; Bypass traverse checking &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Enabled &lt;/p&gt;
&lt;p&gt;SeUndockPrivilege &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Remove computer from docking station Disabled&lt;/p&gt;
&lt;p&gt;SeIncreaseWorkingSetPrivilege Increase a process working set &amp;nbsp; &amp;nbsp; &amp;nbsp; Disabled&lt;/p&gt;
&lt;p&gt;SeTimeZonePrivilege &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Change the time zone &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Disabled&lt;/p&gt;
&lt;p&gt;- creation of c:\tools directory and download of tools to it (Sysinternals: accesschk, ProcessExplorer and Mark Minasi's chml)&lt;/p&gt;
&lt;p&gt;=== Integrity level of files&lt;/p&gt;
&lt;p&gt;I then checked the integrity levels of the files just downloaded and here comes the first surprise (or just personal misunderstanding):&lt;/p&gt;
&lt;p&gt;AccessChk v2.0 - Check account access of files, registry keys or services&lt;/p&gt;
&lt;p&gt;Copyright (C) 2006 Mark Russinovich&lt;/p&gt;
&lt;p&gt;Sysinternals - www.sysinternals.com&lt;/p&gt;
&lt;p&gt;C:\tools\accesschk.zip&lt;/p&gt;
&lt;p&gt; &amp;nbsp;Medium Mandatory Level (Default)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW BUILTIN\Administrators&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW NT AUTHORITY\SYSTEM&lt;/p&gt;
&lt;p&gt; &amp;nbsp;R &amp;nbsp;BUILTIN\Users&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW NT AUTHORITY\Authenticated Users&lt;/p&gt;
&lt;p&gt;C:\tools\chml.exe&lt;/p&gt;
&lt;p&gt; &amp;nbsp;Medium Mandatory Level (Default)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW BUILTIN\Administrators&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW NT AUTHORITY\SYSTEM&lt;/p&gt;
&lt;p&gt; &amp;nbsp;R &amp;nbsp;BUILTIN\Users&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW NT AUTHORITY\Authenticated Users&lt;/p&gt;
&lt;p&gt;I had naively expected that these files had an integrity level of 'low' given their origin (internet) and the process that wrote them to disk (IE, supposedly running with 'low' integrity).&lt;/p&gt;
&lt;p&gt;Question: why do these files have an integrity level of 'medium'? Lack of intlevel assigning capability in IE in current state?&lt;/p&gt;
&lt;p&gt;Or the other way round: what the hell will ever get intlevel 'low' if not such files (executables downloaded from the internet, restricted user, by means of IE, from untrusted sources)?&lt;/p&gt;
&lt;p&gt;[one could argue that the Sysinternal stuff is signed, but at least the Minasi stuff isn't].&lt;/p&gt;
&lt;p&gt;=== Integrity level of processes&lt;/p&gt;
&lt;p&gt;Looking at the integrity level of processes I noticed the following:&lt;/p&gt;
&lt;p&gt;1) Restricted token user 'erey' invokes procexp.exe (medium) =&amp;gt; process integrity: medium&lt;/p&gt;
&lt;p&gt;2) (Run as) Administrator 'erey' invokes procexp.exe (medium) =&amp;gt; process integrity: high&lt;/p&gt;
&lt;p&gt;This is consistent to your description (or at least my understanding of it ;-):&lt;/p&gt;
&lt;p&gt;&amp;quot;when a user invokes a file whose integrity level is higher than low the resulting process will run with the integrity level of the user&amp;quot;&lt;/p&gt;
&lt;p&gt;[which contrasts to the Biba model where the lower level of subject (user) and object (file) is chosen, but as you correcty say a model is just a basis...].&lt;/p&gt;
&lt;p&gt;This again rises the question: if a user runs an internet-downloaded executable with admin privileges (and this will happen rather often, think of all the little helper tools available from the internet, requiring admin privs for whatever reason), the resulting process will run with intlevel 'high'. Where's the protection benefit then?&lt;/p&gt;
&lt;p&gt;I understand the behaviour is consistent (however I'm not sure if or why the variation from Biba is a good idea here) and I understand that maybe the process needs a 'high' intlevel (to perform it's functions correctly) - and yes UAC came into place and asked me when invoking procexp as an admin - but I'm a bit sceptic about the use then. My previous understanding of &amp;quot;in Vista we're running IE with low privs to protect you from all that bad stuff coming from the internet&amp;quot; was a bit different...&lt;/p&gt;
&lt;p&gt;=== Modifying intlevel of files and the results&lt;/p&gt;
&lt;p&gt;Time for a change of the integrity level of an executable now...&lt;/p&gt;
&lt;p&gt;Trying that gave the following:&lt;/p&gt;
&lt;p&gt;- created a copy of procexp.exe&lt;/p&gt;
&lt;p&gt;1) - tried (as 'erey' with restricted token) to modify intlevel by&lt;/p&gt;
&lt;p&gt;C:\tools&amp;gt;chml procexp_mod.exe -i:l&lt;/p&gt;
&lt;p&gt;=&amp;gt; did not work (&amp;quot;Access is denied&amp;quot;).&lt;/p&gt;
&lt;p&gt;2) I then gave the user 'erey' the privilege &amp;quot;Modify an object label&amp;quot; by gpedit (+ gpupdate).&lt;/p&gt;
&lt;p&gt;After logging out and in again I noticed I did not even (seem to) have it when running cmd.exe as admin:&lt;/p&gt;
&lt;p&gt;PRIVILEGES INFORMATION&lt;/p&gt;
&lt;p&gt;----------------------&lt;/p&gt;
&lt;p&gt;Privilege Name &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Description &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; State &amp;nbsp; &lt;/p&gt;
&lt;p&gt;=============================== ========================================= ========&lt;/p&gt;
&lt;p&gt;...&lt;/p&gt;
&lt;p&gt;SeCreateGlobalPrivilege &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Create global objects &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Enabled &lt;/p&gt;
&lt;p&gt;SeRelabelPrivilege &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Modify an object label &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Disabled&lt;/p&gt;
&lt;p&gt;SeIncreaseWorkingSetPrivilege &amp;nbsp; Increase a process working set &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Disabled&lt;/p&gt;
&lt;p&gt;But now chml worked:&lt;/p&gt;
&lt;p&gt;C:\tools&amp;gt;chml procexp_mod.exe -i:l&lt;/p&gt;
&lt;p&gt;chml v1.010 -- Change Windows Integrity Level&lt;/p&gt;
&lt;p&gt;by Mark Minasi (c) 2006 www.minasi.com&lt;/p&gt;
&lt;p&gt;&amp;quot;chml -?&amp;quot; for syntax, examples and notes.&lt;/p&gt;
&lt;p&gt;Integrity level of procexp_mod.exe successfully set to low.&lt;/p&gt;
&lt;p&gt;--&lt;/p&gt;
&lt;p&gt;C:\tools&amp;gt;accesschk.exe -i procexp_mod.exe&lt;/p&gt;
&lt;p&gt;AccessChk v2.0 - Check account access of files, registry keys or services&lt;/p&gt;
&lt;p&gt;Copyright (C) 2006 Mark Russinovich&lt;/p&gt;
&lt;p&gt;Sysinternals - www.sysinternals.com&lt;/p&gt;
&lt;p&gt;C:\tools\procexp_mod.exe&lt;/p&gt;
&lt;p&gt; &amp;nbsp;Low Mandatory Level			(!!!)&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW BUILTIN\Administrators&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW NT AUTHORITY\SYSTEM&lt;/p&gt;
&lt;p&gt; &amp;nbsp;R &amp;nbsp;BUILTIN\Users&lt;/p&gt;
&lt;p&gt; &amp;nbsp;RW NT AUTHORITY\Authenticated Users&lt;/p&gt;
&lt;p&gt;3) Invoking the procexp_mod.exe with intlevel 'low' gave the following:&lt;/p&gt;
&lt;p&gt;invoking as restricted user 'erey' =&amp;gt; process integrity: 'low' (as indicated by ProcessExplorer)&lt;/p&gt;
&lt;p&gt;invoking as admin =&amp;gt; process integrity 'high'&lt;/p&gt;
&lt;p&gt;BIG surprise! what's going on here? High integrity user runs low integrity executable and resulting process runs on 'high' integrity!?!&lt;/p&gt;
&lt;p&gt;Questions:&lt;/p&gt;
&lt;p&gt;a) Looking at the &amp;quot;Explain&amp;quot; text in gpedit: &lt;/p&gt;
&lt;p&gt;&amp;quot;Modify an object label&lt;/p&gt;
&lt;p&gt;This privilege determines which user accounts can modify the integrity label of objects, such as files, registry keys, or processes owned by other users. Processes running under a user account can modify the label of an object owned by that user to a lower level without this privilege.&amp;quot;&lt;/p&gt;
&lt;p&gt;... I do not understand why 1) didn't work. I invoked a process cmd.exe (supposedly running with intlevel 'medium' given the user was restricted) and tried to modify a file I owned. The observed behaviour seems to contrast the 'help text' but seems consistent to Mark Minasi's comments in the manpage of chml.&lt;/p&gt;
&lt;p&gt;b) why did user 'erey' seemingly not dispose of SeRelabelPrivilege after assigning it to him directly and logging out+in, neither as restricted user nor as admin? or at least: why did 'whoami' indicate that? Problem of privilege enumeration in 'whoami'?&lt;/p&gt;
&lt;p&gt;c) please explain scenario 3 mentioned above! ;-))&lt;/p&gt;
&lt;p&gt;This seems to contradict fully your explanation (or I got it totally wrong).&lt;/p&gt;
&lt;p&gt;There seems to be a different behaviour as for the process intlevel, depending on the level of the invoking user.&lt;/p&gt;
&lt;p&gt;And: is this a good idea? Biba wouldn't have liked that a lot. And neither do I ;-)&lt;/p&gt;
&lt;p&gt;Concluding my observations mean:&lt;/p&gt;
&lt;p&gt;User downloads executable from internet, saves file to hard disk and this file has intlevel 'medium': maybe no a good idea.&lt;/p&gt;
&lt;p&gt;[maybe resulting from IE currently not assigning intlevels to files it writes]&lt;/p&gt;
&lt;p&gt;User running with admin_privs (most windows users will still sometimes do ;-) invokes this executable resulting in a process running with intlevel 'high': debatable...&lt;/p&gt;
&lt;p&gt;Security aware user labels some executables down to 'low' but invokes them as admin, process is running with intlevel 'high': what can I say here? ;-)&lt;/p&gt;
&lt;p&gt;These are some observations from a guy with some background on &amp;quot;Mandatory&amp;quot; security models, running Vista for the first time.&lt;/p&gt;
&lt;p&gt;Thanks in advance for your answer, I appreciate your efforts.&lt;/p&gt;
&lt;p&gt;thanks,&lt;/p&gt;
&lt;p&gt;Enno&lt;/p&gt;
</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#464094</link><pubDate>Sat, 07 Oct 2006 21:38:19 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:464094</guid><dc:creator>Milan</dc:creator><description>&lt;p&gt;I believe that Trusted Solaris by Sun was the first commercial implementation of Mandatory Access Control. &amp;nbsp;I always thought this was a great feature and oddly neglected by the media. &amp;nbsp;I guess that now M$ does something, everyone will get excited...&lt;/p&gt;
</description></item><item><title>re: Mandatory integrity control in Windows Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#464476</link><pubDate>Sun, 08 Oct 2006 12:36:11 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:464476</guid><dc:creator>Dominick</dc:creator><description>&lt;p&gt;Hi Steve, &lt;/p&gt;
&lt;p&gt;Enno posted very interested observations.&lt;/p&gt;
&lt;p&gt;Is there already some documentation that describes the behavior and scenarios of MIC?&lt;/p&gt;
&lt;p&gt;Or - alternatively - could you comment on Enno's findings as they look like a complete description of the current behavior.&lt;/p&gt;
&lt;p&gt;thanks!&lt;/p&gt;
</description></item><item><title>MB&amp;#8217;s Windows Security  &amp;raquo; Blog Archive   &amp;raquo; Why doesn&amp;#8217;t IE7 protected mode mark downloaded files as low integrity?</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#690836</link><pubDate>Tue, 13 Mar 2007 07:05:21 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:690836</guid><dc:creator>MB’s Windows Security  » Blog Archive   » Why doesn’t IE7 protected mode mark downloaded files as low integrity?</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://xato.net/bl/2007/03/12/why-doesnt-ie7-protected-mode-mark-downloaded-files-as-low-integrity/"&gt;http://xato.net/bl/2007/03/12/why-doesnt-ie7-protected-mode-mark-downloaded-files-as-low-integrity/&lt;/a&gt;&lt;/p&gt;
</description></item><item><title>Wes' Blog : Failure creating an Outlook application object on Vista</title><link>http://blogs.technet.com/steriley/archive/2006/07/21/Mandatory-integrity-control-in-Windows-Vista.aspx#2335458</link><pubDate>Mon, 05 Nov 2007 08:57:12 GMT</pubDate><guid isPermaLink="false">d5e57398-b9ef-4490-9955-07cbb4e4a80d:2335458</guid><dc:creator>Wes' Blog : Failure creating an Outlook application object on Vista</dc:creator><description>&lt;p&gt;PingBack from &lt;a rel="nofollow" target="_new" href="http://puzzleware.net/blogs/archive/2007/11/04/Failure-creating-an-Outlook-application-object-on-Vista.aspx"&gt;http://puzzleware.net/blogs/archive/2007/11/04/Failure-creating-an-Outlook-application-object-on-Vista.aspx&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>