Menu
Close

Suscríbase a nuestro blog

Reciba nuestras últimas publicaciones directamente en su bandeja de entrada

Simjacker: Espionaje de Próxima Generación a Través del Móvil

Cathal McDaid

Cathal McDaid


Hoy anunciamos la existencia de la vulnerabilidad y los exploits asociados que llamamos Simjacker.  Creemos que esta vulnerabilidad ha sido explotada durante al menos los últimos dos años por un actor de amenazas altamente sofisticado en múltiples países, principalmente con fines de vigilancia. Aparte del impacto en sus víctimas, según nuestro análisis, Simjacker y sus exploits asociados suponen un enorme salto en complejidad y sofisticación en comparación con los ataques que se vieron anteriormente a través de las redes centrales móviles. Representa una escalada considerable en el conjunto de habilidades y capacidades de los atacantes buscando explotar las redes móviles.   

Brindaremos detalles técnicos sobre Simjacker durante la Conferencia de Virus Bulletin, en Londres, el 3 de octubre de 2019, pero en este blog daremos una visión general de Simjacker, cómo funciona y quiénes lo explotan potencialmente, así como por qué es un nuevo tipo de ataque tan significativo.

Cómo Funciona Simjacker

En su forma más simple, el principal ataque de Simjacker consiste en el envío de un SMS que contiene un tipo específico de código similar al de un programa espía a un teléfono móvil, que luego ordena a la Tarjeta de circuito integrado universal (UICC, Universal Integrated Circuit Card) (tarjeta SIM) dentro del teléfono que “tome el control” del teléfono móvil, para recuperar y ejecutar comandos sensibles.

El ataque comienza cuando se envía un SMS (que denominamos “mensaje de ataque” de Simjacker) al teléfono en cuestión. Este mensaje de ataque de Simjacker, enviado desde otro teléfono, un módem GSM o una cuenta de envío de SMS conectada a una cuenta A2P, contiene una serie de instrucciones del kit de herramientas de la tarjeta SIM (STK, SIM Toolkit), y está específicamente diseñado para ser transmitido a la tarjeta UICC/eUICC (tarjeta SIM) dentro del dispositivo. Para que estas instrucciones funcionen, el ataque aprovecha la presencia de una pieza de software particular, llamada S@T Browser, que se encuentra en la UICC.  Una vez que el mensaje de ataque de Simjacker es recibido por la UICC, utiliza la biblioteca S@T Browser como entorno de ejecución en la UICC, donde puede activar la lógica en el teléfono. Para el ataque principal observado, el código de Simjacker que se ejecuta en la UICC solicita la ubicación y la información específica del dispositivo (la Identidad Internacional de Equipo Móvil [IMEI, International Mobile Equipment Identity]) del terminal. Una vez que se recupera esta información, el código de Simjacker que se ejecuta en la UICC la coteja y envía la información combinada a un número de destinatario a través de otro SMS (lo que denominamos “mensaje de datos”), de nuevo al activar la lógica en el terminal. Este mensaje de datos es el método por el cual la información de ubicación e IMEI puede ser exfiltrada a un teléfono remoto controlado por el atacante.

Durante el ataque, el usuario desconoce por completo que ha recibido el SMS con el mensaje del Ataque de Simjacker, que la información ha sido obtenida y que ha sido enviada hacia el exterior en el SMS del Mensaje de Datos, no hay ninguna indicación en ninguna bandeja de entrada o salida de SMS. 

¿Qué hace que este ataque funcione y por qué es especial?

El ataque se basa tanto en que estos mensajes SMS específicos estén permitidos, como en que el software S@T Browser esté presente en la UICC del teléfono objetivo. Ya se demostró anteriormente cómo los mensajes SMS específicos dirigidos a las tarjetas UICC podrían ser explotados con fines maliciosos. El ataque de Simjacker adopta un enfoque diferente, y simplifica y amplía enormemente el ataque al basarse en el software S@T Browser como entorno de ejecución.

El S@T Browser, o SIMalliance Toolbox Browser para darle su nombre completo, es una aplicación especificada por la SIMalliance, y puede instalarse en una variedad de UICC (tarjetas SIM), incluyendo la eSIM. Este software S@T Browser no es muy conocido, es bastante antiguo, y su propósito inicial era permitir servicios como obtener el saldo de la cuenta a través de la tarjeta SIM. A nivel mundial, su función fue sustituida en su mayor parte por otras tecnologías y su especificación no se actualizó desde 2009. Sin embargo, como muchas tecnologías heredadas, se sigue utilizando mientras permanece en segundo plano. En este caso observamos que el protocolo S@T es utilizado por operadores de telefonía móvil en al menos 30 países cuya población acumulada suma más de mil millones de personas, por lo que una cantidad considerable de personas se ve potencialmente afectada. También es muy probable que otros países tengan operadores de telefonía móvil que sigan utilizando la tecnología en tarjetas SIM específicas.

Este ataque también es único, ya que el mensaje de ataque de Simjacker podría clasificarse lógicamente como portador de una carga útil completa de malware, concretamente de spyware. Esto se debe a que contiene una lista de instrucciones que la tarjeta SIM debe ejecutar. Como el software es esencialmente una lista de instrucciones, y el malware es un software “malo”, esto podría hacer que el exploit de Simjacker sea el primer caso real de malware (específicamente spyware) enviado dentro de un SMS. Los anteriores programas maliciosos enviados por SMS, como los incidentes que hemos descrito aquí, han consistido en el envío de enlaces a programas maliciosos, no del propio programa malicioso dentro de un mensaje completo.

Más allá de la ubicación

Sin embargo, la novedad y el potencial de Simjacker no se quedan ahí. Recuperar la ubicación de una persona es una cosa, pero con la misma técnica, y modificando el mensaje de ataque, el atacante podría instruir a la UICC para que ejecute una serie de otros ataques. Esto se debe a que con el mismo método el atacante tiene acceso a una gama* de conjunto de comandos STK, algunos ejemplos de estos comandos STK son:

  • REPRODUCIR TONO
  • ENVIAR MENSAJE CORTO
  • CONFIGURAR LLAMADA
  • ENVIAR USSD
  • ENVIAR SS
  • PROPORCIONAR INFORMACIÓN LOCAL
    • Información de ubicación, IMEI, batería, red, idioma, etc.
  • ENVIAR COMANDO DTMF
  • LANZAR NAVEGADOR

*Nota: 25/09/19: en la versión anterior de este blog, se incluyeron arriba una serie de comandos STK proactivos adicionales. El análisis posterior demostró que es poco probable que estos comandos sean procesables, por lo que se eliminaron.

Usando estos comandos en nuestras propias pruebas, pudimos hacer que los teléfonos objetivo abrieran los navegadores web, llamaran a otros teléfonos, enviaran mensajes de texto, etc. Estos ataques podrían utilizarse para cumplir objetivos como:
  • Información errónea (por ejemplo, enviando mensajes SMS/MMS con contenido controlado por el atacante)
  • Fraude (por ejemplo, marcando números de tarificación adicional),
  • Espionaje (además del ataque de recuperación de la ubicación de un dispositivo atacado, podría funcionar como dispositivo de escucha, al llamar a un número),
  • Propagando malware (al forzar a un navegador a abrir una página web con malware localizado en ella)
  • Denegación de servicio (por ejemplo, desactivando la tarjeta SIM)
  • Recuperación de información (al recuperar otra información como el idioma, el tipo de radio, el nivel de batería, etc.)

Incluso puede ser posible ir más allá, dependiendo del tipo de teléfono, de lo que hablaremos en nuestra presentación en VB2019. De manera preocupante, no somos los únicos en pensar en estos ataques adicionales, en las últimas semanas y meses observamos a los propios atacantes experimentar con estas diferentes capacidades.

Por último, otra ventaja de Simjacker desde la perspectiva del atacante es que muchos de sus ataques parecen funcionar independientemente del tipo de teléfono, ya que la vulnerabilidad depende del software de la UICC y no del dispositivo. Observamos que dispositivos de casi todos los fabricantes fueron atacados con éxito para recuperar la ubicación: Apple, ZTE, Motorola, Samsung, Google, Huawei, e incluso dispositivos IoT con tarjetas SIM. Una nota importante es que, para algunos ataques específicos, los tipos de teléfonos sí importan. Algunos, como el establecimiento de una llamada, requieren la interacción del usuario para confirmarla, pero esto no está garantizado y es posible que los teléfonos más antiguos o los dispositivos sin teclado o pantalla (como los dispositivos IoT) ni siquiera lo pidan.

Quién lo Está Haciendo

La siguiente pregunta es quién está explotando esto, y por qué. Estamos seguros de que este exploit ha sido desarrollado por una empresa privada específica que trabaja con los gobiernos para vigilar a las personas. Además de producir este software espía, esta misma empresa también tiene un amplio acceso a la red central SS7 y Diameter, ya que hemos visto que algunas de las mismas víctimas de Simjacker fueron atacadas también a través de la red SS7, y que los métodos de ataque SS7 se utilizan como método alternativo cuando los ataques de Simjacker no tienen éxito.

Hasta ahora, vimos que números de teléfono de varios países fueron objeto de estos ataques y estamos seguros de que personas de otros países también fueron objeto de ataques de Simjacker. Usando nuestra colección de Inteligencia de Señalización (SIGIL, Signalling Intelligence) pudimos correlacionar esta actividad SS7 relacionada con Simjacker con un grupo que ya detectamos que intenta atacar objetivos a través de medios SS7 en todo el mundo.

En un país observamos que se ataca a unos 100-150 números de teléfono concretos al día mediante ataques de Simjacker, aunque fuimos testigos de ráfagas de hasta 300 números de teléfono que intentan ser rastreados en un día, la distribución de los intentos de rastreo varía. Unos pocos números de teléfono, presumiblemente de gran valor, se intentaron rastrear varios cientos de veces en un periodo de 7 días, pero la mayoría tuvieron volúmenes mucho menores. Se observó un patrón similar observando la actividad por día, muchos números de teléfono fueron objeto de ataques repetidos durante varios días, semanas o meses, mientras que otros fueron objeto de un ataque único. Estas pautas y el número de rastreos indican que no se trata de una operación de vigilancia masiva, sino de una diseñada para rastrear a un gran número de personas con diversos fines, con objetivos y prioridades que cambian con el tiempo. El “primer uso” del método Simjacker tiene sentido desde este punto de vista, ya que hacer este tipo de rastreo de gran volumen utilizando métodos SS7 o Diameter puede exponer potencialmente estas fuentes a la detección, por lo que tiene más sentido preservar esos métodos para escaladas o cuando se encuentren dificultades.

Bloqueando los Ataques y Pensando a Largo Plazo

Para hacer frente a esta vulnerabilidad, tanto nosotros como el sector de la telefonía móvil hemos tomado una serie de medidas.

  1. Trabajamos con nuestros propios clientes operadores de telefonía móvil para bloquear estos ataques, y agradecemos su ayuda para detectar esta actividad.
  2. También le comunicamos a la Asociación GSM (el organismo comercial que representa a la comunidad de operadores de telefonía móvil) la existencia de esta vulnerabilidad. Esta vulnerabilidad se ha gestionado a través del programa CVD de la GSMA, lo que permitió compartir la información con toda la comunidad móvil.
  3. Como parte de esto, también se compartió la información con la alianza SIM, un organismo comercial que representa a los principales fabricantes de tarjetas SIM/UICC e hicieron nuevas recomendaciones de seguridad para la tecnología S@T Browser.

En general, nuestras recomendaciones para que la comunidad móvil haga frente a la amenaza inmediata es que los operadores móviles analicen y bloqueen los mensajes sospechosos que contengan comandos de S@T Browser. Los operadores de telefonía móvil también podrían intentar cambiar la configuración de seguridad de los UICC en la práctica de forma remota, o incluso desinstalar y dejar de usar la tecnología S@T Browser por completo, pero esto puede ser más lento y considerablemente más difícil de hacer. Sin embargo, esto es solo un primer paso, debido a las mayores implicaciones de los ataques de Simjacker.

La existencia de Simjacker significa que tenemos que cambiar radicalmente nuestra mentalidad en lo que respecta a la seguridad de las redes centrales móviles. Creemos que el ataque Simjacker evolucionó como un sustituto directo de las capacidades que perdieron los atacantes de redes móviles cuando los operadores empezaron a asegurar su infraestructura SS7 y Diameter. Pero mientras que los ataques SS7 exitosos requerían conocimientos específicos sobre SS7 (y  acceso), el mensaje de ataque de Simjacker requiere una gama mucho más amplia de conocimientos específicos sobre SMS, tarjetas SIM, teléfonos, Sim Toolkit, S@T Browser y SS7 para su elaboración. Esta inversión fue claramente rentable para los atacantes, ya que terminaron con un método para controlar cualquier teléfono móvil en un determinado país, todo con solo un módem GSM de $10 y un número de teléfono de destino. En resumen, la aparición de Simjacker significa que los atacantes de los operadores de telefonía móvil invirtieron mucho en nuevas técnicas de ataque, y esta nueva inversión y conjunto de habilidades significa que debemos esperar más de este tipo de ataques complejos.

En consecuencia, esto significa que nosotros, en la comunidad de seguridad móvil, también tenemos que mejorar nuestras capacidades. Para los operadores de telefonía móvil, esto también significa que confiar en las recomendaciones existentes no será suficiente para protegerse, ya que los atacantes de este tipo siempre evolucionarán para tratar de evadir lo establecido. En su lugar, los operadores de telefonía móvil tendrán que investigar constantemente las actividades sospechosas y maliciosas para descubrir los ataques “ocultos”. Podemos y debemos esperar que se descubran y aprovechen otras vulnerabilidades y ataques que también evaden las defensas existentes. Dado que los atacantes ampliaron sus capacidades más allá de la simple explotación de redes no seguras para abarcar ahora una mezcla muy compleja de protocolos, entornos de ejecución y tecnologías con las que lanzar ataques, los operadores también tendrán que aumentar sus propias capacidades e inversiones detectando y bloqueando estos ataques.

El futuro

En este artículo no profundizamos sobre Simjacker. En nuestra presentación en la Conferencia de Virus Bulletin, en Londres, el 3 de octubre de 2019, daremos más detalles sobre el formato de los ataques, lo que hacen los atacantes para intentar evadir la detección y cómo operan su sistema, junto con una muestra de cuál fue su reacción desde que sus ataques fueron detectados y bloqueados. También daremos nuestra opinión sobre lo que creemos que será la próxima evolución de estos ataques. Esperamos que esta noticia se haga pública y presentaremos lo que las revelaciones públicas tienen (si es que tienen alguna) sobre su actividad maliciosa.

El exploit de Simjacker representa un enorme salto de complejidad, casi como el de Stuxnet, con respecto a los anteriores ataques SMS o SS7/Diameter, y nos muestra que el alcance y la posibilidad de los ataques a las redes centrales son más complejos de lo que podíamos imaginar en el pasado. Ahora es el momento de asegurarnos de que nos adelantamos a estos ataques en el futuro.

COMPARTIR

Cathal McDaid

Cathal Mc Daid es uno de los principales expertos del mundo en seguridad de redes móviles y su labor fundamental en el sector ha sido reconocida por la Asociación GSM. Como CTO, su función es definir la estrategia tecnológica y la visión técnica a largo plazo, así como dirigir el equipo responsable de la investigación aplicada en los campos de la ciberseguridad y las redes móviles.