software exploitation

Le architetture software moderne sono complesse e strutturate. Gli applicativi più complessi constano di migliaia di righe di codice dislocate in numerosi file.

Un software complesso utilizza anche dei pacchetti di codice di terzi (chiamati librerie) per velocizzare la produzione e mantenere una sintassi pulita. È dunque ragionevole aspettarsi che da qualche parte nel prodotto si nascondano delle imperfezioni, dette vulnerabilità.

Che sia proprietario o ‘open source’, il codice passa al vaglio di una pletora di programmatori e tester che hanno il compito di individuare eventuali punti deboli dei prodotti software.

Se ad accorgersi di queste vulnerabilità c’è un hacker etico, il disguido si risolverà in una patch di emergenza da parte dell’ente responsabile dello sviluppo.

Se invece, come troppe volte accade, è un malintenzionato a sfruttare (in inglese to exploit) una falla nella sicurezza del codice, le conseguenze possono essere assai gravi, con esborsi onerosi per le aziende e ricavi astronomici per i criminali.

Analizziamo, dunque, nel dettaglio il fenomeno del software exploitation.

Cos’è un exploit

Gli exploit non sono malware a sé stanti, bensì rappresentano delle imperfezioni (bug) all’interno di un software.

Queste possono essere sfruttate (da qui l’appellativo exploit) dai criminali informatici per ottenere determinati vantaggi, indipendentemente dall’utilizzo di payload malevoli.

Per exploitation si intende, invece, l’azione di sfruttare queste vulnerabilità al fine di

  • ottenere il controllo parziale o totale di un sistema,
  • oppure acquisire privilegi altrimenti protetti (esempio: admin).

Il device così compromesso potrebbe inoltre essere utilizzato per

  • accrescere le fila dei bot in attacchi DDoS
  • o, come da prassi negli ultimi anni, diffondere proclami propagandistici e faziosi sui social a favore del miglior offerente.

Queste azioni illecite sono spesso portate a compimento attraverso i cosiddetti exploit kit, ovvero software creati appositamente per perpetrare attacchi informatici e commercializzati sul dark web assieme a interfacce di gestione e a una lista di vulnerabilità attaccabili.

La pericolosità delle falle, però, non dipende solamente dal loro livello di severità.

Si distinguono, infatti, due classi di exploit:

  • L’ente proprietario del codice viene a conoscenza della vulnerabilità.
    Vengono presi provvedimenti repentini che prevedono il rilascio di patch di sicurezza per rendere innocuo l’exploit. Successivamente, organizzazioni come l’OWASP o la CISA (l’ente americano per la cybersecurity) catalogano l’exploit annotandone una descrizione dettagliata nonché casi di sfruttamento confermati. In questo modo, chiunque utilizzi la versione vulnerabile di tale software può prendere le dovute precauzioni. Rendere noti gli exploit riduce di molto la loro pericolosità.
  • Sono noti con il nome di zero-day exploits.
    Si tratta degli exploit noti ai cybercriminali ma ignoti ai proprietari del software. E questo risulta il fattore di maggior rischio. Infatti, una volta notificato ed accertato lo sfruttamento di un exploit sconosciuto, passa del tempo prima che gli sviluppatori del software possano arrivare alla sua effettiva individuazione, alla pianificazione dell’intervento risolutivo ed infine al rilascio della patch di aggiornamento. In quel lasso di tempo i collettivi di cyber criminali progettano e codificano degli attacchi specifici, utilizzandoli in prima persona o rivendendoli.

Il target preferito dagli hacker è sempre un software popolare e ampiamente diffuso, poiché a quel punto possono attaccare qualsiasi sistema che utilizzi il codice fallace in molti modi differenti.

I principali bersagli della software exploitation

In tempi meno recenti, a figurare come principali obiettivi erano Internet Explorer e relativi plug-in come

  • Microsoft Silverlight
  • o il più celebre Adobe Flash.

Questi applicativi hanno fatto il loro corso e non sono più disponibili, ma l’idea di colpire un software indispensabile rimane ancora oggi.

In questo senso, gli applicativi presi più di mira risultano:

  • il pacchetto Office di Microsoft
  • e Adobe Reader per quanto riguarda la categoria dei lettori di file ‘ da ufficio ’.

Gli hacker nascondono dei kit ‘light’ all’interno di pdf e simili, che verranno poi eseguiti dal lettore e si metteranno alla ricerca di vulnerabilità.

Tra i principali bersagli in ambito tecnico, figura senza dubbio Java. Il programma, con relativi pacchetti addizionali, è presente in miliardi di dispositivi in tutto il mondo, come afferma il famoso banner delle schermate di aggiornamento. Questa indiscussa popolarità comporta, però, un maggiore esposizione alle minacce degli hacker, che quindi saranno più motivati a ricercare vulnerabilità ancora sconosciute da poter sfruttare.

Non da ultimi, i browser non aggiornati possono costituire un potente veicolo di vulnerabilità sfruttabili dagli attaccanti.

Virtualmente, ogni dispositivo domestico o di lavoro ha accesso a internet tramite i browser più noti, aumentando così la probabilità che alcuni di essi siano più vulnerabili ad attacchi. In generale, questo tipo di software si aggiorna automaticamente proprio in virtù di questo alto fattore di rischio. Questo però non deve invogliare ad abbassare la guardia, specialmente se si utilizzano numerose estensioni di terze parti.

Esempio: Log4shell

Come già anticipato, l’obbiettivo principale dei cyber criminali sono software di grande diffusione che, in caso di vulnerabilità sfruttabili, consentirebbero di colpire il più vasto numero di sistemi.

Vi presentiamo di seguito l’exploit più usato (e pericoloso) del 2021, classifica CISA: Log4Shell.

Log4Shell

Log4Shell è una vulnerabilità scoperta nel dicembre 2021 e valutata 10 su 10 per criticità. Nel giro di poche ore dalla scoperta, si erano già registrati numerosi e variegati tentativi di exploitation, sebbene ci siano evidenze di attività illecite già alcuni giorni prima della sua pubblicazione.

Log4shell è la tempesta perfetta per gli hacker di tutto il mondo:

  • ad una relativa semplicità di utilizzo
  • si uniscono un vasto ventaglio di possibilità di sfruttamento
  • nonché una severità alta, il massimo della valutazione da parte delle organizzazioni che trattano di cybersicurezza.

Questo exploit sfrutta una carenza nella validazione degli input in una libreria Java chiamata log4j, usata per il log di messaggi di errore nelle applicazioni.

Se l’attacco dovesse avere successo, un hacker potrebbe

  • far eseguire del codice malevolo all’applicazione vittima (remote code execution)
  • ed arrivare anche al completo controllo del sistema.

Questa minaccia risulta colpire trasversalmente ogni tipo di entità e utenti. Corporazioni di grandi dimensioni come Intel e Microsoft sono dovute correre ai ripari, in quanto, per alcuni applicativi, utilizzavano proprio la versione vulnerabile di questa libreria.

Sebbene Log4Shell sia oramai ben documentata e risolta con aggiornamenti, il numero di dispositivi colpiti è talmente alto che è ancora possibile trovarne di non aggiornati e dunque vulnerabili.

Alcuni Exploit Kit In Circolazione

Come già accennato, esistono dei cosiddetti exploit kit, dei pacchetti di codice che si adattano alle varie vulnerabilità e già dotati di una serie di strumenti utili agli aggressori.

Al loro interno, infatti, è possibile trovare tutto ciò che può servire per ottenere vantaggi dalla violazione eseguita: backdoor di vario tipo, spyware e altri malware.

La caratteristica principale dei kit è che sono capaci di analizzare il sistema con cui entrano in contatto e verificare automaticamente se utilizza la versione vulnerabile di uno specifico software. In caso affermativo, possono procedere all’azione di attacco, che tipicamente prevede la fase di exploitation e di successiva iniezione del malware.

Gli hacker possono anche nascondere i kit all’interno di siti poco raccomandabili (tipicamente streaming illegale, giochi, scommesse) oppure in bella vista in una pubblicità (malvertising) che reindirizza verso un sito infetto.

A quel punto attendono o che un utente ingenuo si colleghi oppure che qualcuno cada vittima del phishing messo in atto attraverso e-mail o messaggi fraudolenti.

Dopodiché viene eseguito il pacchetto in background e, senza che l’utente se ne accorga, viene avviata la fase di analisi tipica degli exploit kit.

Neutrino

Neutrino è un kit che acquisisce parte della sua pericolosità dalla facilità di utilizzo: anche un attaccante poco esperto può usare con successo gli strumenti di questo pacchetto.

È comparso nella prima metà degli anni ’10 ed ha subito conosciuto una ascesa imponente in popolarità. In origine colpiva principalmente alcune componenti del pacchetto runtime di Java (JRE), per poi evolversi nel tempo colpendo anche Adobe Flash.

Neutrino ha conosciuto una graduale scomparsa a partire dal 2016, soppiantato da altri kit più moderni come ad esempio RIG. Ad oggi si segnalano attacchi portati a termine tramite delle variazioni, aventi come radice il kit originale.

Rig

A partire dal 2016, RIG ha iniziato a soppiantare i vecchi exploit kits, introducendo nuove metodologie di codifica che consentono di

  • nascondere meglio i malware rilasciati
  • e aumentare le probabilità di riuscita degli attacchi.

Come negli altri casi, opera sempre attraverso il browser.

Di norma, l’utente viene rimbalzato su una pagina infetta, dove viene eseguito il kit per la ricerca di vulnerabilità nei software presenti sulla macchina o nel browser stesso.
Secondo un resoconto di Hackernews.com, che rilancia i dati provenienti da Bitdefender, RIG è ancora largamente utilizzato e si arricchisce di nuovi malware come il RedLine Stealer, efficace nel furto di dati di sessione e password.

Consigli per software Exploit-Free

Per evitare di ospitare un exploit all’interno dei propri sistemi informatici, è necessario effettuare il regolare aggiornamento dei software installati sulle macchine.

Sebbene le applicazioni di terze parti possano essere presenti in numero consistente sul computer, è nel proprio interesse assicurarsi che ognuna di esse sia quantomeno aggiornate, in quanto ai kit è sufficiente un solo punto vulnerabile per essere efficaci.

Come già illustrato, è essenzialmente sul web che hanno luogo fenomeni di software exploitation . Bisogna, perciò, imparare a vivere Internet in maniera responsabile: neanche il software più sicuro può salvarsi se è gestito da un utente impreparato.

Non seguire link arrivati da mail sconosciute, oppure non scaricare file da siti non certificati dovrebbero essere regole interiorizzate da qualunque utente del web.

Infine, si raccomanda di acquistare i servizi di un antivirus certificato. I moderni antivirus, infatti, oltre ad erogare servizi standard di protezione, contengono anche delle liste nere di siti e software malevoli, evitando così all’utente di cadere vittima di reindirizzamenti sospetti quando naviga in Internet.

Conclusioni

I software moderni sono enormi impalcature di codice, comprendenti anche pacchetti e librerie sviluppate da terzi. Pertanto, può succedere che nel tempo vengano alla luce delle imperfezioni nella struttura del software che, se sfruttate, possono causare ingenti danni.

Gli applicativi di largo utilizzo sono particolarmente presi di mira dagli hacker, in quanto, in caso di vulnerabilità, consentirebbero di minacciare un numero consistente di utenti.

È quanto successo con la libreria log4j a dicembre 2021, con strascichi fino al tardo 2022.

Gli attaccanti possono, inoltre, utilizzare gli exploit kit per

  • analizzare il sistema oggetto dell’attacco
  • ed individuare gli exploit da sfruttare.

Per correre ai ripari, occorre aggiornare i software sui propri device e ricorrere ai servizi erogati dai moderni sistemi antivirus.

Cyberment Srl

Cyberment è un’azienda specializzata in consulenza di sicurezza informatica. Il nostro red team è composto da hacker etici e specialisti in cybersecurity che operano in questo settore da oltre 20 anni.

Ci occupiamo di identificare le vulnerabilità informatiche nei sistemi e nelle applicazioni web tramite servizi di Vulnerability Assessment e Penetration Test.

Siamo un’azienda di sicurezza informatica certificata ISO 9001, ISO 27001, nonché azienda etica. Abbiamo sede legale a Milano e sede operativa a Porto Mantovano, mentre Londra è il cuore del nostro reparto ricerca e sviluppo.

Se desideri conoscere in modo approfondito i nostri servizi di prevenzione dalle minacce informatiche, contattaci!