Para capturar una llamada, lo primero es identificar la ubicación del teléfono, que se hace a base de dos pasos: primero una consulta a la base de datos llamada HLR que es necesaria para localizar usuarios en "roaming" y que proporciona una ubicación a grandes rasgos.
Una vez localizado groseramente, a base de enviarle mensajes SMS estando en la misma celda (ya que para ello se envían mensajes en abierto buscando el teléfono) se puede averiguar los datos esenciales que permiten localizarlo, en concreto el TMSI y la celda concreta.
Cuando se hace una llamada, primero se activa el cifrado y sólo de manera cifrada se envía la secuencia de saltos de frecuencia que habría que capturar para identificar el patrón de saltos de frecuencia que sigue el teléfono, por lo que no es fácil distinguir una llamada (con un espectro de unos 200kHz) en un trozo de espectro de 35 MHz de un operador o la parte asignada en una celda (que aunque es más pequeña, siguen siendo varios MHz). Este era el principal problema que había el año pasado.
Aunque las agencias gubernamentales tienen dispositivos caros con un coste de decenas de miles de euros que capturan toda la banda, el foco de la charla es conseguir usar teléfonos baratos (que capturan sólo un canal GSM cada vez) para capturar el tráfico de un usuario.
El procedimiento utilizado es tomar cuatro teléfonos baratos, sustituirles el firmware por uno abierto que tiene capacidad para entrar en modo de monitorización, quitarle el filtro de la banda de subida ("uplink", esto es una modificación del hardware) para mejorar el rango de acción hasta los 100 metros y controlarlo por USB desde un PC. Sólo con proporcionar el TMSI se pueden capturar todas las tramas no cifradas que van en el canal de control (y las demás, solo que las cifradas... no se sabe de quién son).
Y el último paso es el descifrado de la llamada. Para ello han hecho una segunda versión de las tablas del año pasado que son un poco más rápidas. Sobre la captura obtenida por estos teléfonos, se intenta enfocar el trabajo en los primeros paquetes cifrados que están todavía en el canal común (antes de comenzar los saltos de frecuencia), cuyo contenido en unos casos es fácil de anticipar (sobre todo porque el relleno de los paquetes es sistemático). Una vez identificado el paquete y descifrado (y eliminados algunos falsos positivos), son capaces de recuperar la clave de sesión (que se reutiliza durante varias sesiones).
Y la charla ha terminado con la gran demo final, en la que con la clave de sesión capturada los teléfonos de escucha son capaces de seguir la secuencia de salto de frecuencias del teléfono víctima, y han demostrado una captura de una conversación en vivo.
Aunque no todas las herramientas han sido publicadas todavía, claramente la confidencialidad de GSM en este momento ya está en peligro... con cuatro teléfonos de 10€.
La charla termina con una nota de esperanza de cinco medidas que dificultarían este ataque:
- Enviar los mensajes SMS directamente a la red origen dificulta localizar el teléfono.
- Simplemente aleatorizando el dato de relleno de los paquetes GSM sería mucho más difícil este tipo de ataque, al hacer los paquetes mucho más predecibles.
- Cambiar las claves de sesión más frecuentemente, idealmente para cada llamada...
- Cambiar el TMSI más frecuentemente.
- Mantener el "frequency hopping" (a pesar de lo que esto complica el ataque, hay operadores que aún no lo hacen).
Bueno, ahora a mejorar la seguridad GSM, aunque particularmente creo que falta mucho para que exploten esos descubrimientos, sobre todo en Latinoamerica.
ResponderEliminarFeliz Nuevo Año.