sábado, 27 de diciembre de 2014

Utilizar SS7 para localizar y seguir a alguien

En esta charla, Tobías Engel nos cuenta cómo ha sido nuevamente (ya lo comentó en el 25c3) capaz de localizar usuarios de todo el mundo arbitrariamente conectándose a la red SS7, a partir de identificar que había proveedores comerciales que ofrecían ese servicio, así como intervenir sus llamadas, SMS y activarles servicios suplementarios.

Introducción al SS7. 

La señalización de las redes de tráfico móvil se han ido construyendo, comenzando con el sistema de señalización de las redes fijas (SS7), a los que se ha añadido una parte para señalizar las llamadas móviles (MAP) y otra para el uso de los servicios en roaming (CAP, CAMEL Access Part).
El sistema utiliza unas direcciones denominadas Global Title para encaminar, aunque no son fáciles de conseguir, algunos operadores ceden algunos como partes de sus acuerdos de roaming u otros tipos de servicios.
Para entender los problemas es necesario saber que los datos de un usuario que está fuera de su red se almacenan en una base de datos denominada VLR (registro del usuario visitante) que es una copia de los datos que tiene en su red de origen (en la base de datos HLR, registro del hogar del uusario). Existe otro tipo de nodos denominados MSC que responden a preguntas parecidas en otras circunstancias.

Localizando a los usuarios.

Cada estación base del mundo tiene una dirección única, y a partir de ahí es posible identificar la ubicación geográfica de la estación base. Varias empresas, como Google, tienen acceso a las tablas de correspondencia entre identificadores y ubicaciones locales.
La historia comienza identificando unos proveedores que argumentan poder identificar con una tasa de éxito del 70% cualquier usuario del mundo (siempre que no sea de EEUU o sea de Israel y esté en Israel).
A partir de ahí, se ha identificado que mediante el protocolo MAP, el servicio anyTimeInterrogation permite preguntarle al HLR la combinación de red y cell id donde está un usuario. Hoy en día, todos los operadores europeos ya no responden a ese servicio.
Pero sin embargo, todavía se puede preguntar a la red para enrutar SMS cuál es MSC / VLR donde está un usuario, y los MSC y VLR sí que responden al servicio ATI.
Con permiso de los usuarios, han sido caapaces de seguir a varios usuarios que han consentido en pemitiro, y Tobías ha sido capaz de mostrar un mapa las ubicaciones recogidas de esos usuarios. Como por ejemplo un usuario holandés que reside en Seattle, y que se puede ver cómo vuelve a Holanda a su casa (que no se ha enseñado por privacidad).

Mitigación del ataque.

Hablando con un operador alemán, el operador vio el ataque, y comenzó a filtrar ese tráfico, averiguando, que la mayor parte era tráfico de otros operadores mal configurados.
Pero aún así, siguió habiendo tráfico de atacantes que tenían acceso a los IMSI de los usuarios a través de otros métodos.
Esto hay que hacerlo de manera sofisticada, ya que se ha identificado que en MAP hay que poner un atributo llado "Called Sender Party Address" que debe ser igual al que hay en en SS7, pero si se pone uno parecido a la red atacada, conservando en SS7 la dirección atacante, MAP lo responde a las preguntas.
Eso significa que se puede preguntar al VLR/MSC por la ubicación de un usuario, aunque esté filtrando las direcciones. Y esto no sólo permite leer los datos, sino también modificar la información de un usuario, como su capacidad de recibir SMS.

Ataques a CAML

CAML permite hacer cosas como llamar desde el extrajero con la numeración de tu país, lo que se hace en un sistema intermedio denominado gsmMSC cuya dirección se almacena en el VLR que reescribe los números de teléfono y se los envía al VLR para enrutar la llamada. El problema es que si un atacante le envía al VLR un comando para cambiar el número de destino del gsmMSC, se pueden mediante un gsmMSC atacante, desviar todas las llamadas a un punto de captura que permite grabar llamadas sin que el usuario lo sepa ni nadie se de cuenta, o desviarlas a un destinatario diferente. Tobías ha sido contactado por un operador de Ucrania que ha detectado un ataque de este tipo desde Rusia.

Ataque al HLR

Otro problema de SS7 es que cuando un usuario está en el extranjero, el VLR le envía un mensaje al HLR indicando en qué red está visitando el usuario. Esto permite que un atacante le envíe ese dato al HLR, que a su vez le va a dar esa información al SMSC cuando intente enviar SMS al usuario (afortunadamente esto no funciona para las llamadas), esto permite interceptar cualquier sistema de seguridad adicional de un banco que esté basado en SMS (¡!).
El HLR también ejecuta varios comandos mediante un protocolo denominado USSD, que las redes utilizan para diferentes propósitos por ejemplo los desvíos de llamadas o el saldo de prepago, y que también se puede atacar.

Ataques híbridos

Los ataques híbridos requieren además de enviar datos en la red SS7, obtener datos a partir de capturas de tráfico móvil en el aire de un teléfono cercano.
Por ejemplo, si se captura el TMSI (el identificador del usuario en la red visitada), se puede suplantar al usuario y pedir su identificador y con él su ubicación.
LTE: en LTE se sustituye SS7 por Diameter, pero se sigue sin tener autenticación extremo a extremo.

(Resumen de las vulnerabilidades pendiente)

Contramedidas.

Los operadores pueden usar un equipo denominado SMS router que ya no requiere permitir que otros hablen con los VLR/MSC, eliminando ese vector de ataque.

Demostraciones

La charla ha terminado con una demostración en la que se ha activado el bloqueo de llamadas a un determinando número y se han desviado las llamadas a otro número de teléfono.

No hay comentarios:

Publicar un comentario en la entrada