0-day

Da Wikipedia, l'enciclopedia libera.

In informatica si definisce 0-day qualsiasi vulnerabilità di sicurezza non pubblicamente nota e il programma detto exploit che sfrutta questa vulnerabilità per eseguire azioni non normalmente permesse nel sistema in questione. Vengono chiamati 0-day proprio perché lo sviluppatore ha zero giorni per riparare la falla nel programma prima che qualcuno la possa sfruttare[1]. Nel momento in cui il bug viene risolto, lo 0-day perde la sua importanza perché non può più essere usato contro quel sistema.

Normalmente si parla di 0-day (o zero-day) riferendosi ad essi come attività espressamente dolose compiute da cracker che si adoperano per trovarle proprio con l'intenzione di guadagnarsi un accesso abusivo ad un sistema informatico vulnerabile.

Le vulnerabilità 0-day costituiscono una seria minaccia[2].

Metodi di attacco[modifica | modifica wikitesto]

Gli sviluppatori di malware possono sfruttare le vulnerabilità 0-day attraverso alcuni diversi metodi di attacco.

Alcune volte, quando gli utenti visitano siti web non affidabili, codice malevolo sul sito può sfruttare le vulnerabilità dei browser Web. I browser Web sono un obiettivo particolare per i criminali a causa della loro enorme diffusione e utilizzo. I cybercriminali posso anche mandare email con allegati malevoli attraverso SMTP, i quali sfruttano vulnerabilità nell'applicazione che apre l'allegato. Gli exploit che sfruttano tipi di file comuni sono numerosi e frequenti.

Finestra di vulnerabilità[modifica | modifica wikitesto]

Il tempo che intercorre tra la prima volta che un exploit diventa attivo e quando il numero di sistemi vulnerabili si riduce fino a diventare insignificante è chiamato Finestra di Vulnerabilità.

La time-line per ogni vulnerabilità è definita dai seguenti eventi principali:

  • t0: La vulnerabilità viene scoperta.
  • t1a: Una patch di sicurezza è pubblicata.
  • t1b: Un exploit diventa attivo.
  • t2: La maggior parte dei sistemi vulnerabili applicano la patch.

Per le vulnerabilità normali abbiamo che t1b-t1a > 0. Questo implica che il distributore di software era a conoscenza della vulnerabilità(al tempo t ≥ t0) e ha avuto il tempo di pubblicare una patch di sicurezza(t1a) prima che un hacker abbia avuto il tempo di creare un exploit funzionante(t1b)[3]. Per gli exploit 0-day, abbiamo che t1b-t1a ≤ 0, quindi l'exploit diventa attivo prima che una patch sia stata resa disponibile.

Non divulgando le vulnerabilità nome, un distributore di software spera di raggiungere t2 prima che t1b venga raggiunto, cosi da evitare exploits. Comunque, il distributore di software non ha garanzie che l'hacker non troverà vulnerabilità per conto proprio. Tra l'altro, le patch di sicurezza possono essere analizzate per rilevare le vulnerabilità sottostante e generare automaticamente exploits funzionanti, perciò avremo sempre t0 ≤ t1a e t0 ≤ t1b.

In pratica, la dimensione della Finestra di Vulnerabilità varia a seconda dei sistemi, distributori, e delle singole vulnerabilità. É spesso misurata in giorni, con un report del 2006 che la stima di 28 giorni.[4]

Protezione[modifica | modifica wikitesto]

La protezione 0-day è l'abilità di fornire protezione contro gli exploit 0-day. Dal momento che gli attacchi 0-day sono generalmente sconosciuti al pubblico, è spesso difficile difendersi da essi. Gli attacchi 0-day sono spesso efficaci contro reti "sicure" e possono rimanere ignoti anche dopo che vengono lanciati. Perciò, gli utenti di questi sistemi "sicuri" devono usare il buonsenso e abitudini sicure durante l'uso del computer.[5]

La maggior parte delle tecniche esistono per limitare l'efficacia delle vulnerabilità 0-day che corrompono la memoria, come ad esempio i buffer overflow. Questi meccanismi di protezione esistono negli attuali sistemi operativi come macOS, Windows Vista, Solaris, Linux, Unix e ambienti Unix-like; Windows XP Service Pack 2 include una protezione limitata contro le generiche vulnerabilità di corruzione della memoria[6] e le versioni precedenti la includono ancora meno. Il software di protezione dei desktop e server esiste anche per ridurre le vulnerabilità 0-day di buffer overflow. Tipicamente queste tecnologie sfruttano algoritmi euristici, bloccando i buffer overflow prima che causino dei danni.

È stato suggerito che una soluzione di questo tipo può essere impossibile perché è algoritmicamente impossibile nel caso generale analizzare ogni codice arbitrario al fine di determinare se è malevolo, in quanto l'analisi riduce il problema della terminazione a un automa lineare limitato, il quale è irrisolvibile. Comunque non è necessario riferirsi al caso generale(dividere tutti i programmi in malevoli e non) nella maggior parte dei casi in modo tale da eliminare una grande fetta di comportamenti malevoli.

Worms[modifica | modifica wikitesto]

I worm che sfruttano 0-day approfittano di un attacco a sopresa finché sono sconosciuti ai professionisti di sicurezza informatica. La storia recente mostra un aumento della propagazione di worm. Worm ben progettati possono diffondersi anche nell'arco di minuti con conseguenze devastanti su Internet.

Etica[modifica | modifica wikitesto]

Esistono differenti ideologie relative alla collezione e uso delle informazioni delle vulnerabilità 0-day. La maggior parte delle aziende di sicurezza informatica compiono ricerca sulle vulnerabilità 0-day in modo da capire la natura di esse e il loro utilizzo da parte di individui, worm e virus. Oppure, alcune aziende comprano vulnerabilità per accrescere la loro capacità di ricerca. Un esempio di questo tipo di programma è la Tipping's Point Zero Day Initiative. Anche se vendere e comprare queste vulnerabilità non è tecnicamente illegale nella maggior parte del mondo, c'è una grande controversia riguardo il metodo di divulgazione. Nel 2006 una decisione della Germania di includere l'articolo 6 della Convention Of Cybercrime e di EU Framework Decision on Attacks against Information Systems potrebbe far sì che la vendita o anche la produzione di vulnerabilità diventi illegale.

La maggior parte dei programmi ufficiali seguono alcune forme di linee guida di RFPolicy o del più recente OIS Guidelines for Security Vulnerability Reporting and Response. In generale queste regole vietano la pubblica divulgazione di vulnerabilità senza la notifica al produttore prima di un adeguato tempo per rilasciare una patch.

Virus[modifica | modifica wikitesto]

Un virus 0-day è un virus o malware per computer in precedenza sconosciuto per il quale la protezione degli antivirus non è ancora disponibile.[7]

Tradizionalmente, i software antivirus si affidano a firme per identificare i malware. Questo può essere davvero efficace, ma non può difendere contro i malware a meno che le firme siano già state ottenute e gli update distribuiti. A causa di questo, l'approccio basato sulle firme non sono efficaci contro i virus 0-day.

Gli antivirus più moderni usano ancora le firme, ma effettuano anche altri tipi di analisi.

Analisi del codice[modifica | modifica wikitesto]

Nell'analisi del codice, il linguaggio macchina del file viene analizzato per vedere se c'è qualcosa che sembra sospetto. Tipicamente, i malware hanno un comportamento caratteristico e l'analisi del codice tenta di rilevare se questo è presente nel codice.

Anche se utile, l'analisi del codice ha limitazioni significative. Non è sempre semplice determinare a cosa una sezione del codice è destinata; in particolare se è davvero complesso ed è stato scritto deliberatamente così con l'intenzione di ostacolarne l'analisi. Un'altra limitazione dell'analisi del codice è il tempo e le risorse disponibili. Nel mondo competitivo dei software antivirus, c'è sempre un equilibrio tra l'efficacia dell'analisi e il tempo impiegato.

Emulazione[modifica | modifica wikitesto]

Un approccio per superare le limitazioni dell'analisi del codice è l'esecuzione di sospette sezioni di codice, da parte del software antivirus, in una sandbox e l'osservazione dei comportamenti. Questo può essere ordini di grandezza più veloce dell'analisi dello stesso codice.

Firme generiche[modifica | modifica wikitesto]

Le firme generiche sono firme che sono specifiche di un certo comportamento invece che di uno specifico elemento o malware. La maggior parte dei nuovi malware non è totalmente nuovo, ma è una variazione di malware precedenti, o contiene codice di uno o più malware precedenti. Perciò i risultati delle analisi precedenti possono essere utilizzati contro i nuovi malware.

Competitività nell'industria dei software antivirus[modifica | modifica wikitesto]

È generalmente accettato nell'industria degli antivirus che la protezione basata sulle firme della maggior parte delle aziende è effettivamente identica. Se una firma è disponibile per un elemento o malware, allora ogni prodotto(tranne quelli malfunzionanti) dovrebbe rilevarla. Comunque, alcuni produttori sono significativamente più veloci di altri a venire a conoscenza di nuovi virus e/o aggiornare i database delle loro firme per rilevarli.

C'è una grande differenza di efficacia in termini di protezione da virus 0-day. Il German Computer Magazine c,t ha scoperto che il tasso di rilevamento per virus 0-day varia dal 20% al 60%.[8] È principalmente nell'ambito dei virus 0-day che i produttori competono ai giorni nostri.

Voci correlate[modifica | modifica wikitesto]

Collegamenti esterni[modifica | modifica wikitesto]

Esempi di attacchi 0-day

Sicurezza informatica Portale Sicurezza informatica: accedi alle voci di Wikipedia che trattano di Sicurezza informatica
  1. ^ (en-gb) Flash Vulnerabilities Causing Problems, su www.eset.co.uk. URL consultato il 22 gennaio 2017. Lingua sconosciuta: en-gb (aiuto)
  2. ^ Interview with Sergey Ulasen, The Man Who Found The Stuxnet Worm | Nota Bene: Eugene Kaspersky's Official Blog, su eugene.kaspersky.com. URL consultato il 22 gennaio 2017.
  3. ^ (EN) Flake, Halvar, Structural Comparison of Executable Objects, 22 gennaio 2017, DOI:10.17877/de290r-2007. URL consultato il 22 gennaio 2017.
  4. ^ "Internet Security Threat Report" Symantec Corp, Vol. X, Sept. 2006, p. 12.
  5. ^ What is a Zero-Day Exploit? - An introduction to zero-day software exploits and tips on avoiding them at home., su what-is-what.com. URL consultato il 22 gennaio 2017.
  6. ^ Distribuzione di reti 802.11 protette che utilizzano Microsoft Windows, su www.microsoft.com. URL consultato il 22 gennaio 2017.
  7. ^ Cyberhawk - zero day threat detection review, su www.kickstartnews.com. URL consultato il 22 gennaio 2017.
  8. ^ 21 Dec 2007 at 03:05, Dan Goodin tweet_btn(), Anti-virus protection gets worse, theregister.co.uk. URL consultato il 22 gennaio 2017.