Cómo usar auriculares o Bluetooth para hackear y tomar el control de cualquier dispositivo Android

Una reciente investigación publicada por especialistas en análisis de vulnerabilidades  de la Universidad de Purdue detalla un nuevo exploit que abusa de algunos smartphones con sistema operativo Android a través del uso de dispositivos periféricos (Bluetooth y USB) maliciosos.

El procesador de aplicaciones de casi cualquier modelo de smartphone relativamente reciente usa la Interfaz de Comandos AT para lanzar comandos de alto nivel al procesador de banda base, que realiza operaciones de red celular comunes. Existen vulnerabilidades en esta comunicación que pueden ser explotadas mediante el uso de dispositivos periféricos controlados por actores de amenazas.

Por lo general, un smartphone trabaja con dos unidades de procesamiento interconectadas:

  • Procesador de aplicaciones
  • Procesador de banda base (también llamado modem celular)

Es importante mencionar que la mayoría de smartphones actuales acepta comandos AT vía Bluetooth.

La interfaz AT es un punto de entrada para acceder al procesador de banda base, por lo que cualquier conducta anómala al procesar un comando AT podría causar acceso no autorizado a información confidencial almacenada en el smartphone, alteraciones en el funcionamiento de la red celular, entre otras fallas. 

Interfaz AT de dispositivos Android
FUENTE: ATFuzzer: Dynamic Analysis of AT Interface for Android

Algunas investigaciones realizadas anteriormente en referencia a las fallas en la interfaz AT se enfocan sólo en encontrar comandos AT inválidos o maliciosos para que los fabricantes integren una lista negra y prevenir posibles abusos; no obstante, especialistas en análisis de vulnerabilidades consideran que el alcance de este enfoque es realmente reducido, pues aunque existen comandos AT utilizados por toda la industria de las comunicaciones móviles, los fabricantes de smartphones suelen incluir sus propios conjuntos de comandos AT para realizar diversas tareas. En otras palabras, este enfoque es demasiado específico.

En su lugar, los expertos proponen diseñar un método de análisis de los procesos relacionados con la ejecución de cualquier comando AT para detectar cualquier posible actividad anómala que pueda convertirse en una vulnerabilidad explotable.

Indicadores de actividad anómala:

  • Errores de código sintácticos: Un dispositivo podría aceptar comandos AT inválidos
  • Errores semánticos: Los dispositivos objetivo procesan un comando AT redactado correctamente, pero la respuesta generada no se ajusta a un comportamiento esperado

Al explotar un comando inválido, un dispositivo periférico malicioso conectado al smartphone podría acceder a información confidencial (como clave IMSI o IMEI), o incluso degradar el protocolo de red del dispositivo (de 4G a 3G, por ejemplo).

Comandos AT

Son fragmentos de código usados para controlar algunas acciones relacionadas con el uso de redes celulares. Un conjunto básico de comandos fue establecido como estándar en la industria de las comunicaciones móviles; por otra parte, los fabricantes de smartphones incluyen sus propios comandos AT para ejecutar múltiples funciones.

Ejecución de comandos AT vía Bluetooth

Se requiere emparejar el dispositivo periférico (altavoces, audífonos, entre otros) con el smartphone objetivo, estableciendo un canal de comunicación. Al recibir un comando AT, el componente Bluetooth a nivel sistema del dispositivo reconoce el comando con el prefijo “AT” y lo contrasta con una lista de comandos legítimos. Posteriormente, el comando AT se envía al componente Bluetooth a nivel aplicación, donde la acción relacionada con el comando enviado se completa.

Ejecución de comandos vía USB

Si un smartphone expone su interfaz del Modelo de control abstracto (ACM) USB, crea un dispositivo tty como /dev/ttyACM0 que permite que el teléfono reciba comandos AT a través de la interfaz USB. Por otro lado, en los teléfonos para los cuales la interfaz del módem USB no está incluida en la configuración USB predeterminada, cambiar a una configuración USB alternativa permite la comunicación al módem a través de USB.

Para esta investigación, se obtuvo una lista de comandos AT válidos y su gramática a partir de los estándares 3GPP. No todos estos comandos son procesados o reconocidos por todos los smartphones, pues esto depende de los fabricantes.

El enfoque ATFuzzer

ATFuzzer consta de dos módulos: módulo de evolución y módulo de evaluación, que interactúan de forma cerrada. El módulo de evolución se inicia con una gramática de comando AT inicial que se muta para generar Psize (se refiere al tamaño de la población, un parámetro para ATFuzzer), diferentes versiones de esa gramática. Concretamente, ATFuzzer genera nuevas gramáticas a partir de la gramática principal a través de las siguientes operaciones de alto nivel:

  • Inicialización de la población
  • Selección de padres
  • cruce de gramática
  • Mutación gramatical
Enfoque del método ATFuzzer
FUENTE:
FUENTE: ATFuzzer: Dynamic Analysis of AT Interface for Android

Para evaluar la efectividad y el alcance de este enfoque, se analizaron 10 modelos distintos de smartphones con sistema operativo Android (de seis fabricantes diferentes). Al concluir el análisis, los especialistas en análisis de vulnerabilidades descubrieron 4 conductas erróneas en Bluetooth y otras 13 en USB.

Explotando estas fallas, los actores de amenazas podrían desplegar actividades maliciosas como disrupción de las conexiones del smartphone, denegación de servicio y robo de información confidencial.

A pesar de que la seguridad para los procesadores de banda base e interfaces de comandos ha mejorado notablemente respecto a generaciones anteriores de smartphones, es obvio que con las medidas de seguridad actuales es imposible analizar y filtrar adecuadamente un input anómalo. Acorde a los especialistas en análisis de vulnerabilidades del Instituto Internacional de Seguridad Cibernética (IICS), una posible solución a este acceso indebido es la eliminación de la exposición de la interfaz del módem AR vía Bluetooth y USB. Asimismo, es importante recordar a los usuarios de dispositivos Android que eviten conectarse a cargadores, bocinas u otros periféricos desconocidos.