computer exploit
Un computer exploit, o exploit, è un attacco a un sistema informatico, in particolare uno che sfrutta una particolare vulnerabilità del sistema offre agli intrusi. Usato come verbo, exploit si riferisce all’atto di fare con successo un tale attacco.
Un exploit sfrutta una debolezza in un sistema operativo, un’applicazione o qualsiasi altro codice software, inclusi plug-in di applicazioni o librerie software. In genere, i proprietari del codice emettono una correzione o una patch in risposta. Gli utenti del sistema o dell’applicazione sono responsabili dell’ottenimento della patch, che di solito può essere scaricata dallo sviluppatore del software sul Web, oppure può essere scaricata automaticamente dal sistema operativo o dall’applicazione che ne ha bisogno. La mancata installazione di una patch per un determinato problema espone l’utente a un exploit del computer e alla possibilità di una violazione della sicurezza.
Tipi di exploit informatici
Gli exploit di sicurezza sono disponibili in tutte le forme e dimensioni, ma alcune tecniche sono utilizzate più spesso di altre. Alcune delle vulnerabilità di sicurezza basate sul Web più comuni includono attacchi SQL injection, cross-site scripting e cross-site request forgery, così come l’abuso di codice di autenticazione rotto o errori di configurazione della sicurezza.
Gli exploit informatici possono essere classificati in diversi modi, a seconda di come funzionano gli exploit e del tipo di attacchi che sono in grado di realizzare. Il tipo più familiare di exploit è l’exploit zero-day, che sfrutta una vulnerabilità zero-day. Una vulnerabilità zero-day si verifica quando un pezzo di software-di solito un’applicazione o un sistema operativo-contiene una vulnerabilità di sicurezza critica di cui il fornitore non è a conoscenza. La vulnerabilità diventa noto solo quando un hacker viene rilevato sfruttando la vulnerabilità, da qui il termine zero-day exploit. Una volta che si verifica un tale exploit, i sistemi che eseguono il software sono lasciati vulnerabili a un attacco fino a quando il fornitore rilascia una patch per correggere la vulnerabilità e la patch viene applicata al software.
Gli exploit informatici possono essere caratterizzati dal risultato atteso dell’attacco, come denial of service, esecuzione di codice remoto, escalation dei privilegi, consegna di malware o altri obiettivi dannosi. Gli exploit informatici possono anche essere caratterizzati dal tipo di vulnerabilità sfruttata, inclusi exploit di buffer overflow, iniezione di codice o altri tipi di vulnerabilità di convalida dell’input e attacchi a canale laterale.
Come si verificano gli exploit?
Sebbene gli exploit possano verificarsi in vari modi, un metodo comune è che gli exploit vengano lanciati da siti Web dannosi. La vittima potrebbe visitare tale sito per caso, o potrebbero essere indotti a fare clic su un link al sito dannoso all’interno di una e-mail di phishing o di un annuncio dannoso.
I siti Web dannosi utilizzati per exploit informatici possono essere dotati di exploit pack, toolkit software che includono software dannoso che può essere utilizzato per scatenare attacchi contro varie vulnerabilità del browser da un sito Web dannoso o da un sito Web che è stato violato. Tali attacchi di solito prendono di mira software codificato in Java, browser senza patch o plug-in del browser, e sono comunemente usati per distribuire malware sul computer della vittima.
Gli exploit automatizzati, come quelli lanciati da siti Web dannosi, sono spesso composti da due componenti principali: il codice exploit e il codice shell. Il codice di exploit è il software che tenta di sfruttare una vulnerabilità nota. Il codice della shell è il carico utile del software exploit — progettato per essere eseguito una volta che il sistema di destinazione è stato violato. Il codice della shell prende il nome dal fatto che alcuni di questi payload aprono una shell di comando che può essere utilizzata per eseguire comandi contro il sistema di destinazione; tuttavia, non tutto il codice della shell apre effettivamente una shell di comando.
Vulnerabilità e exploit famosi
Negli ultimi anni, molti exploit di alto profilo sono stati utilizzati per commettere enormi violazioni dei dati e attacchi malware. Nel 2016, per esempio, Yahoo ha annunciato un hack che si era verificato anni prima aveva causato i dati di 1 miliardo di utenti di essere trapelato. Gli aggressori hanno ottenuto l’accesso agli account di posta elettronica degli utenti perché le password erano protette da MD5, che è un algoritmo di hashing debole e obsoleto.
Uno degli exploit più noti degli ultimi anni è EternalBlue, che attacca una falla patchata nel protocollo Message Block di Windows Server. L’exploit, che è stato attribuito alla National Security Agency, è stato reso pubblico dal gruppo Shadow Brokers quest’anno e successivamente utilizzato dagli attori delle minacce negli attacchi ransomware WannaCry e NotPetya.
Più recentemente, la società di segnalazione di credito Equifax ha subito una massiccia violazione dei dati dopo che gli aggressori hanno sfruttato una vulnerabilità critica nel framework Apache Struts, che è stato utilizzato in una delle applicazioni web dell’azienda. Una patch è stata rilasciata all’inizio di quest’anno per il difetto critico, che veniva sfruttato in natura, ma Equifax non ha aggiornato la sua web app fino a dopo che gli aggressori sono stati rilevati.