jueves, marzo 01, 2012

Localización física de personas usado GSM

Echando una palada más de tierra sobre la seguridad de GSM, unos investigadores de la Universidad de Minessota han publicado un estudio titulado "Location Leaks on the GSM Air interface" que confirma que cualquier atacante, con unos medios técnicos de muy bajo coste, puede saltarse fácilmente la protección del anonimato frente a terceras partes que proporciona GSM.

Para proteger la identidad de los usuarios frente a terceras partes que pudieran interceptar las comunicaciones móviles en el aire, GSM establece que la red del operador asigne periódicamente identificadores temporales a los usuarios (TMSI), de modo que sean esos identificadores temporales los que se transmitan por el aire, al menos en la mayorÌa de los casos, en lugar de los identificadores permanentes y unívocos de los usuarios (IMSI). De este modo, un atacante escuchando las comunicaciones de radio podría ver que hay ciertos dispositivos móviles comunicándose en una determinada zona, pero no podría identificar a quién, o a qué número de teléfono, corresponde cada una de las comunicaciones salvo que llegara a descifrar la comunicación e identificara la voz del hablante, por ejemplo.

Esto último, descifrar la comunicación una vez interceptada, también es posible, debido a que el algoritmo que utiliza GSM para realizar el cifrado, conocido como A5/1, es muy débil y ya ha sido roto, pero ese es otro problema de seguridad, de muchos, que presenta GSM.

Volviendo al problema concreto del anonimato, respecto a terceras partes, de los usuarios de GSM, un atacante puede estar interesado simplemente en saber si una determinada persona está o no presente en una determinada zona, por ejemplo para entrar a robar en su casa cuando la persona no esté presente, o para confirmar su participación o no en una manifestación.

La técnica utilizada por los investigadores para determinar la presencia o ausencia de una determinada persona en una determinada zona consiste en realizar llamadas perdidas al número de teléfono móvil de la persona cuya presencia se quiere comprobar, y observar al mismo tiempo los mensajes enviados por la red a los móviles de la zona avisándoles de que hay una llamada entrante para ellos. Repitiendo el proceso varias veces se puede observar a qué identificador temporal (TMSI) van dirigidas las notificaciones que se producen instantes después de cada vez que los investigadores lanzan una de sus llamadas destinadas a la víctima.

Podría pensarse que esta técnica serÌa fácilmente detectable por el usuario víctima, ya que las llamadas entrantes perdidas quedarían reflejadas en su pantalla. Efectivamente, si los intentos de llamada se cortaran después de transcurrido demasiado tiempo, el teléfono víctima registrarÌa el intento de llamada y mostraría en pantalla el conocido mensaje de llamada entrante perdida. Por otro lado, si se cortaran los intentos de llamada demasiado pronto, el aviso por parte de la red al teléfono llamado no llegarÌa a observarse en el aire. Pero existe una franja intermedia de tiempo tal que si los intentos de llamada se cortan dentro de ese intervalo, la red llega a enviar el aviso de llamada entrante por el aire, y en cambio el móvil no llega a registrar el intento de llamada como llamada perdida, siendo por tanto totalmente transparente para el usuario.

Utilizando esta técnica, los investigadores han demostrado que, utilizando simplemente un PC, un teléfono móvil antiguo, y software gratuito de dominio público, un atacante puede determinar si el propietario de un determinado número de teléfono está o no presente en la zona en la que se encuentre el atacante, con una precisión que puede variar entre unos 100 metros a la redonda (o varios bloques de edificios, en entorno urbano), y varios kilómetros, dependiendo del entorno y de la distribución y organización de las estaciones base del operador en la zona. Adem·s, el atacante, aplicando esta técnica, puede determinar el identificador temporal (TMSI) asignado por la red a ese usuario en ese momento, cosa que podría ser utilizada para realizar otros ataques, como capturar selectivamente sus comunicaciones, probablemente cifradas, obtener la clave de sesión, y con ello descifrar sus comunicaciones o incluso suplantar la identidad del teléfono víctima.

Ésta no es la única técnica disponible para determinar el TMSI de un usuario. En diciembre de 2010 unos investigadores alemanes demostraron una técnica similar, basada en el envÌo de mensajes SMS especiales o mal formados al teléfono de la víctima, en lugar de realizar llamadas perdidas, pero la técnica recién descrita tiene la ventaja de que utiliza solamente mecanismos totalmente estándar de GSM, como son la solicitud de establecimiento de llamada y el aborto de la misma.

En definitiva no es sino una prueba más de lo inseguras que son las comunicaciones GSM.

David Pérez y José Picó
Investigadores de Seguridad de Taddong
Escritores del Libro: "Hacking y Seguridad de Dispositivos Móviles"

11 comentarios:

  1. Muy grande este post, al principio pensaba que iba hablar de localización física por triangulación de estaciones base, lo que me hizo pensar por qué no usar GSM para implementar un servicio GPS ..., desde luego no fue diseñado para eso, aunque indirectamente queda bien claro lo "facil" que puede resultar detectar el tráfico de X. Muy buen aporte :)

    ResponderEliminar
  2. podias haber dado alguna pista, sobre el software gratuito de dominio publico a emplear.....

    ResponderEliminar
  3. podias haber dado alguna pista, sobre el software gratuito de dominio publico a emplear.....

    ResponderEliminar
  4. @Anónimo Es probable que ese software sea OpenBts

    ResponderEliminar
  5. El método "Pepe Gotera y Otilio" para ladrones de poca monta (tm), consiste en que si quieres saber si alguien esta en casa es llamar al telefonillo repetidas veces. Si responde es que esta, si no, no esta.

    ResponderEliminar
  6. excelente post Chema! ya lo comparto en FB y en Twitter! muy bueno!

    99

    ResponderEliminar
  7. Es flipante como estos dos mendas de Taddong le roban las charlas a Harald Welte y a otros del Chaos Computer Club. Y ni siquiera les citan. Asi las gastamos en España.

    ResponderEliminar
  8. Lo mejor es como estos mendas de Taddong le roban las charlas a Harald Welte y otros del Chaos Computer Club. Y ni siquiera les citan. Asi las gastamos en España.

    ResponderEliminar
  9. Lo mejor es como estos mendas de Taddong le roban las charlas a Harald Welte y otros del Chaos Computer Club. Y ni siquiera les citan. Asi las gastamos en España.

    ResponderEliminar
  10. Un protocolo de comunicaciones se define como un idioma, al fin y alcabo se trata de seguir unas normas que permitan la comunicación, pero de la misma forma que distingues a un andaluz de un peazo de norteño,los suministradores de equipos implementan ese protocolo como mejorsaben y más les conviene.En una red de gran tamaño lo normal es que convivan diferentes suministradores y que los nodos de la red sigan topologías heterogéneas, y esto es escalable a todos los subsistemas: radio,núcleo, transmisión...

    Lo que quiero decir es que es muy complicado prever durante cuánto tiempo tienes que estar intentando establecer la llamada sin llegar a completar la fase de establecimiento, es decir,para conseguir una llamada no completada, que es a los que se refiere el artículo cuando dice "Pero existe una franja intermedia de tiempo tal que si los intentos de llamada se cortan dentro de ese intervalo,la red llega a enviar el aviso de llamada entrante por el aire, y encambio el móvil no llega a registrar el intento de llamada comollamada perdida". Estos tiempos también dependen de las condiciones en las que se encuentre la red en un instante dado. Si tengo nodos congestionados o indisponibidades en alguna parte de la red, por decir algo, se pondrán en marcha mecanismos para paliar la situación que no dependen del protocolo ni de cómo el suministrador lo haya implementado, sino que seguirán criterios marcados por el operador. Y esto es un mundo.

    Cuando hablo de topología, por ejemplo en la red de acceso, me refiero a que un dato importante es saber de qué controlador dependen las estaciones y cuántas áreas de localización tiene definidas. Es a lo que se refiere el artículo cuando habla de zonas. Es importante para saber dónde hay que escuchar la red para leer el mensaje en el que se indica el código temporal. Si escuchas móviles de otra área no sacarás el patrón, que por supuesto no es secuencial.

    Esto en áreas densas encuanto a estaciones base y por lo tanto usuarios, sería un poco más complicado de cómo nos lo cuentan. Además tened en cuenta que un problema añadido es si se trata del mismo operador u otro, de si estamos haciendo roaming porque es un operador virtual o un móvil robado en otro país, de si estamos haciendo sharing (compartiendo) en la parte de acceso...

    Cada móvil se comportará de forma diferente porque está en una red diferente, que quizá sea para uno GSM pero para el otro 3G, que será el caso más habitual. Con esto no quiero defender la red GSM. De hecho uno de los motivos iniciales para desplegar UMTS fue que el protocolo GSM es poco robusto y fácilmente atacable.

    ResponderEliminar