Al lupo, al lupo! Tutti gli smartphone (non) sono sotto attacco!

È arrivato il momento di fare chiarezza sulle tante notizie che da circa un mese stiamo leggendo in materia di cellulari vulnerabili, sotto attacco, con buchi irreparabili, e chi più ne ha più ne metta.

In breve: niente panico.

Sì, alcune ricerche hanno scoperto diversi buchi di sicurezza su SIM card e cellulari Apple, ma è importante non saltare a conclusioni sensazionalistiche: sediamoci con calma e cerchiamo di capirne di più!

Parlerò di:

  • SIMJacker e WIBJacker: lo spettro delle SIM vulnerabili,
  • Attacchi contro gli iPhone scoperti da Google a fine agosto,
  • Checkm8, l’ottavo jailbreak exploit per dispositivi Apple.

Prima puntata: lo spettro delle SIM vulnerabili

Lo scorso 12 settembre AdaptiveMobile—azienda a me sconosciuta fino a tale data, specializzata in soluzioni di protezione per utenti finali e operatori cellulari—ha annunciato di aver trovato una vulnerabilità (soprannominata SIMJacker). Si tratta di una falla di sicurezza, in quasi tutte le SIM card esistenti. Sì, proprio quelle inserite nel nostro smartphone. Aspetta, continua a leggere.

AdaptiveMobile spiega di aver rilevato ripetuti attacchi che, per almeno due anni, avrebbero sfruttavano questa vulnerabilità ai fini di spionaggio. Spionaggio da parte di chi, e contro chi? Anche se spiegherà al pubblico tutti i dettagli durante la conferenza internazionale Virus Bulletin 2019—che si terrà a Londra il prossimo 3 ottobre—AdaptiveMobile anticipa che si tratta di soggetti dotati di mezzi di intercettazione di un certo livello, e che operano in diversi paesi.


Nota terminologica (exploit): Quando si rileva un attacco che sfrutta una specifica vulnerabilità, si dice che quell’attacco è (o contiene) un exploit per quella vulnerabilità. Si definisce exploitation l’atto di sfruttare tale vulnerabilità.


Gli attacchi in questione sarebbero stati perpetrati da enti governativi (o assimilati) contro soggetti di alto profilo, sfruttando tale vulnerabilità per tracciarne la posizione o per inviare comandi al telefono. Tra questi comandi di attacco c’è anche la possibilità di aprire un sito web (eventualmente malevolo), senza il controllo dell’utente e senza che questo si accorga di nulla. AdaptiveMobile dice di aver rilevato, in una nazione, degli attacchi contro un centinaio di individui, oltre a picchi di attacco fino a 300 numeri di telefono tracciati in un giorno. Il tutto inviando alla vittima un “SMS silenzioso.”

Software nelle SIM

Per quanto possa sembrare “un pezzo di plastica,” una SIM card è un piccolissimo “computer” all’interno di un altro computer (il nostro smartphone). In quanto tale, una SIM funziona grazie al software presente nella sua memoria. Questo software è un componente attivo, ovvero che svolge funzioni di base, che fa da tramite tra la rete dell’operatore telefonico e il telefono. Operatore e telefono devo scambiarsi dati e comandi al fine di funzionare correttamente.

Avete presente quelle “applicazioni della SIM,” che di solito non considera nessuno, e che nei vecchi cellulari erano più visibili rispetto a quelli odierni, perché ci si trovava un’icona—da qualche parte sul telefono—con il nome dell’operatore? Ecco, proprio quelle. Queste applicazioni sono basate su un set di comandi che formano il cosiddetto SIM Application Toolkit (STK), che è parte dello standard GSM. Roba vecchia, vecchissima, che si trova in varie forme nelle SIM da oltre 10 anni. Io ricordo di aver provato ad utilizzare una di queste funzionalità per controllare il credito.

Vulnerabilità non così nuove

Ma è davvero nuova la vulnerabilità scoperta da AdaptiveMobile? No. È nota dal 2013—e probabilmente anche prima. Nel 2013 infatti, SRLabs pubblica i dettagli di queste vulnerabilità e li presenta a Black Hat USA, una delle principali conferenze di sicurezza informatica al mondo. Se ne è parlato anche in Italia a SMAU, nell’inverno del 2013, dalla voce di Luca Bongiorni, che da sempre si occupa di queste tematiche.

Poco dopo l’annuncio del 12 settembre, ricercatori ben noti nella scena hanno pubblicato una certa quantità di dettagli tecnici su altre vulnerabilità analoghe a quelle rese note da AdaptiveMobile. La tecnica di exploitation si basa su degli SMS particolari, usati dall’operatore telefonico per inviare aggiornamenti alla SIM, ad esempio per aggiungere servizi. Chiameremo WIBJacker questa seconda vulnerabilità.

Insieme ai dettagli delle vulnerabilità, SRLabs rilascia SIMTester, uno strumento gratuito di diagnostica in grado di rivelare se una SIM presenta questo tipo di vulnerabilità. Dal 2014, la stessa SRLabs rilascia SnoopSnitch, un’app per Android per monitorare il telefono su cui è installata e rilevare tentativi di attacco, notificando l’utente in tal caso. In altre parole, dal 2014 SRLabs riceve dati da circa 500,000 telefoni, raccogliendo informazioni utilissime a misurare l’entità di attacchi contro le SIM.

Proprio oggi, a 2 giorni dalla conferenza Virus Bulletin 2019, quando AdaptiveMobile spiegherà i dettagli della sua analisi, SRLabs ricorda che è dal 2014 che sta analizzando questo fenomeno e fa chiarezza.

Quindi quanto è grave? Dati alla mano!

Secondo i dati di SRLabs, raccolti da un campione di circa 800 SIM e 500,000 smartphone, la situazione è stata ingigantita:

  • Meno del 6% delle 800 SIM analizzate sarebbe affetta da SIMJacker, e solo il 3.5% da WIBJacker.
  • Il 9.4% delle 800 SIM analizzate avrebbe i pre-requisiti software per essere vulnerabile a SIMJacker (ovvero, ha a bordo quel pezzo di software affetto da SIMJacker), mentre il 10.7% avrebbe i requisiti per essere vulnerabile a WIBJacker.

Quindi, anche solo guardando i pre-requisiti necessari alla presenza di una delle due vulnerabilità, si capisce che il fenomeno è limitato. C’è da notare che SRLabs ha raccolto dati sugli attacchi da un sottoinsieme non meglio specificato di 500,000 utenti. Gli operatori telefonici dovrebbero pronunciarsi, perché in grado di rilevare tentativi di invio di SMS di attacco, dato che hanno piena visibilità sulla propria rete.

Nota curiosa: Dopo queste replice, AdaptiveMobile aggiunge un aggiornamento datato 25/10/2019 (penso sia un refuso, e che volessero scrivere 25/09/2019), in cui retificano la lista di comandi invocabili attraverso “SMS silenziosi.”

Infine, dato forse più importante, sono stati rilevati attacchi contro 8 cellulari, di cui il primo nel 2016, inviati tramite 29 SMS in totale.

Seconda puntata: gli attacchi contro gli iPhone

Il 29 agosto Google Project Zero pubblica un lunghissimo blog post, molto tecnico, che spiega approfonditamente una serie di vulnerabilità, in iOS. Carola Frediani nel N.42 della sua newsletter (che consiglio vivamente di seguire) e Rosita Rijitano su Repubblica.it ne hanno fatto una bella ricostruzione, a cui vorrei aggiungere qualche dettaglio e approfondimento puramente nozionistico.

Se opportunamente sfruttate, le vulnerabilità permettevano parziale controllo di un iPhone, ad esempio per rubarne dati quali messaggi, email, foto, eccetera. Parlo al passato, perché sono vulnerabilità già gestite e risolte da Apple, che prima del 29 agosto aveva rilasciato gli opportuni aggiornamenti di sicurezza. Sarebbe infatti stato estremamente irresponsabile se Google avesse parlato pubblicamente di queste vulnerabilità, perché avrebbe fornito a chiunque i dettagli necessari, prima di segnalarle ad Apple senza dargli il tempo di risolvere il problema.


Nota terminologica (responsible disclosure): In gergo si dice che Google ha fatto “responsible disclosure,” letteralmente “divulgazione responsabile.” È ormai pratica comune che chi trova una vulnerabilità e voglia parlarne pubblicamente debba prima seguire un iter ben preciso per informare il produttore e dargli il tempo (solitamente 90 giorni) di rilasciare eventuali aggiornamenti di sicurezza a tutela dei propri utenti. Tra parentesi: è proprio per questo che è importante applicare gli aggiornamenti di sicurezza, mica perché a noi informatici piace fare le prediche! Da quel momento in avanti si potrà parlare pubblicamente di quanto trovato. Non è sempre Tutto così liscio, ma prima di arrivarci vediamo come prosegue la storia.


L’articolo di Google Project Zero spiega che le vulnerabilità siano state trovate a seguito di un’indagine iniziata da alcuni attacchi, che Google stessa aveva notato tra il 2016 e il 2018.

Attacchi da dove? Un altro team di ricerca di Google aveva notato che le pagine di alcuni siti Web (di cui non sono stati dati né indirizzi né dettagli, per ovvie ragioni) “lanciavano” questi attacchi contro i visitatori. Significa che le pagine Web erano state preparate da chi conosceva i dettagli delle vulnerabilità in questione, proprio per sfruttare tali errori al fine di bypassare le misure di sicurezza di iOS, ed accedere ai dati presenti sul telefono.

OK, ma chi erano i bersagli? Una minoranza etnica musulmana, diciamo vista poco bene dal governo cinese. Poche settimane dopo sono stati rilevati altri attacchi, basati sulle stesse vulnerabilità, contro una minoranza Tibetana, anch’essa considerata “rischiosa” secondo la politica del governo cinese. Ma come si fa a sapere se un visitatore di un sito è o non è un bersaglio da attaccare? Esistono gli “attacchi informatici intelligenti”? Mhh, insomma: è un po’ come dire che esistono i “missili intelligenti perfetti.” Difatti bastava visitare i siti in questione con un iPhone vulnerabile—ossia senza gli aggiornamenti di sicurezza—per essere attaccati. Dalle informazioni a disposizione sembra che i siti “esca” erano spesso visitati dai bersagli. Il secondo gruppo di attacchi, pur basato sulle stesse vulnerabilità, partiva invece da un messaggio WhatsApp inviato ai bersagli da colpire. Tramite varie tecniche di persuasione, chi perpetrava gli attacchi cercava di convincere le vittime a cliccare un link, che portava a un sito Web contenente il “codice di attacco.”

Attenzione però: nei periodi in cui gli attacchi furono registrati non esistevano aggiornamenti di sicurezza, perché le vulnerabilità non erano ancora state rese note ad Apple. Cosa significa?


Nota terminologica (zero day): In gergo si dice che questi attacchi sfruttavano vulnerabilità “zero day,” ovvero vulnerabilità “fresche di zero giorni,” note solo a chi ne conosceva i dettagli. Ma non era stata Google a scoprirle? Quasi! I ricercatori di Google si sono accorti che qualcuno le stava già usando da tempo per gli attacchi, il che implica che qualcuno le aveva già scoperte e non divulgate ad Apple.


Quando si vede una vulnerabilità 0-day usata in un attacco “in the wild”, le possibilità sono due:

  • chi le ha scoperte se le è tenute per sé: in tal caso si tratta quasi sicuramente dell’aggressore stesso, ossia chi ha preparato gli attacchi,
  • oppure chi le ha scoperte le ha poi vendute più o meno direttamente a chi le ha infine usate per preparare l’attacco.

Questa dinamica può sembrare sconvolgente per chi non è del mestiere, ma funziona proprio così: le vulnerabilità sono informazioni strategiche, con un valore commerciale e un mercato strutturato con diverse figure (ricercatori, venditori, intermediari, compratori), che danno a chi le possiede un chiaro vantaggio. Infatti, indipendentemente da chi le ha scoperte, nel momento stesso in cui si usa una vulnerabilità 0-day per preparare un attacco, la vulnerabilità non è più 0-day: è bruciata, perché l’attacco ne è una sua espressione. L’evidenza tecnica raccolta quando si “registra” un attacco contiene infatti sufficienti informazioni per risalire ai dettagli della vulnerabilità.

Sull’etica della compravendita e l’uso di vulnerabilità per fini diversi da quelli autorizzati dalla legge non mi pronuncio, altrimenti non finisco più—poi il mio fegato ne risente.

Ricapitolando

Si tratta di vulnerabilità di un certo rilievo, a disposizione di aggressori statali o para-statali, con buone risorse finanziarie. Altro aspetto da sottolineare è che il primo gruppo di attacchi non era perpetrato direttamente—come il secondo—con dei messaggi diretti alle vittime. I siti in questione erano pubblici e indicizzati da Google, per cui chiunque avrebbe potuto visitarli nel periodo in cui erano attivi. Il che significa, tra parentesi, che chi ha preparato gli attacchi ha avuto modo di “installarli” sui siti in questione, perché ne aveva accesso.

La questione mi riguarda?

Se stai leggendo questo articolo è perché la questione certamente ti interessa. Molto probabilmente non sei tra i bersagli. Sei tra le vittime accidentali? Solo se, usando un iPhone nel periodo di esposizione (settembre 2016 e inizio 2019), hai visitato i siti in questione o hai cliccato su un link ricevuto via WhatsApp da qualcuno che, scrivendoti in inglese, cercava di convincerti a visitare un sito (ecco alcuni esempi di conversazione).

Riprendendo un po’ di concetti base spiegati nella GGAD:

  • la minaccia esisteva (e probabilmente sussiste) per dei soggetti ben definiti, in questo caso due minoranze etniche in Cina;
  • gli asset sono i dati, le comunicazioni, le foto, etc., in possesso dei soggetti appartenenti alle due minoranze etniche;
  • la vulnerabilità esisteva per tutti—noi compresi—i possessori di un iPhone nel periodo tra la scoperta (in mano di pochi) e l’aggiornamento di sicurezza rilasciato da Apple
  • la concretizzazione della minaccia è l’uso delle vulnerabilità in questione per produrre uno specifico attacco.

Terza puntata: vulnerabilità “irrisolvibili” in quasi tutti i dispositivi Apple

Pochi giorni fa un ricercatore ha pubblicato il codice di un exploit che sfrutta una vulnerabilità nello strato software più basso, presente nella memoria “di sola lettura” di tutti i dispositivi mobili. Questa memoria, detta bootrom, contiene il codice “di avvio,” che viene eseguito dal dispositivo all’accensione, prima del vero e proprio sistema operativo (iOS), che invece è lo strato software che governa gli iPhone, quello “sopra al quale” si installano le app.

I dispositivi Apple sono considerati “chiusi,” perché la casa madre non permette di eseguire altro software al di fuori di quello da essa sviluppato (iOS) o autorizzato (app presenti nell’App Store). Il software contenuto nella memoria di avvio serve, tra le altre cose, per verificare l’autenticità del successivo “blocco” di software da caricare, e così via. In altre parole, se uno vuole installare una versione modificata di iOS, oppure vuole installare app senza passare dall’App Store, o installare app non ancora (o mai) presenti sull’App Store, allora dovrà aggirare questo meccanismo di verifica. Infatti, nessun sistema operativo o app al di fuori di quanto distribuito da Apple passerebbe mai questa verifica di autenticità.

Dato il ruolo cardine del codice contenuto nella bootrom, questa memoria deve essere di sola lettura, ovvero non deve essere possibile scriverci sopra più di una volta. Se così fosse, allora uno potrebbe modificare le informazioni in essa contenute, alterando così la catena di “dipendenze crittografiche” necessarie per verificare l’autenticità del software da avviare. L’unico modo per modificare il contenuto della bootrom è sostituendo la bootrom stessa, tramite un aggiornamento hardware (leggi: si sostituisce proprio il telefono).

L’exploit appena rilasciato, denominato checkm8 (“checkmate,” scacco), è un “jailbreak exploit,” perché permette di “uscire” dalle restrizioni sul software imposte da Apple. Si tratta di un attacco che sfrutta una vulnerabilità nel codice presente nella bootrom. Quindi Apple non può farci niente? Non è vero: Apple non può rilasciare un aggiornamento software, ma le recenti versioni hardware non sono affette da questa vulnerabilità, proprio perché dispongono di una bootrom aggiornata. I chip in questione sono tra l’A5 e l’A11 compresi. Per maggiori dettagli, qui c’è la lista di tutte le versioni delle bootrom con i relativi exploit a cui sono vulnerabili.

Perché è rilevante?

Innanzitutto l’exploit funziona solo localmente, il che significa che un eventuale aggressore deve essere fisicamente in possesso del telefono. C’è chi ha già ventilato l’ipotesi che, in un futuro non lontano, si riesca a sfruttare checkm8 da remoto: in quel caso, la situazione sarebbe veramente grave, perché basterebbe visitare ad esempio un sito, oppure ricevere un messaggio, etc. Inutile speculare: non abbiamo dettagli.

Ma allora a chi serve un exploit e una vulnerabilità del genere? A tre soggetti, in particolare: forze dell’ordine, agenzie di intelligence e ricercatori.

  • Alle forze dell’ordine perché, dato un cellulare che si suppone contenere informazioni relative ad un caso, sarà possibile sviluppare strumenti di recupero dati ai fini di raccolta prove.
  • Per motivi simili, ma sotto condizioni di utilizzo diverse, le agenzie di intelligence a volte hanno bisogno di raccogliere informazioni su alcuni soggetti: con un exploit del genere si potranno sviluppare opportuni strumenti di attacco che, in pochi minuti, permetteranno di installare software spia.
  • Ai ricercatori, perché come sappiamo il modello di business di Apple è basato su un sistema chiuso, mentre la ricerca di vulnerabilità è tanto più facile quante più informazioni si hanno a disposizione. Già pochi giorni dopo dal rilascio di checkm8 sono spuntate le prime ricerche che, molto probabilmente, porteranno alla scoperta di altre vulnerabilità, in porzioni del software non raggiungibili con le conoscenze attuali.

Conclusioni

Da questo articolo abbiamo imparato che le considerazioni da fare di fronte alla notizia di un attacco o vulnerabilità sono tutt’altro che semplici: quando si legge o si sente parlare di un attacco, di una falla, è sempre bene chiedere a qualcuno che considerate esperto a sufficienza per potervi spiegare con calma cosa significa.

Prendetevi il tempo per leggere un articolo in più, per riflettere sui 4 concetti fondamentali di cui sopra (minaccia, asset, vulnerabilità, attacco), senza farvi prendere dal panico. Nella maggior parte dei casi, qualcuno ha già risolto il problema per voi, oppure non siete voi una vittima, quindi è sufficiente restare informati, consapevolmente.