I cybercriminali, sviluppano prioritariamente il malware che passa attraverso le tecnologie e i prodotti più utilizzati per raggiungere il maggior numero di vittime. La tecnologia euristica massimizza così il suo ritorno sull’investimento.
Le principali tecniche utilizzate riguardano tutte l’analisi del contenuto del file infetto ed eventualmente il loro impatto sul sistema. Gli antivirus con tecnologia euristica usano diversi metodi per rilevare le infezioni.
Come funzionano gli antivirus con tecnologia euristica
Gli antivirus con tecnologia euristica usano alcuni metodi sofisticati per rilevare le infezioni. Ecco di seguito le principali tecnologie utilizzate. Firma dei file: viene calcolata una forma condensata del file, solitamente sotto forma di un hash, più o meno agile (MD5, SHAl, SSDEEP).
Un database centralizzato archivia le firme e le distribuisce direttamente ai filtri antimalware.
Regole euristiche sul contenuto dei file: una firma è utilizzata per rilevare uno o più malware. Tuttavia, questo metodo è spesso rigoroso e facilmente aggirabile dal cosiddetto malware polimorfico, ovvero malware che può produrre un numero infinito di hash per lo stesso obiettivo operativo.
L’obiettivo delle regole euristiche è quello di basarsi sul comportamento esecutivo del malware per essere meno sensibile alle sue variazioni di contenuto. Le regole euristiche consentono quindi di identificare malware non ancora visto dai laboratori di analisi, individuando comportamenti simili su malware con contenuto diverso.
Il SandBoxing
Il SandBoxing consiste nell’esecuzione del file sospetto in un ambiente virtuale isolato. Le tecniche di SandBoxing generalmente forniscono spazio su disco, spazio RAM e accesso di rete controllato per intercettare i pacchetti.
Sebbene i fornitori di soluzioni di sicurezza innovino e migliorino i propri sistemi, i criminali informatici rimangono svegli e si adattano agli aggiornamenti.
D’ora in poi il malware cercherà prima i livelli di sicurezza per adattare il proprio funzionamento e affrontare le strategie di contromisura.
Malware mutante e polimorfico
Per sfuggire ai sistemi di firma e all’euristica basata su file, si dice che un sacco di malware sia mutante. Cioè è creato da malware esistente, ma con contenuto modificato.
Pertanto, i software antimalware devono identificare questo sviluppo e quindi formare una nuova firma. Il ritardo tra la pubblicazione del malware mutante e la creazione della nuova firma consente al creatore del malware di raggiungere nuove vittime.
Malware polimorfico: questo malware è in grado di cambiare forma dinamicamente a ogni replica, impedendo al software antimalware di identificarlo tramite la sua firma. Tuttavia, il funzionamento operativo del malware rimane invariato – gli algoritmi sono gli stessi – viene modificata solo la loro traduzione in codice macchina.
Per sfuggire al SandBoxing, il malware sta adottando sempre più tecniche di rilevamento dell’ambiente virtuale perché vuole essere operativo solo su macchine fisiche.
Per fare ciò, gli hacker rilevano i driver specifici delle macchine virtuali o persino i file presenti sul disco solo quando si utilizza un hypervisor come Vmware, KVM, Xen, eccetera. In attesa dell’interazione dell’utente per sfuggire anche al SandBoxing, il malware è dotato di porzioni di codice che vengono eseguite solo se l’utente interagisce con l’ambiente.
Ad esempio lo spostamento del mouse, la presenza di una cronologia di navigazione, l’utilizzo della tastiera. Codice parzialmente pulito: sempre per sfuggire al SandBoxing, il malware incorpora un codice pulito che è innocuo per la macchina su cui è installato.
Questo codice pulito viene avviato all’inizio per un periodo di tempo. L’obiettivo è apparire innocuo durante l’analisi da un sistema SandBoxing. Oltre questo periodo, il malware attiva il suo codice dannoso.
Contromisure degli antivirus con tecnologia euristica
Per non essere sensibili a tutte le contromisure messe in atto dai creatori di malware, i metodi euristici eseguono un’analisi comportamentale basata non solo sul file, ma sui mezzi di trasporto oltre che su tutte le informazioni disponibili intorno al file, incluso il file stesso.
Euristica basata sul vettore di trasporto: nel contesto del filtraggio della posta elettronica, l’analisi euristica estesa concentra la propria analisi sulle caratteristiche di un messaggio. Questi algoritmi possono quindi essere completamente indipendenti dal contenuto e dal funzionamento operativo dell’allegato.
In un contesto di posta elettronica, un’analisi euristica consente di concentrarsi, tra l’altro, sul mittente del messaggio, le intestazioni, la struttura del suo contenuto, le caratteristiche degli allegati (nome, tipo, ecc.).
In breve tutta una serie di dati significativi che possono essere usati per bloccare un messaggio contenente un allegato dannoso.
Euristica basata sulle macro: le macro contenute nei documenti di Office sono tornate ad essere un vettore ampiamente utilizzato di malware e contaminazione. Le macro di solito scaricano ed eseguono il codice veramente dannoso.
Ciò garantisce che i creatori di questi script non vengano identificati come malware fino a quando non è scaricato il file malware effettivo. L’analisi macro euristica aiuta a distinguere le macro dannose da quelle integre, bloccando così i messaggi pericolosi prima che raggiungano la posta in arrivo dell’utente.
Euristica basata sulla scansione di file PDF: i file PDF (Portable Document Format) sono un mezzo ampiamente utilizzato per diffondere malware. In effetti, soprattutto nel mondo aziendale, un documento PDF può sembrare abbastanza legittimo.
Pertanto, il PDF orientato all’euristica è una serie di criteri rilevati all’interno dei documenti PDF, insieme all’analisi della posta elettronica per identificare che si tratta di una comunicazione fraudolenta.
L’analisi euristica estesa
L’analisi euristica, per definizione, può coprire tutti gli elementi, sia l’email, ma anche i file. Pertanto, le regole euristiche mirano a rilevare i punti in comune tra i diversi attacchi e attaccare il malware attraverso un’analisi approfondita, invisibile per il criminale informatico.
Consentono di disinnescare le tecniche di malware polimorfico volte a bypassare i sistemi di firma e SandBoxing. L’euristica deve essere insensibile alle contromisure indipendentemente dalla lingua. Il filtro analizza individualmente le e-mail nel loro complesso (metodo di invio, collegamenti, allegati, contenuto, ecc.) per rilevare tutte le minacce, anche gli attacchi zero-day altamente mirati.
Lo sviluppo euristico è un metodo per risolvere problemi che non si basa sull’esame dettagliato di detto problema.
Questo consiste nel lavorare per approcci successivi. Ad esempio, evidenziando somiglianze con difficoltà già incontrate, al fine di eliminare gradualmente le alternative e mantenere solo un campione di soluzioni.
Funzionamento del metodo euristico
Sebbene questo metodo euristico sia utilizzato per individuare nuovi virus, così come versioni di virus già noti, l’efficienza rimane relativamente bassa, considerando la quantità di falsi positivi.
Come i virus biologici, i virus informatici cambiano e si evolvono costantemente. I programmi antivirus eseguono lo script del file in uno spazio fittizio, durante la scansione delle procedure del software. Ciò consente di sperimentare l’atteggiamento del programma, disaccoppiando il codice del file discutibile dalla macchina esistente.
Se l’antivirus rileva manipolazioni sospette (come l’eliminazione di file o l’avvio di più processi), il file verrà rilevato come virus e l’utente riceverà una notifica.
Un altro metodo ammette la decompilazione del programma in questione, per un’analisi del suo codice sorgente da parte dell’algoritmo.
Il codice è confrontato con i codici di altri virus già rilevati. Il programma sarà considerato una minaccia se la maggior parte del suo codice è inclusa in altri virus. Una mappa mentale può essere impostata dall’utente, senza utilizzare un antivirus, simulando l’attività di quest’ultimo.
Equivale a eseguire il file in uno strumento virtuale. Quindi osserviamo il comportamento del programma e lo stato dello strumento virtuale per trovare una soluzione.