Una matrioska pericolosa: tutto ciò che c’è da sapere sui file malware poliglotti

Gli autori degli attacchi creano file che i dispositivi possono leggere contemporaneamente come due diversi tipi di documenti e utilizzano queste matrioske per introdurre il malware. Come rilevare e neutralizzare questi file con doppia faccia?

Punti ciechi del rilevamento: formati di file poliglotti negli invii di massa e negli attacchi mirati

Negli ultimi anni i file creati con la tecnica poliglotta sono stati visualizzati sempre più spesso negli attacchi informatici. Consentono agli utenti malintenzionati di infilare il malware oltre i filtri e-mail e gli scanner di file, di trarre in inganno le vittime con attacchi di phishing e complicare le indagini sugli incidenti. A tale scopo, gli autori degli attacchi creano deliberatamente un file che può essere interpretato da un sistema come formati diversi a seconda dell’applicazione aperta.  Un classico esempio è un file che può essere gestito come un’immagine PNG o un archivio ZIP. È sufficiente modificare l’estensione del file o semplicemente utilizzare l’una o l’altra applicazione per aprirlo.

Diamo un’occhiata al motivo per cui è persino possibile creare file come questo, quali combinazioni di formati sono state rilevate negli attacchi nel mondo reale e in che modo le organizzazioni possono proteggersi da questa minaccia.

Perché sono possibili i file poliglotti

I formati dei dati dietro i file poliglotti sono raramente insoliti. Tutto si riduce a un’intelligente combinazione di formati comuni che risultano essere strutturalmente compatibili. I poliglotti sfruttano almeno una delle seguenti stranezze in determinati formati di file:

  • la maggior parte dei formati di file richiede la decodifica sin dal primo byte, ma alcuni richiedono la lettura dalla fine. L’esempio più chiaro è un archivio ZIP: un inizio danneggiato o mancante non impedisce alle applicazioni di leggere il file, poiché tutte le intestazioni necessarie si trovano effettivamente alla fine. Questo consente agli utenti malintenzionati di incollare semplicemente due file: nell’esempio precedente, un PNG e uno ZIP. L’inizio viene letto come un’immagine PNG valida, mentre la fine viene letta come un archivio ZIP valido.
  • Molti formati funzionano come le matrioske russe: nonostante esternamente abbia un’estensione specifica corrispondente all’utilizzo previsto, all’interno del file si trova essenzialmente un archivio ZIP contenente i dati necessari. Questo gruppo include documenti di Modern Office (DOCX/XLSX/PPTX), pacchetti di installazione Android (APK), file di raccolta Java (JAR) e molti altri.
  • Alcuni formati non hanno requisiti strutturali rigorosi oppure i requisiti sono sufficientemente ampi da consentire all’applicazione che sta elaborando il file di individuare il frammento di cui ha bisogno anche quando il frammento non si trova all’inizio.

L’archivio Polydet GitHub descrive numerosi esempi di possibili combinazioni di file per la creazione di un poliglotta. Nella classificazione MITRE, questa tecnica rientra nella categoria Masquerade (T1036.008, Tipo di file Masquerade).

Esempi di file poliglotti negli attacchi informatici noti

Le analisi delle campagne malware pubblicamente disponibili rivelano tutti i tipi di poliglotti. Gli utenti malintenzionati modificano l’intero scenario di attacco per adattarlo a una specifica combinazione di tipi di file.

Il gruppo Head Mare ha distribuito il malware PhantomPyramid come allegato ZIP. Il file era costituito da codice eseguibile Windows (EXE) con un piccolo archivio ZIP incollato all’estremità. Quando la vittima ha aperto l’archivio, quest’ultimo conteneva un file con estensione PDF.LNK, che avrebbe quindi avviato lo stesso allegato poliglotta, questa volta come file eseguibile.

Nell’attacco documentato da JPCERT, gli autori dell’attacco hanno creato un file che iniziava come PDF ed è stato rilevato come PDF dalla maggior parte degli scanner, ma aveva un’estensione DOC e aperto nelle applicazioni di Office come file DOC valido contenente macro dannose.

Gli attacchi di diffusione dei trojan StrRAT e Ratty hanno utilizzato un poliglotta creato a partire da un pacchetto di installazione (MSI) firmato di Windows con codice Java (JAR) dannoso attaccato alla fine.

Gli attacchi StrelaStealer utilizzavano un poliglotta con estensione HTML: una raccolta Windows (DLL) con un documento HTML esca incollato alla fine. Un collegamento nell’archivio ha avviato il file due volte: una tramite il comando start (l’equivalente di un doppio clic che apriva un browser che visualizzava il documento HTML) e un’altra tramite rundll32 (che ha avviato la DLL dannosa).

In un attacco simulato ma elegante, i ricercatori hanno unito due normali file ZIP e hanno scoperto che diversi strumenti di archiviazione diffusi visualizzavano il file combinato in modo diverso: alcuni mostravano solo il primo archivio, altri solo il secondo e altri ancora entrambi contemporaneamente come se si trattasse di un archivio unico con contenuti condivisi. Se l’utente malintenzionato ha familiarità con l’infrastruttura della vittima e sa quale software ha installato, può utilizzare questa combinazione per mostrare un file degli strumenti di protezione e mostrarne un altro alla vittima.

Gli autori dell’attacco hanno distribuito una complessa matrioska di malware in una campagna che ha distribuito l’infostealer IcedID. Hanno allegato un archivio ZIP alle e-mail di phishing; decomprimendolo si è prodotto un file ISO. Tale ISO, a sua volta, è stato decompresso in un file CHM (Guida di Windows) creato con la tecnica poliglotta. Quando la vittima lo ha aperto con lo strumento standard della Guida di Windows, il file ha eseguito uno script JavaScript incorporato nel contenuto della Guida, che ha avviato l’applicazione mshta standard (host dell’applicazione Microsoft HTML) e l’ha indirizzata allo stesso file CHM. Gli autori della campagna hanno compresso un’applicazione HTA all’interno del file CHM in modo che la sua presenza non interferisca con la lettura del file come innocuo documento della guida. Il gestore HTA, da parte sua, ignora cortesemente tutta la posta indesiderata all’inizio del file finché non trova lo script HTA.

In che modo gli strumenti di protezione gestiscono i file poliglotti

Gli esempi precedenti chiariscono come questo trucco della doppia lettura consenta agli autori degli attacchi di distribuire malware nel computer di una vittima. Ma cosa fanno effettivamente i filtri e-mail e i sistemi EDR di file come questi? La risposta dipende interamente dalla soluzione specifica, pertanto è necessario verificarla, esaminando la documentazione tecnica del fornitore o eseguendo un test controllato nell’infrastruttura aziendale adottando tutte le dovute precauzioni.  Parlando in generale, solo due punti valgono su tutta la linea:

  • La maggior parte delle soluzioni di protezione non considera attendibile l’estensione dichiarata di un file; ne controllano invece l’inizio per determinare la struttura effettiva del file. Ecco perché, nell’attacco sopra descritto, il file PDF con estensione DOC è stato analizzato come un PDF innocuo, mentre la macro dannosa era nella parte DOC incollata.
  • Se un file inizia come qualcosa di innocuo (ad esempio un’immagine) e la relativa estensione corrisponde, probabilmente non verrà applicata un’analisi più sofisticata. Gli utenti malintenzionati possono sfruttarlo: le istruzioni che accompagnano il file potrebbero richiedere alla vittima di rinominarlo in modo che il comportamento del sistema finisca per essere legato al secondo carico utile anziché all’immagine.

Come proteggere un’organizzazione dagli attacchi dei file poliglotti

La difesa dagli attacchi dei file poliglotti non richiede soluzioni tecniche o organizzative complesse. Ciò che richiede è un’igiene della sicurezza solida e coerente in tutta l’organizzazione:

  • utilizzare liste chiuse di applicazioni consentite per l’esecuzione sulle workstation dei dipendenti. Escludere le applicazioni Windows obsolete, gli strumenti di amministrazione Microsoft inutilizzati, il software di accesso remoto e di trasferimento di file e qualsiasi altro elemento ritenuto potenzialmente pericoloso o obsoleto.
  • È opportuno utilizzare soluzioni di protezione della posta elettronica avanzatedotate di CDR (tecnologia Content Disarm and Reconstruction, che disarma gli allegati sospetti e li ricostruisce in versioni più sicure) e tecnologia di detonazione (esecuzione degli allegati sospetti nell’ambiente isolato a scopo di analisi). Configurare l’analisi approfondita per gli allegati che mostrano segni esteriori di essere poliglotti: tutti i file di archivio e di Office, file con estensioni non standard e così via.
  • Allo stesso modo, configurare la soluzione EDR per eseguire un’analisi approfondita anche di potenziali poliglotti.
  • Creare regole di monitoraggio che segnalino combinazioni insolite di un processo e dei file passati per l’elaborazione, ad esempio un file CHM avviato tramite mshta o un file HTML avviato tramite rundll32, come negli esempi precedenti.
  • Aggiungete le informazioni di base sui poliglotti al programma di sensibilizzazione della sicurezza utilizzato in modo da consentire agli utenti di rimanere vigili quando viene richiesto di modificare l’estensione di un file o di gestire il file in un modo insolito, ad esempio nell’aprirlo in un’applicazione specifica.
Consigli