¿Es posible determinar si el BIOS se ha modificado entre dos puntos en el tiempo?

9

¿Es posible determinar si la BIOS de una computadora se ha modificado entre dos puntos en el tiempo desde esa computadora mientras se ejecuta?

Efectivamente, me gustaría poder recopilar el equivalente de las instantáneas criptográficas de hash de la BIOS (o tanto como pueda) a través del sistema operativo del host local (idealmente, una respuesta para Linux sería excelente, pero cualquiera funcionaría) o a través de algo como IPMI sin reiniciar la computadora.

Sé que también hay un problema de no poder confiar en la computadora en sí, pero solo busco una funcionalidad básica.

Nota: no busco probar que la computadora no se envió con un BIOS infectado o algo así, simplemente que no se han producido nuevos cambios entre las 13:00 y las 15:00.

    
pregunta Trey Blalock 08.12.2015 - 23:08
fuente

3 respuestas

4

Si su placa es compatible , debería poder usar flashrom con -r arg para hacer una copia de seguridad del BIOS en un archivo. Luego puedes usar md5, sha256, etc. para capturar un hash que luego se puede comparar.

//baseline.sh
//first make your baseline bios checksum with
flashrom -r ./bios.bios
sha256sum bios.bios > bios.checksum

//check.sh
//now periodically check again
flashrom -r ./bios.bios
sha256sum bios.checksum -c
//if your output looks like "bios.bios: FAILED" you have a problem.
    
respondido por el Aedazan 09.12.2015 - 00:30
fuente
3

Si su sistema tiene un TPM, puede verificar sus PCR para detectar cambios entre los arranques del sistema. Los primeros PCR se extienden con hashes de partes separadas de la BIOS, debe buscar algo de documentación y ver qué PCR desea utilizar para sus comprobaciones. La lectura de PCR en Linux es solo una cuestión de leer los nodos de dispositivo correctos en / sys, en Windows es un poco más complicado y creo que necesitaría escribir código personalizado para eso.

    
respondido por el André Borie 09.12.2015 - 11:42
fuente
2

No.

Hay posibilidades de leer el BIOS & suma de comprobación, pero un BIOS malicioso puede interceptarlo fácilmente. Entonces, al verificar la suma de comprobación de la BIOS y / o el TPM, tal vez se muestre algo, un atacante con suficiente conocimiento de sus medidas de seguridad puede evitar esto fácilmente (y alguien con acceso ilimitado a su hardware lo hará).

Sin embargo ...

Si la PC está en línea todo el tiempo (según lo verificado por, por ejemplo, el latido de un segundo servidor), puede estar bastante seguro de que la BIOS no se ha actualizado en el lado del hardware. La actualización del BIOS en tiempo de ejecución probablemente no sea trivial, siempre que su atacante no tenga acceso de root a su servidor. Sin embargo, tendrá que estar lo suficientemente seguro de que la PC estuvo en línea todo el tiempo (es decir, mediante paquetes específicos de latidos sobre IPSec y una latencia requerida inferior a 10 ms).

Tenga en cuenta que no hay no como 100% seguro .

    
respondido por el Sebb 09.12.2015 - 12:37
fuente

Lea otras preguntas en las etiquetas