Il loader modulare: il malware a mattoncini che si monta pezzo per pezzo per non farsi trovare
Non è un virus tutto-in-uno. È un componente minimo che, una volta dentro, scarica di nascosto i pezzi che gli servono e li assembla in memoria. Visto in campagne di spionaggio contro l'industria della difesa.
Immagina un ladro che entra in casa con le tasche vuote, e solo una volta dentro si fa recapitare gli attrezzi, uno alla volta, dalla finestra. Se la polizia lo ferma all'ingresso non trova nulla di compromettente. Funziona così un loader modulare, una famiglia di malware tornata molto di moda.
Il loader (letteralmente «caricatore») è un programma piccolo e dall'aria innocua. Il suo unico compito è piazzarsi, contattare il centro di comando degli attaccanti e scaricare i veri strumenti — i moduli, o plugin — che aggiungono le capacità vere e proprie: rubare file, registrare quello che scrivi, spiare lo schermo. Questi moduli arrivano cifrati e vengono eseguiti direttamente in memoria, senza quasi mai toccare il disco.
È proprio questo il punto furbo. Gli antivirus tradizionali controllano i file sul disco: se sul disco non resta quasi niente, non c'è molto da controllare. Smontare il malware per capirlo — il lavoro che si chiama reverse engineering — diventa difficile, perché a riposo la macchina sembra pulita.
La catena d'infezione, passo per passo
Il contagio inizia di solito con un documento esca: un file Word o PDF che sembra legittimo (una fattura, un curriculum, un contratto) ma nasconde la trappola. Da lì parte una tecnica elegante e insidiosa, il DLL side-loading: in pratica gli attaccanti sfruttano un programma vero e firmato (quindi considerato affidabile) per fargli caricare, al posto di una sua libreria legittima, una libreria malevola con lo stesso nome. Il sistema si fida del programma firmato e, senza saperlo, esegue il codice ostile.
Una volta attivo, il loader deve garantirsi di restare anche dopo un riavvio. Lo fa con il COM hijacking, cioè dirottando una voce del registro di Windows che normalmente punta a un componente di sistema, facendola puntare al proprio file. Infine apre il canale verso gli attaccanti — il C2, il centro di comando e controllo — mascherando il traffico dentro normali connessioni web cifrate (HTTPS).
Pochissimo sul disco, quasi tutto in memoria: è progettato apposta per sopravvivere a chi cerca un file da analizzare.
Come si scopre e si ferma
Se cercare il file non funziona, bisogna cambiare strategia e guardare il comportamento. Un programma firmato che carica una libreria da una cartella strana, una voce del registro di sistema che punta a un file nascosto in una cartella utente, un traffico regolare e cadenzato verso pochi indirizzi: sono tutti campanelli d'allarme. Si possono scrivere firme che li riconoscono. Questo esempio è in YARA, un linguaggio molto usato per descrivere le «impronte digitali» di un malware:
rule UMBRA_Loader_Modulare { strings: $aes = { 63 7C 77 7B F2 6B 6F C5 } // pezzo della tabella AES (cifratura) $com = "Software\\Classes\\CLSID\\" // traccia del dirottamento COM $ldr = "LoadLibraryA" condition: è_un_eseguibile_windows and 2 delle tre tracce presenti }
| L'esca | Documento Office che carica una libreria nascosta |
| Come resta | Voce di registro dirottata verso una DLL in %AppData% |
| Il canale col C2 | HTTPS mascherato dietro una grande rete di distribuzione (CDN) |
Perché conta. Lo scheletro del loader cambia poco, ma i moduli cambiano in continuazione: inseguire il singolo file è una battaglia persa. La difesa che funziona guarda ai comportamenti — chi carica cosa, da dove, e con che regolarità parla verso l'esterno.
- ANALISIReport di reverse engineering con indicatori — [società]
- VENDORTelemetria e regole di rilevamento — [fornitore]
- CERTAvviso per il settore difesa e aerospazio — [ente]
UMBRA riscrive e sintetizza fonti di pubblico dominio con parole proprie, citando e collegando gli originali. Numeri CVE, versioni e IOC in questa pagina di template sono illustrativi finché l'aggregatore non li popola dai feed reali. Non vengono forniti exploit o codice d'attacco: gli script mostrati sono di verifica difensiva, detection e threat hunting.