Las claves de seguridad de la placa base de bajo nivel se filtraron en la violación de MSI, afirman los investigadores

Las claves de seguridad de la placa base de bajo nivel se filtraron en la violación de MSI, afirman los investigadores

Nodo de origen: 2641177

Hace aproximadamente un mes, escribimos sobre un notificación de violación de datos emitido por el principal fabricante de placas base MSI.

La compañía dijo:

MSI sufrió recientemente un ciberataque en parte de sus sistemas de información. […] Actualmente, los sistemas afectados han ido retomando su normal funcionamiento de forma paulatina, sin impacto significativo en el negocio financiero. […] MSI insta a los usuarios a obtener actualizaciones de firmware/BIOS solo desde su sitio web oficial y a no utilizar archivos de fuentes distintas al sitio web oficial.

El mea culpa de la compañía se produjo dos días después de que una pandilla de extorsión cibernética conocida como Money Message afirmara haber robado el código fuente de MSI, las herramientas de desarrollo de BIOS y las claves privadas.

En ese momento, los delincuentes todavía estaban en modo de cuenta regresiva y afirmaron que "publicar datos robados cuando expire el temporizador":

Captura de pantalla tres horas antes de que expirara el temporizador de incumplimiento [2023-04-07].

Reloj detenido

El "temporizador de revelación" en la captura de pantalla anterior expiró el 2023-04-07, hace poco más de un mes, pero el sitio de Money Message en la web oscura no ha cambiado desde la publicación inicial de la pandilla:

Un mes después [2023-05-09].

Sin embargo, los investigadores de la empresa de investigación de vulnerabilidades Binarly afirman no solo haberse apoderado de los datos robados en la filtración, sino también haber buscado en ellos claves criptográficas incrustadas y hallar numerosos resultados.

Hasta ahora, Binarly está reclamando Github y Twitter haber extraído numerosas claves de firma de los datos en su poder, incluido lo que describe [2023-05-09T14:00Z] como:

  • 1 clave OEM de Intel. Aparentemente, esta clave se puede usar para controlar la depuración de firmware en 11 placas base diferentes.
  • 27 claves de firma de imágenes. Binarly afirma que estas claves se pueden usar para firmar actualizaciones de firmware para 57 placas base MSI diferentes.
  • 4 teclas Intel Boot Guard. Estas claves filtradas aparentemente controlan la verificación en tiempo de ejecución del código de firmware para 116 placas base MSI diferentes.

Protección BIOS basada en hardware

Según Intel documentación propia, las placas base modernas basadas en Intel pueden protegerse mediante múltiples capas de seguridad criptográfica.

Primero viene Guardia del BIOS, que solo permite que el código firmado con una clave criptográfica especificada por el fabricante obtenga acceso de escritura a la memoria flash utilizada para almacenar los llamados Bloque de arranque inicial, o IBB.

Como sugiere el nombre, el IBB es donde vive el primer componente del código de inicio del proveedor de la placa base.

Subvertirlo le daría a un atacante control sobre una computadora infectada no solo a un nivel por debajo de cualquier sistema operativo que se cargue más tarde, sino también por debajo del nivel de cualquier utilidad de firmware instalada en el EFI oficial (interfaz de firmware extendida) partición de disco, potencialmente incluso si esa partición está protegida por el propio sistema de firma digital Secure Boot del firmware.

Después de que llegue BIOS Guard Protector de arranque, que verifica el código que se carga desde la IBB.

La idea aquí parece ser que, aunque BIOS Guard debería evitar que se actualice cualquier actualización de firmware no oficial, al negar el acceso de escritura a las herramientas de actualización de firmware no autorizadas...

…no puede decir que no se puede confiar en el firmware firmado “oficialmente” por el proveedor de la placa base debido a una clave de firma de imagen de firmware filtrada.

Ahí es donde interviene Boot Guard, proporcionando un segundo nivel de certificación que tiene como objetivo detectar, en tiempo de ejecución durante cada arranque, que el sistema está ejecutando un firmware que no está aprobado para su placa base.

Almacenamiento de claves de una sola escritura

Para fortalecer el nivel de verificación criptográfica proporcionada por BIOS Guard y Boot Guard, y para vincular el proceso a una placa base o familia de placas base específicas, las claves criptográficas que utilizan no se almacenan en la memoria flash regrabable.

Están salvados, o estropeado, en la jerga, en la memoria de una sola escritura incrustada en la propia placa base.

La palabra estropeado se deriva del hecho de que el circuito de almacenamiento está construido como una serie de "cables de conexión" nanoscópicos implementados como pequeños fusibles eléctricos.

Esas conexiones se pueden dejar intactas, lo que significa que se leerán como 1 binarios (o 0, dependiendo de cómo se interpreten) o "quemadas", fusionadas en otras palabras, en una modificación única que las invierte permanentemente. en 0 binarios (o 1).

La activación del proceso de grabación de bits está protegida por un fusible, por lo que el proveedor de la placa base tiene una oportunidad única de establecer el valor de estos llamados Fusibles programables de campo.

Esa es la buena noticia.

Una vez que las claves de verificación criptográfica BIOS Guard y Boot Guard se escriben en la memoria fusible, se bloquean para siempre y nunca puede ser subvertido.

Pero la mala noticia correspondiente, por supuesto, es que si las claves privadas que corresponden a estas claves públicas seguras hasta el fin del universo se ven comprometidas, las claves públicas grabadas nunca se puede actualizar.

Del mismo modo, una clave OEM de nivel de depuración, como se mencionó anteriormente, proporciona al proveedor de la placa base una forma de controlar el firmware mientras se inicia, lo que incluye verlo instrucción por instrucción, ajustar su comportamiento, espiar y modificar los datos. se mantiene en la memoria, y mucho más.

Como puede imaginar, este tipo de acceso y control sobre el proceso de arranque está destinado a ayudar a los desarrolladores a obtener el código correcto en el laboratorio, antes de que se queme en las placas base que se enviarán a los clientes.

Intel documentación enumera tres niveles de depuración.

Verde denota acceso de depuración permitido a cualquier persona, que no debe exponer ningún secreto de bajo nivel ni permitir que se modifique el proceso de arranque.

Naranja denota acceso completo de depuración de lectura y escritura permitido a alguien que tiene la clave privada del proveedor correspondiente.

Rojo denota lo mismo que naranja, pero se refiere a una clave privada maestra que pertenece a Intel que puede desbloquear la placa base de cualquier proveedor.

Como Intel, de manera bastante obvia y sin rodeos, afirma en su documentación:

Se supone que el fabricante de la plataforma no compartirá su clave de autenticación [Modo naranja] con ningún otro conjunto de depuradores.

Desafortunadamente, Binarly afirma que los delincuentes han filtrado una clave de modo naranja que puede permitir la depuración de tiempo de arranque de bajo nivel en 11 placas base diferentes suministradas por HP, Lenovo, Star Labs, AOPEN y CompuLab.

Cuidado con el bootkit

Por lo tanto, las afirmaciones de Binarly parecen sugerir que con una clave de firma de firmware y una clave de firma de Boot Guard, un atacante no solo podría engañarlo a usted y a sus herramientas de actualización de firmware para que instalen lo que parece ser una actualización de firmware genuina en primer lugar...

…pero también ser capaz de engañar a una placa base que ha sido bloqueada por hardware a través de la protección Boot Guard para que permita que se cargue ese firmware falso, incluso si la actualización corrige el Bloque de arranque inicial en sí.

Del mismo modo, poder iniciar una computadora robada en modo de depuración de firmware podría permitir que un atacante ejecute o implante código no autorizado, extraiga secretos o manipule de otra manera el proceso de inicio de bajo nivel para dejar la computadora de la víctima en un estado no confiable, inseguro e inseguro. estado.

En pocas palabras, podría, al menos en teoría, terminar no solo con un rootkit, Pero una bootkits.

A rootkit, en la jerga, es un código que manipula el kernel del sistema operativo para evitar que incluso el propio sistema operativo detecte, informe o prevenga ciertos tipos de malware más adelante.

Algunos rootkits se pueden activar después de que se haya cargado el sistema operativo, generalmente al explotar una vulnerabilidad a nivel de kernel para realizar cambios internos no autorizados en el código del sistema operativo.

Otros rootkits eluden la necesidad de un agujero de seguridad a nivel de kernel al subvertir parte de la secuencia de inicio basada en firmware, con el objetivo de tener una puerta trasera de seguridad activada antes de que el sistema operativo comience a cargarse, comprometiendo así parte del código subyacente en el que se ejecuta. depende de la propia seguridad del sistema.

Y un bootkits, en términos generales, lleva ese enfoque aún más lejos, de modo que la puerta trasera de bajo nivel se carga lo antes posible y de la manera más indetectable posible en el proceso de arranque del firmware, tal vez incluso antes de que la computadora examine y lea algo del disco duro.

Un bootkit a ese nivel significa que incluso borrar o reemplazar todo el disco duro (incluido el llamado Partición del sistema de interfaz de firmware extendida, abreviado EFI o ESP) no es suficiente para desinfectar el sistema.

Configuración típica de disco de Mac.
La partición EFI está etiquetada en consecuencia.
Configuración típica del disco de Windows 11.
Tipo de Propiedad c12a7...ec93b denota una partición EFI.

Como analogía, se podría pensar en un rootkit que se carga después del sistema operativo como si tratara de sobornar a un jurado para absolver a un acusado culpable en un juicio penal. (El riesgo de que esto suceda es una de las razones por las que los jurados penales suelen tener 12, 15 o más miembros).

Un rootkit que se carga tarde en el proceso de firmware es un poco como tratar de sobornar al fiscal o al investigador jefe para que haga un mal trabajo y deje al menos algunas lagunas probatorias para que las partes culpables puedan escabullirse.

Pero un bootkit es más como conseguir que la propia legislatura derogue la misma ley bajo la cual se acusa al acusado, de modo que el caso, sin importar qué tan cuidadosamente se recopilen y presenten las pruebas, no pueda proceder en absoluto.

¿Qué hacer?

Las claves públicas de Boot Guard, una vez grabadas en su placa base, no se pueden actualizar, por lo que si sus claves privadas correspondientes se ven comprometidas, no hay nada que pueda hacer para corregir el problema.

Las claves de firma de firmware comprometidas se pueden retirar y reemplazar, lo que brinda a los descargadores de firmware y herramientas de actualización la posibilidad de advertirle en el futuro sobre el firmware que se firmó con una clave que ahora no es de confianza, pero esto no evita activamente que se usen las claves de firma robadas. .

Perder las llaves de firma es un poco como perder la llave maestra física de cada piso y cada suite en un edificio de oficinas.

Cada vez que cambia una de las cerraduras comprometidas, ha reducido la utilidad de la llave robada, pero a menos que haya cambiado todas las cerraduras, no habrá resuelto correctamente su problema de seguridad.

Pero si reemplaza inmediatamente todas las cerraduras del edificio durante la noche, cerrará a todos, por lo que no podrá permitir que los inquilinos y trabajadores genuinos sigan usando sus oficinas durante un período de gracia durante el cual pueden cambiar sus llaves viejas. para los nuevos

Su mejor apuesta en este caso, por lo tanto, es ceñirse al consejo original de MSI:

[O]btenga actualizaciones de firmware/BIOS solo del sitio web oficial de [MSI], y [no] use archivos de fuentes distintas al sitio web oficial.

Desafortunadamente, ese consejo probablemente se reduce a cinco palabras no del todo útiles y un signo de exclamación.

¡Tengan cuidado, amigos!


Actualización. La empresa de relaciones públicas de Intel nos envió un correo electrónico para decirnos que la empresa “está al tanto de estos informes y está investigando activamente”. También nos pidieron que señaláramos que "Las claves OEM de Intel Boot Guard son generadas por el fabricante del sistema, [así que] estas no son claves de firma de Intel". La abreviatura OEM es la abreviatura de fabricante de equipos originales, un término ligeramente confuso pero establecido desde hace mucho tiempo que no se refiere al proveedor o proveedores de los componentes individuales integrados en un producto, sino al proveedor que fabricó el sistema completo. Por ejemplo, cuando compra lo que podría denominar una "placa base Intel" de MSI, MSI es el OEM, mientras que Intel es el proveedor del chip del procesador, y quizás de otros componentes del conjunto de chips, en el corazón del producto terminado. (Si su placa base fuera un cable de seguridad para bicicletas, entonces Intel habría hecho el candado, pero el OEM habría soldado el cable, cubierto el producto con su capa protectora y elegido los números para la combinación). [2023-05 -09T22:45Z]


Sello de tiempo:

Mas de Seguridad desnuda