4.2.- La segunda generación (2G): GSM
La segunda generación de telefonía móvil adoptó la tecnología digital.
La mayor parte de los terminales usan el Sistema Global para
Comunicaciones Móviles, o GSM, que se diseñó desde el inicio para
facilitar el roaming internacional y se lanzó en 1992.
Los diseñadores de GSM intentaron asegurar el sistema contra la
clonación y otros ataques conocidos; el objetivo era que fuera al menos
tan seguro como los sistemas cableados.
Para conseguirlo la industria intentó mantener en secreto la
criptografía y otros mecanismos de protección que forman parte del
corazón de los protocolos GSM. En cualquier caso este sistema,
obviamente no funcionó, ya que pronto se conocieron algunas
vulnerabilidades y el resto del sistema fue conocido mediante el empleo
de ingeniería inversa.
Las funciones o servicios de seguridad básicos desarrollados para GSM se
podrían agrupar en tres grupos: autenticación de la identidad del
suscriptor, confidencialidad de la identidad del suscriptor y
confidencialidad de los datos, incluyendo elementos de información de
señalización, datos de usuario y datos de conexiones físicas.
a.- Autenticación de la identidad del suscriptor: Identificación
Cada red tiene dos bases de datos, un registro de localización local
(HLR Home Location Register) que contiene la localización de sus propios
móviles -los pertenecientes a su red- , y un registro de localización
de visitantes ( VLR visitor location register) para la localización de
visitantes procedentes de otras redes y que llegan a la actual por
roaming. Estas bases de datos permiten la redirección de las llamadas a
la célula correcta en la que se encuentre el usuario.
En cuanto a la terminología empleada, podemos decir que en un entorno
GSM, un teléfono se conoce como estación móvil (MS Mobile Station) y
éste a su vez, se divide en dos componentes : el módulo de
identificación del suscriptor (SIM Subscriber Identity Module) y el
equipo móvil (ME Mobile Equipment). Tal y como indica su nombre SIM es
un componente sustituible que contiene, como veremos a continuación,
información del suscriptor. El ME no puede funcionar completamente sin
él.
La función principal del SIM es la de autenticar nuestro teléfono en la
red de modo que tengamos acceso a los servicios que hemos contratado. De
todos modos también provee de espacio para almacenar información
personal tal como agenda telefónica, mensajes de texto e información
relacionada con los servicios contratados.
En realidad podemos pensar en SIM como un “contenedor” de tres números:
- Un número de identificación que se usa para desbloquear la tarjeta. En teoría, esto evitaría que los móviles usados se siguieran usando, en la práctica no es extraño que nuestra red pongan un PIN inicial 0000 que nunca será cambiado por muchos usuarios.
- Contiene también un identificador de suscriptor de móvil internacional (IMSI International Mobile Subscriber Identification) un número único que se asigna al número de teléfono móvil.
- Por último hay una clave de autenticación del suscriptor Ki, un número de 128 bits que sirve para autenticar el IMSI y que es conocido por nuestra red. Esta clave es generada de forma aleatoria y se guarda en una base de datos de autenticación conectada al HLR.
El proceso de autenticación que es sólo en una dirección (se
autentica el teléfono), es el siguiente. Al encender el móvil, el SIM
nos solicitará el PIN, si se introduce correctamente, el SIM emite el
IMSI a la estación base más cercana. Se retransmite al HLR del
suscriptor que, a su vez, genera cinco tripletes. Cada triplete consiste
en:
- RAND: desafío aleatorio
- SRES: una respuesta
- Kc: una clave cifrada
La relación entre estos valores es que RAND, encriptada bajo la clave
“ki” de autenticación del SIM, da como salida SRES concatenada con kc:
{RAND}Ki = (SRES|kc)
El modo estándar de realizar la encriptación es usando una función de un
sólo sentido llamada Comp128 o A3/A8. (A3 hace referencia a la salida
SRES y A8 a la salida kc). Este algoritmo, como hemos dicho se
desarrolló en el mayor de los secretos en un intento de hacerlo
invulnerable al criptoanálisis. Se basa en la búsqueda en tablas y la
mezcla de los resultados. Hay cinco tablas, con 512, 256 128, 64 y 32
entradas de bytes cada una, la función hash las usa sucesivamente en
cada bloque de cinco vueltas; hay ocho de estos bloques. Una vez se hizo
público el algoritmo se encontraron debilidades. Cuatro de los bytes de
salida de la segunda ronda dependían sólo del valor de los mismos bytes
en la entrada. Una vez sabido esto se desarrolló software que
realizando pruebas a partir de unos 150,000 valores de entrada
escogidos, eran capaces de extraer la clave de autenticación en unas
pocas horas de cualquier SIM que emplee Comp128.
Afortunadamente las compañías pueden reemplazar Com128 con una función
hash adecuada como SHA-256 sin que esto afecte a nada más; la función
hash se almacena sólo en la SIM y en el software en el HLR. En cualquier
caso no se registraron demasiados ataques de este tipo ya que no
permiten realizar llamadas gratuitas (ni hacerlas a nombre de un
tercero).
En cualquier caso se envían los tripletes a la estación base, esta envía
el primer RAND al móvil (MS), se le pasan al SIM que calcula SRES y lo
devuelve a la BS, si es correcto ambos se pueden comunicar empleando la
clave de cifrado Kc.
Ataques y vulnerabilidades del sistema de identificación
Existen algunas vulnerabilidades conocidas en el proceso:
En primer lugar, en la mayoría de los países las comunicaciones entre la
BS y el VLR se realiza mediante enlaces microondas no encriptados. De
este modo un atacante podría enviar un IMSI de su elección e interceptar
el triplete en el enlace microondas cuando es devuelto a la estación
base. Esto permitiría realizar llamadas gratuitas cargándolas al IMSI
empleado.
En segundo lugar, se pueden reutilizar las tripletas, esto podría servir
para que una red ajena solicitara las cinco tripletas mientras hacemos
roaming y una vez obtenidas no solicitase nuevas tripletas y
permitiéndonos llamar todo lo que quisiéramos. Esto haría que no
sirvieran de nada los limites de consumo/responsabilidad establecidas en
nuestra operadora de origen, ya que aún en el caso de solicitar nuevas
tripletas podría tardar hasta una semana en enviar los datos de consumo.
Una operadora poco escrupulosa podría incluso generar facturas de
consumo falso. Esto funcionaría incluso cuando empleamos tarjetas
prepago ya que para habilitar el roaming en ellas, la mayoría de las
operadoras solicitan un número de tarjeta de crédito.
En cualquier caso el hecho de aumentar la dificultad de clonación de los
móviles con respecto a los de la primera generación hizo que se
modificase el patrón de actuación criminal incrementándose el número de
móviles robados de manera significativa. En ocasiones estos móviles eran
reprogramados cambiando su IMEI (International Mobile Equipment
Identifier) el número de serie en el móvil.
Por otra parte en 1997 se introdujeron los móviles prepago que
igualmente dieron lugar a la posibilidad de realizar pequeños fraudes,
por ejemplo podrían ser recargados con tarjetas de crédito robadas ya
que en un principio no era necesario identificarse para realizar la
compra de un móvil. Un fraude que también se podía producir es que
alguien realizara una última llamada de un día de duración, al final del
día se podría generar una factura enorme que no se podría cobrar si el
propietario se deshiciera del móvil. Esta es la razón por la que las
operadoras normalmente finalizan de modo automático las llamadas de
excesiva duración. En cualquier caso, para crímenes importantes la
policía puede perseguir no sólo el SIM (el número de teléfono) sino el
terminal en sí, hay que recordar que cuando se inicia la llamada no sólo
se envía el IMSI del SIM sino que también se envía el IMEI del
terminal.
b.- Confidencialidad de la identidad del suscriptor
El doble objetivo de esta función es evitar que por un lado que un
intruso pueda averiguar nuestra identidad y por otro que una vez
averiguada lo pueda emplear para localizar al usuario GSM.
Para conseguirlo, cuando el móvil se registra en una red, se genera una
identificación de suscriptor de móvil temporal (TMSI temporary mobile
subscriber identification). Esta identificación es un número local que
siempre debe ir acompañada del Identificador de Área de Localización
(LAI) y que sólo tiene sentido en ese área. Cuando se recibe un TMSI en
una LAI distinta de la VLR actual, se solicita la transmisión de IMSI
bien al MS, bien al VLR al que pertenece LAI. Cada vez que se procede a
la actualización de la localización, es necesario establecer un nuevo
TMSI eliminándose el anterior.
Ataques y vulnerabilidades de la confidencialidad GSM
Para el ataque a este mecanismo se emplea un dispositivo llamado
IMSI-catcher que en teoría se les vende a los cuerpos de seguridad. El
dispositivo se instala en un vehículo que sigue a la víctima simulando
ser una estación base GSM. Al permanecer más cerca de la víctima su
señal es más fuerte con lo que el terminal intentará registrarse en la
nueva estación. El IMSI-catcher simula no entender el TMSI, por lo que
el terminal como ayuda se lo envía en texto plano. Esta característica
se introdujo para facilitar el roaming entre redes distintas y para
recuperarse fácilmente de fallos en el VLR. La policía podría ahora
interceptar las comunicaciones o simplemente realizar un ataque “man in
the middle” en el que funcionan como red para el móvil y como móvil para
la red.
c.- Confidencialidad de los datos
Mediante este mecanismo de seguridad se supone que GSM proporciona
confidencialidad mediante la encriptación del tráfico entre el terminal y
la estación base una vez que los procesos de autenticación y registro
se han realizado correctamente. Básicamente se digitaliza la voz, se
comprime y se generan una serie de paquetes, cada uno de los cuales es
encriptado mediante una secuencia seudoaleatoria que se genera a partir
de la clave de cifrado Kc y el número de paquete.
El algoritmo de cifrado usado inicialmente en Europa es el A5/1 que al
igual que Comp128 fue elaborado en secreto y sin verificarlo con
expertos externos. Es un mecanismo débil y rápidamente surgieron ataques
para el mismo.
Ataques a la confidencialidad de datos GSM
Una vez detectadas las carencias del algoritmo, que inicialmente
requería de gran potencia de cálculo Biryukov y Shamir encontraron
algunas optimizaciones que permitían romper con mayor facilidad A5. El
sistema se basaba en la generación de un fichero con datos en los que el
algoritmo converge, después se trataría de buscar una coincidencia con
el tráfico observado.
Por ingeniería inversa también se demostró que se habían introducido
debilidades en el mecanismo de manera intencionada. En teoría la clave
de cifrado es de 64 bits, en realidad los diez bits menos significativos
se rellenaban a cero.
En cualquier caso, para solucionar este problema se introdujo un tercer
cifrado A5/3 que se basa en un sistema de cifrado fuerte conocido como
Kasumi y que, de hecho, se usa también en los móviles de tercera
generación.
A pesar de todo ello se han desarrollado ataques que explotan las
debilidades subyacentes en el sistema. En realidad muchas compañías de
telefonía en numerosos países emplean una versión débil de A5/1 llamada
A5/2. Los teléfonos móviles, generalmente, son capaces de emplear ambos
algoritmos con el fin de facilitar el roaming.
El ataque diseñado por Elad Barkan, Eli Biham y Nathan Keller se basa en
lo siguiente. Se sigue a la víctima y se graba su llamada incluyendo el
protocolo inicial de desafío respuesta. Una vez finalizada la llamada
se emplea un IMSI-catcher para provocar el registro de la víctima en
nuestra estación base. El IMSI-catcher le dice al teléfono que use el
algoritmo A5/2, en lugar de A 5/1 y se establece una clave debidamente –
el IMSI-catcher envía en realidad el mismo desafío empleado
anteriormente. Por tanto el móvil genera la misma clave Kc que antes.
Como ahora se emplea un algoritmo débil de encriptación para su
encriptación, puede ser craqueada rápidamente dándonos acceso a la
conversación grabada previamente. De hecho, no importa si fue protegida
empleando el algoritmo de media seguridad A5/1 o el de alta seguridad
A5/3 ya que, lo cierto, es que hay un algoritmo de baja seguridad, que
las claves suelen ser cifradas empleando uno de los dos principales y
que dichas claves son compartidas entre los algoritmos haciendo
vulnerable todo el sistema.
De hecho existen numerosas corrientes que sostienen que la
vulnerabilidad de A5/1 se introdujo debido a la presión de las agencias
de seguridad Europeas bajo la justificación de que no querían exportar
mecanismos de seguridad a países hostiles ya que haría complicaría su
espionaje En cualquier caso la historia de seguridad de GSM es un buen
ejemplo de cómo la inserción deliberada de vulnerabilidades puede tener
repercusiones mucho mayores de las contempladas inicialmente.
Existen numerosas violaciones de la confidencialidad de las
comunicaciones en GSM documentadas, en 2007, por ejemplo se prohibieron
las comunicaciones móviles a los soldados de la RAF ya que los talibanes
interceptaban sus comunicaciones y las empleaban para llamar a
familiares comunicando falsos fallecimientos. En 2004-5 personas
desconocidas interceptaron las comunicaciones del Primer Ministro griego
y de un ciento de políticos, policías y militares empleando una serie
de debilidades en la red Griega de Vodafone.
También existen numerosos casos de vulneración de la confidencialidad de
la localización, por ejemplo en Suiza en 1997 se desató una tormenta en
la prensa cuando se supo que las compañías telefónicas proporcionaban
de manera rutinaria la localización de sus usuarios a la policía.
Mientras, en EEUU la FCC (Federal Communications Commission) una agencia
gubernamental independiente y directamente responsable del Congreso,
ordenaba a las compañías de teléfono posibilitar la localización de sus
usuarios con la disculpa de que las llamadas al 911 (número de
emergencias) fuesen desviadas al servicio más cercano.
d.- Conclusiones sobre seguridad en GSM
Tras hacer un repaso por los distintos mecanismos de seguridad
perseguidos con la introducción de GSM es evidente que se han producido
fallos evidentes: por un lado los algoritmos de encriptación se
desarrollaron con el mayor secretismo y sin la debida auditoría externa,
por otra parte se introdujeron de manera deliberada algunas
vulnerabilidades destinadas a facilitar la actuación de los cuerpos de
seguridad, finalmente las redes no se identifican frente a los equipos,
lo que hace que puedan ser falseadas por un atacante.
En cualquier caso y ya sea por una u otra circunstancia, las debilidades
iniciales se arrastraron en las posteriores implementaciones del
sistema en aras de facilitar una coexistencia con los sistemas más
antiguos y la interacción con otras redes (roaming/itinerancia, por
ejemplo) que lo único que hicieron fue convertir el problema en
persistente.
De hecho incluso existen proyectos en la red como trac (http://reflextor.com/trac/a51)
dónde se han desarrollado librerías completas que permiten interceptar
tanto los datos como la información de señalización GSM que empleen el
algoritmo A5/1 en apenas segundos. De hecho en la situación actual del
proyecto uno de los puntos es: “se podría, hipotéticamente, construir un
interceptador completo GSM para recoger datos GSM a partir de
componentes open source. No lo hemos hecho porque podría ser ilegal en
ciertos países”. Lo cierto es que todo el código y las tablas están
disponibles en la página del proyecto.
4.3.- 2.5G: GPRS
El General Packet Radio Services (GPRS) es un servicio que proporciona
la transmisión de paquetes vía radio a los usuarios de GSM. Proporciona
multitud de servicios que hacen posible el concepto de Internet móvil.
Se considera en su diseño la seguridad como algo vital, para ello emplea
una arquitectura específica para proteger la red de accesos no
autorizados mientras se protege la seguridad de los usuarios. La
arquitectura está basada en las medidas de seguridad implementadas en
GSM ya que emplea la infraestructura GSM. Sin embargo GPRS está más
expuesta a los ataques ya que usa la tecnología IP que presenta una
serie de conocidas vulnerabilidades.
Ilustración 6: Arquitectura de la red GPRS
a.- Arquitectura GPRS
Tal y como se puede ver en la imagen y si la comparamos con la
Ilustración 5, veremos que GPRS introduce dos nuevos nodos de red
respecto al diseño GSM. Las nueva clase de nodos llamada nodos de
soporte GPRS (GSN) es la responsable de la entrega y enrutamiento de los
paquetes de datos entre MS y la red de datos de paquetes externa (PDN).
el nodo de soporte GPRS de servicios (SGSN) -al mismo nivel que MSC-
con objeto de gestionar los servicios de enrutamiento y transferencia de
paquetes, localización, ejecución de funciones de seguridad, control de
acceso, manejo de la movilidad y del enlace lógico de un MS con su área
de servicio; y la Pasarela de GSN (GGSN) que actúa como una interfaz
entre la red central GPRS y las redes de paquetes conmutados externas
(PDN) y que, a su vez, se conecta con SGSN a través de una red GPRS-IP
(en realidad túneles IP que usan el protocolo GTP -GPRS tunneling
protocol-).
El centro de la red sigue usando elementos de GSM tales como HLR, VLR,
AuC (mantiene información de seguridad relacionada con la identidad de
los usuarios) y EIR (mantiene información relacionada con los
terminales). Opcionalmente MSC y VLR pueden unirse para proporcionar
mayor coordinación de servicios y funcionalidades y para actualizaciones
de localización combinadas GPRS y no-GPRS.
b.-Arquitectura de seguridad GPRS
Para cumplir los objetivos de seguridad GPRS incluye una serie de
mecanismos que constituyen la arquitectura de seguridad GPRS. La mayoría
de ellos procedentes de GSM han sido modificados para adaptarlos a la
naturaleza del tráfico orientado a paquetes y los nuevos componentes de
GPRS. En el caso de GPRS persigue dos objetivos: proteger la red de
accesos no autorizados y proteger la privacidad de los usuarios. Incluye
por tanto los siguientes componentes, algunos ya vistos en GSM, a los
que se le realizan pequeñas modificaciones:
- Módulo de identificación del suscriptor (SIM)
- Confidencialidad de la identidad del suscriptor.
- Autenticación de la identidad del suscriptor.
- Confidencialidad de los datos y de la información de control entre MS y el SGSN.
- Seguridad de la red troncal GPRS.
Las diferencias con respecto a lo visto a GSM para cada una de ellas son las siguientes.
Por lo que se refiere a la SIM, contiene los mismos códigos ya vistos y
la única diferencia relevante es que el algoritmo de autenticación es A3
y el algoritmo de generación de claves A8.
En lo que se refiere a la confidencialidad de la identidad del usuario,
emplea igualmente una identidad temporal para SGSN que se denomina
Identidad de Suscriptor Móvil Temporal de Paquetes (P-TMSI). Si SGSN
incluye la firma digital de P-TMSI en algún mensaje enviado a MS, este
debe hacer lo mismo en los siguientes mensajes de actualización de área o
de establecimiento de conexión, la relación entre los valores y el IMSI
es conocida sólo en MS y en SGSN.
El proceso de autenticación del suscriptor es el mismo que en GSM con la
diferencia de que los procesos se realizan ahora en el SGSN en lugar de
en la estación base y emplea un generador de número aleatorio diferente
(GPRS-RAND) y por tanto produce una respuesta distinta (GPRS-SRES) y
una clave de encriptación distinta (GPRS-Kc). El mecanismo de GPRS
ofrece autenticación de suscriptor, selección de algoritmo de cifrado y
sincronización de cifrado. La información relativa a la seguridad por
parte de la red se almacena en SGSN. MSC/VLR autenticarán a MS en el
proceso de establecimiento de la conexión.
En cuanto al mecanismo de confidencialidad de los datos de usuario y de
señalización GMM/SM se basa en la utilización del algoritmo de cifrado
GPRS (GPRS-A5), que se conoce como algoritmo de encriptación GPRS (GEA) y
que es similar al GSM A5. Actualmente existen tres versiones: GEA 1,
GEA 2 Y GEA3 ( que es A5/3). Al igual que en GSM se produce una
negociación entre SGSN y MS en aras de adoptar un mecanismo de cifrado
conocido por ambos, en caso de no acuerdo puede liberarse la conexión.
Una diferencia importante con respecto a GSM, por tanto, es que en lugar
de existir el canal sólo entre BTS y MS, en GPRS el ámbito de cifrado
va desde el SGSN hasta MS. Para la gestión de claves se emplea el
procedimiento establecido para Kc en GSM.
Seguridad de la red troncal GPRS
Como vimos anteriormente, una de las debilidades de la red GSM era que
los enlaces aéreos de la red troncal podían viajar en texto plano
facilitando su escucha.
La red troncal GPRS incluye tanto a los elementos de red y sus
conexiones físicas como los datos de usuario y la información de
señalización y control. Las señales en GPRS se basan en la tecnología
SS7 (Signaling System 7), que no incluye ninguna medida de seguridad
para el despliegue de redes GPRS. De manera similar el protocolo GTP que
se emplea para la comunicación entre GSN tampoco incorpora seguridad.
Por ello, tanto señalización como datos se transmiten en texto claro
exponiéndolos a numerosos ataques. Además la comunicaciones entre redes
de distintos operadores se basa en Internet público, lo que habilitaría
la suplantación de identidad (spoofing) IP.
Para tratar de solucionar los problemas citados las operadoras suelen emplear las siguientes técnicas:
- Uso de direcciones IP privadas y NAT ( Network address translation) para restringir los accesos desde Ips no autorizadas a la red troncal.
- Uso de cortafuegos en la frontera para proteger la red GPRS de accesos no autorizados.
- Empleo de políticas que sólo permitan la salida del tráfico originado en MS y no desde internet atravesar el firewall protegiendo al MS y los elementos de red de ataques externos y al MS de tráfico no deseado.
- También pueden desplegar protocolos de control de ancho de banda que impidan que un único usuario consuma demasiado hasta el punto de afectar al resto.
- Cortafuegos a nivel de aplicación previenen el acceso directo a los sistemas mediante el uso de proxies capaces de analizar los protocolos involucrados, los comandos, realizan la autenticación y mantienen logs de registro.
- Para proteger la privacidad y confidencialidad de los datos se emplean VPNs (redes privadas virtuales). La VPN se emplea para la autenticación y autorización del acceso del usuario a los recursos corporativos, el establecimiento de túneles seguros entre las partes y la encapsulación y la protección de los datos transmitidos por la red( ya sea entre los elementos de red de la propia GPRS, entre las redes de distintas operadoras o entre la red GPRS y una red privada corporativa remota.
* en la próxima entrega vulnerabilidades y posibles ataques a la red GPRS
No hay comentarios:
Publicar un comentario