Actualmente hay mucha discusión en Internet acerca de la familia "Equation Group" de firmware de disco duro malicioso.
Una cosa que me hace preguntarme es la afirmación de que el firmware de la unidad de disco duro malintencionado podría acceder a los detalles de cualquier esquema de cifrado de disco completo en ejecución. Por ejemplo, tenemos Cómo funciona el piratería de firmware de la NSA y por qué es tan inquietante, por cable que declara, en parte (refiriéndose aquí a las partes no utilizadas del firmware EEPROM):
"Teniendo en cuenta el hecho de que su implante GrayFish está activo desde el inicio del sistema, tienen la capacidad de capturar la contraseña de cifrado y guardarla en esta área oculta", [Costin Raiu, director de Kaspersky's Global Research y el Equipo de Análisis] dice.
Tal vez me esté perdiendo algo obvio, pero no entiendo cómo sigue esto. Hay dos casos que puedo ver aquí:
- Microsoft Windows, con Bitlocker habilitado. El cargador de firmware es aparentemente un ejecutable de Windows, y Windows es un sistema operativo común, por lo que podría tener algo de apalancamiento con el código "listo para usar".
- Algunos otros sistemas operativos con FDE, por ejemplo, Linux con LUKS o FreeBSD con GEOM. Estos, al menos, no se verán afectados inmediatamente por un binario de Windows.
Cuando se usa el cifrado de disco completo, el dispositivo de almacenamiento (ya sea HDD, SSD, disquete o lo que sea) tiene la tarea de custodiar los bits encriptados. Se sabe que ciertos encabezados existen en diferentes esquemas FDE, a menudo contienen material clave y, presumiblemente, pueden detectarse en función de los números mágicos o la ubicación en el disco, pero las partes cargadas se cifran en el momento en que llegan al dispositivo de almacenamiento.
¿Cómo puede el firmware de un dispositivo de almacenamiento subvertir significativamente el cifrado disco completo , en el cual el dispositivo de almacenamiento solo ve datos cifrados en los comandos READ y WRITE?
La única posibilidad real que puedo ver es si el firmware del dispositivo de almacenamiento puede influir de alguna manera en otras partes del sistema, tal vez explotando DMA, pero ¿el administrador de memoria de la CPU no interviene allí? ¿O se realiza DMA siempre en modo supervisor (anillo 0 en la terminología de Intel)? Eso parece abrir una lata de gusanos completamente diferente.
Supongamos aquí una configuración FDE bastante típica: BIOS o UEFI, entregando un cargador de arranque pequeño sin cifrar que solicita al usuario una contraseña y procede a inicializar el estado del sistema de cifrado antes de pasar a los residentes para interceptar la E / S del disco y realizar el cifrado. descifrado a medida que los datos fluyen entre la capa de E / S normal del sistema operativo y el propio dispositivo de almacenamiento. Todos "de una forma u otra", dejando a un lado los detalles de la implementación técnica, a menos que estén directamente relacionados con la respuesta a la pregunta principal.