Exploit Zero-Day: L’anatomia degli attacchi inattesi
Gli attacchi zero-day sono in aumento.
Il 2021 non solo è stato un anno da record per il numero totale di attacchi zero-day, ma ha anche rappresentato il 40% delle violazioni zero-day dell’ultimo decennio. In parte, questa corsa verso lo zero è legata all’enorme numero di applicazioni web, mobili e basate sul cloud che vengono sviluppate e distribuite. Con una tale quantità di codice creato così rapidamente, non sorprende che gli aggressori trovino sempre più porte digitali aperte.
L’enorme volume di utenti costantemente connessi alle reti aziendali aumenta anche la percentuale di successo degli attacchi zero-day. Se gli aggressori riescono a compromettere anche un solo endpoint, possono essere in grado di catturare o esfiltrare dati che consentono loro di immergersi senza essere scoperti in exploit zero-day.
Ma cos’è esattamente un attacco zero-day? Quali sono le sue fasi comuni e come possono proteggersi le aziende?
Che cos’è un attacco zero-day?
Nessun software è perfetto. Se i criminali informatici riescono a compromettere i dati delle applicazioni e a individuare potenziali vettori di minaccia di cui i team IT non sono a conoscenza, l’attacco risultante lascia alle aziende zero giorni per prepararsi e rispondere.
In pratica, le componenti di una compromissione zero-day sono tre: vulnerabilità zero-day, exploit zero-day e attacchi zero-day.
Le vulnerabilità zero-day sono falle non rilevate nei sistemi o nel software che potrebbero portare a una compromissione. Gli exploit zero-day sono i metodi sviluppati dagli aggressori per sfruttare le vulnerabilità. Infine, gli attacchi zero-day sono le azioni che gli aggressori compiono per utilizzare il loro exploit e compromettere il sistema.
Il fattore di rischio maggiore di uno sforzo zero-day è l’elemento di incertezza. Poiché le aziende non sono a conoscenza delle falle nel loro codice finché gli aggressori non tentano di sfruttarle, rimanere protetti può essere difficile. Le aziende devono invece rimanere all’erta.
Passo dopo passo: La connessione killer
Gli attacchi zero-day utilizzano la cosiddetta “kill chain”, una serie di passaggi interconnessi che portano alla compromissione dei dati.
Sebbene ogni problema zero-day sia diverso a seconda dell’applicazione stessa, del tipo di dati memorizzati e della capacità delle aziende di rilevare questi problemi il prima possibile, la maggior parte degli attacchi segue uno schema simile di kill chain. Ecco le fasi più comuni.
Ricognizione
Prima che gli aggressori possano creare exploit zero-day e compromettere i sistemi critici, devono sapere in cosa si stanno cacciando. Questo è il ruolo della ricognizione. A seconda della natura del software – proprietario o open-source – la ricognizione avrà un aspetto molto diverso. Il codice open-source consente agli aggressori di navigare a loro piacimento, ma gli exploit potrebbero non generare lo stesso impatto, dato l’uso più cauto delle soluzioni open-source su scala.
I programmi proprietari, invece, in genere proteggono il loro codice utilizzando strumenti come l’offuscamento e la crittografia. Di conseguenza, gli aggressori cercheranno innanzitutto di ottenere l’accesso al sistema tramite tecniche come il social engineering, per poi condurre l’osservazione del codice.
Armamento
Una volta identificate le vulnerabilità, gli aggressori possono trasformare questi problemi zero-day in exploit. In primo luogo, scrivono il codice di exploit che consente loro di sfruttare la vulnerabilità. Quindi distribuiscono questo codice, lo vendono al miglior offerente o lo rendono di dominio pubblico per suscitare interesse.
L’implementazione
L’implementazione viene dopo. Gli aggressori distribuiscono l’exploit sul vostro sistema o su altri sistemi che eseguono il vostro software. L’implementazione avviene tramite allegati di posta elettronica dannosi, campi di moduli non protetti o tentativi di brute-force.
Esfiltrazione ed esplorazione
Una volta entrati nel vostro sistema, i malintenzionati possono scegliere di esfiltrare i dati chiave o di spostarsi lateralmente attraverso la vostra rete per esplorare altre fonti di dati.
Queste fasi sono parallele ad attacchi più noti, come il ransomware o il phishing, ma con l’ulteriore sfida dell’imprevedibilità. Poiché i team IT non sono a conoscenza delle vulnerabilità zero-day, il loro approccio e il loro impatto possono essere inaspettati.
Fortunatamente, i problemi legati agli attacchi zero-day si presentano spesso nello stesso modo delle loro controparti più comuni. Ad esempio, se i team IT notano un improvviso aumento dei volumi di trasferimento dei dati o strani rallentamenti in applicazioni specifiche, ciò potrebbe indicare la presenza di problemi zero-day.
Concentrarsi su una difesa efficace
Se gli attacchi zero-day arrivano senza preavviso, cosa possono fare le aziende per rafforzare la protezione?
Innanzitutto, è bene riconoscere che questi attacchi non sono del tutto privi di preavviso. Le vulnerabilità nel codice esistono, che gli aggressori le scoprano o meno. Con il giusto approccio, è possibile per i team mitigare almeno in parte il rischio legato agli sforzi zero-day.
Tre approcci possono contribuire a migliorare la risposta agli zero-day.
Convalida affidabile degli input
La convalida degli input è il processo di verifica di tutti gli input di dati per assicurarsi che siano formattati correttamente. Se questo processo rileva formati di dati non corretti, può suggerire la presenza di un exploit zero-day che tenta di ottenere l’accesso.
Scansioni regolari delle vulnerabilità
Le scansioni di vulnerabilità possono simulare attacchi software. L’esecuzione regolare di queste scansioni aiuta a individuare i potenziali problemi. Ad esempio, se avete appena implementato un nuovo software, la scansione delle vulnerabilità può aiutarvi a rilevare eventuali punti deboli prima che gli aggressori li scoprano, consentendo ai team IT di intervenire.
Gestione robusta delle patch
Oltre alla scansione e alla convalida, anche la gestione delle patch è importante. Se è vero che gli exploit zero-day sono naturalmente privi di patch perché non sono mai stati rilevati prima, questo comporta un’avvertenza, soprattutto se l’azienda utilizza un nuovo software creato da terzi.
Ecco perché: Se si utilizza un software rilasciato di recente ma non si è ancora provveduto a patchare l’applicazione, questa potrebbe essere ancora vulnerabile alla vulnerabilità zero-day originale. Una gestione robusta e automatizzata delle patch può contribuire a ridurre questo rischio.
La corsa verso lo zero
Esistono anche altri sforzi per contribuire a mitigare l’impatto dei problemi zero-day, come l’iniziativa zero-day. Questo programma prevede ricompense monetarie per i ricercatori che scelgono di segnalare le vulnerabilità zero-day piuttosto che renderle pubbliche o venderle sul mercato nero.
In conclusione? La corsa verso lo zero è ancora in corso, poiché gli aggressori cercano di sfruttare vulnerabilità sconosciute, creare nuovi exploit e compromettere software chiave.
Sebbene sia impossibile evitare i danni di ogni attacco zero-day, le aziende possono mitigare il rischio con la convalida degli input, la scansione regolare delle vulnerabilità e l’aggiornamento delle patch.