Mandatory Integrity Control
Mandatory Integrity Control (MIC) is a core
Implementation
Mandatory Integrity Control is defined using a new access control entry (ACE) type to represent the object's IL in its
Windows Vista defines four integrity levels: Low (SID: S-1-16-4096), Medium (SID: S-1-16-8192), High (SID: S-1-16-12288), and System (SID: S-1-16-16384).[1] By default, processes started by a regular user gain a Medium IL and elevated processes have High IL.[2] By introducing integrity levels, MIC allows classes of applications to be isolated, enabling scenarios like sandboxing potentially-vulnerable applications (such as Internet-facing applications). Processes with Low IL are called low-integrity processes, which have less access than processes with higher ILs where the Access control enforcement is in Windows.
Objects with Access control lists, such as Named
Consequently, a process cannot interact with another process that has a higher IL. So a process cannot perform functions such as inject a DLL into a higher IL process by using the CreateRemoteThread()
function[4] of the Windows API or send data to a different process by using the WriteProcessMemory()
function.[5]
Application
While processes inherit the integrity level of the process that spawned it, the integrity level can be customized at the time of process creation. As well as for defining the boundary for window messages in the
Microsoft Office 2010 introduced the "Protected View" isolated sandbox environment for Excel, PowerPoint, and Word that prohibits potentially unsafe documents from modifying components, files, and other resources on a system.[7] Protected View operates as a low-integrity process and, in Windows Vista and later versions of Windows, uses MIC and UIPI to further restrict the sandbox.[8]
However, in some cases a higher IL process do need to execute certain functions against the lower IL process, or a lower IL process need to access resources that only a higher IL process can access (for example, when viewing a webpage in protected mode, save a file downloaded from the internet to a folder specified by the user).
See also
References
- ^ Symantec Corporation. Archived from the original(PDF) on 2008-05-16. Retrieved 2007-10-08.
- ^ a b Riley, Steve (22 July 2006). "Mandatory Integrity Control in Windows Vista". Microsoft Docs Archive. Microsoft.
- ^ a b c Russinovich, Mark (12 February 2007). "PsExec, User Account Control and Security Boundaries". Windows Blog Archive. Microsoft.
- ^ "CreateRemoteThread function". Windows Dev Center. Microsoft. 5 December 2018.
- ^ "WriteProcessMemory function". Windows Dev Center. Microsoft. 5 December 2018.
- Adobe Systems. Retrieved 2010-09-10.
- ^ "Plan Protected View settings for Office 2010". Microsoft Docs Archive. Microsoft. 5 August 2011.
- ^ Keizer, Gregg (August 19, 2009). "Microsoft struts Office 2010 'sandbox' security". Computerworld. IDG. Retrieved January 23, 2017.
Further reading
- "Windows Vista Integrity Mechanism Technical Reference". Microsoft Docs Archive. Microsoft. 5 July 2007.
- "Introduction to the Protected Mode API". Microsoft Docs Archive. Microsoft. 15 August 2007.