Nel contesto della cybersecurity, si definisce sandbox, un ambiente virtuale altamente controllato all’interno del quale vengono eseguiti programmi non attendibili, non verificati o provenienti da fonti non ufficiali. I permessi dei programmi che vengono eseguiti sono infatti ridotti al minimo. Ciò consente di evitare che il dispositivo corra il rischio di essere infettato da eventuali minacce malevole.

Eseguire un programma potenzialmente pericoloso all’interno di un ambiente controllato, inoltre, fa sì che i sistemi di sicurezza possano analizzare come un eventuale codice malevolo presente nel programma si comporta.

Sandbox evasion: tecniche con cui i malware aggirano gli ambienti di analisi

Una volta compreso il funzionamento del malware, si sviluppano delle contromisure. La tecnologia sandbox è presente sia nei sistemi operativi che nei principali motori di ricerca, dimostrando di essere un prezioso alleato nella lotta contro le minacce informatiche.

Nonostante la sua comprovata efficacia, però, i cybercriminali hanno saputo sviluppare svariate tecniche che permettono ai malware di bypassare i controlli eseguiti dal sandbox. Esse vengono definite come tecniche di sandbox evasion. Attraverso queste tecniche, infatti, un malware è in grado di capire se viene eseguito all’interno di un ambiente virtuale o no. Di conseguenza, l’infezione del dispositivo non partirà fino a quando il software malevolo non inizia la sua esecuzione al di fuori dell’ambiente virtuale.

MITRE ATT&CK ha classificato tre principali tecniche di sandbox evasion.
Esse sono:

  1. System checks;
  2. User activity-based checks;
  3. Time-based evasion.

A loro volta, queste tre tecniche presentano diversi metodi usati dai cybercriminali per violare gli ambienti sandbox, descritti in maniera esaustiva all’interno di questo articolo.

  1. System checks
  2. User activity-based checks
  3. Time-based evasion
  4. Altri approcci al sandbox evasion
  5. Come arginare il sandbox evasion

System checks

Nelle tecniche di evasione system checks, i malware sono programmati per individuare configurazioni dei sistemi reali che non sono presenti in quelli virtuali. In particolare, quello che i malware cercano sono:

  • Numero di core del processore. Si cerca di individuare delle discrepanze tra il sistema fisico e quello virtuale da usare per capire se si trova in un ambiente sandbox. Una di queste è proprio il numero di core della CPU. Proprio per questo molti distributori di ambienti sandbox non rivelano le loro specifiche.
  • Firma dei sistemi digitali. In questo caso, si va a cercare la firma digitale del sistema, la quale contiene la configurazione del dispositivo.
  • Antivirus installati. Si tratta di individuare la presenza di antivirus nel dispositivo andando a cercare processi attivi nel sistema operativo.
  • Reboot dei sistemi operativi. Alcuni ambienti sandbox non sono in grado di sostenere un reboot del sistema operativo. Così, alcuni malware iniziano l’infezione del dispositivo solo dopo un reboot.
  • Artefatti del sistema. Un ambiente virtuale contiene specifici artefatti nella sua memoria, nei suoi processi e nei suoi file. Alcuni malware vengono progettati per mettersi a cercare questi artefatti in modo da capire sono stati eseguiti in un ambiente sandbox oppure no.

User activity-based checks

Attraverso questo approccio gli hacker programmano i loro malware per far sì che attendano una specifica azione da parte dell’utente per poi iniziare a compromettere il dispositivo. Le principali azioni degli utenti su cui si basano i malware prima di entrare in azione sono:

  • Lettura di un documento. In questo caso l’infezione del dispositivo inizia quando l’utente raggiunge un determinato punto nella lettura di un documento. Alcuni malware che si presentano sottoforma di documenti di Word possiedono una particolare funzionalità che permette loro di individuare lo scrolling del documento. Un ambiente sandbox, infatti, non contiene alcuna funzionalità di scrolling, così, il processo di infezione resta in stasi.
  • Utilizzo del mouse. Alcuni malware sono in grado di controllare la velocità di movimento e il numero di click del mouse.
    Se la velocità di movimento del mouse è stranamente alta, se il numero di click è basso o se l’utente non effettua alcuna azione con esso, l’infezione del dispositivo non si avvia.
  • Cronologia del browser, cache e segnalibri. La navigazione sul web comporta per forza di cose il salvataggio automatico della cronologia di navigazione e della cache salvata. Un ambiente sandbox, però, elimina in automatico la cache per evitare la minaccia di eventuali malware e per garantire un corretto funzionamento dell’ambiente stesso. Sfruttando questa caratteristica, alcuni malware possono controllare se il sistema possiede questo tipo di informazioni e restando “dormienti” se non viene trovato nulla.
  • Salvataggio di file su specifiche cartelle. Per capire in quale ambiente vengono eseguiti, alcuni malware verificano se è abilitato il salvataggio di file sul desktop e nella cartella principale. Poiché queste non sono destinazioni consigliate in cui salvare i file, un ambiente virtuale sceglie altre destinazioni. Tuttavia, molti utenti salvano i loro file proprio nel desktop e nella cartella principale.

Time-based evasion

Gli ambienti sandbox analizzano il sistema per individuare i malware solo per un periodo di tempo limitato. La terza tecnica di sandbox evasion, perciò, sfrutta questa caratteristica a proprio vantaggio. Alcune tecniche time-based molto usate sono:

  • Extended sleep
    Questo metodo permette al malware uscire dall’ambiente sandbox prima della sua esecuzione.
  • Logic bomb
    In questo caso, i malware sono programmati per iniziare la loro esecuzione in una data precisa e ad un orario preciso. Nel nostro blog abbiamo parlato degli attacchi logic bomb proprio qui.
  • Stalling code
    Alcuni malware contengono del codice che serve a far eseguire inutili cicli di clock alla CPU per ritardare l’esecuzione del codice malevolo fino a quando il sandbox non ha finito la sua fase di testing.

Altri approcci al sandbox evasion

Altre tecniche utilizzate dai malware per evadere l’analisi degli ambienti sandbox sono:

  • Crittografia e offuscazione. I malware contengono un ciclo di decriptazione e un corpo principale. Il ciclo continua a criptare e decriptare il corpo principale, il quale contiene il codice malevolo.
  • Cambiamenti all’indirizzo IP e ai DNS. Questa tecnica viene utilizzata dai malware che vogliono bypassare le blacklist dei siti web create dai sistemi di sicurezza.
  • Alcuni malware nascondono il loro codice malevolo all’interno di immagini. È possibile inserirlo sia tra i metadati di un’immagine sia all’interno dell’immagine stessa.
  • Frammentazione di pacchetti. I sistemi di sicurezza di solito attendono che il traffico di pacchetti arrivi del tutto prima di iniziare ad analizzarlo. I malware possono sfruttare questa funzionalità per inviare il codice malevolo sono come parte di un singolo pacchetto.

Come arginare il sandbox evasion

Dunque, sulla base delle tecniche di sandbox evasion appena viste, un ambiente sandbox deve poter:

  • Cambiare in maniera dinamica la durata del “sonno” del sandbox e la durata dell’analisi di un malware
    Un’analisi prolungata infatti aumenta le possibilità di individuare malware che si attivano solo dopo un certo periodo di tempo. Tuttavia, questo approccio richiede l’impiego di parecchio tempo.
  • Analizzare sia il codice statico sia il codice dinamico di un programma
    Concentrarsi solo sull’analizzare il comportamento di un software potenzialmente malevolo (codice dinamico) non basta. Analizzare anche il codice statico, infatti, permette di individuare malware che implementano script per un’esecuzione a scoppio ritardato.
  • Implementare il checksumming
    Questo aiuta a verificare se durante l’analisi di un file, quest’ultimo non è cambiato rispetto a quando è entrato nell’ambiente virtuale.
  • Implementare algoritmi di intelligenza artificiale
    L’utilizzo dell’IA all’interno di un ambiente sandbox permette di individuare attacchi zero-day, migliorare l’analisi statica e dinamica di un programma, simulare azioni dell’utente per far credere ai malware di trovarsi al di fuori dell’ambiente sandbox e di analizzare il comportamento di file potenzialmente malevoli.
  • Cambiare le configurazioni di timing quando l’ambiente sandbox si attiva
    Così facendo, è possibile “ingannare” i malware che usano le tecniche time-based, spingendoli ad attivare il codice malevolo quando si trovano ancora dentro l’ambiente controllato.
  • Essere configurato in ambienti diversi da quello principale
    Si può pensare, ad esempio, di utilizzare un ambiente cloud o un endpoint remoto.
    Questo aiuta a prevenire l’accesso dei malware all’interno dell’ambiente principale.

Le tecniche di sandbox evasion dimostrano ancora una volta come, nel mondo della sicurezza informatica, la lotta tra cybercriminali ed esperti di cybersecurity sia senza esclusione di colpi. È fondamentale restare continuamente aggiornati per rispondere in modo tempestivo a minacce sempre più subdole.

Proprio perché i malware più evoluti sanno riconoscere e aggirare gli ambienti di analisi, in azienda la sandbox non va lasciata isolata ma integrata in un sistema di protezione gestito. È una delle tecnologie che compongono il nostro servizio di Endpoint Protection, dove l’analisi dei file sospetti è affiancata dal monitoraggio continuo della rete e dalla risposta alle minacce non ancora note.

Proteggi la tua rete dalle minacce più evolute

Analizziamo le esigenze del tuo sistema informatico e ti proponiamo la soluzione di protezione più adatta.
Contatta i nostri esperti



    Dichiaro di aver letto e compreso l'Informativa sul trattamento dei dati