Firmware
El firmware es el software de bajo nivel integrado en un dispositivo que controla cómo se comporta su hardware. Se ejecuta antes que ninguna otra cosa, y justo por eso comprometerlo vale tanto para un atacante.
El firmware es el software integrado en un dispositivo electrónico que controla su funcionamiento básico y le proporciona las instrucciones con las que opera.
Es software de bajo nivel alojado de forma permanente en la memoria del dispositivo, responsable de inicializar y gestionar sus componentes físicos.
Importa en seguridad porque cualquier vulnerabilidad en él, o cualquier manipulación, compromete el dispositivo a un nivel que nada de lo que hay por encima puede corregir.
Qué hace
El firmware actúa como puente entre el hardware físico y el software de nivel superior que se ejecuta en el dispositivo.
Se carga durante el arranque y se encarga de lo esencial: detectar el hardware, inicializar dispositivos, controlar periféricos y ejecutar rutinas de bajo nivel.
También contiene la configuración y los ajustes específicos del dispositivo que determinan cómo se comporta, y por eso un cambio de firmware es un cambio de comportamiento y no solo un cambio de versión.
Por qué importa
El firmware se ejecuta antes que el sistema operativo, con más privilegio que nada de lo que arranque después. El código que se ejecuta a ese nivel puede sobrevivir a una reinstalación, y un sistema operativo no puede informar de forma fiable sobre algo que arrancó antes que él.
Las contramedidas son tanto del fabricante como del propietario: imágenes firmadas, arranque verificado, cifrado cuando proceda, y una vía para entregar actualizaciones de seguridad que la gente vaya a aplicar de verdad.
Un ejemplo práctico
Un caso habitual es el router doméstico o el de una oficina pequeña.
Su firmware controla lo esencial: gestionar la red, asignar direcciones y aplicar la configuración del cortafuegos.
Si ese firmware tiene una vulnerabilidad, un atacante puede usarla para comprometer la red, llegar a los dispositivos conectados a ella y leer lo que pasa por ahí. El aparato que se supone que es la frontera se convierte en la posición con mejor vista de todo lo que hay dentro.
Firmware y análisis de firmware
Esta ficha define el objeto. El análisis de firmware es la actividad de sacarlo del aparato y leerlo por dentro. Son cosas distintas: una responde qué es, la otra qué se le hace.
El análisis empieza por conseguir la imagen. Si el fabricante publica la actualización, ese es el camino fácil; si no, se extrae del hardware por una interfaz de depuración, leyendo el chip de memoria directamente o, en el peor caso, quitándolo.
Lo que aparece dentro se repite de un aparato a otro: credenciales y claves escritas en claro en el sistema de ficheros, interfaces de depuración que quedaron habilitadas en producción, y servicios que cogen lo que llega de la red y se lo pasan a un intérprete.
Y hay una consecuencia que cambia la severidad de cualquier hallazgo: una imagen extraída vale para todos los aparatos del mismo modelo. Un fallo de firmware no afecta a una unidad, afecta al parque entero, y en muchos casos son aparatos que no se parchean con facilidad.
El arranque seguro es la contramedida del otro lado: comprobar, antes de ejecutar, que lo que se va a ejecutar es lo que el fabricante firmó.
Dónde leer más
TechTarget, «Understanding firmware»: qué es, qué hace y los retos de seguridad que trae consigo.