[Articulo] Windows | Novedades en Seguridad de Windows 10: Seguridad en el Inicio de Windows
Windows 10, sin lugar a dudas, ha sido una de las actualizaciones de sistemas operativos más importantes en la historia de Microsoft. Desde el diseño de este nuevo sistema, como así también desde el marketing, Microsoft ha puesto un peso importantísimo a los aspectos de seguridad.
Esta publicación de TecTimes fue actualizada de la originalmente publicada en Noviembre de 2015 con nuevas características de las últimas versiones de Windows 10, bajo nuestra política de no duplicar contenidos, sino mantenerlos actualizados.
En esta publicación vamos a hacer el mejor esfuerzo para recorrer que tiene Windows 10 de nuevo en relación a la segurización del arranque del sistema operativo, como así también qué tiene como continuación y legado de versiones anteriores.
[toc]
Introducción
Objetivo y Alcance
Esta publicación tiene como objetivo demostrar a las organizaciones y profesionales de IT cuáles son las novedades de Windows 10 en materia de segurización en el arranque del sistema operativo.
En relación al alcance, vamos a recorrer en un mediano nivel de profundidad las siguientes funcionalidades:
- Secure Boot.
- Trusted Boot.
- Early Launch Antimalware (ELAM).
- Measured Boot.
Audiencia
Este documento está dirigido a Consultores, Profesionales IT y personas que desarrollan tareas de Consultoría, Administración y Soporte o que simplemente están interesados en leer e investigar sobre la tecnología alcanzada por esta publicación.
Comentarios y Corrección de Errores
Hemos realizado nuestro mejor esfuerzo para no cometer errores, pero al fin y al cabo somos seres humanos. Si deseás reportar algún error o darnos feedback de qué te pareció esta publicación, por favor no dejes de comunicarte con nosotros a través de correo electrónico a la siguiente dirección: info@tectimes.net.
Desarrollo
En este grupo de características de seguridad vamos a recorrer aquellas relacionadas al cuidado del proceso de inicio de Windows, desde que se enciende el dispositivo hasta que podemos, al fin y al cabo, completar el proceso de inicio de sesión de usuario.
Las formas más agresivas de malware tratan de integrarse con el proceso de inicio del sistema operativo (proceso de arranque) para poder tomar control completo del sistema desde un principio y evitar que cualquier software de protección los detecte o inhabilite.
Los Rootkits son un sofisticado y peligroso tipo de malware que se ejecuta en modo Kernel, usando los mismos privilegios que el sistema operativo. Debido a esto, son capaces de ocultarse a otro software e inclusive a sí mismos. Este tipo de malware puede saltearse requerimientos de inicio de sesión locales, grabar contraseñas, transferir archivos y hasta capturar información criptográfica.
Existen diferentes tipos de Rootkits que pueden cargarse durante las diferentes fases del arranque del sistema operativo:
- Firmware rootkits. Estos kits sobreescriben el firmware de la PC (BIOS por ejemplo) y pueden iniciarse antes del sistema operativo.
- Bootkits. Estos kits sobreescriben el bootloader del sistema operativo (pequeña pieza de software que arranca el sistema operativo) por lo cual los mismos se inician antes del sistema operativo.
- Kernel rootkits. Estos kits reemplazan una porción del kernel del sistema operativo por lo cual los mismos pueden iniciar automáticamente cuando el sistema operativo está inicializandose.
- Driver rootkits. Estos kits pretenden ser uno de los controladores confiados por el sistema operativo para comunicarse con el hardware.
Windows 10 (como también versiones anteriores de Windows como 8/8.1) hacen lo posible por asegurar que el proceso de arranque esté protegido y limitar al máximo la presencia de Rootkits. Algunas de estas características vienen por defecto en el sistema, y otras requieren de hardware especializado.
En el siguiente gráfico, extraido de la publicación de Ed Bott (Bott, 2015) podemos ver, de punta a punta, el proceso de inicio de Windows y los mecanismos de protección existentes para evitar la problemática de los Rootkits analizada:
Vamos a conocer en detalle cada punto identificado en el gráfico anterior, de modo tal de tener un panorama completo de cómo Windows 10 protege el proceso de arranque.
Secure Boot
Conocido como “arranque seguro”, Secure Boot es una característica estándar de la arquitectura UEFI. UEFI es la sigla de Unified Extensible Firmware Interface, y es una interfaz de firmware estándar para PCs, diseñada para reemplazar el BIOS (sistema básico de entrada y salida). Es un estándar creado por más de 140 compañías tecnológicas que forman parte del consorcio UEFI, en el que se incluye Microsoft. Se ha diseñado para mejorar la interoperabilidad del software y solucionar las limitaciones del BIOS.
En una PC con BIOS convencional, cualquier software puede tomar el control del proceso de arranque a través de un cargador alternativo de sistema operativo. Cuando está habilitad, en cambio, esta funcionalidad de Secure Boot el equipo puede arrancar usando solamente un cargador de sistema operativo (OS Loader) que esté firmado con un certificado digital almacenado en el firmware UEFI. Windows 10 (y Windows 8.1) utilizan este modelo de protección.
Esta opción, para poder utilizarse, requiere hardware especializado (Motherboard con UEFI disponible) y el dispositivo debe estar certificado para ejecutar Windows 8.1 o posterior en el marco de “Windows Hardware Certification Program” (WHCP).
Trusted Boot
Trusted Boot es una característica presente desde Windows 8.1 que permite proteger el arranque de Windows y la solución antimalware de que, justamente, sean manipulados por malware. Específicamente previene de infecciones de tipo boot kits y no requiere un dispositivo certificado o que incluya UEFI 2.3.1.
Normalmente se puede llegar a confundir Trusted Boot con Secure Boot. La gran diferencia es que Secure Boot protege desde el inicio de arranque del equipo al sistema operativo, permitiendo cargar solo aquel que esté firmado (como hemos visto antes). Secure Boot, a diferencia de Trusted Boot, sí requiere UEFI.
Esta característica verifica que todos los componentes que participan en el arranque de Windows son integros y confiables. El gestor de arranque verifica la firma digital del Kernel antes de cargarlo, y el Kernel a su vez verifica los restantes componentes del proceso de inicio del sistema operativo, incluyendo controladores, archivos de inicio y el componente ELAM que describimos anteriormente.
Early Launch Antimalware (ELAM)
El Lanzamiento Temprano de Software Antimalware (ELAM) es la capacidad de que el software antimalware cargue sus controladores firmado por Microsoft antes que otras aplicaciones y controladores (drivers). De esta forma, el software antimalware puede detectar y bloquear cualquier intento de manipulación que se registre durante el proceso de arranque y en forma temprana.
Cualquier software antimalware que sea compatible con las características requeridas de seguridad de Windows 8 y versiones posteriores puede ser certificado y firmado por Microsoft. Windows 8 y por supuesto Windows 10 incorpora en forma nativa a Windows Defender, el software antimalware de Microsoft. No obstante, el mismo puede ser reemplazado por un software (firmado) de otro fabricante.
Measured Boot
Esta característica también está presente desde Windows 8.1 y complementa a Trusted Boot. Trusted Boot puede proteger el proceso de arranque, componentes de Windows y el software antimalware, pero solo una entidad externa confiable puede verificar la integridad del sistema.
Measured Boot registra y toma medidas de cada aspecto del hardware y proceso de arranque de Windows, incluyendo por supuesto el firmware UEFI, almacenando todos estos valores en un dispositivo TPM. Durante cada arranque subsiguiente, los mismos componentes se miden y pueden ser comparados con los almacenados en el dispositivo TPM para garantizar su integridad.
A petición, Windows puede enviar estas mediciones a un tercero de confianza (por ejemplo, Microsoft Intune), quién sería una entidad externa confiada para que compare las mediciones con valores buenos conocidos. Si la entidad así lo considera, dará fe que el proceso de arranque es seguro e íntegro, indicando que el dispositivo es seguro e informándolo al cliente. Este proceso se conoce como “Remote Attestation” y el servicio como “Windows Provable PC Health (PPCH)”.
En el caso que utilicemos Microsoft Intune u otro servicio confiable, el proceso de Measured Boot + Remote Attestation se graficaría de la siguiente manera:
Conclusiones
Como hemos comentado antes, los Rootkits son un peligroso tipo de malware. Ya hemos presentado y analizado las características que Windows 10 (y en muchos casos Windows 8/8.1) tienen para protegernos.
En el siguiente gráfico haremos un resumen del proceso de arranque y donde se ubica cada uno de los componentes vistos anteriormente:
Referencias y Links
- Windows 10 Overview: https://technet.microsoft.com/en-us/itpro/windows/keep-secure/windows-10-security-guide