Youness Alaoui ha estado trabajando en hacer ingeniería inversa a uno de los módulos del Intel ME. Durante su trabajo en el primer kilobyte del programa ya ha descubierto un fallo.
De esta tecnología ya hemos hablado largo y tendido. Básicamente se trata de una de las partes de la BIOS de todas la plataformas Intel que han ideo saliendo en los últimos 10 años. Es el punto más débil en la seguridad de cualquier PC Intel actual ya que se trata de software con acceso al nivel más bajo a todo el hardware.
A pesar de ello, se está trabajando en desgranar su código máquina y sacar una implementación en un lenguaje de alto nivel. Alaoui ha comenzado con un módulo llamado ROMP que se encarga de las primeras tareas antes de que ni siquiera la memoria esté disponible.
Lo relevante de todo esto es que con tan solo 1kb destripado, ya haya aparecido un fallo. En principio no supone un peligro para la seguridad, pero eso lleva a pensar que puede haber unos cuantos gazapos más y en uno de ellos podría estar la oportunidad para realizar un ataque al más bajo nivel.
El módulo ROMP lee la partición desde la memoria flash a través del puerto SPI. Después de validar la firma RSA, la copia a una dirección de memoria y luego bloquea esa dirección para que el procesador principal no pueda modificarla. El bug en cuestión consiste en que cuando se produce dicho bloqueo, quien hizo el programa se equivocó con los tamaños de memoria y sólo se está bloqueando un cuarto de la memoria donde se almacena la clave.
Con este fallo sería posible modificar los tres cuartos de firma que están sin bloquear permitiendo modificar este módulo. La razón por la que esto no supone un fallo de seguridad es precisamente porque este módulo se carga en una fase muy temprana del arranque, antes incluso de que el controlador RAM se haya iniciado, por lo que no puede hacer gran cosa.
Si este error existiera en otros módulo (algo plausible si los desarrolladores han empleado el noble arte de copiar y pegar código), el sistema podría estar en peligro ya que la protección que impide la modificación del firmware sería defectuosa. A día de hoy ya se conocen las posibilidades potenciales de explotar un agujero de seguridad en un sistema operativo. Algo así a nivel de hardware haría que los clásicos malware parecieran una película de Disney en comparación.
Se puede leer la explicación del autor en esta entrada de Puri.sm.