Windows Defender System Guard: cómo una raíz de confianza basada en hardware ayuda a proteger Windows 10

Para proteger recursos críticos como la pila de autenticación de Windows, los tokens de inicio de sesión único, la pila biométrica de Windows Hello y el módulo de plataforma de confianza virtual, el firmware y el hardware de un sistema deben ser de confianza.

Windows Defender System Guard reorganiza las características de integridad del sistema Windows 10 existentes bajo un mismo techo y configura el siguiente conjunto de inversiones en Windows seguridad. Está diseñado para hacer estas garantías de seguridad:

  • Proteger y mantener la integridad del sistema a medida que se inicia
  • Validar que la integridad del sistema se ha mantenido realmente a través de la atestación local y remota

Mantener la integridad del sistema cuando se inicia

Raíz estática de confianza para la medida (SRTM)

Con Windows 7, uno de los medios que usarían los atacantes para persistir y eludir la detección era instalar lo que a menudo se conoce como bootkit o rootkit en el sistema. Este software malintencionado se iniciaría antes Windows iniciar, o durante el propio proceso de arranque, lo que le permite empezar con el nivel más alto de privilegios.

Con Windows 10 en hardware moderno (es decir, certificado Windows 8 o superior) una raíz de confianza basada en hardware ayuda a garantizar que ningún firmware o software no autorizado (como un bootkit) pueda iniciarse antes del cargador de arranque Windows. Esta raíz de confianza basada en hardware proviene de la característica de arranque seguro del dispositivo, que forma parte de la interfaz de firmware extensible unificada (UEFI). Esta técnica de medición de los componentes estáticos de UEFI de arranque temprano se denomina Raíz estática de confianza para la medida (SRTM).

Como hay miles de proveedores de PC que producen muchos modelos con diferentes versiones de BIOS uefi, se convierte en un número increíblemente grande de medidas SRTM al arrancar. Existen dos técnicas para establecer la confianza aquí: mantener una lista de medidas CONOCIDAs de SRTM "mala" (también conocidas como listas de bloqueo) o una lista de medidas CONOCIDAs de SRTM "buenas" (también conocidas como una lista de permitidos).

Cada opción tiene un inconveniente:

  • Una lista de medidas conocidas de SRTM "mala" permite que un hacker cambie solo 1 bit en un componente para crear un hash SRTM totalmente nuevo que debe aparecer. Esto significa que el flujo SRTM es inherentemente frágil: un cambio menor puede invalidar toda la cadena de confianza.
  • Una lista de medidas CONOCIDAs de SRTM "buenas" requiere que cada nueva medición de combinación BIOS/PC se adición cuidadosamente, lo que es lento. Además, una corrección de errores para el código UEFI puede tardar mucho tiempo en diseñar, compilar, volver a probar, validar y volver a implementar.

Inicio seguro: la raíz dinámica de confianza para la medida (DRTM)

Windows Defender System Guard Secure Launch, que se introdujo por primera vez en Windows 10 versión 1809, tiene como objetivo aliviar estos problemas aprovechando una tecnología conocida como raíz dinámica de confianza para la medición (DRTM). DRTM permite al sistema arrancar libremente en código que no es de confianza inicialmente, pero poco después inicia el sistema en un estado de confianza al tomar el control de todas las CPU y forzarlas a bajar una ruta de código conocida y medida. Esto tiene la ventaja de permitir que el código de UEFI inicial que no sea de confianza arranque el sistema, pero luego poder realizar una transición segura a un estado de confianza y medido.

Inicio seguro de System Guard.

Inicio seguro simplifica la administración de las medidas srtm porque el código de inicio no está relacionado con una configuración de hardware específica. Esto significa que el número de medidas de código válidas es pequeño y las actualizaciones futuras se pueden implementar de forma más amplia y rápida.

Protección del modo de administración del sistema (SMM)

El modo de administración del sistema (SMM) es un modo de CPU de uso especial en microcontroladores x86 que controla la administración de energía, la configuración de hardware, la supervisión térmica y todo lo que el fabricante considere útil. Cada vez que se solicita una de estas operaciones del sistema, se invoca una interrupción no enmascarable (SMI) en tiempo de ejecución, que ejecuta el código SMM instalado por el BIOS. El código SMM se ejecuta en el nivel de privilegios más alto y es invisible para el sistema operativo, lo que lo convierte en un destino atractivo para la actividad malintencionada. Incluso si el inicio seguro de System Guard se usa para el inicio tardío, el código SMM puede tener acceso potencialmente a la memoria del hipervisor y cambiar el hipervisor.

Para defenderse de esto, se usan dos técnicas:

  • Protección de paginación para evitar el acceso inadecuado a código y datos
  • Supervisión y atestación de hardware de SMM

La protección de paginación se puede implementar para bloquear determinadas tablas de código para que sean de solo lectura para evitar la manipulación. Esto impide el acceso a cualquier memoria que no se haya asignado.

Una característica de procesador aplicada por hardware conocida como controlador SMI de supervisor puede supervisar el SMM y asegurarse de que no tiene acceso a ninguna parte del espacio de direcciones que se supone que no debe.

La protección SMM se basa en la tecnología de inicio seguro y requiere que funcione. En el futuro, Windows 10 también medirá el comportamiento de este controlador SMI y atestiguará que no se ha manipulado ninguna memoria propiedad del sistema operativo.

Validar la integridad de la plataforma Windows se está ejecutando (tiempo de ejecución)

Aunque Windows Defender System Guard proporciona una protección avanzada que ayudará a proteger y mantener la integridad de la plataforma durante el arranque y en tiempo de ejecución, la realidad es que debemos aplicar una mentalidad de "asumir vulneración" incluso a nuestras tecnologías de seguridad más sofisticadas. Podemos confiar en que las tecnologías están realizando correctamente su trabajo, pero también necesitamos la capacidad de comprobar que lograron sus objetivos. Para la integridad de la plataforma, no podemos confiar solo en que la plataforma, que potencialmente podría estar en peligro, se autoateste su estado de seguridad. Por Windows Defender System Guard incluye una serie de tecnologías que permiten el análisis remoto de la integridad del dispositivo.

Como Windows 10 arranque, Windows Defender System Guard toma una serie de medidas de integridad con el Módulo de plataforma de confianza 2.0 (TPM 2.0) del dispositivo. System Guard Secure Launch no admite versiones anteriores del TPM, como TPM 1.2. Este proceso y los datos están aislados por hardware lejos de Windows para ayudar a garantizar que los datos de medida no estén sujetos al tipo de manipulación que podría producirse si la plataforma estaba en peligro. Desde aquí, las medidas se pueden usar para determinar la integridad del firmware del dispositivo, el estado de configuración de hardware y Windows componentes relacionados con el arranque, por nombrar algunos.

Integridad de tiempo de arranque.

Después de que se inicie el sistema, Windows Defender System Guard firma y sella estas medidas con el TPM. A petición, un sistema de administración como Intune o Microsoft Endpoint Configuration Manager pueden adquirirlos para el análisis remoto. Si Windows Defender System Guard indica que el dispositivo carece de integridad, el sistema de administración puede realizar una serie de acciones, como denegar el acceso del dispositivo a los recursos.