Il malware senza file è un tipo di software dannoso che utilizza programmi legittimi per infettare un computer. Non si basa su file e non lascia tracce, rendendo difficile il rilevamento e la rimozione. Gli avversari moderni conoscono le strategie utilizzate dalle organizzazioni per cercare di bloccare i loro attacchi e stanno sviluppando un malware sempre più sofisticato e mirato per eludere le difese. È una corsa contro il tempo, perché le tecniche di hacking più efficaci sono di solito le più recenti. Il malware senza file è stato efficace nell'eludere tutto tranne le soluzioni di sicurezza più sofisticate.
Il malware senza file è emerso nel 2017 come tipologia di attacco tradizionale, ma molti metodi di attacco di questo tipo esistevano già da tempo. Frodo, Number of the Beast e The Dark Avenger sono stati i primi esempi di questo tipo di malware. Più recentemente, gli attacchi senza file di alto profilo includono quello al Comitato Nazionale Democratico e la violazione dei dati presso Equifax.
Ciò che rende le infezioni senza file così insidiose è anche ciò che le rende così efficaci. Alcuni affermano che il malware senza file sia "non rilevabile". Questo non è letteralmente vero, ma significa semplicemente che gli attacchi senza file spesso non vengono rilevati da antivirus, whitelisting e altre soluzioni tradizionali di sicurezza degli endpoint. In effetti, il Ponemon Institute sostiene che gli attacchi senza file hanno una probabilità di successo 10 volte maggiore rispetto a quelli basati su file.
Gli attacchi senza file rientrano nella categoria più ampia degli attacchi con caratteristiche poco osservabili (LOC, Low-Observable Characteristics), un tipo di attacco invisibile che elude il rilevamento della maggior parte delle soluzioni di sicurezza e che influisce sulle attività di analisi forense. Sebbene non sia considerato un virus tradizionale, il malware senza file funziona in modo simile: opera in memoria. Senza essere archiviate in un file o installate direttamente su una macchina, le infezioni senza file raggiungono direttamente la memoria e i contenuti dannosi non raggiungono mai il disco rigido. Molti attacchi LOC (Low-Observable Characteristics) sfruttano Microsoft Windows PowerShell, uno strumento legittimo e utile utilizzato dagli amministratori per l'automazione delle attività e la gestione della configurazione. PowerShell include un'interfaccia della riga di comando e un linguaggio di scripting associato, consentendo agli avversari di accedere a quasi tutto in Windows.
Figura 1. Esempio di una catena di attacco di un attacco senza file.
La figura sopra mostra come può verificarsi un attacco senza file. Allo stesso modo di molti attacchi sofisticati di oggi, gli attacchi senza file sfruttano frequentemente l'ingegneria sociale per persuadere gli utenti a cliccare su un link o su un allegato presente in un'email di phishing. Gli attacchi senza file vengono generalmente utilizzati per movimenti laterali, nel senso che si diffondono da un dispositivo all'altro con l'obiettivo di ottenere diritti di accesso a dati preziosi attraverso la rete aziendale. Per non destare sospetti, il malware senza file si infiltra nei meandri più nascosti di applicazioni affidabili e autorizzate (come gli eseguibili di PowerShell e degli script host di Windows come wscript.exe e cscript.exe) o nel sistema operativo per avviare processi dannosi. Questi attacchi abusano del modello di affidabilità utilizzato dalle applicazioni di sicurezza che non monitorano i programmi autorizzati.
Ciò che è importante notare nello scenario sopra descritto è che l'hacker non ha dovuto scoprire come far passare un programma dannoso attraverso le difese antivirus e malware. La maggior parte dei sensori automatizzati non è in grado di rilevare le modifiche alla riga di comando. Un analista esperto può identificare questi script, ma spesso non sa dove cercare.
Man mano che il settore della sicurezza informatica migliora nel bloccare gli exploit, la durata degli attacchi senza file diventa sempre più breve. Un modo per difendersi dalle infezioni senza file è semplicemente quello di mantenere aggiornato il software. Questo include in particolare le applicazioni Microsoft, e il lancio della suite Microsoft 365 include misure di sicurezza potenziate. Microsoft ha anche effettuato l'upgrade del suo pacchetto Windows Defender per rilevare attività irregolari provenienti da PowerShell.
La vera chiave per contrastare efficacemente gli attacchi senza file è un approccio integrato che consideri l’intero ciclo di vita della minaccia. Grazie a una difesa a più livelli, si ottiene un vantaggio sugli autori dell'attacco, potendo indagare su ogni fase di una campagna prima, durante e dopo un attacco.
Due elementi sono particolarmente importanti:
Per bloccare con successo gli attacchi senza file è necessario un approccio olistico in grado di adattarsi e di attivare rapidamente le azioni appropriate dove e quando sono necessarie.
I nostri team di ricerca comprendono più di 250 ricercatori in tutto il mondo. Con Trellix puoi beneficiare di un team di esperti che analizza oggetti e comportamenti sospetti per rilevare minacce dannose e sviluppare strumenti che bloccano direttamente diverse varianti di minacce senza file. Abbiamo rilasciato parecchie firme che bloccano diverse varianti di minacce senza file. Questi includono:
Minaccia senza file: autoiniezione riflessiva
Il caricamento riflessivo si riferisce al caricamento di un eseguibile portabile (PE) dalla memoria anziché dal disco. Una funzione o uno script personalizzato può caricare di riflesso un eseguibile portabile senza essere registrato come modulo caricato nel processo, consentendo di eseguire azioni senza lasciare traccia. PowerShell è una delle applicazioni più utilizzate per l'esecuzione di questi script personalizzati. Questo evento indica un attacco senza file in cui uno script PowerShell tenta di iniettare un eseguibile portabile (PE) nel processo PowerShell stesso.
Minaccia senza file: autoiniezione EXE riflessiva
Il caricamento riflessivo si riferisce al caricamento di un eseguibile portabile (PE) dalla memoria anziché dal disco. Una funzione o uno script personalizzato può caricare di riflesso un eseguibile (EXE) senza essere registrato come modulo caricato nel processo, consentendo di eseguire azioni senza lasciare traccia. PowerShell è una delle applicazioni più utilizzate per l'esecuzione di questi script personalizzati. Questo evento indica un attacco senza file in cui uno script di PowerShell tenta di iniettare un eseguibile EXE nel processo di PowerShell stesso.
Minaccia senza file: iniezione remota di DLL riflessiva
Il caricamento riflessivo si riferisce al caricamento di un eseguibile portabile (PE) dalla memoria anziché dal disco. Una funzione o uno script personalizzato può caricare di riflesso una DDL senza essere registrato come modulo caricato nel processo, consentendo di eseguire azioni senza lasciare traccia. PowerShell è una delle applicazioni più utilizzate per l'esecuzione di questi script personalizzati. Questo evento indica un attacco senza file in cui uno script PowerShell ha tentato di iniettare una DLL in un processo remoto.
Minaccia senza file: esecuzione di codice dannoso utilizzando la tecnica DotNetToJScript
Questo evento indica un tentativo di eseguire shellcode dannoso mediante la tecnica DotNetToJScript, utilizzata dagli attacchi senza file prevalenti come CACTUSTORCH. I vettori di attacco DotNetToJScript permettono di caricare ed eseguire file dannosi .NET (come DLL o EXE) direttamente dalla memoria del computer, usando librerie .NET che sono accessibili attraverso COM (Component Object Model). Come altre tipiche tecniche di attacco senza file, DotNetToJScript non scrive alcuna parte del file DLL o EXE .NET dannoso sul disco rigido del computer.