Come ti cracko il GSM

Mentre sto scrivendo, il wiki relativo al crack del gsm (wiki.thc.org/cracking_a5) non è più disponibile online ed è visibile solo nella cache di Google. Forse queste informazioni disponibili a tutti danno fastidio a qualcuno. Infatti il progetto fa riferimento alla possibilità di realizzare un kit elettronico del costo di 1000 dollari (640 euro al cambio attuale) in grado di rompere le difese di sicurezza del protocollo gsm e permettere quindi di decifrare una telefonata che per sua natura è cifrata e resa intellegibile solo ai sistemi elettronici dei gestori coinvolti durante la conversazione, dopo circa 30-60 minuti. L’obiettivo finale è quello di ridurre questo tempo a 30 secondi (o meno) facendo uso di un hardware meno costoso di quello usato dalle varie intelligence (1-2 milioni di dollari nel 2001). Il kit si basa su una falla relativa alla codifica A5 già scoperta nel 1994 e approfondità da diversi documenti accademici che non è stata chiusa, ma solo arginata in quanto intrinseca nel protocollo gsm. Ma invece di denunciarlo, i gestori mobili insistono nel dire che le comunicazioni gsm sono le più sicure al mondo, quando risulta ad esempio che in Russia e Ucraina, durante le emergenze (che possono essere anche molto lunghe) vengono disabilitate completamente le codifiche, mentre in alcuni paesi arabi non sono attive per niente. Non solo: sembra che una qualunque antenna per cellulari (la BTS) sovraccarica di chiamate possa disattivare la protezione sulle comunicazioni in transito. La situazione è potenzialmente molto grave: sniffando il traffico e registrandolo, è possibile decoficarlo in seguito e mettere in chiaro quindi anche comunicazioni avute nel passato. Per capire di cosa stiamo parlando bisogna chiarire che co’è l’A5. L’A5 è un algoritmo  che si basa su chiavi di crittazione usate per la trasmissione dei pacchetti di bit (burst) in cui viene scomposta la comunicazione via gsm (sia essa voce o dati), che è stato bucato nel 1994 e reso open source nel 1999. Nel 1987, quando ancora l’A5 era tenuto completamente segreto, venne sviluppato l’A5/1 allo scopo di fortificare un algoritmo di protezione che iniziava ad essere richiesto al di fuori dell’Europa (leggi NATO). Per questi nuovi richiedenti, venne realizzata una versione indebolita dell’algoritmo, la A5/2, ma ad oggi quasi tutti i gestori adottano l’A5/1 o il nuovo A5/3 (detto KASUMI) introdotto per le reti 3G e anch’esso oggetto di studio (e attacchi). Ma si tratta sempre di varianti dello stesso algoritmo insicuro e per il quale ogni tanto un gruppo indipendente o un diverso professore universitario propongono un metodo di crack nuovo.

Come codificare il messaggio gsm
1 23 *8 = 184 bit di dati contenuti per messaggio GSM [output:184 bit]
2 Aggiungi 40 bit fire code (crc) e 4 bit in coda (0x00) [output: 228 bit]
3 Codifica tramite convoluzione i 228 bit. Questo duplica il numero dei bit [output: 456 bit]
4 Esegui l’interleave dei 456 bit [output: 456 bit]
5 Taglia i 456 bit in 8 pacchetti ciascuno di 57 bit.
  Prendi i primi due pacchetti da 57 bit e mandali nel primo GSM burst.
  Il 3° e il 4° vengono spediti nel secondo GSM burst e cosi via [output: 4×114 bit]
6 Il numero di frame è conosciuto e incrementato per ogni GSM burst.
A5 viene reinizializzato per ogni burst.
Questo significa che ogni burst è codificato con lo stesso Kc ma con un diverso numero di frame.
Lo stato di A5 state è quindi diverso per ogni gsm burst.
*il numero di frame (fn) viene azzerato circa ogni 3 ore e 30 secondi
*un messaggio gsm è lungo 23 ottetti (1 ottetto = otto bit = 1 byte)

In tabella si vede un esempio di applicazione dell’algoritmo A5. Per il crack, la chiave di volta risiede nell’uso di una FIELD PROGRAMMABLE GRID ARRAY (d’ora in poi FPGA), un dispositivo hardware riprogrammabile che permette di

essere riconfigurato all’infinito al fine di realizzare gli elementi di una rete logica senza averli fisicamente, ma con le prestazioni analoghe a quelle che si avrebbero realmente. Attraverso l’uso di più FPGA , in parallelo si riesce ad emulare dopo alcuni cicli il processo di crittazione in corso durante una telefonata cellulare. In pratica si fa uso di un brute force evoluto che mettendo in parallelo processori dedicati realizzati all’interno della FPGA riesce a clonare le chiavi alla base dell’algoritmo A5 e quindi rende possibile la decrittazione della telefonata (o dell’sms). In particolare esistono diversi metodi che permettono di diminuire la durata di questo processo, in cui la variabile principale è essenzialmente il costo. Infatti già nel 2001 veniva pubblicato uno studio che basava l’attacco bruto sull’uso di 1000 FPGA in parallelo, mentre oggi con una sola FPGA LX50 occorrono dai 30 ai 60 minuti e con 32 FPGA si scende ai 30 secondi proposti dal progetto. C’è da dire che oltre alle FPGA occorre anche un discreto spazio di lavoro: si parla di 2-4 terabyte di hard drive, ma chiaramente nulla vieta di realizzare un servizio di crack disponibile online: si inviano i burst per la decrittazione al server remoto e nel giro di qualche secondo si riceve indietro la chiave in chiaro per decodificare la chiamata. E può capitare che nonostante la rete in uso adotti la protezione migliore, in realtà sms o chiamate non vengano comunque crittografate e viaggino in chiaro, come si menzionava più su.

Al di la dei discorsi legati alle intercettazioni e alla privacy, per scoprire se il proprio operatore e in particolare se le antenne sulle quali il nostro cellulare sta girando le nostre comunicazioni stanno utilizzando la cifratura dei dati o meno, possiamo utilizzare il famoso NetMonitor e un telefono Nokia con Symbian o anche un vecchio telefono basato su DCT3 (come il vecchio Nokia 3310) più Gammu.

Per NetMonitor la procedura è la seguente:

  1. Assicurarsi di essere su rete GSM
  2. Installare NetMonitor collegando il telefono al pc via USB
  3. Andare alla schermata di monitoring
  4. Effettuare una chiamata dal cellulare e verificare se “Ciphering val” cambia da OFF a A51 o A52.

Se rimane ad OFF non c’è alcuna protezione attiva! Resta che A5/1 e A5/2 sono obsoleti da 14 anni e A5/3 è ufficialmente insicuro già da 8 anni e potenzialmente attaccabile già da 3.