MITM en GSM: ataque con falsa estación base (I)

ElevenPaths  12 febrero, 2014
Puesto que la telefonía móvil 4G es ya una realidad, pudiera parecer que la tecnología GSM (2G) ha
quedado relegada a un segundo plano. Pero no es así. Millones de suscriptores en el mundo
siguen haciendo uso GSM cada día y la práctica totalidad de los
terminales móviles 3G son compatibles con 2G. GSM es muy débil en cuestión de
seguridad.
¿Cómo funcionaría un ataque con estación base falsa?
Se puede suponer que una tecnología con semejante número de usuarios dispone de
mecanismos que aseguran la seguridad de nuestras comunicaciones. Pero existe (y es más fácil de lo que parece) la posibilidad de que conversaciones o mensajes SMS acaben en manos de un tercero.

Mapa mundial de frecuencias GSM. En azul, GSM 850/1900. En verde, GSM 900/1800. En rojo, sin cobertura GSM. Fuente: hardcorpstravel.com

Realizar un ataque de hombre en el medio (MITM) en GSM es
relativamente sencillo siempre y cuando se cuente con ciertos conocimientos técnicos concretos
y presupuesto suficiente. A continuación veremos por qué se puede hacer, cómo
se puede hacer y qué se podría conseguir.

Para
entender cómo funciona un ataque de estación base falsa es necesario
familiarizarse con unas nociones básicas de la arquitectura GSM.

Estructura jerárquica en GSM

En
GSM existen dos subsistemas bien diferenciados: por un lado tenemos el Network and Switching Subsystem (NSS),
que representa el núcleo de la red y se encarga de realizar tareas de
conmutación (MSC), gestión de movilidad y autenticación de usuarios (HLR y VLR,
registros de ubicación local y visitante). Por otra parte está el Base Station Subsystem (BSS), que
implementa el interfaz radioeléctrico GSM para la comunicación con los
dispositivos de usuario (MS). Consta de dos elementos:

  • Controlador de estaciones base (BSC): es el elemento de
    control que gestiona los recursos de una o varias estaciones base. Asigna
    frecuencias y regula potencias de emisión, además de controlar procedimientos
    internos como el paso de llamada.
  • Estación base (BTS): es el dispositivo que da cobertura a las
    MS. Consta de una serie de antenas de emisión y transmisión, así como de
    moduladores y demás electrónica de comunicaciones. Cada BTS proporciona
    cobertura en un área determinada denominada célula o celda. Las estaciones base
    anuncian su presencia mediante el canal de beacon,
    de manera que las MS puedan localizarlas y registrarse en ellas. 

¿Qué hace a GSM vulnerable?


El
estándar GSM presenta desde su concepción ciertos puntos débiles que le hacen
especialmente vulnerable. Uno de ellos afecta al IMSI (identificador de
suscriptor). El IMSI es una información considerada altamente confidencial, porque a partir de ella se puede inferir la localización geográfica de un usuario. El IMSI es un valor único que podría llegar a identificar a un usuario. Si quedara registrado en las torres en las que se suscribe el usuario, se podría literalmente “espiar” por dónde se mueve. Para solucionar este problema de privacidad, la norma establece
que por defecto el IMSI no debe ser enviado por el interfaz radioeléctrico, y
que en su lugar ha de utilizarse el TMSI (identificador temporal de suscriptor)
al realizar actualizaciones de posición (registros en nuevos VLR). Aun así es posible recuperar el IMSI. Un VLR
guarda una tabla de correspondencias IMSI-TMSI, pero si por algún motivo es
incapaz de resolver un TMSI determinado, la red puede solicitar a la MS el
envío de su IMSI en claro.

Por otra parte, atendiendo a la confidencialidad de
las comunicaciones, el estándar establece el A5/1 como algoritmo de cifrado por
defecto. Pero también obliga a que todos los terminales GSM soporten A5/0
(transmisión sin cifrar)
. Además, la MS no tiene capacidad para decidir el
método de cifrado, teniendo que aceptar el que le imponga la red.

Sin
embargo, el verdadero talón de Aquiles que encontramos en GSM es su protocolo
de autenticación.
A diferencia de las redes UMTS, donde
ya vimos
que la autenticación se realizaba en los dos sentidos, el estándar
GSM sólo autentica al usuario frente a la red
, mientras que la identidad de la
red no se verifica. Esta carencia hace que sea relativamente fácil para un
atacante suplantar a una estación base legítima y de esta manera interceptar y
alterar las comunicaciones.
Pero si se pretende suplantar una estación base, cabe plantearse por qué una MS (que ya está recibiendo servicio de
una estación base legítima) se conectaría a la de un atacante. Existen varios eventos
que pueden desencadenar un proceso de reselección de celda, y todos ellos
pueden ser forzados por el atacante.
Por ejemplo, con un inhibidor de
frecuencias es posible provocar una pérdida de cobertura.

Dos tipos de ataque

Antes
de profundizar en los pasos del ataque, debe quedar claro que existen dos
tipos, en función de cómo se comporta el atacante respecto a la red.

  • Por un
    lado está el ataque completo,
    en el que no solo se suplanta a la estación base
    sino que además se suplanta al usuario frente a la red. De esta manera la
    comunicación es totalmente bidireccional y el abanico de posibilidades de que
    disponemos se multiplica.
    El problema es que este tipo de ataque es muy complejo (sobre todo a la hora de sincronizar la
    señalización entre BTS, suplantador y víctima), y desde luego las herramientas
    necesarias no son tan fáciles de conseguir, 
  • Un ataque parcial, en el que solo se suplanta la estación base. En él, se restringe la comunicación un único sentido. En otras palabras, el usuario podrá realizar llamadas, pero no recibirlas. En esta entrada nos
    centraremos en este, mucho más sencillo.
¿Qué se necesita para suplantar a una
estación base?

Para
acometer un ataque de esta naturaleza, el atacante (dando por sentado que posee
conocimientos de informática y telecomunicaciones lo suficientemente extensos) necesita un conjunto de elementos hardware y software muy específicos (en este libro, se entra en detalle sobre el funcionamiento y conocimiento necesarios)
USRP N120. Fuente: Ettus.com

Respecto a la parte hardware, el elemento principal
es un dispositivo capaz de emitir en la banda de frecuencias de GSM (900 MHz y
1800 MHz en Europa),
como por ejemplo alguno de la familia USRP de Ettus Research. El precio de estos
aparatos oscila entre los mil y los tres mil euros (véase como ejemplo el N210). Además,
son necesarias al menos dos antenas direccionales para la transmisión y
recepción de datos, así como un modulador-demodulador de GMSK, que es la modulación empleada en
GSM
.



En
general, el hardware del atacante tendrá una potencia de transmisión y una capacidad de
gestión muy inferior a las de una estación base real, lo que obligará a
situarse en una zona próxima al objetivo.



Con respecto al software, existe
una gran variedad de herramientas de libre distribución que desempeña las
funcionalidades de una estación base de GSM. Por un lado disponemos de OpenBTS (Open Base Transceiver Station), que hace las veces de punto de acceso
software de GSM, implementando toda su pila de protocolos asociada. Y por otro
lado tenemos Asterisk, que permite
desarrollar las funciones de una central de conmutación. Por último, también
será necesaria alguna herramienta que permita capturar el tráfico, como por
ejemplo Airprobe.



Con los elementos anteriores u otros equivalentes, es posible iniciar el ataque.

MITM en GSM: ataque con falsa estación base (y II)

Cristóbal Bordiú
cristobal.bordiu@11paths.com




Comentarios

  1. Hay un error en el link del libro. Seguramente querrías enlazar a Hacking de comunicaciones móviles, pero enlazas a Hacking de dispositivos iOS (que pinta bien poco en este escenario).

  2. @Anonymous. Hola. Es cierto que lo podría parecer, pero no es un error. En ese libro se habla también sobre ataques GSM en el capítulo 12. La razón es que sobre iPhone es especialmente sencillo este tipo de ataques, porque no permite indicar al teléfono que solo se desea utilizar 3G. Puedes consultar el índice en el enlace. ¡Gracias!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *