1. Un exploit è un codice o un’azione che approfitta di una vulnerabilità in un sistema per eseguire operazioni non autorizzate.
2. Esistono vari tipi di exploit, come buffer overflow, SQL injection e cross-site scripting (XSS).
3. Gli exploit possono essere utilizzati per rubare dati, installare malware, prendere il controllo di sistemi e causare seri danni alla vita professionale di persone e aziende.
In informatica gli exploit (letteralmente “sfruttamento”) sono programmi specializzati che sfruttano un un tipo di vulnerabilità presente in un software o in un dispositivo hardware per compiere attività e operazioni non autorizzate sulle macchine esposte.
Pertanto, può rappresentare un ulteriore strumento a disposizione dei criminali informatici che può essere implementato in diversi modi e può consentire loro di sfruttare per propri fini un problema di sicurezza.
Indice degli argomenti
Che cos’è un exploit
Come anticipato, un exploit consiste in un codice o azioni lanciati in un sistema informatico per approfittare di un tipo di vulnerabilità e sfruttano le falle di sicurezza in un software, un sistema operativo o attraverso una rete per ottenere un accesso non autorizzato o eseguire azioni dannose. Le vulnerabilità possono essere causate da errori di programmazione, configurazioni errate o difetti di progettazione.
A cosa servono gli exploit
Gli exploit possono essere utilizzati per una varietà di scopi dannosi, tra cui:
- Rubare dati sensibili: come informazioni finanziarie, dati personali o segreti aziendali.
- Installare malware: come virus, worm o trojan.
- Prendere il controllo dei sistemi: per lanciare attacchi informatici o interrompere le operazioni aziendali.
- Spiare le attività degli utenti: come registrare le loro battute dai tasti o rubare le loro password.
Exploit e vulnerabilità non sono la stessa cosa
È bene precisare che vulnerabilità ed exploit non sono la stessa cosa. Per vulnerabilità si intende qualsiasi punto debole in un’applicazione software o dispositivo hardware. Di contro, un exploit potrebbe utilizzare tale vulnerabilità per causare un determinato effetto nel sistema colpito, come ad esempio la distribuzione di malware, l’accesso o il controllo remoto non autorizzati.
Le fasi dell’exploitation
L’exploitation delle vulnerabilità può ritenersi, dunque, un altro modo diffuso di infiltrazione nei sistemi informatici target. Di seguito, si riportano le fasi generalmente seguite per lo sfruttamento delle vulnerabilità:
- Raccolta di informazioni sul sistema target. Questa operazione può essere eseguita in diversi modi, ad esempio mediante tecniche di sniffing e/o social engineering, per ottenere informazioni sul sistema operativo e un elenco dei servizi in esecuzione su di esso;
- Ricerca delle vulnerabilità. Una volta conosciute le informazioni necessarie del target, l’attaccante cerca vulnerabilità note e specifiche;
- esecuzione. Individuata una vulnerabilità, l’autore dell’attacco cerca un exploit da utilizzare se già esistente oppure in caso contrario ne allestisce uno ad hoc.
Exploit: le diverse tipologie
Gli exploit possono essere suddivisi in due tipologie, a seconda che la vulnerabilità sfruttata sia già stata risolta o meno: noti e zero-day.
Qualsiasi exploit che prende di mira una vulnerabilità che ha già ricevuto la patch viene chiamato exploit noto, poiché tutti conoscono già il difetto corrispondente.
Quando qualcuno scopre una vulnerabilità software, spesso avvisa lo sviluppatore, che potrà risolvere la vulnerabilità con una patch di sicurezza per riparare la falla nel sistema prima che un attaccante ne possa trarre vantaggio con un exploit.
Questo è uno dei motivi per il quale installare gli aggiornamenti software una volta resi disponibili è sempre raccomandabile.
Cosa sono gli exploit zero day
Quando, invece, un malintenzionato scopre una vulnerabilità e crea immediatamente un exploit, questo viene definito zero-day in quanto vengono sfruttate delle vulnerabilità di sicurezza che sono già note all’attaccante, ma non al produttore del software attaccato (che ne viene a conoscenza solo a fatto compiuto).
Gli attacchi zero-day sono molto pericolosi perché nessuno dispone di una soluzione immediata e per rispondere all’attacco eventuale gli sviluppatori devono poter creare una patch il prima possibile. In questi casi, tutti gli utilizzatori del software interessato possono essere potenzialmente coinvolti.
Gli exploit, come detto, possono sfruttare anche difetti presenti nell’hardware e nei firmware dei dispositivi. Una vulnerabilità hardware è pertanto una falla sfruttabile per attaccare tramite l’accesso fisico o remoto l’hardware del sistema.
Le vulnerabilità hardware Meltdown e Spectre ne sono un esempio. Coinvolgendo i processori di milioni di dispositivi, i produttori dei relativi chip hanno dovuto introdurre delle patch per mitigarne i rischi.
Classificazione degli exploit
Sulla base del tipo di attacco sferrato, gli exploit possono essere classificati in:
- eseguiti localmente ovvero che si attivano direttamente all’apertura di un file, di un’immagine, un testo apparentemente innocui, ma che tuttavia contengono codice che sfrutta la vulnerabilità;
- eseguiti in remoto attraverso una rete di comunicazione per contattare il sistema vittima. In tal caso l’attacco potrebbe prevedere l’utilizzo di un altro computer interno alla stessa rete locale oppure di un accesso da Internet;
- exploit di SQL Injection che utilizzano applicazioni che funzionano sulla base di DB SQL;
- exploit di negazione del servizio DoS che non servono a eseguire codice dannoso, ma piuttosto a sovraccaricare un’applicazione o un servizio a tal punto da impedirne l’esecuzione;
- exploit per l’esecuzione di comandi che permettono all’attaccante di controllare il codice di un programma malevolo, ottenendo così diritti amministrativi sul sistema colpito.
Cosa sono gli exploit kit
È ormai una tendenza consolidata quella di usufruire di un exploit kit ovvero di un toolkit pronto all’uso, basato sul modello di Business Software Service, con il quale ai criminali informatici viene fornito tutto il necessario per sferrare un attacco di exploit.
Un tipico exploit kit, solitamente, fornisce una console di gestione, una serie di vulnerabilità mirate a diverse applicazioni e diverse funzioni aggiuntive che rendono più semplice lanciare un attacco.
Ecco le fasi di una possibile infezione da exploit kit:
- Il contatto. L’attaccante per il contatto può impiegare e-mail spam e l’ingegneria sociale o il malvertising per indurre le persone a cliccare sul collegamento di un server di exploit kit.
- Il reindirizzamento. Il generatore di exploit kit controlla il suo obiettivo filtrando le vittime in base a determinati requisiti (ad esempio geolocalizzazione dell’IP).
- Lo sfruttamento. Le vittime vengono quindi indirizzate alla pagina di landing dell’exploit kit che determina quali vulnerabilità possono essere utilizzate successivamente.
- L’infezione. Dopo aver sfruttato con successo una vulnerabilità, l’attaccante può scaricare ed eseguire malware nell’ambiente della vittima.
Come difendersi da un exploit
In generale, possono essere messe in pratica delle azioni di sicurezza per proteggersi almeno da attacchi di exploit noti e ridurre l’eventualità di essere colpiti da un exploit zero-day:
- Tenere sempre aggiornato il proprio software. Un modo per assicurarsi di non perdere eventuali update consiste nell’utilizzare un programma di gestione che semplifichi la procedura di aggiornamento dei software o che, in alternativa, possa agire in automatico minimizzando, in tal modo, i tempi di esposizione.
- Essere consapevoli delle minacce informatiche: è importante conoscere i tipi più comuni di exploit e come evitarli.
- Utilizzare un software antivirus e anti-malware perché possono aiutare a rilevare e bloccare malware che tenta di sfruttare le vulnerabilità.
- Utilizzare software di produttori affidabili. È più probabile che i relativi sviluppatori assicurino al bisogno una patch di sicurezza. Navigare solamente in siti noti, fidati o dotati di certificato SSL riduce le possibilità di sfruttamento di vulnerabilità del software lato client.
- Fare attenzione a ciò che si clicca e si scarica: non fare clic su collegamenti o allegati sospetti e non scaricare software da fonti non affidabili.
- Utilizzare password forti e univoche: non utilizzare la stessa password per più account e utilizzare password complesse che siano difficili da indovinare.
- Prestare attenzione a ogni forma di phishing. È sempre consigliato di non aprire allegati provenienti da indirizzi email sospetti e non scaricare file se consegnati da mittenti sconosciuti.