¿Puede un virus destruir el BIOS de una computadora moderna?

A fines de la década de 1990, un virus informático conocido como CIH comenzó a infectar algunas computadoras. Su carga útil, cuando se activa, sobrescribe la información del sistema y destruye la BIOS de la computadora, esencialmente bloqueando cualquier computadora que haya infectado. ¿Podría un virus que afecta los sistemas operativos modernos (como Windows 10) destruir la BIOS de una computadora moderna y esencialmente bloquearla de la misma manera? manera, o ahora es imposible que un virus obtenga acceso al BIOS de una computadora moderna?

Comentarios

  • sí, pero desde la perspectiva de un atacante es un desperdicio o recursos … Más información sobre un rootkit para UEFI como un ejemplo en el documento siguiente … welivesecurity.com/wp-content/uploads/2018/ 09 / ESET-LoJax.pdf
  • Los comentarios no son para una discusión extensa; esta conversación ha sido movida al chat .
  • Algunas (¿o la mayoría?) de las placas base de escritorio tienen una ROM que se usa para recuperar el BIOS de alguna forma. de los medios (en los viejos tiempos, disquetes, en estos días, memorias USB, tal vez CD-ROM). La ROM no puede ‘ t modificarse, sin embargo, la recuperación generalmente requiere abrir la carcasa y mover un puente para iniciar el modo de recuperación del BIOS. No ‘ no sé cómo las laptops manejan esto.
  • Relacionado: security.stackexchange.com/q / 13105/165253

Respuesta

Las computadoras modernas no tienen BIOS, tienen a UEFI . Actualizar el firmware UEFI desde el sistema operativo en ejecución es un procedimiento estándar, por lo que cualquier malware que logre ejecutarse en el sistema operativo con suficientes privilegios podría intentar Sin embargo, la mayoría de las UEFI no aceptarán una actualización que no esté firmada digitalmente por el fabricante. Eso significa que no debería ser posible sobrescribirlo con código arbitrario.

Sin embargo, esto supone que:

  1. los fabricantes de la placa base logran mantener en secreto sus claves privadas
  2. la UEFI no tiene ninguna vulnerabilidad de seguridad no intencionada que permita sobrescribirla con código arbitrario o que pueda ser explotada para causar daños.

Y esas dos suposiciones no necesariamente se cumplen .

Con respecto a las claves filtradas: si una clave de firma UEFI llegara a ser conocida por el público en general, entonces puede suponer que habría una gran cantidad de informes de los medios y parches histéricos en curso. Si sigue algunos Noticias de TI, es probable que veas muchos titulares alarmistas «Si tienes una placa base [marca] ACTUALIZA TU UEFI AHORA! 1111oneone» . Pero otra posibilidad es firmar claves secretamente filtradas a actores estatales. Entonces, si su trabajo puede ser interesante para el espionaje industrial, entonces esto también podría ser una amenaza creíble para usted.

Con respecto a los errores: las UEFI ganan cada vez más funciones que tienen cada vez más posibilidades de errores ocultos. También carecen de la mayoría de las funciones de seguridad internas que tiene después de haber iniciado un sistema operativo «real».

Comentarios

  • Los comentarios no son para extender discusión; esta conversación ha sido movida al chat .

Responder

Sí, definitivamente es posible.

Hoy en día, con UEFI extendiéndose, es aún más preocupante: UEFI tiene una superficie de ataque mucho más grande que el BIOS tradicional y una falla (potencial) en UEFI podría ser una ventaja para obtener acceso a la máquina sin tener cualquier tipo de acceso físico ( como lo demostró la gente de Eclypsium en black hat el año pasado ).

Respuesta

Prácticamente hablando, un virus es software, así que puede hacer cualquier cosa que cualquier otro software pueda hacer.

Así que la forma más sencilla responder a esta pregunta, y todas las demás de la clase «¿Pueden los virus hacer X?» es preguntar «¿El software hace X actualmente?»

Estas preguntas podrían incluir «¿puede un virus pasear a mi perro?» (no sin un robot paseador de perros); «¿Puede un virus traerme pizza?» (sí: lamentablemente, este no es el enfoque principal de la mayoría de los autores de virus).

¿Las BIOS (UEFI) se actualizan actualmente mediante software? La respuesta es sí, lo son. El mío se actualizó anoche, cuando reinicié.

Y la respuesta es sí.

Siguiendo la misma lógica, los virus también pueden causar (e históricamente han causado) daños físicos a su CPU, discos duros e impresoras.

Los sistemas de domótica y los vehículos sin conductor también son posibles objetivos de daños físicos, pero no conozco ningún virus que lo haya hecho.

Comentarios

  • No ‘ me importaría mucho si mi información personal fuera utilizada por desarrolladores de malware para pedirme pizza gratis y nada más. (+1 para un razonamiento útil)
  • @Marc.2377, no me importaría mucho si su información personal se utilizara para pedir pizza gratis… 🙂
  • Los virus modernos tendrán una tiempo causando daño físico. A lo sumo, podrían desgastar un poco el hardware al ejecutar la CPU muy caliente, lo que acorta la vida útil, pero ‘ no es común que pueda causar daños. . Sin embargo, en el pasado ese no era ‘ t el caso. Vea » el golpe de la muerte «.
  • @forest Aren ‘ t controlan los ventiladores y los sistemas de enfriamiento en estos días? ‘ no estoy seguro, pero apuesto a que de alguna manera podrías dañar la CPU o el ventilador de la GPU con el software. Rusia destruyó los generadores de forma remota al encenderlos y apagarlos a una frecuencia resonante; apuesto a que hay trucos similares que podrían matar su monitor con bastante rapidez. Los discos duros de plato definitivamente pueden destruirse girándolos hacia arriba y hacia abajo repetidamente, las unidades de estado sólido son vulnerables a ciclos repetidos de lectura / escritura. Apuesto a que un hacker motivado podría hacer muchas cosas ..
  • Creo que ‘ d necesitamos definir el alcance de » causar daño físico » antes de decidir si era posible / plausible. Si restringe la definición a dañar literalmente la computadora que ejecuta el código, eso ‘ es bastante limitado y creo que @forest tiene razón. Si incluye el daño físico en un sentido más general, ‘ es mucho más fácil imaginar escenarios en los que una computadora infectada ‘ está controlando algo cualquier otra cosa (planta de energía, semáforos, sistema de transporte público, planta de tratamiento de agua, etc.) fácilmente podría causar daños físicos importantes.

Respuesta

Sí, definitivamente es posible.

A continuación, se muestra un ejemplo de una actualización de SO de malware firmada de manera fraudulenta con la clave privada del fabricante: https://www.theregister.co.uk/2019/03/25/asus_software_update_utility_backdoor/

Según Kaspersky Labs, alrededor de un millón de portátiles Asus fueron infectados por Shadowhammer, con una actualización que parecía estar correctamente firmada. No está claro si eso alteró el firmware, pero ciertamente podría haberlo hecho.

Respuesta

Su pregunta insinúa un tema más profundo que son los anillos y los permisos de código en un sistema operativo. En MS DOS, el código puede hacer lo que quiera. Si el código quisiera escribir todos los 0x00 «s en un disco duro, podría hacerlo si quisiera enviar una salida extraña a una pieza de hardware, también podría no haber nada que detuviera el código del usuario. En un sistema operativo moderno existe un concepto de anillos (esto lo hace cumplir la CPU). El kernel se ejecuta en el anillo cero y puede hacer lo que quiera. El código del usuario, por otro lado, no puede hacerlo. Se ejecuta en algo llamado anillo 3 y se le da su propia pequeña pieza de memoria y dentro de esa memoria puede hacer lo que quiera, pero no puede hablar directamente con el hardware. . Si el código del usuario intenta hablar con el hardware, el kernel mata inmediatamente el programa. Esto significa que es muy poco probable que un virus normal pueda matar el hardware porque no puede hablar con él directamente.

Si el kernel es pirateado y el juego básicamente termina. El kernel puede hacer lo que quiera y puede suceder una gran cantidad de cosas malas, como overclocking de la CPU hasta un punto en el que el hardware es inestable, borrando los discos duros (llenando el con ceros por ejemplo), o prácticamente cualquier otro ataque plausible.

Comentarios

  • » Si el código del usuario ‘ s intenta hablar con el hardware, el kernel inmediatamente mata el programa » – ¿De verdad? ¿Proporcionar una cita para eso? Pensé que la instrucción protegida simplemente fallaría y ‘ depende del programa para lidiar con eso razonablemente o fallará.
  • @Marc .2377 Es correcto. Si el usuario ‘ s código intenta ejecutar una instrucción en CPL3 que requiere privilegios CPL0, arrojará #GP(0) (falla de protección general o GPF). Esto hace que el código salte al kernel para ver qué manejador de señales se configuró para ese evento. Por defecto, el kernel matará el proceso, aunque ‘ es técnicamente posible que el proceso configure un manejador de señales para SIGSEGV, en cuyo caso el kernel reanuda la ejecución del proceso en la ubicación del manejador de señales. Sin embargo, ‘ generalmente no es una buena idea porque se considera que un proceso está en un …
  • … estado indefinido según POSIX si la ejecución se reanuda después de que se haya generado un SIGSEGV que no ‘ no provenga de raise(). Reanudará la ejecución en la instrucción fallida que simplemente se ejecutará nuevamente y hará que el proceso se bloquee si se ignora la señal.Por lo tanto, puede depender del programa que se encargue de ello, si configura un controlador de señal para SIGSEGV, pero hay ‘ s casi nunca una situación en la que se haría eso (aunque creo que el emulador Dolphin detecta segfaults para algún tipo de optimización hacky, por lo que no ‘ t tiene que emular un comportamiento de paginación extraño y puede confiar en la MMU).
  • Consulte esto para ver un ejemplo (raro) de cuándo es hasta el programa. O simplemente lea PoC || GTFO 6: 3.

Respuesta

Potencialmente. Sin embargo, sería difícil de hacer, ya que lo más probable es que tenga que hacerse pasar por una actualización legítima del BIOS en algún momento. El método para hacerlo cambiará dependiendo de su mobo, pero es probable que tenga que involucrar la filtración de claves privadas o de hardware u otros secretos.

Respuesta

Sí. Es específico del hardware, pero aquí hay un caso en el que un usuario rompió accidentalmente el firmware de su placa base desde el nivel del sistema operativo https://github.com/systemd/systemd/issues/2402

Un error en el firmware de una computadora portátil MSI significaba que borrar las variables efi hacía que la computadora portátil quedara inutilizable. Debido a que estas variables estaban expuestas al sistema operativo y montadas como un archivo, eliminando todos los archivos del nivel del sistema operativo causó el problema que podría ser aprovechado por un virus para apuntar específicamente a estas variables.

Respuesta

Hay muchas formas, y algunas de ellos son inquietantes. Por ejemplo, Computrace parece ser una puerta trasera permanente que puede eludir no solo el sistema operativo, sino incluso el BIOS. Y, en general, el Intel Management Engine tiene control total sobre su computadora y puede ser explotado. Estos pueden modificar su BIOS, pero ni siquiera es necesario. Solo en 2017, los investigadores de seguridad calcularon ut cómo aprovechar el IME de Intel a través de USB para ejecutar código sin firmar .

El punto es que incluso si tiene un sistema operativo completamente seguro y nunca descarga ningún software inseguro o malicioso, todavía existe una posibilidad no despreciable de que pueda verse afectado por un malware que evita todo eso explotando una vulnerabilidad de seguridad en su hardware (incluso cuando su computadora está supuestamente apagada).

Respuesta

Algo que no he visto aquí:

Si el atacante obtiene suficiente permiso para instalar incluso un Firmware UEFI, correctamente firmado por el fabricante del sistema, todavía pueden dejar la computadora en un estado que no se puede arrancar apagando a la fuerza la computadora en el momento oportuno durante el proceso.

El código de actualización en firmwares modernos por lo general, intenta minimizar la cantidad de tiempo que la computadora pasa en un estado en el que una falla de energía causará daños en el firmware, y Algunos firmwares incluso tienen un modo de recuperación que se activará en tal caso.

Sin embargo, muchos de estos sistemas no son completamente a prueba de balas. Aunque ofrecen una buena protección contra fallas de energía aleatorias, un apagado en el momento oportuno podría dejarlo muerto si el firmware no tiene una función de recuperación automática sólida.

Además, es posible que ni siquiera sea necesario atacar el firmware del sistema principal. Prácticamente todos los dispositivos de una PC moderna tienen algún tipo de firmware, y muchos de ellos se pueden actualizar mediante software. Estos dispositivos también suelen ser menos seguros. Pueden aceptar firmwares sin firmar por completo, o al menos ser menos resistentes contra apagones maliciosos durante el proceso de actualización.

Si destruye el firmware del controlador de energía, controlador de almacenamiento, dispositivo de almacenamiento, dispositivo de video o controlador de entrada, el sistema puede volverse tan inutilizable como si tuviera atacó la UEFI.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *