14 may 2014

Los niveles de integridad de Windows. Parte 1

Buenas a todos, desde el ya casi olvidado Windows Vista, hasta el último Windows 8.1, Microsoft ha introducido una medida de seguridad muy interesante denominada "niveles de integridad" (más info en Mandatory Integrity Control, MIC).

Explicado a alto nivel, estos niveles de integridad evitarían que un objeto del sistema con un nivel de integridad menor, pueda acceder a otro objeto con un nivel de integridad mayor.

¿Para qué sirve esto? Pongamos un ejemplo. Imaginaros que un proceso con nivel de integridad mínimo ha sido explotado, si el atacante quisiese "saltar" a otro proceso con un nivel de integridad mayor, el sistema operativo se lo impediría, por contar con un nivel de integridad que requiere mayor privilegio. 

Podemos distinguir los siguientes niveles de integridad en Windows:
  • Untrusted
  • Low
  • Medium (por defecto y el más habitual)
  • High
  • System
Una manera sencilla de visualizar con qué nivel de integridad corre cada proceso, es hacer uso de la herramienta Process Explorer.

Para que veáis un ejemplo, voy a arrancar el instalador del software Thunderbird y voy a arrancar PE:


Si os fijáis en la captura, y habilitamos la columna "Integrity" de Process Explorer, veremos como por defecto, este software tiene integridad "Media".

Una curiosidad que se puede apreciar en la captura, es que el instalador de Thunderbird realiza un proceso de extracción, por tanto, si alterásemos su nivel de integridad, para que sea de nivel "bajo". El sistema operativo le impediría acceder al extractor de archivos, provocando un error y evitando que el software se instalase ¿no?

En el próximo post ilustraremos esta idea con una interesante herramienta y una PoC. 

Saludos!

No hay comentarios:

Publicar un comentario