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

miércoles, 19 de febrero de 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 de esta tecnología cada día y la práctica totalidad de los terminales móviles 3G son compatibles con GSM. GSM es muy débil en cuestión de seguridad. ¿Cómo funcionaría un ataque con estación base falsa?

Suplantando una BTS de un operador legítimo

Un atacante necesita, para comenzar, información sobre su objetivo. En especial si se pretende realizar un ataque dirigido. En un escenario ideal para el atacante, debe poder identificar a la víctima con su operador de red y su IMSI. Este último parámetro se almacena en la SIM del usuario y en el registro de ubicación base (HLR) de la red, que es una base de datos que almacena información estática sobre los usuarios.

Existen varias formas de obtener el IMSI de un suscriptor:
  • Algunos servicios web ofrecen la posibilidad de consultar directamente los HLR de las operadoras, y en algunos casos obtener el IMSI de un determinado número. 
  • Otro método consiste en que sea el propio atacante el que utilice la BTS como IMSI-Catcher. Para conseguirlo, se debe acercar a la ubicación física del objetivo, y cuando las MS intenten registrarse contra la BTS falsa, indicarles que no es posible resolver su TMSI. Como el  protocolo contempla que si esto ocurre, el teléfono envíe el IMSI, lo hará. El atacante puede rechazar el registro pero también almacenar el IMSI para así confeccionar una lista. Puesto que lo habitual es que se tengan muchas peticiones de otros usuarios que no sean la víctima concreta, deberá realizar esto mismo en diferente localizaciones donde sepa que se encuentra el objetivo... cruzar las listas y determinar el IMSI común.
El atacante también debe obtener información que le permita caracterizar su estación base con parámetros reales de estaciones base legítimas. De esta forma, a ojos del móvil, su BTS será más creíble, y aumentarán las posibilidades de realizar el ataque con éxito. Para esto se suele monitorizar el espectro radioeléctrico, en busca de señales de beacon provenientes de BTS legítimas.

Monitorización de los canales de señalización GSM con GNURadio, Airprobe y Wireshark. Fuente: rtl-sdr.com
Para su configuración, los parámetros más importantes que se deben determinar mediante el análisis de estas señales son:
  • La frecuencia a la que debe emitir la estación base falsa. Resulta un factor clave, porque se debe evitar interferir con un canal de la estación base de la célula en la que se encuentra el atacante y que, de esta forma, la presencia de la base pase inadvertida. Lo habitual es utilizar frecuencias de estaciones base de celdas adyacentes, lo que añadirá veracidad al ataque.
  • La potencia de emisión es también otro factor determinante, puesto que a mayor potencia, mejor recepción de la señal del atacante en el dispositivo del usuario y por tanto más fácil será que se conecte a la BTS.
Una vez configurada, se procede a emitir. Lo habitual es utilziar un inhibidor de frecuencia para saturar el espectro radioeléctrico en las frecuencias de la celda en la que se encuentran atacante y víctima, y de esta manera forzar al dispositivo de la víctima a registrarse en la BTS falsa. Otra manera es situarse lo suficientemente cerca para que la señal que reciba con más fuerza sea la falsa. De esta forma el móvil creerá que ha cambiado de celda y, si la BTS está correctamente caracterizada con la información que se ha obtenido anteriormente, se conectará.

Cuando la víctima intente conectarse se debe aceptar el registro automáticamente, pudiendo incluso obviar el proceso de autenticación. Como ya mencionamos, la MS no tiene capacidad para decidir qué tipo de cifrado emplear en las comunicaciones sino que utiliza el que le imponga la red. Basta con pedirle que utilice A5/0 y las comunicaciones irán en texto plano. Para la víctima, todo este proceso es transparente.

Estructura del ataque. Fuente: criptored.upm.es
A partir de este momento el usuario está aislado de la red del operador en el sentido de que no podrá recibir comunicaciones entrantes. Si alguien intenta contactar con él, aparecerá como fuera de cobertura. Sin embargo, gracias a Asterisk el atacante podría redirigir llamadas salientes hacia la red.

El atacante está en medio ¿y ahora qué?

Una vez el atacante dispone del control de las comunicaciones del usuario, es posible hacer "de todo": escuchas, denegación de servicio, redirección de llamadas…

Veamos un caso práctico, entre muchos otros posibles. Supongamos que el atacante quiere robar los datos bancarios de la víctima. Podría empezar por mandarle un SMS haciendo coincidir el número de origen con el de su entidad bancaria. Esto es tremendamente sencillo porque el servicio SMS no implementa comprobación del número de origen (de hecho, para este paso no hace falta ninguna infraestructura específica puesto que ya hay servicios web gratuitos que permiten esta funcionalidad). En el SMS se comunica a la víctima que, debido a una actualización de la base de datos, es necesario que contacte con su banco para proporcionar unos datos.

Es posible que el usuario llame a la centralita de su entidad bancaria, pero la BTS falsa redirigirá la llamada a un teléfono controlado por el atacante. Como es la propia víctima quien realiza la llamada, es improbable que sospeche. El atacante, haciéndose pasar por un empleado del banco, podría solicitar su número de cuenta y clave de acceso.

En general, GSM es una tecnología muy vulnerable. Todos sus elementos de seguridad están obsoletos y su arquitectura presenta importantes brechas de seguridad. Su uso es desaconsejable aunque sigue estando muy extendido. Quizás con la expansión de las redes 4G su popularidad vaya decayendo paulatinamente, pero es probable sea necesario mucho tiempo hasta que se convierta en marginal, puesto que, a su favor, tiene los poderosos motivos de compatibilidad.

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

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

No hay comentarios:

Publicar un comentario