Vulnerabilidades encontradas en firmware de chips WiFi

Un especialista publicó recientemente los hallazgos de su investigación

Acorde a expertos en seguridad en redes del Instituto Internacional de Seguridad Cibernética, el firmware de los chips WiFi usados en diversos dispositivos presenta múltiples inconvenientes de seguridad. Según los reportes, algunas de estas fallas podrían ser explotadas para la ejecución remota de código arbitrario, todo sin necesidad de interacción por parte del usuario.

Las fallas de seguridad fueron descubiertas en ThreadX, un sistema operativo en tiempo real (RTOS); según la página web de los desarrolladores, ThreadX cuenta con más de 6 mil millones de implementaciones, siendo uno de los programas más populares funcionando con chips WiFi.

El firmware también opera en SoC Avastar 88W8897 (Wi-Fi + Bluetooth + NFC) de Marvell, presente en Sony PlayStation 4, en la tableta Microsoft Surface, Xbox One, Samsung Chromebook y algunos smartphones, reportan expertos en seguridad en redes.

Inicialización de proceso de chips WiFi

Regularmente, un chip WiFi es inicializado por un controlador del fabricante encargado de cargar la imagen del firmware durante el proceso de inicio. Con el sistema en chip inalámbrico de Marvell (SoC), hay ciertos controladores que funcionan con el kernel de Linux que usa: ‘mwifiex’, ‘mlan’ y ‘mlinux’.

Ambas funciones tienen capacidades de depuración, lo que permite leer y escribir desde y hacia la memoria del módulo WiFi.

Controlar la asignación de bloques de memoria

Una de las vulnerabilidades descubiertas en el firmware es un desbordamiento de bloques que podría activarse cuando el chip está buscando redes disponibles, un proceso que comienza cada cinco minutos, incluso si el dispositivo ya está conectado a una red WiFi.

“Un atacante podría realizar una ejecución remota de código en un Samsung Chromebook, por ejemplo, incluso sin necesidad de que el usuario realice interacción alguna”, afirma Denis Selianin, especialista en seguridad en redes y dispositivos WiFi.

En un informe, Selianin describe dos métodos de explotación, uno que funciona con cualquier firmware basado en ThreadX si se cumplen ciertas condiciones, y otro para la implementación del firmware de Marvell en sus módulos; “la combinación de estos dos métodos conduce a una explotación exitosa de las vulnerabilidades”, comenta el experto.

En el caso genérico, un atacante puede sobrescribir el puntero al siguiente bloque de memoria libre y controlar la ubicación para asignar el siguiente bloque: “Al controlar la ubicación de la siguiente asignación de bloque, un atacante puede colocar este bloque en el lugar donde se encuentran algunas estructuras o punteros de tiempo de ejecución críticos, logrando así la ejecución del código de un atacante”.

La explotación de la vulnerabilidad en Avastar SoC de Marvell  requiera actividades de ingeniería inversa para las rutinas de administración de memoria. Esto funciona si el siguiente bloque está ocupado.

Las funciones utilizan al principio de cada bloque ThreadX un encabezado de metadatos con punteros especiales que se llaman antes de liberar un bloque. Esta información es suficiente para permitir la ejecución de código en un SoC inalámbrico.

Selianin dijo en su presentación que tan pronto como una solución esté disponible, publicará una reseña con el exploit y las herramientas utilizadas en el proceso.