¿Puede BIOS / UEFI cambiar el código del sistema operativo?

1

Sé que el sistema operativo es el jefe de los programas (una vez que se carga el sistema operativo). ¿Es BIOS / UEFI el jefe de todo antes de que se cargue el SO? ¿Puede un sistema operativo ser un activo para cualquier malware relacionado con BIOS / UEFI?

En otras palabras, ¿BIOS / UEFI puede eliminar o modificar el sistema operativo y otros códigos?

    
pregunta humble_wolf 21.08.2018 - 12:47
fuente

3 respuestas

3

Técnicamente, sí.

La respuesta, en términos simples, es "sí" a todas sus preguntas.

El firmware (BIOS o UEFI) se carga antes del sistema operativo. Por lo general, busca un sector de arranque en sus dispositivos de almacenamiento (HD interno, CD / DVD, unidades USB, etc.). Luego carga el cargador de arranque especificado en el sector de arranque en la memoria y pasa el control a ese cargador de arranque, que hará que el resto del sistema operativo esté en funcionamiento.

Si el firmware está infectado con un código malicioso, puede leer / escribir en cualquier lugar. Los permisos de archivo son implementados por el núcleo del sistema operativo o el controlador del sistema de archivos, por lo que no son una preocupación en absoluto en esta situación. Esto significa que también es libre de manipular los archivos del sistema operativo.

Pero también, no.

Sin embargo, en los sistemas modernos, esto es muy difícil de lograr.

El firmware controla el acceso a la EEPROM, que es donde se almacena su código. Las placas base modernas generalmente solo aceptan actualizaciones de firmware que han sido firmadas digitalmente por el fabricante. Tendría que vencer este mecanismo primero si desea manipular el BIOS / UEFI.

Los sistemas operativos más nuevos pueden validar firmas digitales en sus archivos. Si manipula sus archivos, la firma digital ya no será válida. Por ejemplo, si habilita SecureBoot en Windows 10 y cambia algo, se negará a iniciar.

Obviamente, puedes editar el sistema operativo para eliminar las comprobaciones de firma digital si controlas el firmware, pero es muy difícil infectar el firmware por varias razones.

Además de las protecciones integradas, el firmware en la mayoría de las placas base se personaliza para ese modelo individual o, como máximo, esa línea de productos en particular. Escribir un hack de firmware que se aplique a una amplia gama de placas base es extremadamente difícil, y puede ser prácticamente imposible.

Todas las cosas consideradas ...

En teoría, es posible manipular un sistema de esta manera. Sin embargo, el potencial de abuso se comprende bien, por lo que el peligro se aborda con medidas técnicas razonables.

Las personas con acceso físico a sus máquinas podrían actualizar los chips EEPROM que contienen el código BIOS con malware programado personalizado. Se necesita una gran cantidad de recursos para organizar esto, por lo que el usuario promedio de la computadora no está en riesgo.

Este tipo de ataque está fácilmente al alcance de los gobiernos y las grandes organizaciones delictivas. Los gobiernos y las grandes empresas están en riesgo, y generalmente compran a proveedores de confianza o revendedores certificados para reducir el riesgo de adquirir equipos comprometidos.

    
respondido por el DoubleD 21.08.2018 - 23:18
fuente
1

La respuesta aquí es básicamente "no", por lo general no debería. Simplemente llama al gestor de arranque o la imagen UEFI.

Digo normalmente en el sentido de: según el fabricante y el dispositivo, puede realizar algunas funciones de escritura utilizadas por el BIOS, como escribir información en un disquete o en la memoria.

En teoría, es posible que se escriba un BIOS que cambie la configuración en ubicaciones de memoria específicas que son partes conocidas del "SO" por razones específicas, aunque esa no es la implementación estándar y no conozco ningún dispositivo que haga eso en la configuración de tipo "PC BIOS" estándar (por ejemplo, donde la superposición de firmware y BIOS en dispositivos integrados se vuelve mucho más complicada).

La página wiki es realmente buena, por favor revísela. enlace

    
respondido por el bashCypher 21.08.2018 - 18:53
fuente
0
  

Una vez que se carga el sistema operativo, BIOS / UEFI es el jefe del sistema operativo.

En realidad no. Cuando el sistema operativo está activado, cada programa llama a funciones desde el sistema operativo, y el sistema operativo es realmente el que ejecuta el código importante. Un programa no puede ejecutar nada que el sistema operativo no le haya dado permiso para ejecutarse.

BIOS / UEFI es más un cargador. Lee datos del disco, carga datos en la memoria y ejecuta el código en el Registro de arranque maestro. En este momento, cualquier código que esté en el registro de arranque toma el control. El BIOS ya no tiene control.

Incluso si UEFI / BIOS cambia cualquier dirección de memoria utilizada por el sistema operativo, se revertirá cuando el sistema operativo se inicie y se cargue desde el disco, ya que el BIOS ya no estará en ejecución.

    
respondido por el ThoriumBR 21.08.2018 - 19:54
fuente

Lea otras preguntas en las etiquetas