Hay mucho de formas de hackear una PC. Puede explotar vulnerabilidades de software. Puede colocar malware en una unidad USB y dejarlo en un estacionamiento para que un oficinista desprevenido lo recoja y lo conecte. O puede volver la funcionalidad de un sistema operativo contra sí mismo, manipulándolo estratégicamente para obtener el control. Pero una amenaza creciente ahora está obligando a Microsoft a repensar algunas de sus defensas de PC más fundamentales.
Hoy, la compañía anuncia una nueva función de arquitectura de hardware y sistema conocida como Secure Core PC, cuyo objetivo es combatir los ataques al firmware, el código fundamental que coordina el hardware y el software. El firmware ha sido durante mucho tiempo un objetivo de los piratas informáticos, en parte porque normalmente lo escriben los fabricantes de hardware en lugar de los desarrolladores de sistemas operativos y, a menudo, carece de protecciones básicas. Windows se ejecuta en todos los diferentes tipos de firmware en las diferentes PC en las que está instalado, y cada uno ofrece una calidad y seguridad variables. Entonces, Microsoft tiene un nuevo esquema que renueva la forma en que las PC con Windows arrancan para detectar la manipulación maliciosa del firmware antes de que le den a los atacantes las llaves del reino.
«Suceden muchos problemas si el firmware falla. Nuestro equipo rojo interno y la gente externa realmente se han fijado en esto», dice David Weston, director de seguridad del sistema operativo de Microsoft. «El firmware se ejecuta en un nivel privilegiado. Es lo que inicia la máquina: desempeña un papel fundamental. Sin embargo, el firmware no está integrado en los sistemas de actualización como Windows Updates y, para las empresas, su visibilidad del firmware suele ser relativamente limitada, por lo que es muy difícil a privilegiado y hay muchas oportunidades para errores».
Cuando inicia una computadora, desea que el sistema confirme que está ejecutando software genuino y que el sistema operativo no se ha visto comprometido. Microsoft ya ofrece Windows Secure Boot, una función que verifica las firmas criptográficas para confirmar la integridad del software. Pero esas defensas se basan en confiar en el firmware para evaluar todo lo demás. “Cuando la PC arranca, el firmware verifica la firma de cada software de arranque”, explica Microsoft sobre el arranque seguro. Pero, ¿y si el firmware miente?
Habilidad básica
La idea de una PC de núcleo seguro es eliminar el firmware de esta ecuación, eliminándolo como un eslabón en la cadena que determina qué es confiable en un sistema. En lugar de confiar en el firmware, Microsoft ha trabajado con AMD, Intel y Qualcomm para crear nuevos chips de unidades de procesamiento central que pueden realizar comprobaciones de integridad de arranque de una manera verificada y controlada criptográficamente. Solo los fabricantes de chips tienen las claves de cifrado para negociar estas comprobaciones, y se graban en los procesadores durante la fabricación en lugar de interactuar con la capa de código amorfa y, a menudo, poco fiable del firmware.
«Está enraizado en la CPU y ya no en el firmware, porque todavía arranca temprano», dice Weston. «Pero si hay algo manipulado, el código del sistema lo identificará y detendrá todo. Así que estamos eliminando el firmware y cualquier compromiso potencial del círculo de confianza».
Microsoft ya está haciendo algo similar en Xbox, que se sabe que es un ecosistema particularmente seguro. Y Cisco usa un tipo de chip llamado Field Programmable Gate Array para implementar su arranque seguro en lugar de firmware. En los nuevos iPhones, Apple también usa controles de hardware especiales implementados en sus chips ARM personalizados para detectar cualquier actividad divertida tan pronto como se enciende el procesador. Pero en todas estas situaciones, la misma empresa supervisa el desarrollo de hardware y software, lo que hace que estas integraciones sean más convenientes. Con Windows, Microsoft puede coordinarse con los fabricantes de chips, pero no fabrica los dispositivos en los que finalmente se ejecutará el sistema operativo.