Millones de smartphones Android expuestos al hacking remoto debido a vulnerabilidad en chips de banda base UNISOC

Puede que no suene familiar para millones de usuarios de telefonía móvil, pero el fabricante chino de chips UNISOC ha sido un importante miembro en la industria por poco más de 20 años. Fundada como Spreadtrum Communications en 2001, la compañía creció aceleradamente hasta estar presente en más de la mitad de los teléfonos chinos para 2011. Actualmente, la firma produce chipsets económicos para dispositivos Android compatibles con tecnología 2G, 3G, 4G y 5G, además de smart TVs y más, con presencia predominante en Asia y algunas regiones de África y solo por detrás de gigantes como Qualcomm y MediaTek.

Si bien UNISOC es un importante productor de chips, su tecnología ha sido muy poco analizada por especialistas de seguridad móvil, por lo que es difícil saber cuáles son los riesgos de seguridad presentes en los dispositivos con estos chips y ni siquiera hay referencias a alguna vulnerabilidad detectada en su firmware.

Un reciente esfuerzo de investigación estuvo a cargo de Check Point Research, y se enfoca en el módem de los smartphones con chips UNISOC podría resultar un objetivo de ataque muy atractivo para los cibercriminales, pues se puede acceder a este componente de forma remota y de forma relativamente fácil, con el potencial de desplegar ataques de denegación de servicio (DoS) y bloquear las comunicaciones de los dispositivos afectados.

Conceptos básicos del ataque

La red Long-Term Evolution (LTE) está formada por una docena de protocolos y componentes, y es necesario entenderla para comprender cómo funciona el módem UNISCO. El Grupo 3GPP introdujo el sistema de paquetes evolucionado (EPS), una arquitectura de la tecnología LTE que consta de tres componentes clave interconectados:

  • Equipo del usuario (UE)
  • Red de acceso de radio terrestre UMTS evolucionada (E-UTRAN)
  • Núcleo de paquetes evolucionado (EPC)

E-UTRAN tiene solo una pila, la estación eNodeB, que controla las comunicaciones de radio entre el UE y el EPC. Un UE se puede conectar a un eNodeB a la vez.

El componente EPC consta de cuatro pilas, una de las cuales es la entidad de gestión de movilidad (MME). El MME controla las operaciones de alto nivel de los dispositivos móviles en la red LTE. Este componente envía mensajes de señalización relacionados con el control de seguridad, gestión de áreas de seguimiento y mantenimiento de movilidad.

Las pruebas de Check Point Research, realizadas por un smartphone con módem UNISOC, se enfocan en las comunicaciones entre las pilas MME y UE, que ocurren vía los protocolos de gestión de sesiones EPS (ESM) y de gestión de movilidad (EMM). La siguiente captura de pantalla muestra la pila de protocolos del módem. El nivel de estrato sin acceso (NAS) alberga mensajes de señalización de EPS y EMM.

El protocolo NAS opera con estructuras de alto nivel, lo que permitiría a los actores de amenazas crear paquetes EMM especialmente diseñados y enviarlos a un dispositivo vulnerable, cuyo módem lo analizará y creará objetos internos según la información recibida. Un error en el código de análisis permitiría a los hackers bloquear el módem e incluso realizar ataques de ejecución remota de código (RCE).

Fallas de seguridad en controladores NAS

Gran parte de los analizadores de mensajes NAS tienen tres argumentos: un búfer de salida, que es un objeto de la estructura de mensaje adecuada, el blob de datos de mensajes NAS para la decodificación, y el desplazamiento actual en el blob de mensajes.

El formato de función unificada permite implementar fácilmente el arnés para fuzzear las funciones de análisis de NAS. Los expertos de Check Point usaron la combinación clásica de AFL y QEMU para fuzzear el binario del módem en una PC, parcheando el binario del módem para redirigir las llamadas de malloc al equivalente de libc. El fuzzer permutó los datos del mensaje NAS y los pasó como un búfer de entrada a la función de análisis.

Uno de los campos opcionales ATTACH_ACCEPT es la identidad móvil. El firmware del módem implementa una función de desempaquetado como liblte_mme_unpack_mobile_id_ie de srsRAN para extraer la identidad móvil del mensaje NAS. El bloque de datos de identidad comienza con la longitud de la identidad; si el dispositivo está representado por una identidad de suscriptor móvil internacional (IMSI), los 2 bytes de longitud de los datos del mensaje se copian en el búfer de salida como el número IMSI.

Se omite la comprobación para asegurarse de que el valor de longitud proporcionado es mayor que uno. Por lo tanto, si el valor del campo de longitud es cero, se copian 0-2 = 0xFFFFFFFE bytes del mensaje NAS a la memoria del montón, conduciendo a una condición DoS.

En la siguiente captura de pantalla, puede verse el mensaje ATTACH_ACCEPT, que provoca el desbordamiento.

El valor 0x23 resaltado indica que los siguientes datos son el bloque de identidad del mensaje, donde el primer 0x01 es la longitud y el segundo 0x01 es el tipo IMSI.

Conclusiones

UNISOC está al tanto de esta condición, y ya se le ha asignado la clave de identificación CVE-2022-20210. Si bien las variantes de hacking descritas por Check Point no son fáciles de explotar y requieren grandes recursos y planeación, la posibilidad de explotación es real y no debe ser desestimada.

Los errores serán debidamente abordados, protegiendo a millones de usuarios de dispositivos inteligentes. Google también está al tanto del reporte y emitirá algunas protecciones adicionales para el sistema Android.  

Para conocer más sobre riesgos de seguridad informática, malware, vulnerabilidades y tecnologías de la información, no dude en ingresar al sitio web del Instituto Internacional de Seguridad Cibernética (IICS).