El Control de Integridad Obligatorio ( MIC ) es una función de seguridad fundamental de Windows Vista y versiones posteriores que añade control de acceso obligatorio a los procesos en ejecución según su Nivel de Integridad (IL). El IL representa el nivel de confiabilidad de un objeto. El objetivo de este mecanismo es restringir los permisos de acceso a contextos potencialmente menos confiables (procesos, archivos y otros objetos que se pueden proteger), en comparación con otros contextos que se ejecutan bajo la misma cuenta de usuario y que son más confiables.
Implementación
El Control de Integridad Obligatorio se define mediante un nuevo tipo de entrada de control de acceso (ACE) para representar el nivel de integridad (IL) del objeto en su descriptor de seguridad . En Windows, las Listas de Control de Acceso (ACL) se utilizan para otorgar derechos de acceso (permisos de lectura, escritura y ejecución) y privilegios a usuarios o grupos. Se asigna un IL al token de acceso de un sujeto al inicializarse. Cuando el sujeto intenta acceder a un objeto (por ejemplo, un archivo), el Monitor de Referencia de Seguridad compara el nivel de integridad del token de acceso del sujeto con el nivel de integridad del descriptor de seguridad del objeto . Windows restringe los derechos de acceso permitidos según si el IL del sujeto es superior o inferior al del objeto, y según las marcas de política de integridad en la nueva entrada de control de acceso (ACE). El subsistema de seguridad implementa el nivel de integridad como una etiqueta obligatoria para distinguirlo del acceso discrecional bajo control del usuario que proporcionan las ACL.
Windows Vista define cuatro niveles de integridad: Bajo ( SID : S-1-16-4096), Medio ( SID: S-1-16-8192), Alto ( SID: S-1-16-12288) y Sistema ( SID: S-1-16-16384). [ 1 ] Por defecto, los procesos iniciados por un usuario normal obtienen un IL Medio y los procesos elevados tienen un IL Alto . [ 2 ] Al introducir niveles de integridad, MIC permite aislar clases de aplicaciones, lo que posibilita escenarios como el sandboxing de aplicaciones potencialmente vulnerables (como aplicaciones orientadas a Internet ). Los procesos con IL Bajo se denominan procesos de baja integridad, que tienen menos acceso que los procesos con IL más altos donde se aplica el control de acceso en Windows.
Los objetos con listas de control de acceso, como los objetos con nombre (incluidos archivos , claves de registro o incluso otros procesos e hilos) , tienen una entrada en la Lista de control de acceso del sistema que rige el acceso a ellos y define el nivel mínimo de integridad del proceso que puede usar el objeto. Windows se asegura de que un proceso solo pueda escribir o eliminar un objeto cuando su nivel de integridad sea igual o superior al nivel de integridad solicitado especificado por el objeto. [ 2 ] Además, por motivos de privacidad, los objetos de proceso con un nivel de integridad más alto están fuera de los límites incluso para el acceso de lectura desde procesos con un nivel de integridad más bajo. [ 3 ]
En consecuencia, un proceso no puede interactuar con otro proceso que tenga un nivel de integración (IL) superior. Por lo tanto, un proceso no puede realizar funciones como inyectar una DLL en un proceso con un nivel de integración superior mediante la CreateRemoteThread()función [ 4 ] de la API de Windows o enviar datos a un proceso diferente mediante la WriteProcessMemory()función [ 5 ] .
Solicitud
Si bien los procesos heredan el nivel de integridad del proceso que los originó, este nivel puede personalizarse al momento de su creación. Además de definir el límite para los mensajes de ventana en la tecnología de Aislamiento de Privilegios de Interfaz de Usuario (UIPI), el Control de Integridad Obligatorio es utilizado por aplicaciones como Adobe Reader , Google Chrome , Internet Explorer y el Explorador de Windows para aislar documentos de objetos vulnerables en el sistema. [ 1 ]
Internet Explorer 7 introduce una configuración de "Modo protegido" basada en MIC para controlar si una página web se abre como un proceso de baja integridad o no (siempre que el sistema operativo admita MIC), según la configuración de la zona de seguridad, previniendo así algunas clases de vulnerabilidades de seguridad. Dado que en este caso Internet Explorer se ejecuta como un proceso de baja integridad, no puede modificar objetos del sistema; en su lugar, las operaciones de archivos y del registro se virtualizan. Adobe Reader 10 y Google Chrome son otras dos aplicaciones destacadas que están implementando esta tecnología para reducir su vulnerabilidad al malware. [ 6 ]
Microsoft Office 2010 introdujo el entorno aislado "Vista protegida" para Excel, PowerPoint y Word, que impide que documentos potencialmente peligrosos modifiquen componentes, archivos y otros recursos del sistema. [ 7 ] La Vista protegida funciona como un proceso de baja integridad y, en Windows Vista y versiones posteriores de Windows, utiliza MIC y UIPI para restringir aún más el entorno aislado. [ 8 ]
Sin embargo, en algunos casos un proceso IL superior necesita ejecutar ciertas funciones contra el proceso IL inferior, o un proceso IL inferior necesita acceder a recursos a los que solo puede acceder un proceso IL superior (por ejemplo, al ver una página web en modo protegido, guardar un archivo descargado de Internet en una carpeta especificada por el usuario). [ 1 ] Los procesos IL alto y bajo aún pueden comunicarse entre sí mediante archivos, tuberías con nombre , LPC u otros objetos compartidos. El objeto compartido debe tener un nivel de integridad tan bajo como el proceso IL bajo y debe ser compartido por ambos procesos IL bajo y alto. [ 3 ] Dado que MIC no impide que un proceso IL bajo comparta objetos con un proceso IL superior, puede desencadenar fallos en el proceso IL superior y hacer que trabaje en nombre del proceso IL bajo, causando así un ataque de squatting . [ 3 ] Sin embargo, los ataques de shatter pueden prevenirse mediante el uso de User Interface Privilege Isolation , que aprovecha MIC.
Véase también
Referencias
- 1 2 3 Matthew Conover. "Análisis del modelo de seguridad de Windows Vista" (PDF) . Symantec Corporation . Archivado del original (PDF) el 16 de mayo de 2008. Recuperado el 8 de octubre de 2007 .
- 1 2 Riley, Steve (22 de julio de 2006). "Control de integridad obligatorio en Windows Vista" . Archivo de Microsoft Docs . Microsoft .
- 1 2 3 Russinovich, Mark (12 de febrero de 2007). "PsExec, control de cuentas de usuario y límites de seguridad" . Archivo del blog de Windows . Microsoft .
- ↑ Función "CreateRemoteThread" . Centro de desarrollo de Windows . Microsoft . 5 de diciembre de 2018.
- ↑ Función "WriteProcessMemory" . Centro de desarrollo de Windows . Microsoft . 5 de diciembre de 2018.
- ↑ Brad Arkin (10 de julio de 2010). "Presentación del modo protegido de Adobe Reader" . Adobe Systems . Consultado el 10 de septiembre de 2010 .
- ↑ "Planificar la configuración de Vista protegida para Office 2010" . Archivo de Microsoft Docs . Microsoft . 5 de agosto de 2011.
- ↑ Keizer, Gregg (19 de agosto de 2009). "Microsoft destaca la seguridad del 'sandbox' de Office 2010" . Computerworld . IDG . Consultado el 23 de enero de 2017 .
Lecturas adicionales
Enlaces externos
- Introducción al Control de integridad de Windows: Artículo centrado en la seguridad
- Cómo salir del modo protegido de Internet Explorer de Microsoft
- Tecnología de seguridad de Microsoft Windows