fbpx

Exploit Zero-Day: cos’è e quali sono le vulnerabilità

164 0

In questo ultimo periodo quando si parla di attacchi informatici, si sente spesso parlare di Exploit zero day. In questo articolo vediamo cos’è l’exploit zero-day, quali sono le tipologie, cosa si intende per vulnerabilità zero-day e a che periodo si riferisce lo zero-day.

Zero-day significato

Uno zero day (tradotto in Italiano un giorno zero), è una vulnerabilità che un black hat ha scoperto e sfruttato prima che uno sviluppatore abbia trovato e risolto il problema.

Un black hat è un hacker attivamente impegnato in qualsiasi tipo di operazione criminale informatica.

Il suo obiettivo, come già specificato, è ottenere un guadagno economico tramite azioni di cyberspionaggio o altri scopi dannosi per le organizzazioni.

Zero-day: che periodo rappresenta

Tecnicamente lo zero-day si riferisce a quanto tempo uno sviluppatore deve patteggiare il problema prima di essere sfruttato in natura.

Ovviamente le aziende di grandi dimensioni (come ad esempio Google, Microsoft) difficilmente sono colpite da exploit zero-day, perché hanno ricercatori di sicurezza che lavorano al loro interno per trovare e risolvere questi problemi prima che i malintenzionati inizino a sfruttarli.

A volte però, anche in queste grandi realtà, si scoprano vulnerabilità.

Vulnerabilità zero-day

Il commercio delle vulnerabilità zero-day essendo molto complesso dà vita ad un fiorente mercato nero, gestito specialmente nel dark web.

Esistono dei veri market virtuali dove si vendono le specifiche delle vulnerabilità zero-day, o addirittura i codici malevoli per sfruttare le vulnerabilità cioè gli exploit.

Vulnerabilità half-day

Ci sono poi le vulnerabilità half-day: sono sempre chiamate zero-day ma a differenza delle altre sono state rese note al pubblico o ai vendor interessati.

Anche le half-day comunque hanno un elevato valore. Questo perché prima che il produttore rilasci la patch possono passare diversi giorni, se non mesi. Inoltre la vulnerabilità verrà sfruttata sicuramente per parecchi mesi prima che quest’ultima venga installata dagli utenti finali.

Exploit zero-day: il mercato

Possiamo dividere i mercati in tre tipologie:

  • Diretti;
  • Intermediati;
  • Mercato nero;

Partiamo dal mercato diretto analizzando l’iniziativa di Chrome Vulnerability Reward Program di Google. Essa offre un programma chiamato bug bounty utilizzato per identificare nuove vulnerabilità dei propri sistemi in cambio di premi in denaro.

Per quello che riguarda i mercati intermediati, invece, la gestione non dipende dalle case produttrici bensì dai broker. Vengono convalidate le vulnerabilità zero-day scoperte e, in base al livello di criticità, si paga chi ha scoperto la vulnerabilità.

I mercati neri ovviamente non hanno nulla di ufficiale e di legale. I pagamenti avvengono infatti tramite le principali valute digitali. Di solito quelle utilizzate sono Bitcoin, WebMoney mentre nei mercati ufficiali e in quelli intermediati vengono effettuati pagamenti tramite bonifici e quasi sempre in dollari.

Exploit zero-day ed exploit conosciuti

Come accennato all’inizio dell’articolo, possiamo dividere gli exploit in due tipi:

  • Exploit conosciuti
  • Exploit sconosciuti o zero-day

Gli exploit conosciuti sono noti ai creatori del software o del sistema operativo (Windows ad esempio). Ne sono venuti a conoscenza tramite segnalazioni degli utenti o tramite il processo qualità, eseguito dal proprio team di sviluppo.

Di solito queste vulnerabilità si correggono in breve tempo tramite un aggiornamento software.

Gli attacchi Zero-Day invece sfruttano exploit sconosciuti, questo significa che al momento della scoperta non ci sono disponibili soluzioni/documentazione.

La maggior parte degli attacchi malware prende di mira exploit sconosciuti perché quelli conosciuti si risolvono rapidamente o possono essere bloccati con un programma antivirus.

Exploit zero-day classificazione

Possiamo classificare ulteriormente gli exploit in base al tipo di vulnerabilità presa di mira o al metodo utilizzato per ottenere, ad esempio, il controllo di un computer o di un server o addirittura di una rete.

Possiamo dividerli così:

Attacchi a dizionario

Tipo di attacco più utilizzato nell’ambito del Password Cracking. Permette di ottenere dei buoni risultati (ovviamente se il dizionario utilizzato è completo e le relative regole sono efficaci).

Viene presa la password in chiaro dal Dizionario utilizzato, genera l’hash.

Viene comparato l’hash generato con quello della password da craccare.

Se l’hash non corrisponde, si ritorna allo Step 1.

Se l’hash corrisponde significa che la password è stata scoperta.

Sql Injection

Abbiamo già parlato, in un articolo precedente, di SQL Injection. SQL è un linguaggio di programmazione che viene utilizzato per dialogare con un database.

Tramite questa tecnica è possibile accedere e manipolare i dati contenuti in nelle varie tabelle del database presenti su un server.

Attacchi di forza bruta

In questo tipo di attacco non si decripta la password, ma si cracca confrontando l’hash con quelli generati usando una combinazione di caratteri.

Questa è una tecnica “vecchia” ma ancora efficace e molto utilizzata dai malintenzionati.

Exploit Zero-day: come ci difendiamo?

Contro gli zero day non possiamo difenderci perché l’attacco sfrutta una falla scoperta e non ancora resa pubblica. Facciamo un esempio semplice: qualcuno scopre una vulnerabilità in Microsoft Word ed invece di avvisare subito Microsoft della falla scoperta, sfrutta questa strada per fare soldi vendendo sul dark web questa scoperta. Quando Microsoft scoprirà questa falla, inserirà nei suoi aggiornamenti la patch che sistemerà il problema.

L’arma che noi abbiamo a disposizione per difenderci è quella, come ripetuto più volte, di tenere sempre aggiornati i nostri sistemi, utilizzando ad esempio Windows Update, aggiornare i vari software come l’antivirus.

Giorgio Perego

IT Manager