Negli ultimi giorni sembra essere scoppiato un vero e proprio caso diplomatico tra Google ed Apple in merito alla scoperta di alcune vulnerabilità in iOS e in seguito al “caso” Zer0Dium e alla vendita su Internet di exploit per Android e iOS. Ma andiamo con ordine e cerchiamo di fare chiarezza in una faccenda molto più complicata di quello che sembra.
Indice degli argomenti
Vulnerabilità iOS e caso Zer0Dium: la caduta di un mito?
Partiamo da una presa d’atto: il sistema operativo mobile iOS non è più invulnerabile. In effetti, la totalità dei dispositivi Apple non lo è mai stata.
Purtroppo questa convinzione fa parte delle decennali legende metropolitane in ambito informatico, come ad esempio quella che afferma che Windows sia un colabrodo e che Linux, contrariamente, sia super corazzato. Niente di più errato.
Solo un sistema opportunamente configurato, aggiornato, ma soprattutto costantemente manutenuto e supportato dalla casa produttrice, permetterà di ridurre al minimo la superficie di esposizione dell’utenza finale ai rischi cyber.
Quindi, cosa sta accadendo nella sede di Cupertino? All’improvviso gli sviluppatori hanno perso il controllo del codice sorgente? Oppure hanno perso le qualità di sviluppo a noi “leggendariamente” note?
Oppure sono gli hacker ad essersi accaniti contro questa tipologia di dispositivi?
Scopriremo a breve che “in medio stat virtus”.
Le vulnerabilità scoperta dal Google Project Zero
Tutto nasce quando, il 1° febbraio scorso, i ricercatori di Google Project Zero hanno notificato ad Apple la presenza di molteplici catene di vulnerabilità:
- sette per il browser Web dell’iPhone (Safari);
- cinque per il kernel;
- due escape sandbox differenti;
che permetterebbero di ottenere pieno accesso al dispositivo della vittima consentendo l’esecuzione di codice arbitrario al di fuori dei confini di un’applicazione e che, di fatto, hanno esposto iOS ad un elevato rischio hacking per circa due anni.
Tale scoperta è attribuibile al “gruppo di analisi delle minacce” (TAG) di Google, il quale ha trovato una piccola raccolta di siti Web compromessi. Nell’analisi del codice presente in tali siti, è stato evidenziato come gli attacchi fossero rivolti esclusivamente verso dispositivi iPhone e che contemplavano diversi step di propagazione dell’infezione.
I dettagli tecnici degli exploit
Project Zero ha collezionato 5 catene di exploit differenti, rivolte a versioni di dispositivi e sistemi operativi differenti, a partire da iOS 10 del 13/09/2016, fino 12.1.3 del 7 febbraio scorso (giorno del rilascio della patch di sicurezza).
Già visionando superficialmente la iOS Exploit Chain #1, evitando di riportare una complicatissima trattazione di quanto scoperto, balzano velocemente all’occhio i primi gravi problemi di implementazione di alcune parti di codice che vanno successivamente a incidere sulla sicurezza e la stabilità del sistema.
Come si può facilmente notare, già all’inizio della descrizione di questo primo exploit, si evidenziano svarioni a livello di sviluppo codice, come letture parziali di buffer o operazioni di moltiplicazione tra variabili e costanti “martellate” nel codice.
Ad oggi, per un programmatore esperto, quanto detto è quantomeno ineccepibile. Il mancato controllo della totalità dei dati presenti in un buffer ed il mancato impiego di opportune #define o struct al posto di costanti numeriche direttamente nel codice sono errori imperdonabili.
Cercando di riassumere il più possibile le tecniche di attacco, possiamo affermare quanto segue:
- è possibile riuscire a caricare del codice arbitrario in aree di memoria condivisa di tipo utente;
- è possibile sostituire i puntatori relativi a memoria allocata dal sistema con riferimenti creati nel punto 1;
- lo sfruttamento congiunto dei punti precedenti permette inoltre l’inserimento delle firme di esecuzione codice dell’aggressore nella catena di hash affidabili del kernel (CDHash). Questo perché gli aggressori desiderano solo eseguire il loro codice binario di impianto, e non disabilitare il sistema di controllo della firma del codice che va in esecuzione;
- infine, il codice binario malevolo, caricato nella cartella temporanea (/tmp) del dispositivo, può essere eseguito invocando il comando posix_spawn. In questo modo il codice sarà lanciato in background come root. Non vi è sarà alcun indicatore visivo sul dispositivo riguardante l’esecuzione del codice impiantato, poiché non vi è modo, per un utente su iOS, di poter visualizzare l’elenco dei processi in esecuzione.
Dalle analisi e dalle POC fornite da Project Zero, gli impianti si concentrano principalmente sul furto di file e sull’esfiltrazione di dati relativi alla posizione geografica dell’utente.
Gli impianti richiedono comunque la costante comunicazione con un server di C&C, con un expiring-time di almeno 60 secondi.
L’unica nota positiva è che l’impianto non ha persistenza, il che significa che dopo un riavvio del telefono il dispositivo non risulta più infetto, a patto che non si visiti nuovamente un sito compromesso con un dispositivo non aggiornato.
L’impianto ha accesso diretto a tutti i file di database (sul telefono della vittima) utilizzati dalle popolari app di crittografia end-to-end come WhatsApp, Telegram e iMessage; può estrarre le password delle reti Wi-Fi memorizzate sul dispositivo; può estrarre copia della rubrica contatti e delle foto; può estrarre i token di lunga durata utilizzati da servizi come il Single Sign-On di Google iOS per consentire alle app di Google di accedere all’account dell’utente, permettendo ad un utente malevolo di prendere possesso del vostro account Google.
Per esempi e maggiori informazioni è possibile visitare la pagina dedicata del Google Project Zero.
Vulnerabilità in iOS e caso Zer0Dium: i particolari
A buttare altra legna sul fuoco è stata la piattaforma di acquisizione zero-day leader a livello mondiale Zer0Dium.
La società, definita come un “broker” di exploit per software e sistemi operativi, rappresenta la migliore cartina tornasole per capire chi è al centro delle attenzioni dei pirati informatici.
Il “listino prezzi” di Zer0Dium, il broker di exploit per software e sistemi operativi.
Di fatto, il giorno 3 settembre u.s., Zer0Dium ha revisionato il proprio listino prezzi per le varie tipologie di exploit acquistabili dagli hacker, che porta ad uno storico sorpasso di Android ai danni di Apple per quanto riguarda l’ammontare del prezzo pagato per un exploit Zero Click (il più raro e pericoloso).
Questa inversione di tendenza, da parte di un partner così importante, ha portato istantaneamente l’opinione pubblica a credere che:
- le soluzioni Apple non siano più così sicure come si è sempre creduto;
- hacker, investigatori privati e agenzie governative siano già in possesso di exploit per la sorveglianza di tali dispositivi;
dando una notevole “mazzata” alla credibilità dei prodotti di Cupertino, la quale negli ultimi anni enfatizza le componenti hardware e software come punto cardine della sicurezza e della privacy fornita dai propri prodotti.
Di fatto Chaouki Bekrar, fondatore di Zer0Dium, ha affermato che ciò è dovuto al fatto che il mercato zero-day viene “invaso” da exploit iOS: “Il mercato 0day è invaso da exploit iOS, principalmente di Safari e iMessage, a causa del fatto che molti ricercatori della sicurezza hanno focalizzato la loro attenzione su iOS a tempo pieno. Hanno assolutamente distrutto la sicurezza e le mitigazioni di iOS. Ci sono così tanti exploit iOS che stiamo iniziando a rifiutarne alcuni”.
Nel frattempo, per quanto riguarda Android, Bekar afferma che: “è molto difficile e dispendioso in termini di tempo sviluppare catene complete di exploit Android”, aggiungendo che fino a quando Apple “non migliorerà la sicurezza dei componenti iOS come Safari e iMessage, gli exploit Android saranno considerati più preziosi”.
Vulnerabilità in iOS e caso Zer0Dium: considerazioni
Quanto letto sembra aprire uno scenario catastrofico per l’immagine della società di Cupertino, soprattutto a fronte dell’imminente commercializzazione dei nuovi prodotti.
Ma vi sono alcuni aspetti, da analizzare a freddo, che potrebbero ribaltare o quantomeno attenuare il clima di negatività e disfattismo che nell’ultimo periodo si percepisce in rete.
- Il primo è descritto dal direttore di Crowdfense (un’altra società che acquista exploit 0day con particolare attenzione alla vendita ai governi), Andrea Zapparoli Manzoni, che ha confermato che attualmente ci sono molti più exploit iOS rispetto ad Android, ma sottolineando alcuni concetti cardine: “Esistono più catene iOS sul mercato, ma non tutte sono di “livello di intelligenza”», ma che «molti ricercatori stanno cercando di ottenere i migliori pagamenti (come quelli che paghiamo), ma non tutti sono in grado di fornire le cose giuste”.
In questo caso, la frammentazione di Android è effettivamente utile, Zapparoli Manzoni ha dichiarato: “Android è un mondo così frammentato che una “catena universale” è quasi impossibile da trovare; molto più difficile che su iOS, che è una monocultura”.
Naturalmente, la cosa importante da notare è che sia Crowdfense, sia Zer0Dium costituiscono solo una parte del mercato degli exploit. Ciò significa che potrebbero comunque omettere alcune parti dell’intera storia. - Il secondo aspetto da analizzare, in tutta la faccenda, proviene direttamente da Apple, che il 6 settembre u.s., produce un comunicato in cui afferma che ogni bug è stato affrontato e risolto in 10 giorni. Aggiungendo inoltre che:
a) “l’attacco sofisticato è stato strettamente focalizzato, non si è trattato di un exploit iPhone su larga scala come descritto», si legge nel post. «L’attacco ha colpito meno di una dozzina di siti Web su contenuti relativi alla comunità uigura. Indipendentemente dalla portata dell’attacco, prendiamo molto sul serio la sicurezza di tutti gli utenti”;
b) “tutte le prove indicano che questi attacchi sono stati operativi solo per un breve periodo, circa due mesi, non due anni, come suggerisce Google”; - C’è da considerare, inoltre, che Project Zero è un team che fa capo a Google. Quindi, anche per motivi di marketing, secondo Cupertino sarebbe stata data la falsa impressione di uno “sfruttamento di massa” della falla per “monitorare le attività private di intere popolazioni in tempo reale”, alimentando la paura di una sorveglianza diffusa riguardante tutti gli utenti iPhone;
- come affermato nel punto 2, le frasi sensazionalistiche riferite ad una moltitudine di “siti”, facendo presagire una grossa quantità degli stessi, non è stata confermata da nessuno. Di fatto ad oggi l’unica fonte che ha contestualizzato l’attacco e fornito qualche dato numerico è Apple stessa;
- sempre in riferimento al punto 2, quanto sminuito da Apple stessa potrebbe essere una mossa di marketing;
- rimanendo in tema la stessa Zer0Dium, essendo una società privata, potrebbe avere degli interessi propri nell’aver effettuato una mossa così plateale.
Conclusioni
Riassumendo, vi è un’unica certezza: come scrisse nel lontano 2001 il celebre Kevin Mitnick: “l’unico computer sicuro è il computer spento”; aggiungendo successivamente che anche in questa condizione esistono molteplici condizioni che favoriscono una violazione del sistema.
Di fatto non esiste la sicurezza al 100%: è gran parte marketing quello che sbandiera Apple; lo è altresì quello che affermano i competitor.
Uno dei lati positivi è che il team di sviluppo di iOS è riuscito a “tappare le falle” in un tempo straordinariamente breve.
Come d’altronde è estremamente positiva l’esistenza di un team di ricercatori come quello di Google Project Zero.
In base a quanto esposto, il consiglio per l’utenza finale è quello di diffidare da portali di informazione tecnologica che tramite tecniche basate su semi fake-news tendono a screditare l’una o l’altra parte, come spesso accade tra iOS ed Android.
Entrambi sono sistemi con punti di forza e debolezza.
L’utente finale deve sforzarsi di raccogliere più informazioni possibili provenienti dalle varie fonti; non fermandosi alla prima impressione ma cercando di ragionare sulle motivazioni che possono esservi dietro ogni asserzione. Fatto ciò si può tentare di trarre una conclusione.
Ed in questo caso, con informazioni così fumose e di facciata, come direbbe Aristotele: “in medio stat virtus”.