Sappiamo che l’iPhone 5C implicato nella vicenda di San Bernardino è stato sottoposto ad un attento esame software onde trovare una via necessaria a carpire i segreti celati all’interno del device, senza un iniziale esito positivo. Gli Hacker professionisti utilizzati dall’FBI, che deve ancora fornire un resoconto della vicenda davanti al Dipartimento di Giustizia Americano, sono comunque riusciti ad avvalersi di sofisticate tecniche di NAND Mirroring per garantirsi l’accesso ai dati ed alle informazioni contenute nella memoria del telefono. La domanda sorge spontanea: «E se fosse stato un dispositivo Android?». Due ricercatori hanno cercato di fornire una risposta esauriente in merito alla faccenda. Vediamo come sarebbe potuta andare.
Android vs FBI, cosa sarebbe cambiato?
Al momento non si hanno avvisaglie di procedimenti giudiziari ed implicazioni dirette su vicende che legano l’ecosistema di telefoni Android all’attenzione dell’Agenzia Governativa Federale Americana se non per qualche rilevamento minore legato fondamentalmente alle intercettazioni nel mondo della droga e delle gang locali di alcuni stati del centro America, ma nulla di più.
Ciononostante, due illustri ricercatori della North Carolina State University, William Enck, assistente professore di informatica e Adwait Nadkarni, studente di informatica con dottorato di ricerca, si sono chiesti espressamente: «Cosa sarebbe successo se sul dispositivo ci fosse stato in esecuzione Android? Sarebbe stato forse lo stesso dramma giuridico e tecnico? Cosa sarebbe cambiato?». Vediamo cosa hanno risposto i due ricercatori.
Trattare con dati crittografati
Enck e Nadkarni hanno pubblicato ciò che hanno scoperto dal documento What if the FBI tried to crack an Android phone? We attacked one to find out. Inizialmente i due soggetti hanno spiegato a chiare lettere perché il processo di crittografia dei dati richieda necessariamente la creazione di una chiave di cifratura adeguata. A tal fine rivangano la definizione propria del termine che cita:
Una chiave di cifratura è una stringa casuale di bit creata allo specifico scopo di scomporre e decodificare i dati. L’algoritmo prevede che la chiave sia univoca e non riutilizzabile. Più lunga e complessa sarà la chiave scelta, tanto più difficile sarà la decodifica del codice di crittografia
I ricercatori, confermano inoltre la presenza di due sistemi accettati per la creazione di chiavi di crittografia su dispositivi mobili che constano di:
- Codice di sblocco per l’utente (variabile da 4 a 6 cifre)
- Chiave Hardware-Bound (HBK): una chiave univoca di sicurezza (relativamente lunga e complessa) assegnata al dispositivo in uso
A meno di effettuare operazioni di rooting del dispositivo o introdurre apposite vulnerabilità o errate configurazioni, il device rimane inespugnabile eccezion fatta per attacchi di forza bruta che implicano, nella maggioranza dei casi, complesse procedure di risoluzione per garantirsi l’accesso al device. Gli attacchi di forza bruta, per chi non ne fosse a conoscenza, constano nella continua simulazione ed immissione di chiavi casuali fino al raggiungimento dell’obiettivo: lo sblocco del dispositivo. Esistono, a tal fine, due tipologie di attacco brute-force: offline ed online.
Attacco Brute-Force Android Offline
Gli attacchi non in linea implicano il possesso fisico dei dati generalmente da un dispositivo mobile ad un PC performante in grado di operare un gran numero di operazioni al secondo. Infatti, più è veloce, più parole potrà provare per ottenere l’unlock del device. Attraverso varie tecniche, infatti, vengono provate le varie combinazioni. A dire il vero, a meno di possedere un computer del futuro la procedura è quasi impossibile visto che anche nel migliore dei casi il cracking del sistema richiederebbe addirittura miliardi di anni per una chiave in standard di protezione AES-128bit.
Attacco Brute-Force Android Online
Diverso, invece, è il caso di un attacco online rivolto tanto ai dispositivi Android che iOS. In tal caso il vantaggio sarebbe significativo in quanto non implica il bypass dell’HBK che è direttamente accessibile dal firmware del dispositivo. Tutto ciò che gli hacker hanno bisogno è, a questo punto, il solo codice di sblocco utente, decisamente più semplice da bypassare visto che formato generalmente da soli numeri (da 4 a 6). Facile, vero? Beh, non esattamente.
Il device, infatti, può essere configurato per resistere agli attacchi online – fanno notare i ricercatori – Ad esempio, il telefono può inserire un ritardo di tempo tra due tentativi o limitarli e volendo anche cancellare i dati del device a seguito di un numero prestabilito di tentativi falliti.
Sia OS Android che iOS offrono questa possibilità. I ritardi, oltre che i wipe assoluti, impongono infatti una significativa penalità nei confronti dell’attaccante. Nel caso peggiore (un pin a 6 cifre e quindi con oltre un milione di combinazioni) il ritardo sarebbe addirittura di 69 giorni. Per quanto concerne il ritardo ed il countdown, i ricercatori riferiscono che i sistemi si comportano in modo del tutto diverso:
- Android: resetta i dati dopo un numero prestabilito fisso di tentativi falliti
- iOS: introduce ritardi via via crescenti ad ogni fallimento cancellando i dati utente dopo un numero fisso di tentativi ma solo se è l’utente a stabilirlo esplicitamente
Conclusioni
Per quanto riguarda gli attacchi non in linea, i dati dei ricercatori non pongono differenze sostanziali ne confronti dei due sistemi se configurati correttamente sia dal produttore che dall’utilizzatore. Invece, si comportano diversamente per quanto riguarda i brute-force attack in rete specie in presenza di errate configurazioni di gestione remota. Un Nexus 4 Android utilizzato per la prova, infatti, non ha consentito di stabilire a priori il numero massimo di tentativi prima che i dati andassero irrimediabilmente persi mentre su iOS le relative opzioni devono essere esplicitate dall’utente in anticipo onde incorrere in spiacevoli conseguenze.
Le differenze tra firmware Android ed iOS sono tangibili nel momento in cui viene utilizzato il software di controllo remoto. Su Google OS, infatti, a seconda della natura del software utilizzato si può andare in contro a problemi di sicurezza maggiori rispetto ad iOS. Infatti, l’FBI non è riuscita ad ottenere l’accesso sfruttando simili metodi, cosa che invece non possiamo dire per Android. Le voci levatesi a proposito della tecnica utilizzata potrebbero essere legate a questa specifica categoria di attacco? Può darsi che l’FBI abbia capito come garantirsi l’accesso attraverso tale metodo? Oppure ha realmente adottato tecniche più sofisticate che saranno presto oggetto di esposizione presso l’America Justice Department? Non resta che rimanere sintonizzati nel nostro canale per scoprire eventuali colpi di scena.
Voi che cosa ne pensate? Credete che in linea di massima nessun sistema sia realmente sicuro? Siete Android o iOS? State pensando di migrare dall’uno all’altro sistema per il vostro bisogno di sicurezza anche alla luce di queste nuove rivelazioni? Lasciateci pure tutti i vostri commenti e le vostri impressioni al riguardo.