Exploit

Un exploit ("/ɪkˈsplɔɪt/", tradotto dall'inglese "sfruttare") è un termine usato in informatica per identificare una tipologia di script, virus, worm, porzione di dati o binario che sfrutta un bug o una vulnerabilità per creare comportamenti non previsti in software, hardware, o in sistemi…

Un exploit ("/ɪkˈsplɔɪt/", tradotto dall'inglese "sfruttare") è un termine usato in informatica per identificare una tipologia di script, virus, worm, porzione di dati o binario che sfrutta un bug o una vulnerabilità per creare comportamenti non previsti in software, hardware, o in sistemi elettronici (solitamente computerizzati), ad es. ottenere l'accesso a sistemi informatici, permettere l'acquisizione dei privilegi amministrativi, o attacchi Denial of service (DoS o il correlato DDoS).

Il termine non si riferisce tuttavia solamente al software; infatti, nella dinamica di un classico attacco di ingegneria sociale, anche l'inganno o il discorso stesso utilizzato per raggirare la vittima è considerato un exploit data la potenza che questo ha nel catturare informazioni relative al sistema target.

Vulnerabilità software

Il sistema operativo stesso, così come i software applicativi quali il browser Web, lettore di PDF, lettore multimediale, plug-in, prevedono architetture complesse implementate in milioni di righe di codice. È dunque inevitabile che tale codice contenga errori che possono originare vulnerabilità che se scoperte e usate da utenti malintenzionati possono essere sfruttate mediante exploit o altro malware.

Un altro aspetto importante degli exploit sta nel fatto che in fase di sviluppo si sfrutta spesso la capacità del software di interagire con gli altri programmi sia locali che remoti così da poter ambire ad attaccare anche i sistemi informatici che cooperano con la macchina target infettata.

Particolarmente pericolosi e potenzialmente molto dannosi sono gli exploit progettati per attaccare l'ambiente firmware di una macchina (Uefi), ovvero tutto ciò che c'è dall'istante di accensione del dispositivo a quello di avvio del caricamento del sistema operativo (o, meglio, del boot manager).

Gli exploit più sfruttati sono generalmente scritti in Perl, C e PHP.

Diffusione del virus

Gli exploit vengono spesso distribuiti attraverso una rete di computer connessi a Internet. In particolare, il diffusore dell'exploit inserisce il codice in un server con l'unico scopo di distribuire l'exploit nel modo più rapido possibile. Per facilitare questa operazione, viene creata una rete di distributori degli exploit i quali, a loro volta, consentono i download drive-by camuffando l'azione con una pagina Web dall'aspetto innocente. Spesso questi malware vengono quindi iniettati inconsapevolmente nei pc domestici, così infettati, mediante download drive-by da parte degli utenti stessi.

Exploitation

Nella fase iniziale, quando un utente scopre un rischio di sicurezza in un programma, può segnalarlo all'azienda produttrice del software, che rilascia una patch per correggere tale difetto. Tuttavia, talvolta, gli hacker vengono a conoscenza del difetto prima che tali correzioni diventino disponibili, creando un exploit che sfrutta la specifica vulnerabilità; se la notizia relativa l'esistenza di tale bug nel software venisse diffusa, il fornitore provvederebbe ad eliminarla rilasciando una patch o una nuova versione del software stesso, l'exploit sviluppato diventerebbe dunque inutilizzabile, rendendo cioè vano il tentativo di accesso remoto non autorizzato ai dispositivi aggiornati. Proprio per questo motivo, spesso i blackhat hacker non divulgano le vulnerabilità trovate, ma le tengono segrete per creare gli zero day exploit, così chiamati in quanto, sfruttando una vulnerabilità nel giorno dell'annuncio della stessa, lo sviluppatore del software ha zero giorni per riparare la falla nel programma e il risultato del malware è garantito. Gli 0-day sono tra le minacce più temute nel web in quanto, essendo noti solo a una ristretta cerchia di persone, possono causare numerosi danni prima di essere scoperti.

Il business degli exploit

Gli exploit spesso sono rappresentati da crime-ware, un tipo di malware relativamente nuovo il cui scopo primario è quello di estorcere denaro o dati sensibili dai computer degli utenti a beneficio di una terza parte. Nel Dark web, il valore di questi è alto nel periodo di rischio, ovvero quello che va dall'annuncio di una vulnerabilità alla fornitura di una correzione da parte del produttore. La distribuzione continua tuttavia anche in seguito alla data di rilascio della patch in quanto non sempre vengono installate in tutti i computer in tempo rapido. Essendo il tempo medio di rischio pari a 56 giorni, è facile prevedere che alcuni computer rimangano vulnerabili per mesi, se non anni.

Negli ultimi due anni si è notato un aumento significativo del numero di exploit zero-day utilizzati per effettuare attacchi Internet. Si ipotizza che questo incremento possa essere dovuto al crescente livello di cooperazione tra attaccanti e professionisti del settore IT, entrambi desiderosi di sfruttare queste vulnerabilità per profitto.

Classificazione

Gli exploit possono essere classificati con un punteggio assegnato in base al CVSS: tale sistema consente di classificare la gravità di una vulnerabilità in base a una selezione dettagliata di indicatori.

ll più comune metodo di classificazione degli exploit si basa sul metodo che questi utilizzano per interfacciarsi al software applicativo target affetto da vulnerabilità:

Exploit remoto

Utilizza una rete di comunicazione per contattare il sistema vittima. L'attacco viene sferrato utilizzando un altro computer appartenente alla stessa rete locale (LAN ) del computer vittima, oppure mediante accesso Internet (GAN ).

Exploit locale

Per eseguire l'exploit è necessario avere prima l'accesso al sistema vulnerabile. Possono essere utilizzati anche in remoto se l'hacker ha già ottenuto l'accesso alla macchina locale utilizzando appunto un exploit remoto.

Video: Replace Your Exploit-Ridden Firmware with Linux - Ronald Minnich, Google — The Linux Foundation — CC BY 3.0 — Wikimedia Commons

Servizi correlati

Altre voci

R

Red team

Un red team o red force è un gruppo indipendente che esegue un attacco a un'organizzazione per studiarne le debolezze, al fine di migliorare l'efficacia della stessa. In questo modo, si mettono in discussione nozioni preconcette e si raggiunge una comprensione migliore dei problemi di sicurezza…

Leggi la voce →
C

Carico utile (informatica)

In analogia con l'omonimo termine legato ai trasporti, nel linguaggio informatico il carico utile o payload indica la parte di dati trasmessi effettiva che è destinata all'utilizzatore, in contrasto con i metadati e con gli header che servono esclusivamente a far funzionare il protocollo di…

Leggi la voce →
Salvatore Sanfilippo (programmatore)S

Salvatore Sanfilippo (programmatore)

Salvatore Sanfilippo, noto anche con lo pseudonimo di antirez (Campobello di Licata, 7 marzo 1977), è un informatico italiano.

Leggi la voce →
G

Gestione della sicurezza informatica

La gestione della sicurezza informatica (in inglese 'Information Security Management' o 'ISM') riguarda le pratiche utilizzate da una organizzazione per garantire la difesa della riservatezza, disponibilità e integrità delle risorse informatiche da minacce (in inglese 'threats') e vulnerabilità.

Leggi la voce →
B

BackBox

BackBox è una distribuzione GNU/Linux derivata da Ubuntu, progettata per eseguire penetration test e vulnerability assessment and mitigation fornisce un insieme di strumenti che facilitano l'analisi di reti e sistemi informatici. Essa integra in un ambiente desktop completo tutti gli strumenti…

Leggi la voce →
D

Database delle vulnerabilità

Un database delle vulnerabilità (vulnerability database, VDB) è una piattaforma finalizzata a raccogliere, mantenere e diffondere informazioni sulle vulnerabilità informatiche note. Il database, di norma, descrive la vulnerabilità identificata, valuta il potenziale impatto sui sistemi…

Leggi la voce →