Minacce senza file

Cosa sono esattamente le minacce senza file? Il termine "fileless" suggerisce che una minaccia non viene inserita in un file, ad esempio una backdoor che vive solo nella memoria di un computer. Tuttavia, non esiste una definizione per il malware senza file. Il termine viene usato in modo ampio e talvolta per descrivere le famiglie di malware che si basano sui file per operare.

Gli attacchi comportano diverse fasi per funzionalità come esecuzione, persistenza o furto di informazioni. Alcune parti della catena di attacco possono essere senza file, mentre altre possono coinvolgere il file system in qualche forma.

Per maggiore chiarezza, le minacce senza file sono raggruppate in categorie diverse.

Diagramma completo del malware senza file.
Figura 1. Diagramma completo del malware senza file

Le minacce senza file possono essere classificate in base al punto di ingresso, che indica come il malware fileless può arrivare in un computer. Possono arrivare tramite un exploit, tramite hardware compromesso o tramite l'esecuzione regolare di applicazioni e script.

Quindi, elencare la forma del punto di ingresso. Ad esempio, gli exploit possono essere basati su file o dati di rete, le periferiche PCI sono un tipo di vettore hardware e gli script e gli eseguibili sono sottocategorie del vettore di esecuzione.

Infine, classificare l'ospite dell'infezione. Ad esempio, un'applicazione Flash può contenere un'ampia gamma di minacce, ad esempio un exploit, un semplice eseguibile e un firmware dannoso da un dispositivo hardware.

La classificazione consente di dividere e classificare i vari tipi di minacce senza file. Alcuni sono più pericolosi ma anche più difficili da implementare, mentre altri sono più comunemente usati nonostante (o proprio a causa di) non essere molto avanzato.

Da questa categorizzazione, è possibile raccogliere tre tipi principali di minacce senza file in base alla quantità di impronta digitale che possono lasciare nei computer infetti.

Tipo I: nessuna attività di file eseguita

Un malware completamente senza file può essere considerato uno che non richiede mai la scrittura di un file sul disco. Come potrebbe tale malware infettare un computer in primo luogo? Un esempio è la posizione in cui un computer di destinazione riceve pacchetti di rete dannosi che sfruttano la vulnerabilità EternalBlue. La vulnerabilità consente l'installazione della backdoor DoublePulsar, che finisce per risiedere solo nella memoria del kernel. In questo caso, non sono presenti file o dati scritti in un file.

Un dispositivo compromesso può anche avere codice dannoso nascosto nel firmware del dispositivo (ad esempio un BIOS), una periferica USB (come l'attacco BadUSB) o nel firmware di una scheda di rete. Tutti questi esempi non richiedono l'esecuzione di un file sul disco e possono teoricamente vivere solo in memoria. Il codice dannoso potrebbe sopravvivere ai riavvii, alla riformattazione del disco e alle reinstallazioni del sistema operativo.

Le infezioni di questo tipo possono essere particolarmente difficili da rilevare perché la maggior parte dei prodotti antivirus non ha la capacità di controllare il firmware. Nei casi in cui un prodotto ha la possibilità di ispezionare e rilevare firmware dannoso, esistono ancora problemi significativi associati alla correzione delle minacce a questo livello. Questo tipo di malware senza file richiede livelli elevati di complessità e spesso dipende da una particolare configurazione hardware o software. Non è un vettore di attacco che può essere sfruttato facilmente e in modo affidabile. Anche se pericolose, le minacce di questo tipo sono inusuali e non pratiche per la maggior parte degli attacchi.

Tipo II: attività file indiretta

Esistono altri modi in cui il malware può raggiungere la presenza senza file in un computer senza richiedere un notevole sforzo di progettazione. Il malware senza file di questo tipo non scrive direttamente i file nel file system, ma può finire per usare i file indirettamente. Ad esempio, con gli utenti malintenzionati backdoor poshspy installato un comando di PowerShell dannoso all'interno del repository WMI e configurato un filtro WMI per eseguire periodicamente il comando.

È possibile eseguire tale installazione tramite la riga di comando senza richiedere che una backdoor sia già presente nel file. Il malware può essere installato e teoricamente eseguito senza mai toccare il file system. Tuttavia, il repository WMI viene archiviato in un file fisico in un'area di archiviazione centrale gestita da Gestione oggetti CIM e in genere contiene dati legittimi. Anche se la catena di infezione usa tecnicamente un file fisico, viene considerato un attacco senza file perché il repository WMI è un contenitore di dati multiuso che non può essere rilevato e rimosso.

Tipo III: file necessari per il funzionamento

Alcuni malware possono avere una sorta di persistenza senza file, ma non senza usare i file per operare. Un esempio per questo scenario è Kovter, che crea un gestore di verbi aperti della shell nel Registro di sistema per un'estensione di file casuale. L'apertura di un file con tale estensione comporterà l'esecuzione di uno script tramite lo strumento legittimo mshta.exe.

Immagine della chiave del Registro di sistema di Kovter.
Figura 2. Chiave del Registro di sistema di Kovter

Quando viene richiamato il verbo aperto, viene avviato il comando associato dal Registro di sistema, che comporta l'esecuzione di un piccolo script. Questo script legge i dati da un'altra chiave del Registro di sistema e li esegue, a sua volta portando al caricamento del payload finale. Tuttavia, per attivare il verbo aperto in primo luogo, Kovter deve eliminare un file con la stessa estensione di destinazione per il verbo (nell'esempio precedente, l'estensione è .bbf5590fd). Deve anche impostare una chiave di esecuzione automatica configurata per aprire tale file all'avvio del computer.

Kovter è considerato una minaccia senza file perché il file system non è di uso pratico. I file con estensioni casuali contengono dati indesiderati che non sono utilizzabili per verificare la presenza della minaccia. I file che archiviano il Registro di sistema sono contenitori che non possono essere rilevati ed eliminati se sono presenti contenuti dannosi.

Categorizzazione delle minacce senza file per host di infezione

Dopo aver descritto le categorie generali, ora possiamo approfondire i dettagli e fornire una suddivisione degli host di infezione. Questa classificazione completa copre il panorama di quello che di solito viene definito malware senza file. Guida i nostri sforzi per la ricerca e lo sviluppo di nuove funzionalità di protezione che neutralizzano le classi di attacchi e assicurano che il malware non abbia il sopravvento sulla corsa agli armamenti.

Sfrutta

Basato su file (tipo III: eseguibile, Flash, Java, documenti): un file iniziale può sfruttare il sistema operativo, il browser, il motore Java, il motore Flash e così via per eseguire un shellcode e distribuire un payload in memoria. Mentre il payload è senza file, il vettore di voce iniziale è un file.

Basata su rete (tipo I): una comunicazione di rete che sfrutta una vulnerabilità nel computer di destinazione può ottenere l'esecuzione del codice nel contesto di un'applicazione o del kernel. Un esempio è WannaCry, che sfrutta una vulnerabilità precedentemente fissa nel protocollo SMB per distribuire una backdoor all'interno della memoria del kernel.

Hardware

Basato su dispositivo (tipo I: scheda di rete, disco rigido): i dispositivi come dischi rigidi e schede di rete richiedono chipset e software dedicato per funzionare. Il software che risiede ed è in esecuzione nel chipset di un dispositivo è denominato firmware. Anche se un'attività complessa, il firmware può essere infettato da malware.

Basato su CPU (tipo I): le CPU moderne sono complesse e possono includere sottosistemi che eseguono il firmware a scopo di gestione. Tale firmware può essere vulnerabile al dirottamento e consentire l'esecuzione di codice dannoso che potrebbe funzionare dall'interno della CPU. Nel dicembre 2017, due ricercatori hanno segnalato una vulnerabilità che può consentire agli utenti malintenzionati di eseguire codice all'interno del motore di gestione (ME) presente in qualsiasi CPU moderna di Intel. Nel frattempo, il gruppo malintenzionato PLATINUM ha la capacità di usare la tecnologia AMT (Active Management Technology) di Intel per eseguire comunicazioni di rete invisibili, ignorando il sistema operativo installato. ME e AMT sono micro-computer essenzialmente autonomi che vivono all'interno della CPU e che operano a un livello molto basso. Poiché lo scopo di queste tecnologie è fornire gestibilità remota, hanno accesso diretto all'hardware, sono indipendenti dal sistema operativo e possono essere eseguite anche se il computer è spento.

Oltre a essere vulnerabili a livello di firmware, le CPU potrebbero essere prodotte con backdoor inserite direttamente nei circuiti hardware. Questo attacco è stato studiato e dimostrato possibile in passato. È stato segnalato che alcuni modelli di processori x86 contengono un core CPU secondario incorporato simile a RISC che può fornire in modo efficace una backdoor attraverso la quale le applicazioni regolari possono ottenere l'esecuzione con privilegi.

Basato su USB (tipo I): i dispositivi USB di tutti i tipi possono essere riprogrammati con firmware dannoso in grado di interagire con il sistema operativo in modi nefasti. Ad esempio, la tecnica BadUSB consente a una chiavetta USB riprogrammata di fungere da tastiera che invia comandi ai computer tramite sequenze di tasti o come scheda di rete in grado di reindirizzare il traffico a volontà.

Basato su BIOS (tipo I): un BIOS è un firmware in esecuzione all'interno di un chipset. Viene eseguito quando un computer è acceso, inizializza l'hardware e quindi trasferisce il controllo al settore di avvio. Il BIOS è un componente importante che opera a basso livello ed esegue prima del settore di avvio. È possibile riprogrammare il firmware del BIOS con codice dannoso, come è successo in passato con il rootkit Mebromi.

Basato su Hypervisor (tipo I): le CPU moderne offrono supporto per l'hypervisor hardware, consentendo al sistema operativo di creare macchine virtuali affidabili. Una macchina virtuale viene eseguita in un ambiente limitato e simulato ed è in teoria inconsapevole dell'emulazione. Un malware che rileva un computer può implementare un piccolo hypervisor per nascondersi al di fuori dell'area di autenticazione del sistema operativo in esecuzione. Malware di questo tipo è stato teorizzato in passato, e alla fine sono stati osservati rootkit hypervisor reali, anche se pochi sono noti fino ad oggi.

Esecuzione e inserimento

Basato su file (tipo III: eseguibili, DLL, file LNK, attività pianificate): questo è il vettore di esecuzione standard. Un semplice eseguibile può essere avviato come malware di primo livello per eseguire un payload aggiuntivo in memoria o inserito in altri processi in esecuzione legittimi.

Basato su macro (tipo III: documenti di Office): il linguaggio VBA è uno strumento flessibile e potente progettato per automatizzare le attività di modifica e aggiungere funzionalità dinamiche ai documenti. Di conseguenza, può essere abusato dagli utenti malintenzionati per eseguire operazioni dannose come la decodifica, l'esecuzione o l'inserimento di un payload eseguibile o persino l'implementazione di un intero ransomware, come nel caso di qkG. Le macro vengono eseguite nel contesto di un processo di Office (ad esempio, Winword.exe) e implementate in un linguaggio di scripting. Non esiste alcun eseguibile binario che un antivirus possa controllare. Mentre le app di Office richiedono il consenso esplicito dell'utente per eseguire macro da un documento, gli utenti malintenzionati usano tecniche di ingegneria sociale per indurre gli utenti a consentire l'esecuzione di macro.

Basato su script (tipo II: file, servizio, registro, repository WMI, shell): i linguaggi di scripting JavaScript, VBScript e PowerShell sono disponibili per impostazione predefinita nelle piattaforme Windows. Gli script presentano gli stessi vantaggi delle macro, sono file testuali (non eseguibili binari) ed eseguiti nel contesto dell'interprete (come wscript.exe, powershell.exe), che è un componente pulito e legittimo. Gli script sono versatili e possono essere eseguiti da un file (facendo doppio clic su di essi) o eseguiti direttamente nella riga di comando di un interprete. L'esecuzione nella riga di comando consente al malware di codificare script dannosi come servizi di avvio automatico all'interno delle chiavi del Registro di sistema di esecuzione automatica come sottoscrizioni di eventi WMI dal repository WMI. Inoltre, un utente malintenzionato che ha ottenuto l'accesso a un computer infetto può inserire lo script nel prompt dei comandi.

Basato su disco (tipo II: record di avvio): il record di avvio è il primo settore di un disco o di un volume e contiene il codice eseguibile necessario per avviare il processo di avvio del sistema operativo. Minacce come Petya sono in grado di infettare il record di avvio sovrascrivendolo con codice dannoso. Quando il computer viene avviato, il malware ottiene immediatamente il controllo. Il record di avvio si trova all'esterno del file system, ma è accessibile dal sistema operativo. I prodotti antivirus moderni hanno la possibilità di analizzarlo e ripristinarlo.

Sconfitta del malware senza file

Microsoft monitora attivamente il panorama della sicurezza per identificare le nuove tendenze delle minacce e sviluppare soluzioni per attenuare le classi di minacce. Strumentiamo protezioni durevoli efficaci contro un'ampia gamma di minacce. Tramite AntiMalware Scan Interface (AMSI), il monitoraggio del comportamento, l'analisi della memoria e la protezione del settore di avvio, Microsoft Defender per endpoint possono ispezionare le minacce senza file anche con un'offuscamento elevato. Le tecnologie di Machine Learning nel cloud consentono di ridimensionare queste protezioni da minacce nuove ed emergenti.

Per altre informazioni, vedere: Out of sight but not invisible: Defeating fileless malware with behavior monitoring, AMSI, and next-gen AV

Risorse e informazioni aggiuntive

Informazioni su come distribuire le funzionalità di protezione dalle minacce in Microsoft 365 E5.