0day – Per poter iniziare il nostro articolo bisogna, prima di tutto, dare una definizione di zero day. Lo 0day o zero day – non cambia assolutamente nulla – è una vulnerabilità che fino a quel momento non era ancora nota. Non è difficile capire come gli zero day rappresentino una minaccia non indifferente. Il concetto di 0day è assimilabile a quello di paziente zero: la prima volta che viene scoperta una vulnerabilità – così come il primo paziente affetto da una determinata malattia – si ha uno zero. La vulnerabilità appena riscontrata non è ovviamente pubblica, non ne sono a conoscenza gli utenti ne le case produttrici.

Per quanto riguarda gli 0day, in questo articolo ci proponiamo di analizzare:

Il ciclo di vita di una vulnerabilità zero day;

Come si trova uno 0day;

Gli esempi pratici: a caccia di 0day insieme a team specializzati. Apple e gli 0day; Zero day negli smartphone Samsung ; Ultimo modello: Xiaomi 0day.

Proteggersi da uno zero day.

Zero day from to start to end: il ciclo di vita

Questo tipo di vulnerabilità sono, come abbiamo detto, nuove. Proprio per questo diventa interessante studiarne il ciclo di vita. Come si sviluppa nel tempo una situazione legata ad una vulnerabilità zero day?

In linea di massima si può abbozzare un life cycle che ha parecchie somiglianze rispetto quello illustrato nell’articolo di Smart Car CyberSecurity. Il filo rosso che accomuna i due aspetti, infatti, è il lasso temporale che intercorre tra l’identificazione della vulnerabilità, il relativo patching e l’utente che effettivamente aggiorna il proprio sistema. Nel mondo delle Smart Car uno zero day è una minaccia oltremodo seria: possono costare vite umane.

Nel dettaglio vediamo come si struttura questo ciclo:

L’hacker (etico o meno che sia) identifica la vulnerabilità per la prima volta attraverso innumerevoli metodologie possibili. Ne vedremo alcune in seguito quando ci saranno degli esempi pratici. In un secondo momento, lo stesso hacker crea l’exploit con lo scopo preciso di sfruttare lo 0day appena identificato. Gli exploit sono “metodi” per sfruttare delle vulnerabilità note. Ormai il nostro zero day è noto (almeno all’hacker che lo ha scoperto). Purtroppo, per vulnerabilità note, è disponibile nel Dark Web una quantità enorme di exploit ready made che chiunque può sfruttare. Identificare le vulnerabilità note presenti nel proprio sito internet – attraverso un Vulnerability Assessment – diventa fondamentale per ogni azienda. Questo è solo uno dei molteplici motivi che portano a questa conclusione. Ovviamente, una volta che una persona identifica una vulnerabilità, la voce si sparge e la vulnerabilità diventa nota. Questa quarta fase rappresenta la vera sfida per i produttori. In prima istanza, essi ne vengono a conoscenza e si adoperano subito (si spera) per creare la patch relativa alla vulnerabilità ormai ex zero day. Una volta che questa patch viene creata, verrà anche rilasciata e resa pubblica. In ultima istanza, l’utente, aggiorna il software e patcha la vulnerabilità.

Da questo susseguirsi di eventi risulta chiaro come una vulnerabilità 0day sia potenzialmente pericolosissima in quanto sfruttabile in silenzio da colui che la scopre. Inoltre, come accennato in precedenza, i lassi temporali che possono intercorrere dal punto uno al punto quattro e dal quattro al cinque sono la vera criticità dell’intero processo.

Una differenza sostanziale tra i cicli di vita degli 0day è la stessa che c’è tra Criminal Hacker e Ethical Hacker. L’aspetto etico, quando si parla di vulnerabilità non note, è fondamentale ed è una discriminante chiave per determinare la pericolosità della vulnerabilità identificata.

Criminal Hacker: quando un hacker malintenzionato individua uno zero day viene creato immediatamente (o quasi) un exploit per sfruttare la vulnerabilità. Questo trend comportamentale ha delle implicazioni che sono visibili ovunque nel web. In un primo momento, nel Dark Web, sono stati creati dei veri e propri marketplace di exploit. Questo ha permesso (e tuttora permette) a chiunque di accedervi e comprare degli exploit ready-made per sfruttare le vulnerabilità zero day individuate dai criminal hacker. Ad oggi, tuttavia, abbiamo degli sviluppi: queste informazioni non sono più relegate al solo Dark Web. Ci sono, infatti, moltissimi siti internet “normali” che vendono questi kit alla luce del sole.

Ethical Hacker: ci sono team di hacker e ricercatori informatici che hanno lo specifico compito di scovare le vulnerabilità zero day. Tuttavia, il loro approccio (e di conseguenza il ciclo di vita della vulnerabilità) è completamente diverso. L’ethical hacker, infatti, una volta scovato lo 0day di prassi avvisa in maniera riservata il vendor / produttore del dispositivo – come nel caso che vedremo in seguito. Questo tipo di warning viene preso molto seriamente dalle case produttrici. L’Ethical Hacker, condividendo confidenzialmente questa informazione, concede a chi di dovere (solitamente) dai 30 ai 60 giorni per creare la patch relativa allo 0day. Come si può intuire, in questa fattispecie, il ciclo di vita sarà molto più snello.

Come si trova uno 0day

L’identificazione di uno zero day richiede molta attenzione e una vera “passione” per le vulnerabilità. Un approccio classico è quello di eseguire dei test sul bersaglio della mia analisi. Proprio per questo motivo le aziende dovrebbero ricorrere a strumenti di sicurezza preventiva come Vulnerability Assessment e Network Scan: perché gli hacker lo fanno!

L’hacker, come prima cosa, cercherà la presenza di vulnerabilità note e ben conosciute. La sua speranza, ovviamente, è quella di trovare punti critici attaccabili per cui le patch non sono state applicate. Così non fosse, allora è possibile che l’azienda abbia (fortunatamente) patchato tute le vulnerabilità che la affliggono. Nel caso trovasse un bug sfruttabile, l’hacker in questo caso sarebbe di fronte ad uno 0day: una vulnerabilità che nessuno ha notato e non ancora conosciuta.

Gli 0day partono spesso da vulnerabilità ben note e conosciute. Sfruttano queste vulnerabilità note di cui vengono scoperti ulteriori risvolti. In questo modo abbiamo uno zero day.

Zero day: esempi pratici negli smartphone

A Tokyo, ormai due settimane fa, si è tenuta una “competizione” piuttosto interessante: il Pwn2Own. Questa manifestazione è la prova di come ogni cosa sia a tutti gli effetti “bucabile” da un hacker. A livello generale, il tasso di competenza degli hacker si sta alzando sempre di più (nonostante siano disponibili nel Dark Web strumenti per exploit ready made sfruttabili da chiunque) e le competenze si stanno raffinando giorno dopo giorno.

Durante questa manifestazione, tre enormi produttori di smartphone: Apple, Xiaomi e Samsung sono stati hackerati e si sono visti sventolare davanti uno zero day.

Il contest ha visto hacker (etici per fortuna) battersi alla ricerca di vulnerabilità presenti in alcuni dei device più diffusi al mondo. Le ricompense, per coloro che sono riusciti ad identificare le criticità di sicurezza, ammontavano a ben oltre i 300.000 dollari. In questa pittoresca situazione si sono ritrovati a lavorare hacker provenienti da tutto il mondo e con diversi background. Alcuni rappresentavano aziende IT, altri no, insomma, un melting pot della CyberSecurity.

Quali sono i risultati che sono riusciti ad ottenere questi team di esperti? Bisogna ammettere che i risultati sono piuttosto sorprendenti: sono stati individuati 18 zero day in device aggiornati all’ultima versione. Questo numero dovrebbe quanto meno destare stupore: bisogna considerare che gli smartphone su cui sono state individuati gli 0day erano tutti “aggiornatissimi”.

Apple e gli 0day

Fluoroacetate sembra il nome di una tuta anni 80. Nel nostro caso, però, è il nome di un gruppo di hacker (Amat Cama e Richard Zhu) che è riuscito a sfruttare tramite wi-fi (da cui l’importanza della Wi-Fi Security) due vulnerabilità presenti in un iPhone X ultimo modello completamente patchato. Nel dettaglio cosa è successo? In sostanza, il talentuoso duo di hacker è riuscito a combinare:

una vulnerabilità JiT (Just in Time) all’interno di Safari: il browser di iOS, insieme a;

un write bug out-of-bounds per il sandbox escape e

l’escalation per la data exfiltration da un iPhone che supporta iOS 12.1.

Anche per dimostrare praticamente quanto appena descritto il duo Fluoroacetate ha scelto un metodo molto affascinante. Ha infatti preso ad esempio un’immagine che era stata cancellata dal dispositivo target. Attraverso la vulnerabilità 0day identificata, i due hacker sono riusciti a far “resuscitare” la fotografia. Nonostante la loro comprovata bravura, il duo non è riuscito nell’impresa di sfruttare l’exploit che sono riusciti a creare per attaccare la componente baseband presente nel dispositivo Apple. Tuttavia, c’è da aggiungere che non sono riusciti nell’intento per mancanza di tempo.

Il duo, grazie alle proprie abilità, è riuscito a guadagnare l’importante cifra di 50.000$.

Zero day negli smartphone Samsung

Il team di hacker MWR è riuscito a scoprire tre zero day relativi al dispositivo Samsung Galaxy S9. Questi tre 0day sono stati sfruttati in maniera originale e hanno permesso di hackerare il dispositivo attraverso il sistema wi-fi. In un secondo momento, sono riusciti ad installare sul device la propria applicazione sfruttando un redirect ed un app load non sicuri.

Inoltre, il team di Fluoroacetate non si è fermato alla Apple. Il duo, infatti, ha deciso di cimentarsi anche nell’abbordaggio del colosso Samsung.

In questo caso i due sono riusciti ad intrufolarsi all’interno dell’ultimo modello Samsung: il Galaxy S9. In che modo? Sfruttando una vulnerabilità memory heap overflow presente nella componente baseband del dispositivo. L’esecuzione del codice è stata la conseguenza allo sfruttamento di questa vulnerabilità.

Questo ulteriore lavoro ha fatto sì che Fluoroacetate si sia accaparrato un altro gruzzolo di 50.000$.

Ultimo modello: Xiaomi 0day

Anche in questo caso i team di Fluoroacetate e MWR sono riusciti ad individuare degli 0day. In questo caso, però, i dispositivi bersaglio sono i device Xiaomi Mi6.

Fluoroacetate ha sfruttato il microfono del dispositivo attraverso la near-field communication. In questo modo, il duo di hacker ha “convinto” lo smartphone ad aprire il browser web e non solo. Ha fatto sì che lo smartphone navigasse su una pagina costruita ad hoc dagli hacker. Il secondo zero day sfruttato da Fluoroacetate ha coinvolto una vulnerabilità integer overflow nel motore JavaScript del web browser del dispositivo. Questo secondo 0day ha permesso, nella fase di dimostrazione, di esfiltrare una fotografia dal dispositivo.

ha sfruttato il microfono del dispositivo attraverso la near-field communication. In questo modo, il duo di hacker ha “convinto” lo smartphone ad aprire il browser web e non solo. Ha fatto sì che lo smartphone navigasse su una pagina costruita ad hoc dagli hacker. Il secondo zero day sfruttato da Fluoroacetate ha coinvolto una vulnerabilità integer overflow nel motore JavaScript del web browser del dispositivo. Questo secondo 0day ha permesso, nella fase di dimostrazione, di esfiltrare una fotografia dal dispositivo. MWR , invece, ha combinato cinque diversi bug che hanno permesso al team di hacker di installare, via JavaScript, la propria applicazione sul dispositivo.

Proteggersi da uno zero day

Le vulnerabilità saranno sempre presenti, in qualunque sistema (o quasi). Tuttavia, ci sono precauzioni che per le aziende sono essenziali. Precauzioni, appunto, perchè si tratta di azioni di sicurezza preventiva: layer fondamentale del CyberSecurity framework aziendale.

Nello specifico, ogni aziende deve condurre attività periodiche di:

Vulnerability Assessment ;

; Network Scan ;

; Code Review.

E’ necessario condurre questi test perchè i Cyber Criminali lo fanno! In questo modo è possibile individuare le debolezze infrastrutturali e patchare le vulnerabilità note presenti nei sistemi.

Sono consigliate anche attività di Penetration Test: attacchi autorizzati (simulato) su un sistema per testarne la sicurezza. Questo tipo di test può – al contrario degli strumenti precedenti che hanno l’obiettivo di identificare le vulnerabilità note – scovare eventuali 0day.

Per quanto riguarda il tema della sicurezza proattiva (ulteriore componente del CyberSecurity Framework), invece, è necessario implementare sistemi SIEM con Intelligenza Artificiale. Questi sistemi riescono ad analizzare – grazie alla componente di IA – ciò che è deviante dallo standard, i comportamenti anomali. Affiancato ad un sistema SIEM, c’è un team di data scientist che permette di implementare la componente di knowledge base del sistema IA. In questo modo, il sistema stesso, può apprendere sempre più informazioni e scovare tutto ciò che è deviante dallo standard: i nostri 0day.