Kaspersky : una trappola irresistibile per i malware

Eugene Kaspersky
 

L’emulazione , le sandbox, uno dei metodi per investigare circa la sicurezza di un oggetto.

Due articoli di Eugene Kaspersky : il primo qui.
Oggi il secondo:

“… un emulatore introduce l’oggetto investigato in un ambiente artificiale isolato, spingendolo a rivelare il suo carattere dannoso.

 

Tuttavia, questa strategia presenta un grande svantaggio: il fatto che l’ambiente sia artificiale. L’emulatore si sforza per rendere l’ambiente artificiale un ambiente vero del sistema operativo, ma i malware sempre più intelligenti riescono ancora a distinguerlo dalla realtà. L’emulatore poi vede che il malware lo ha riconosciuto, mette insieme e migliora la sua emulazione, e così via in un ciclo infinito che apre le porte della vulnerabilità a un computer protetto. Il problema fondamentale è che ancora nessun emulatore rappresenta l’immagine speculare di un vero sistema operativo.

 

D’altra parte, c’è un altro metodo per far fronte all’analisi comportamentale degli oggetti sospetti: analizzarli (in un sistema operativo reale) dentro una macchina virtuale. Beh, perché no? Se l’emulatore non lo ferma completamente, lasciate che lo faccia una macchina (reale) virtuale! Sarebbe l’interrogatorio ideale: si svolge in un ambiente reale, non artificiale, ma senza le conseguenze negative reali.

Ascoltando questo concetto, è possibile che alcuni si chiedano perché nessuno ci aveva mai pensato prima. Dopotutto, la virtualizzazione è una delle tendenze della tecnologia dal 1992. Beh, a quanto pare non è così semplice.

 

Prima di tutto, l’analisi degli oggetti sospetti in una macchina virtuale è un processo che utilizza molte risorse, cosa che risulta idonea solo per le soluzioni di sicurezza di grandi aziende dove l’analisi deve essere super intensa, in modo che assolutamente nessun oggetto dannoso riesca a superare le difese. Ahimè, questa tecnologia non è adatta ai computer di casa e agli smartphone, almeno per ora.

 

In secondo luogo, questa tecnologia esiste  per davvero. Infatti, la usiamo già internamente qui nella Kompagnia, per effettuare indagini. Però se parliamo di prodotti per essere venduti, non ce ne sono ancora molti disponibili. La concorrenza ha rilasciato prodotti simili, ma la loro efficacia lascia ancora molto a desiderare. In generale, questi prodotti si limitano a raccogliere registri e analisi di base.

 

In terzo luogo, avviare un file in una macchina virtuale è solo l’inizio di un lungo e difficoltoso processo. Dopotutto, l’obiettivo dell’esercizio è quello di far sì che si riveli la natura dannosa di un oggetto; e per far ciò c’è bisogno (tra le altre cose) di un hypervisor intelligente, l’analisi e il registro comportamentale, la messa a punto costante dei modelli di azioni pericolose, la protezione contro i trucchi anti-emulazione e l’ottimizzazione dell’esecuzione.

 

Posso affermare senza falsa modestia che siamo molto avanti rispetto al resto del mondo!

Recentemente, abbiamo ottenuto un brevetto statunitense (US10339301) che riguarda la creazione di un ambiente adeguato a far sì che la macchina virtuale effettui analisi veloci e profonde di oggetti sospetti. Funziona così:

  • Le macchine virtuali sono state create (per diversi tipi di oggetti) con impostazioni che assicurano la loro esecuzione ottimale e un tasso di rilevamento altissimo;
  • L’hypervisor di una macchina virtuale funziona insieme al registro del comportamento di un oggetto e dell’analisi del suo sistema, con l’aiuto dei database aggiornabili dei modelli comportamentali sospetti, dell’euristica e della logica di azione-reazione e molto altro;
  • Se vengono rilevate azioni sospette, il sistema di analisi incorpora al volo i cambiamenti nel processo di esecuzione dell’oggetto in una macchina virtuale con il fine di fargli rivelare le sue intenzioni dannose. Per esempio, il sistema può creare file, modificare il registro, accelerare i tempi e così via.

Il terzo e ultimo punto è la caratteristica più unica e interessante della nostra tecnologia. Lasciate che vi faccia un esempio per farvi capire come funziona.

Il sistema rileva che un file “si è addormentato” e non da più segni di attività. Ciò è dovuto al fatto che può essere stato programmato per rimanere inattivo per vari minuti, decine di minuti o anche ore prima di mostrare la sua attività dannosa. Quando inizia la sua falsa inattività, acceleriamo il tempo del funzionamento della macchina virtuale in modo da far passare uno, tre, cinque, e fino a un miliardo di minuti al secondo. La funzionalità dell’oggetto in analisi non cambia, mentre il tempo di attesa si riduce di cento (fino a mille) volte; e se dopo il suo “pisolino,” il malware decide di verificare l’orologio di sistema (ha seguito il proprio corso?), gli si farà credere che è così, pertanto continuerà con la sua missione dannosa e, di conseguenza, si esporrà nel processo.

Un altro esempio.

L’oggetto sfrutta una vulnerabilità in una libreria specifica o cerca di cambiare il contenuto di un file o di un registro. All’inizio, con l’aiuto della funzione comune fopen() cercherà di aprire la libreria (file o registro) e, se fallisce (non esiste nessuna libreria, né i diritti d’accesso), si arrenderà semplicemente. In questa situazione, cambiamo (al volo) il valore di ritorno della funzione fopen() da “file inesistente” a “file esistente” (o se necessario, creiamo il file e inseriamo il contenuto corrispondente); poi, osserviamo semplicemente come si comporta l’oggetto.

Questa strategia funziona molto bene anche nella condizione di alberi logici del comportamento di un oggetto. Ad esempio, se esistono un file A e un file B, allora si modifica il file C ed è fatta. Tuttavia, non si sa ciò che farà il programma soggetto all’indagine e se esiste solo il file A o il file B; dopodiché analizziamo l’attività dell’albero logico.

Una cosa degna di nota è che le regole di reazione per l’esecuzione dei file son configurate attraverso database esterni e facilmente aggiornabili. Non c’è bisogno di sviluppare di nuovo l’intero motore per aggiungere una nuova logica, basta solo descrivere la moltitudine di scenari possibili del comportamento dannoso e aggiornarla con un click.

Ed è così che funziona in sostanza la nostra tecnologia. Sarà presto aggiunta a KATA e verrà commercializzata come una soluzione indipendente per le aziende: Kaspersky Sandbox.

…”

Fonte
Kaspersky blog

2 Settembre 2019