¿Se puede instalar malware BIOS desde el sistema operativo?

4

¿Se puede aprovechar una vulnerabilidad del sistema operativo para instalar malware BIOS / UEFI / firmware (como un keylogger)? Sé que BIOS es un nivel "más profundo" que el sistema operativo. Sé que los keyloggers basados en firmware existen. Sé que un adversario puede instalarlos para actualizar el BIOS. Pero, ¿puede un sistema operativo, es decir, Windows escribir en el firmware? ¿Podría un hacker teóricamente (ya sea que se haya hecho esto o no) explotar una vulnerabilidad de seguridad en el sistema operativo de una víctima y usarla para actualizar el BIOS o instalar malware en el firmware? Y si no es así, ¿cómo podría alguien flashear / infectar el BIOS de forma remota? ¿Y cómo se puede proteger contra eso?

    
pregunta Emma 18.02.2018 - 22:40
fuente

2 respuestas

2

Configuración de firmware

Escribir en el BIOS es una operación privilegiada, que solo puede realizar el superusuario. Muchos BIOS intentan evitar esto, por ejemplo, bloqueando el bit de escritura SPI y limitando la capacidad de SMM para interactuar con el BIOS. Desafortunadamente, hay tantas formas de modificar el BIOS que muchos (¿la mayoría?) Los fabricantes de firmware no bloquean adecuadamente la configuración, lo que permite que el superusuario la modifique. Se puede determinar si un sistema determinado tiene o no un BIOS vulnerable utilizando el marco CHIPSEC . Analiza el sistema en busca de errores de configuración comunes y los informa, junto con las implicaciones. Informará si todos los bits de bloqueo requeridos están configurados al inicio o no. En muchos casos, simplemente no lo son.

Esto no es necesariamente suficiente para proteger contra un atacante con acceso privilegiado. Un atacante lo suficientemente avanzado, incluso si no puede modificar el BIOS, aún puede modificar las ROM de opciones o incluso firmware del dispositivo de almacenamiento . Como mínimo, pueden dañar físicamente la computadora escribiendo repetidamente en un almacenamiento no volátil sensible a la escritura, como la NVRAM. Pero independientemente de otros riesgos restantes, el primer paso es bloquear el BIOS o, al menos, determinar si está bloqueado.

Además, las tareas privilegiadas tienen acceso a interfaces de bajo nivel en el sistema. Ha habido un aumento en investigación de seguridad de firmware últimamente, lo que ha demostrado que, incluso con todos los bloqueos correctamente configurados, la complejidad y la La dificultad en los sistemas de parches hace que los errores se generalicen. Esto puede manifestarse simplemente como formas de eludir la seguridad del firmware, o incluso formas de obtener aún más privilegios .

Arranque medido

Muchos sistemas modernos vienen con Intel BootGuard , una tecnología que permite que un conjunto de chips físicos verifique una BIOS firmada antes de iniciar. Si bien no es perfecto , intenta evitar que se ejecute un firmware sin firma, incluso si el firmware es capaz de ser modificado. Esto requiere un sistema moderno que haya sido premontado por un OEM. Si este no es el caso, se puede usar un TPM para verificar la integridad de la BIOS, alertándole si ha habido modificaciones.

BootGuard funciona firmando digitalmente el BIOS. La clave utilizada para la verificación se graba en el PCH en el momento del montaje por parte del OEM. Cuando el sistema arranca, la firma del BIOS es verificada por la clave pública. Un atacante no puede modificar esta clave pública ya que está escrita en fusibles OTP (programables una sola vez).

El TPM funciona un poco diferente. Un bit de código de solo lectura en la BIOS llamado CRTM envía una copia de la BIOS al TPM, que la contiene. Esto sucede luego con el resto de la configuración del sistema, como la configuración de inicio, las ROM opcionales y el MBR. Si todos estos hashes coinciden con el valor esperado, el TPM liberará un valor secreto que ha estado almacenando de manera segura. Este valor puede ser una clave de cifrado necesaria para finalizar el arranque, o puede ser un valor secreto que solo usted conoce, por lo que un atacante, incluso uno que puede modificar el contenido de la pantalla, no puede hacerse pasar por un TPM no sellado.

Resumen

No siempre es posible proteger por escrito su firmware, ya sea por amenazas de hardware o software. En general, si un atacante tiene un acceso local malintencionado (incluso si no es físico) a su máquina con altos privilegios, normalmente puede hacer lo que quiera. La mejor solución es evitar que obtengan altos privilegios en primer lugar. Si eso no es posible, entonces solo hay tres soluciones:

  • Asegúrese de que su BIOS bloquee todos los bits requeridos, según lo determine CHIPSEC.
  • Use un sistema con Intel BootGuard compatible y habilitado.
  • Utilice un TPM para proporcionar un arranque medido. Esto no siempre es práctico.
respondido por el forest 20.02.2018 - 05:50
fuente
-2

Respuesta corta: la mayoría del software del sistema que puede actualizarse puede actualizarse desde el contexto de un sistema operativo en ejecución.

Ahora, existe una amplia protección en el trabajo (al menos en las placas base de PC / x86 modernas) con elementos como los anillos numerados negativos a los que solo se puede acceder a través de SMI, etc., pero se ha demostrado que son defectuosos en varias instancias, y al final Incluso una actualización de firmware legítima puede ser un malware.

Así que sí. Pregunta estándar: "Tengo un sistema complejo; ¿es vulnerable?", Respuesta estándar: "Sí. ¡Siguiente!"

    
respondido por el Marcus Müller 19.02.2018 - 00:02
fuente

Lea otras preguntas en las etiquetas