sábado, 27 de diciembre de 2014

Utilizar SS7 para localizar y seguir a alguien

En esta charla, Tobías Engel nos cuenta cómo ha sido nuevamente (ya lo comentó en el 25c3) capaz de localizar usuarios de todo el mundo arbitrariamente conectándose a la red SS7, a partir de identificar que había proveedores comerciales que ofrecían ese servicio, así como intervenir sus llamadas, SMS y activarles servicios suplementarios.

Introducción al SS7. 

La señalización de las redes de tráfico móvil se han ido construyendo, comenzando con el sistema de señalización de las redes fijas (SS7), a los que se ha añadido una parte para señalizar las llamadas móviles (MAP) y otra para el uso de los servicios en roaming (CAP, CAMEL Access Part).
El sistema utiliza unas direcciones denominadas Global Title para encaminar, aunque no son fáciles de conseguir, algunos operadores ceden algunos como partes de sus acuerdos de roaming u otros tipos de servicios.
Para entender los problemas es necesario saber que los datos de un usuario que está fuera de su red se almacenan en una base de datos denominada VLR (registro del usuario visitante) que es una copia de los datos que tiene en su red de origen (en la base de datos HLR, registro del hogar del uusario). Existe otro tipo de nodos denominados MSC que responden a preguntas parecidas en otras circunstancias.

Localizando a los usuarios.

Cada estación base del mundo tiene una dirección única, y a partir de ahí es posible identificar la ubicación geográfica de la estación base. Varias empresas, como Google, tienen acceso a las tablas de correspondencia entre identificadores y ubicaciones locales.
La historia comienza identificando unos proveedores que argumentan poder identificar con una tasa de éxito del 70% cualquier usuario del mundo (siempre que no sea de EEUU o sea de Israel y esté en Israel).
A partir de ahí, se ha identificado que mediante el protocolo MAP, el servicio anyTimeInterrogation permite preguntarle al HLR la combinación de red y cell id donde está un usuario. Hoy en día, todos los operadores europeos ya no responden a ese servicio.
Pero sin embargo, todavía se puede preguntar a la red para enrutar SMS cuál es MSC / VLR donde está un usuario, y los MSC y VLR sí que responden al servicio ATI.
Con permiso de los usuarios, han sido caapaces de seguir a varios usuarios que han consentido en pemitiro, y Tobías ha sido capaz de mostrar un mapa las ubicaciones recogidas de esos usuarios. Como por ejemplo un usuario holandés que reside en Seattle, y que se puede ver cómo vuelve a Holanda a su casa (que no se ha enseñado por privacidad).

Mitigación del ataque.

Hablando con un operador alemán, el operador vio el ataque, y comenzó a filtrar ese tráfico, averiguando, que la mayor parte era tráfico de otros operadores mal configurados.
Pero aún así, siguió habiendo tráfico de atacantes que tenían acceso a los IMSI de los usuarios a través de otros métodos.
Esto hay que hacerlo de manera sofisticada, ya que se ha identificado que en MAP hay que poner un atributo llado "Called Sender Party Address" que debe ser igual al que hay en en SS7, pero si se pone uno parecido a la red atacada, conservando en SS7 la dirección atacante, MAP lo responde a las preguntas.
Eso significa que se puede preguntar al VLR/MSC por la ubicación de un usuario, aunque esté filtrando las direcciones. Y esto no sólo permite leer los datos, sino también modificar la información de un usuario, como su capacidad de recibir SMS.

Ataques a CAML

CAML permite hacer cosas como llamar desde el extrajero con la numeración de tu país, lo que se hace en un sistema intermedio denominado gsmMSC cuya dirección se almacena en el VLR que reescribe los números de teléfono y se los envía al VLR para enrutar la llamada. El problema es que si un atacante le envía al VLR un comando para cambiar el número de destino del gsmMSC, se pueden mediante un gsmMSC atacante, desviar todas las llamadas a un punto de captura que permite grabar llamadas sin que el usuario lo sepa ni nadie se de cuenta, o desviarlas a un destinatario diferente. Tobías ha sido contactado por un operador de Ucrania que ha detectado un ataque de este tipo desde Rusia.

Ataque al HLR

Otro problema de SS7 es que cuando un usuario está en el extranjero, el VLR le envía un mensaje al HLR indicando en qué red está visitando el usuario. Esto permite que un atacante le envíe ese dato al HLR, que a su vez le va a dar esa información al SMSC cuando intente enviar SMS al usuario (afortunadamente esto no funciona para las llamadas), esto permite interceptar cualquier sistema de seguridad adicional de un banco que esté basado en SMS (¡!).
El HLR también ejecuta varios comandos mediante un protocolo denominado USSD, que las redes utilizan para diferentes propósitos por ejemplo los desvíos de llamadas o el saldo de prepago, y que también se puede atacar.

Ataques híbridos

Los ataques híbridos requieren además de enviar datos en la red SS7, obtener datos a partir de capturas de tráfico móvil en el aire de un teléfono cercano.
Por ejemplo, si se captura el TMSI (el identificador del usuario en la red visitada), se puede suplantar al usuario y pedir su identificador y con él su ubicación.
LTE: en LTE se sustituye SS7 por Diameter, pero se sigue sin tener autenticación extremo a extremo.

(Resumen de las vulnerabilidades pendiente)

Contramedidas.

Los operadores pueden usar un equipo denominado SMS router que ya no requiere permitir que otros hablen con los VLR/MSC, eliminando ese vector de ataque.

Demostraciones

La charla ha terminado con una demostración en la que se ha activado el bloqueo de llamadas a un determinando número y se han desviado las llamadas a otro número de teléfono.

Hackeando comunicaciones por satélite

En esta charla, Sylvain Munaut nos describe cómo atacaron el sistema de telefonía por satélite Thuraya, basado en el sisetma GMR-1 que se utiliza para comunicaciones por satélite, de voz y datos.
Hay dos estándares de GeoMobile Radio, GMR-1 y GMR-2, que compiten entre sí, habiendo sido ambos estandarizados por ETSI. En esta charla se describe el GMR-1, con amplia cobertura en Europa y medio oriente, aunque sólo está muy usado en Oriente Medio, principalmente porque es el que tiene los temrinales más baratos en eBay.

Introducción al sistema GMR-1

El sistema GMR-1 es muy parecido a GSM pero tiene todos los nombres de los elementos cambiados.
Como principal diferencia, al tener muy poca cobertura en interiores, tiene un canal de señalización llamado HPAC (high penetration Alerting Channel), que permite señalizar una llamada. Esto indica al usuario que hay que salir al aire libre para tener cobertura (ya que la llamada no se puede contestar en interiores).
Las dos principales diferencias es que el sistema utiliza un codec de audio denominado AMBE y un cifrado llamado A5-GMR1.
Tiene la misma red de núcleo que una red GSM normal, lo que permite reutilizar un SIM para usarlo en GSM.

Trabajo anterior:

Han conseguido antenas en el mercado de segunda mano.
Procesamiento SDR para recibir la señal.
Pero hasta ahora no se podía hacer nada en cuanto comenzaba la transmisión cifrada.

AMBE: es el codec de voz pero que en el estándar no se describe más que a muy lato nivel. Implementado por una compañía llamada DVSI. Aunque DVSI vende un USB codec que decodifica otros codec AMBE (hay toda una familia de codec), no sirve para los satélites.
Sin embargo, existe una biblioteca llamada mbelib que decodifica otros codecs AMB. Y por supuesto, está en el hardware chipset de los teléfonos.
AMBE es un vocoder que identifica la voz e intentar reconstruir algo que se parece al original. Por cada segmento de 20 ms, se descompone la voz en cuatro parámetros:
  1. La frecuencia fundamental
  2. El volumen
  3. voz o no voz de cada trozo espectral (un tono o ruido en toda la banda).
  4. Magnitudes espectrales de la señal.
Para decodificar, lo que se hace es desempaquetar la señal en parámetros, descuantificar la señal y sintetizarla.

Ingeniería inversa del teléfono SO-2510

Aunque el codec podría estar en varias partes del teléfono, se indicaba que fuera del DSP de TI C55x no podía estar.
Pero tras un correo con Dieter Spaar le ayudó a encontrar los puntos de entrada para la decodificación y codificación, a base de buscar los puntos desde donde se accedía a la memoria DMA y donde se ponía una separación completa del resto del código.
Aun así, es un tercio de los 250k de código del DSP, y es difícil de entenderlo. Pero usando un simulador de TI (de Windows), fue posible para Sylvain en unos pocos días de trabajo y de intentos, usarlo para decodificar capturas de audio de teléfonos reales, pero de manera muy laboriosa y más lento que en tiempo real.
El siguiente paso es hacerlo funcionar en un DSP real, Dieter volvió a ayudar porque es necesario encontrar un dispositivo de modo que se pueda ejecutar en la dirección para la que fue compilada. Con eso ya se podía ejecutar a 16x veces, pero siendo SDRAM más lenta que la SRAM tuvo reubicar algunas tablas críticas a SRAM.
Finalmente debido a pedir una tarjeta DSP equivocada, Sylvain acabó escribiendo un reubicador de código, que resultó ser más sencillo de lo pensado, gracias a disponer de la versión del simulador para comparar.
Pero eso no fue suficiente, y el siguiente paso fue intentar generar un código para decodificar, el desempaquetado fue fácil, la descuantificación fue la parte más complicada y para la síntesis se comenzó con mbelib pero acabó implementando el estándar P25 que era parecido e intuyendo cuáles eran las diferencias.
No es perfecto, porque DVSI ha añadido mucho código que optimiza la calidad de la voz, pero eso se deja para otros que quieran mejorar la voz que ya es inteligible.

Decodificar el cifrado A5-GMR-1

El siguiente paso fue decodificar el cifrado, que lo hizo un equipo de la universidad de Bochum, y que es relativamente parecido al estándar A5/2, pero cambiando todos los parámetros numéricos.
El ataque RUB es capaz de tener éxito simplemente capturando una llamada cifrada, sin más contexto, ataca directamente a la trama TCH3 de voz. El primer ataque se deriva de un ataque anterior a A5/2, que era capaz de descifrar 32 paquetes en 40 minutos con 350 GB de tabla de datos precalculados.
Como 40 minutos era mucho tiempo, se plantearon atacar las tramas FACCH3, que son tramas de control con un texto más predecible al ser tramas de control.
Para atacar el codec, la idea es transformar el problema en una ecuación lineal entre la entrada conocida y la salida observada, a base de linealizar la ecuación (que consiste en introducir incógnitas para cada término cuadrático y probar los 65k posibles valores del reloj de cifrado.
El problema consiste en comprobar cada una de las 65k matrices sobre los datos disponibles.
Los resultados: si se conoce el paquete en claro, se puede hacer en 500ms con 50Mb de datos, mientras que partiendo sólo del código cifrado se tarda 1s en resolver con 500MB de datos.

Próximos pasos

Pendiente.

Modelar aluminio en 3D

En esta charla, Julian Longtin, del proyecto FOSScar.
Aunque tiene una historia de desarrollo software, tuvo que cambiarse a algo más sólido por una lesión de la muñeca, y lleva 3 años haciendo impresoras 3D para arreglar coches. En Arkansas, un coche es básiamente una necesidad vital.
Hoy en día para hacer piezas y pasarlas a 3D, se usaba la técnica del "lost PLA" que es un proceso en dos fases, en el que se imprime en plástico, se hace con eso un molde, se derrite el plástico y en él se pone el aluminio fundido. Es un proceso de 30 horas para cada pieza. Este proceso tiene muchas limitaciones, como ser lento, requerir mucha energía y ser poco fiable.
De ahí comenzó a interesarse en otro proceso alternativo. El primero de imprimir aluminio directamente requería tecnologia muy sofisticada.
Su segunda aproximación fue utilizar microondas para fundir el aluminio, siguiendo con la metodología de un molde y una forja de aluminio que derretía el aluminio para luego ponerlo en el molde: es un proceso en el que se usa carburo de silicio que recibe las microondas y se calienta. El molde se hace con perlita y cemento, y está pensado para ser introducido en el microondas. El interior se pinta con el susceptor de carburo de silicio y azúcar que al ser calentado se quema y reacciona bien con el carburo de silicio.
Con eso se puede conseguir un proceso mediante el que el aluminio se funde en 2:40 horas. Pero con ese aluminio fundido no se puede hacer nada si no se encuentra una manera de usarlo.
El siguiente proceso fue encontrar un proceso de conseguir un crisol para fundir el aluminio volviendo al proceso de propano para experimentar, con lo que se pueden usar recipientes de acero, que además se pegan a las impurezas y refinal el aluminio.
El siguiente paso es preparar el molde (negativo), dentro de un tupperware, en ese proceso se usa la prieza de plástico, y espuma de aislamiento para las entradas y las salidas.
En ese proceso se usa también el microondas para compactar el molde y fundir el plástico, lo que hay que hacer en tandas de 15 minutos para quitar toda el agua sin que explote.
Una vez el molde está listo, se entierra en arena y se llena de aluminio procedente de la forja de propano. Toda la parte combustible (la pintura de los embudos de red bull, la cinta adhesiva) se quema, pero en ese momento ya está el aluminio en el sitio adecuado. Este proceso lleva 4 horas desde la parte 3D de plástico hasta que que se se espera a que el aluminio se enfríe, en lugar de días.
La primera aplicacion, por supuesto, es hacer partes de la impresora 3D para pasar la impresora de plástico a aluminio. Hay que tener cuidado que se dimensione al 103% para tener en cuenta lo que se retrae el aluminio al enfriarse.
Todo esto parte de ImplicitCAD como software funcional para definir las partes en 3D, al que hubo que pulir fuertemente hasta que era usable, y con muchos menos "bugs", como el hecho de que no se podían hacer agujeros, poner dientes equiespaciados en una rueda dentada, etc.
Todo esto para conseguir su objetivo: imprimir partes para coches. Tienen dos objetivos. El primero, llamado Alan, es conseguir partes de aluminio para coches existentes.
El siguiente paso (ADA) será construir las redes internas de los coches con principios activos de seguridad segmentada. Todo con licencia TAPR OHL para el hardware y GPLv3 en el software. Incluso tienen el canario que les permite señalar que han recibido notificaciones secretas de las que no pueden hablar..

Todo esto hay que hacerlo con mucho cuidado, ya que en general el uso de propano, aluminio fundido y microondas con esos niveles de energía va a quemar casi cualquier cosa que esté cerca, el vapor de aluminio ataca el suelo, etc.


Un nuevo amanecer..

En la charla de comienzo, se comienza repasando toda la cultura del CCC, invitando a los novatos, estableciendo una cultura abierta y anunciando el CCC camp (no URL todavía).
A continuación se da paso a alecempire, uno de los músicos de Atari Teenage Riot y la compañía de discos Digital Hardcore, que comienza con un poco de su música, la que hizo para la presentación del 30C3, con toda la historia del CCC.
Músico, compositor y productor de música, nacido en Berlín en los 70s, y participó en la música de los 90s, con muchos otros músicos (Rammstein, y otros clásicos), alguien que fue calificado como "terrorista musical", que presentó su filosofía musical inspirada en los hackers.
En 1999 filmaron un vídeo llamado "revolution...action", que ha sido mayormente visto por internet años después porque estuvo prohibido en MTV UK.
La mayor parte de su música se compuso en un Atari 1040ST, lo cual hoy en día es relativamente complejo con sus 2MB de RAM.
Su objetivo en 1992 era unir personas de todos tipos en contra de los movimientos neo nazis a través de la música que era mayormente un collage de otros sonidos, siguiendo un texto de William S. Boroughs que hipotentizaba que si una multitud oye una música de una revuleta, se produce una revuelta, ya que la policiía llega y piensa que es una revuelta y la multitud reacciona.
La verdad, sus conciertos tienen más que ver con el caos que con la música, según se presentan.
Pero los vídeos son buenos... :-).
Una de las críticas que hace al mundo de la música es que ahora la distribución de ingresos es más desigual con más extremos en lugar de ser una distribución más igualitaria. Achaca parte de eso a que se está peridendo la educación musical y los músicos sólo pueden vivir si acceden a acuerdos con editores musicales que comprometen su independencia política y su creatividad. A pesar de que se pensaba que mediante la distribución por Internet, hoy eso debería estar solucionado, él piensa que no es asi.
Cuando estaban haciendo un tour por 2011, hicieron un vídeo llamado "Black flags" , pero tras recibir un montón de contribuciones lo reeditaron con mucho más contribución de sus fans y Wikilieaks. Su música acabó en un anuncio de PS Vita, cuyos fondos se dedicó a un fondo de defensa de Anonymous.
En su opinión, la lucha en contra de las invasiones de la privacidad tiene mucho en común con la lucha en favor de los derechos de los autores, de acuerdo a los creative commons.
Parafrasea una cita clásica de internet: "en internet se puede ser quien quiera, es curioso que hay mucha gente que decida ser estúpido", diciendo que en Internet un puede acceder al contenido que uno quiera, es curioso que la mayoría deciden ver el contenido más estúpido.
Comenta que el escándalo de la supervisión destapada por Snowden en el verano de 2013, le causó una profunda decepción respecto al uso de la tecnología para mejorar la vida, y encuentra eso en una nueva oleada de pérdida de confianza  en los políticos.
Alec ha contado su experiencia con Spotify en 2014, que ademas de que según el no puede ser el nuevo modelo de negocio ya que no produce suficientes ingresos para los creadores, crea un problema de censura centralizada. En 1997 escribieron un álbum (The Future of War) que se convirtió en el número 9 de los álbumes más fuertes. Varios años después en Alemania incluyeron su álbum en la lista de álbumes que pueden corromper a la juventud, con un documento de 40 páginas. Diez años después, Spotify les notificó que había sidor marcado como inapropiado (por esa misma organziación) y que o eliminaban ese álbum de su plataforma o toda la música de la compañía (los otros artistas), incluso aunque les explicaron que era en contra de los nazis, más que a favor de los nazis... y tuvieron que ceder para no perjudicar al resto de los artistas. La conclusión: "mistrust authority, promote decentralization" (plantea bittorrent como el mejor modelo alternativo).
Sus dos coclusiones principales es que la cultura debe ser usada más para promover objetivos políticos (y pone como ejemplo un vídeo suyo de unas protestas del primero de mayo en algún sitio de Alemania donde al final le detienen), y concretamente que lo hackers y los artistas deberían unirse para conseguir sus objetivos en favor de la privacidad de las personas y los derechos de los creadores.

Comienza el 31

Un año más, esta vez física y no virtualmente, estoy en el CCC. Este año es en Hamburgo, pero afortunadamente (supongo que gracias al cambio climático), por ahora no nieva... En cuanto pueda pondré la foto del cohete.