SIM card: l’attacco dei cloni

Le SIM card possono essere clonate. Com’è possibile e cosa si deve fare con i cybercriminali?

In un precedente articolo del nostro blog, abbiamo ripercorso l’evoluzione delle SIM card. Adesso occupiamoci della loro sicurezza. Una delle prime vulnerabilità che avevano colpito le SIM permetteva la loro clonazione. In questo caso, per clonazione si intende leggere i contenuti di una SIM e scriverli nella memoria di un’altra. È abbastanza comprensibile, dato che una SIM, dal punto di vista dell’hardware, è solo una comune smart card, disponibile ovunque ed al prezzo di un pacchetto di patatine.

Quando i telefoni con SIM multiple erano fantascienza, la clonazione veniva utilizzata come una soluzione per coloro a cui ne servissero diverse. Per evitare uno scrupoloso processo di scambio, venne creato il cosiddetto formato MultiSIM che, in sostanza, è una smart card con una memoria estesa per poter contenere i dati normalmente archiviati su diverse SIM.

Si poteva facilmente passare da una SIM all’altra senza bisogno di scambiare fisicamente i moduli. La strategia era basata su un semplice trucchetto: ad ogni riavvio, veniva selezionata una sequenza di celle corrispondente alla SIM successiva. Ovviamente, in questo caso non possono funzionare simultaneamente: un ricevitore penserebbe di essere stato spento per scambiare una SIM, e quindi di nuovo acceso.

Questa soluzione si dimostrò piuttosto inutile (anche oggi è molto più conveniente comprare una SIM alternativa e un telefono a buon mercato invece di usarne uno Dual SIM). Tuttavia, le multiSIM erano utilizzate parecchio 10 anni fa. Curiosamente, erano disponibili anche kit fai-da-te che includevano una smart card di prova, un adattatore PC per leggere e scrivere le smart card e il software corrispondente.

Ad ogni modo, l’opportunità di clonare le SIM poteva essere usata per attività illecite. Avendo ricevuto accesso a breve termine alla SIM della vittima, un aggressore poteva clonarla e quindi comprometterla. Se una SIM clonata è attiva durante il tempo in cui il legittimo abbonato è nella rete mobile, quest’ultimo si vedrebbe tagliato fuori dalla connessione senza minimamente accorgersene. In questo caso, tutte le chiamate e i messaggi in arrivo saranno diretti all’aggressore, che in cambio sarebbe in grado di effettuare chiamate, mandare messaggi e navigare su Internet al posto della vittima.

L’ignara vittima vede anche i normali indicatori di rete e il nome dell’operatore sullo schermo, creando l’illusione della connessione, tuttavia l’abbonato preso di mira non può effettuare chiamate fino a quando il telefono non viene riavviato o la rete mobile aggiorni necessariamente lo status di registrazione, cosa che in genere avviene in automatico una volta ogni poche ore.

In un primo momento, un clone poteva essere registrato sostanzialmente ovunque, anche su un altro continente. Poi i gestori fecero il loro dovere e introdussero alcune primitive misure di sicurezza: se un abbonato si registra d’improvviso dalla località dove si era registrato di recente, gli amministratori ricevono una relativa notifica: ehi ragazzi, qualcuno ha appena inventato il teletrasporto.

Inoltre un delinquente può registrarsi in una posizione piuttosto vicina a quella della vittima, il che rende inutili le strategie di sicurezza sopramenzionate.

Qui ci si pone la domanda: dopo tutto, perché è possibile la clonazione della SIM? Forse questa funzione dovrebbe essere bandita o annullata?

Il codice Ki (codice di identificazione), usato per autorizzare un abbonato alla rete, normalmente non è mai letta dalla SIM. Il processore di una SIM card lo chiama da “dentro”, quindi il codice non è destinato ad essere condiviso via etere. È archiviato in un segmento protetto della memoria e lì non ci sono API che possano leggerla.

Ma qui è dove entrano in ballo metodi di analisi crittografica. Se un aggressore utilizza un software che avvia ripetutamente l’algoritmo A3 su una SIM, facendogli gestire password RAND casuali e in cambio produrre risposte SRES, certe dipendenze potrebbero essere scoperte e quind il codice Ki calcolato.

Anche 10 anni fa, le prestazioni dei PC erano sufficienti per completare un compito del genere in soli pochi minuti. Tuttavia, non è così semplice. Qualsiasi SIM ha una specie di timer di autodistruzione che conta quanto spesso venga avviato l’algoritmo. Per esempio, il limite della card può essere di 65536 volte. Non appena viene raggiunto questo limite, il processore della SIM interrompe il calcolo delle risposte SRES.

Se non si riesce a calcolare il Ki, la SIM diventa totalmente inutile e va sostituita. A volte questo avviene nella vita reale con una SIM autentica, a condizione che sia stata usata abbastanza a lungo e che il valore del limite sia stato inizialmente basso.

Ma ci sono anche notizie positive: l’analisi crittografica può essere usata per ottenere il valore Ki solo in quelle SIM che supportano la versione più obsoleta dell’algoritmo A3: COMP128v1. Sono ancora utilizzate da alcuni operatori, e tali card possono infatti essere clonate. I gestori più avanzati si sono già spostati agli algoritmi COMP128v2 e COMP128v3 che incrementano il numero di pacchetti di RAND-SRES; quindi il codice Ki non può essere calcolato con l’utilizzo del metodo sopramenzionato.

Se un delinquente accede al database di SIM del gestore, o alle speciali look-up table inviate a un operatore da un produttore, potrebbe essere in grado di mettere le mani su una serie di codici di una quantità di SIM in un colpo solo. Per attuare questa truffa, all’aggressore serve un complice dal lato del gestore o del venditore di SIM che comprometta le informazioni disponibili.

Inoltre, alcune leggende metropolitane ci raccontano di codici violati via etere e di PC odierni completamente capaci di decriptarli al volo. Ma ricordate che i codici Ki non sono trasmessi via etere e sono archiviati localmente sulla SIM. Quindi, quali dati potrebbero essere violati? Questo è ciò che tratteremo nel prossimo post.

Consigli