- L'analisi del malware studia il comportamento del software dannoso per comprenderne l'impatto e migliorare la difesa.
- Combina approcci statici, dinamici e ibridi per estrarre IoC e rilevare minacce note e zero-day.
- Si basa su laboratori isolati, sandbox e un'ampia gamma di strumenti di reverse engineering.
- I risultati vengono utilizzati per la risposta agli incidenti, la ricerca delle minacce e l'intelligence sulla sicurezza informatica.

L'analisi del malware è diventata una delle attività più critiche della moderna sicurezza informatica , sia per le aziende che per gli utenti domestici. Ogni giorno compaiono nuove varianti di codice dannoso in grado di crittografare file, rubare credenziali o spiare ogni nostra attività sui dispositivi; pertanto, comprendere come studiare e rilevare questo software nocivo non è più appannaggio esclusivo dei laboratori specializzati.
Lungi dall'essere una semplice attività da "nerd", lo studio sistematico del malware è ciò che consente una rapida risposta agli incidenti, la generazione di firme di rilevamento, il miglioramento dei software antivirus e lo sviluppo di piattaforme di difesa aziendale. Analizziamo più da vicino cos'è l'analisi del malware, i diversi tipi di malware, come viene utilizzata nella sicurezza quotidiana, quali segnali indicano una possibile infezione e quali strumenti e tecniche utilizzano gli analisti professionisti.
Che cos'è l'analisi del malware e perché è così importante?
Quando parliamo di analisi del malware, intendiamo l'esame approfondito di un programma dannoso (o sospettato di esserlo) per comprenderne le funzioni, le modalità operative e il potenziale impatto su un sistema o una rete. Questo esame può essere manuale, utilizzando tecniche di reverse engineering e debugging, oppure avvalersi di piattaforme automatizzate e sandbox che classificano e segnalano la minaccia.
Grazie a questo processo, i team di sicurezza possono classificare gli incidenti in base al livello di gravità , estrarre indicatori di compromissione (IoC), migliorare il rilevamento precoce, adattare le regole delle proprie soluzioni di sicurezza e comprendere se una campagna di attacchi è un incidente isolato o parte di una minaccia più ampia e organizzata.
L'analisi del malware consente inoltre di rilevare software dannosi prima che causino danni , un aspetto fondamentale negli ambienti aziendali dove una singola infezione da ransomware può paralizzare l'intera attività di un'organizzazione o esporre dati sensibili di clienti e dipendenti.
Tipi di malware e sintomi di infezione
Il termine "malware" è un termine generico che comprende tutti i tipi di programmi progettati per causare danni o agire contro gli interessi dell'utente o dell'azienda. Non tutti i malware si comportano allo stesso modo, né perseguono tutti lo stesso obiettivo, ma condividono una natura subdola e dannosa.
Tra i tipi di malware più comuni troviamo una lunga lista di varianti, ognuna con una propria personalità:
- virus: codice che si replica con l'aiuto dell'utente, solitamente aprendo file infetti o eseguendo programmi infetti.
- vermi: Si diffondono automaticamente sfruttando le vulnerabilità della rete, senza bisogno dell'intervento dell'utente.
- Trojan: Si mascherano da software legittimi o innocui per intrufolarsi nel sistema senza destare sospetti.
- RAT (Trojan di accesso remoto): Cavallo di Troia progettato per garantire all'aggressore il controllo remoto completo del computer.
- porta sul retro: backdoor che consente all'aggressore di eseguire comandi o di accedere al sistema senza la normale autenticazione.
- Scaricatore o dropper: piccolo programma la cui missione principale è scaricare ed eseguire altri malware più complessi.
- Strumento di hacking: strumenti utilizzati per gli attacchi (scanner, forza bruta, ecc.), che non sono sempre strettamente dannosi.
- ransomware: Crittografa i file della vittima e chiede un pagamento per presumibilmente recuperarli.
- Bot: componente che consente di integrare il team in una botnet per lanciare attacchi coordinati.
- Kit radice: Software progettato per nascondersi e mantenere un accesso persistente con privilegi elevati.
- Keylogger: Registra le sequenze di tasti premuti per rubare password, messaggi e altri dati sensibili.
- Software di mining: Utilizza le risorse del team per estrarre criptovalute senza consenso.
- Ladro di informazioni: Si concentra sul furto di credenziali, informazioni personali o dati finanziari.
- spyware: Monitora l'attività dell'utente e invia le informazioni all'aggressore senza autorizzazione.
- CUCCIOLO/PUA: programmi potenzialmente indesiderati, come barre degli strumenti del browser e adware aggressivi.
- adware: Visualizza pubblicità intrusive e può modificare il browser o il sistema.
Tutti questi tipi di malware possono colpire qualsiasi sistema operativo moderno : Windows, Linux, macOS, Android, iOS e altri. Cambiare piattaforma non garantisce la sicurezza; modifica solo i tipi di minacce che si possono incontrare.
I sintomi di un'infezione possono variare notevolmente, ma alcuni schemi sono piuttosto comuni. Un computer infetto da malware in genere rallenta sensibilmente , la ventola si attiva in modo anomalo, la durata della batteria si riduce significativamente e compaiono finestre pop-up, barre degli strumenti del browser che non si ricorda di aver installato, oppure strani messaggi di errore e schermate.
Altri problemi tipici includono un'improvvisa mancanza di spazio su disco , file che cambiano estensione, un misterioso file README che afferma che tutto è crittografato (una classica tattica del ransomware) o un consumo di dati insolito sui dispositivi mobili. Spesso, questi segnali indicano processi nascosti che consumano risorse in background.
Come il malware si insinua nei nostri dispositivi
Il punto di ingresso più comune per i malware rimangono le email di phishing . L'aggressore si spaccia per una banca, una società di corriere, un servizio di pubblica utilità o persino un conoscente, e cerca di indurci a cliccare su un link o ad aprire un allegato che in realtà contiene codice dannoso.
Un altro metodo molto comune è quello di scaricare software da siti web non ufficiali o da app store di terze parti. I programmi "gratuiti" con crack, generatori di licenze o attivatori a pagamento spesso includono malware camuffato e gli utenti ne accettano l'installazione quasi senza rendersene conto.
Inoltre, esistono famiglie di malware in grado di sfruttare le vulnerabilità di rete senza l'intervento dell'utente, come nel caso di WannaCry, Conficker, Blaster, Slammer e Sasser. In questi casi, al worm basta connettersi a una rete vulnerabile per diffondersi.
La soluzione specifica a un'infezione dipenderà dal tipo di malware e dal danno causato, ma in casi come il ransomware, la cosa meno consigliabile da fare è pagare il riscatto , perché alimenta l'attività illecita e non garantisce il recupero dei dati.
Quando e perché eseguire una scansione antimalware
È possibile eseguire una scansione antivirus quasi ogni volta che si desidera controllare lo stato del computer , ma ci sono situazioni in cui è particolarmente consigliabile. Se si sospetta che il dispositivo possa essere stato infettato, o se si desidera accertarsi che un'infezione precedente sia stata completamente rimossa, è opportuno eseguire una scansione immediatamente.
Tra i segnali che giustificano ulteriori indagini si annoverano un calo significativo delle prestazioni , una durata della batteria sorprendentemente bassa, un consumo di dati elevato e inspiegabile o qualsiasi comportamento anomalo delle applicazioni e del sistema. Tutti questi sintomi indicano la presenza di processi sconosciuti che consumano risorse in modo silenzioso.
Strumenti integrati come Microsoft Defender consentono di eseguire scansioni rapide o complete. Al termine della scansione, il sistema stesso segnala se è stato rilevato qualcosa di sospetto e, in molti casi, offre opzioni automatiche per mettere in quarantena o rimuovere la minaccia rilevata.
Tipi e fasi dell'analisi del malware
Gli analisti utilizzano diversi approcci per comprendere il funzionamento di una minaccia. La distinzione classica è tra analisi statica, analisi dinamica e analisi ibrida , ma in pratica il processo è solitamente organizzato in diverse fasi che diventano progressivamente più complesse con il progredire dell'indagine.
Nella prima fase, vengono solitamente utilizzate analisi di scansione automatizzate . Piattaforme come VirusTotal o le sandbox aziendali confrontano il campione con database di minacce note, eseguono il file in ambienti controllati e generano report con traffico di rete, attività sui file, modifiche al registro di sistema e altri comportamenti chiave.
Segue l' analisi delle proprietà statiche , in cui il file viene esaminato senza essere eseguito: hash, stringhe incorporate, risorse, metadati, intestazioni PE e altri formati simili. Strumenti come PeStudio, PE-bear o pefile consentono di visualizzare la struttura interna e individuare firme offuscate, URL o indirizzi IP.
L'analisi dinamica prevede l'esecuzione del malware in un ambiente isolato (macchine virtuali Windows, distribuzioni come REMnux, ecc.) e l'osservazione in tempo reale dei processi creati, delle modifiche al file system, delle chiavi di registro, delle connessioni di rete, dei servizi o dei mutex generati. È qui che entrano in gioco strumenti di monitoraggio avanzati come Process Monitor o strumenti di acquisizione di rete come Wireshark.
Infine, nella fase più approfondita, gli specialisti effettuano il reverse engineering del codice utilizzando disassemblatori e decompiler (IDA, Ghidra, Radare, DnSpy, Jadx, ecc.). Utilizzando debugger come x64dbg o WinDbg, analizzano l'esecuzione passo passo, le chiamate API, decifrano le configurazioni interne e identificano le routine critiche di crittografia, esfiltrazione o elusione.
Casi d'uso dell'analisi del malware
L'obiettivo finale di tutto questo lavoro è ottenere informazioni utili sulla minaccia , un aspetto applicabile a molti ambiti della sicurezza informatica quotidiana. Non si tratta solo di "spiare" come viene programmato un malware, ma di migliorare la difesa complessiva dell'organizzazione.
Uno scenario tipico è la risposta agli incidenti . Quando viene rilevato un comportamento sospetto o un'intrusione, il team di risposta deve sapere che tipo di malware si cela dietro, quali azioni esegue, quali sistemi ha compromesso e come eliminarlo senza lasciare traccia. L'analisi consente loro di definire la portata dell'incidente e pianificare il ripristino.
Viene inoltre ampiamente utilizzato nella ricerca e nel rilevamento di malware, sia in ambito accademico che industriale. I laboratori e i gruppi di ricerca delle aziende di sicurezza si dedicano allo studio di specifiche famiglie di malware (ad esempio, TrickBot, FIN7 e altre) per svelarne l'intera catena di attacco, comprenderne l'evoluzione e progettare meccanismi di difesa più efficaci.
Un terzo utilizzo fondamentale è l' estrazione di indicatori di compromissione (IoC) . Da ciascun campione vengono estratti gli hash di file, indirizzi IP, domini, percorsi di registro, nomi di processi o modelli di stringhe, che possono poi essere utilizzati per il rilevamento automatico in SIEM, EDR e altre piattaforme.
L'analisi migliora anche la ricerca proattiva delle minacce . Comprendendo a fondo il comportamento di una variante, i cacciatori di minacce possono tracciare tracce sottili all'interno dei sistemi di un'organizzazione per scoprire infezioni precedentemente non rilevate o movimenti laterali silenziosi.
Infine, tutte queste informazioni arricchiscono gli avvisi e la classificazione delle minacce , contribuendo a stabilire le priorità tra gli incidenti che richiedono un'attenzione immediata e quelli che possono essere gestiti con maggiore calma. Le moderne soluzioni di sicurezza degli endpoint e XDR integrano questi dati per contestualizzare ciò che sta accadendo in tempo reale.
Vantaggi strategici dell'analisi del malware
Tra i vantaggi più evidenti vi è la generazione di informazioni di intelligence sulle minacce di alto valore . Ogni campione analizzato fornisce nuovi IoC e TTP (tecniche, tattiche e procedure) che vengono integrati nei motori di rilevamento, nelle regole Yara, nelle blacklist e nei sistemi di reputazione.
Inoltre, un'analisi approfondita migliora la comprensione funzionale del malware : il suo scopo, i suoi meccanismi di persistenza, le vulnerabilità che sfrutta e le sue tecniche di elusione. Ciò consente lo sviluppo di patch, il rafforzamento delle configurazioni e la progettazione di controlli specifici per bloccarne il funzionamento.
Non dobbiamo dimenticare l' aspetto dell'analisi delle vulnerabilità zero-day . Quando un campione sfrutta una falla sconosciuta, studiarla attentamente aiuta a identificare la debolezza sottostante e a sviluppare aggiornamenti di sicurezza o misure di mitigazione efficaci.
Infine, l'analisi del malware è un eccellente strumento di apprendimento e sviluppo delle competenze per i professionisti della sicurezza informatica. Osservare il funzionamento delle minacce reali è il modo migliore per capire cosa funziona davvero nel mondo della difesa e cosa no.
Creazione e protezione dell'ambiente di analisi
Prima di affrettarsi ad analizzare i campioni come se non ci fosse un domani, è fondamentale allestire un laboratorio controllato . L'approccio usuale consiste nell'installare macchine virtuali Windows 10 e distribuzioni specializzate come REMnux Linux , connesse tra loro su una rete privata isolata dal resto dell'infrastruttura.
Su queste macchine sono installati strumenti specifici, come suite di analisi (ad esempio, raccolte di utility quali RevCore Tools, Sysinternals, disassemblatori e debugger) . Inoltre, è configurata l'acquisizione del traffico per registrare tutto ciò che il campione tenta di inviare o ricevere sulla rete.
È importante tenere presente che molti malware rilevano se sono in esecuzione in ambienti virtuali o sandbox e modificano il proprio comportamento: entrano in modalità di sospensione, generano dati falsi o evitano di eseguire il loro payload effettivo. Per questo motivo è comune "ottimizzare" le macchine virtuali per farle apparire come sistemi reali: regolando il numero di core, la dimensione del disco, la presenza di documenti, l'utilizzo del mouse e così via.
Se un malware ritiene di trovarsi in un ambiente "amico" (una macchina reale o comunque sufficientemente realistica), in genere crea meccanismi di persistenza tramite il Registro di sistema di Windows o i servizi di sistema, in modo da essere eseguito a ogni avvio o accesso. Chiavi come Run, RunOnce, Winlogon, AppInit_DLLs o posizioni nelle cartelle di avvio sono punti critici che gli analisti esaminano con strumenti come Autoruns.
Strumenti di analisi del malware
L'arsenale di un analista di malware combina utility di basso livello e piattaforme automatizzate . Non esiste un unico strumento magico; ogni campione può richiedere un set di strumenti diverso a seconda del linguaggio, del tipo di packaging e del comportamento.
Nel campo dell'analisi statica, spiccano i disassemblatori e i decompilatori come IDA, Ghidra e Radare. Essi convertono il codice macchina in linguaggio assembly e, spesso, in pseudocodice di alto livello, più facile da leggere. Per i binari .NET o Java, sono ampiamente utilizzati DnSpy e Jadx.
Debugger come x64dbg o WinDbg consentono di eseguire il malware passo passo, impostare breakpoint su API critiche (creazione di processi, crittografia, comunicazioni) e osservare come manipola la memoria e i registri in tempo reale. Strumenti più datati come OllyDbg o Immunity Debugger conservano ancora la loro utilità, soprattutto nell'analisi di exploit con script specializzati.
Per osservare l'attività di sistema in tempo reale, si utilizzano strumenti di monitoraggio avanzati come Process Explorer, Process Monitor, TCPView o Autoruns (tutti di Sysinternals), che mostrano in dettaglio processi, thread, accessi ai file, connessioni di rete e punti di persistenza.
Per analizzare i file PE e formati simili, strumenti come PeStudio, PE-bear e pefile semplificano l'ispezione di sezioni, l'importazione e l'esportazione di voci, le risorse incorporate e le firme potenzialmente sospette. Gli editor esadecimali come HxD possono essere utilizzati per esaminare qualsiasi file byte per byte e manipolarlo se necessario.
Il traffico di rete viene in genere analizzato utilizzando Wireshark o altri analizzatori , che rivelano domini di comando e controllo, protocolli utilizzati, dati esfiltrati o tunnel nascosti. Le regole Yara, d'altro canto, sono essenziali per identificare famiglie specifiche all'interno di grandi raccolte di campioni.
Strumenti di analisi e protezione popolari nelle aziende
In ambito aziendale, oltre alle utility di base, molte organizzazioni si affidano a soluzioni commerciali e piattaforme centralizzate per proteggere i propri endpoint e analizzare i file sospetti.
Tra le migliori opzioni figurano suite come Malwarebytes, McAfee, F-Secure, AVG, Avast, Norton, Kaspersky e Comodo , oltre a motori specializzati e sandbox come Cuckoo Sandbox. Questi strumenti combinano analisi in tempo reale, rilevamento basato su firme, analisi comportamentale e funzionalità di risposta agli incidenti.
Piattaforme avanzate come CrowdStrike Falcon o SentinelOne integrano l'analisi del malware nelle loro offerte EDR/XDR, consentendo loro di rilevare non solo varianti note, ma anche minacce nuove e zero-day grazie all'apprendimento automatico e al sandboxing integrato. I risultati vengono presentati in console centralizzate insieme ai dati provenienti da altri sensori di sicurezza.
Anche le soluzioni tradizionali come Kaspersky Endpoint Security offrono diverse modalità di scansione progettate per bilanciare sicurezza e prestazioni: scansione completa (controlla la memoria del kernel, i settori di avvio, i backup e tutti i dischi), scansione delle aree critiche (si concentra su memoria, processi attivi e settori di avvio), scansione personalizzata (segmenti selezionati dall'utente) e scansione in background (una scansione meno invasiva che riduce al minimo l'impatto sulle risorse).
Come il malware si nasconde e si difende dall'analisi
Gli autori di malware sanno bene che le loro creazioni saranno prima o poi analizzate da piattaforme online e laboratori , quindi integrano meccanismi per rilevare ed eludere questi ambienti. Il loro obiettivo è evitare del tutto l'esecuzione o produrre risultati fuorvianti quando percepiscono di essere monitorati.
I controlli usuali includono parametri hardware e di sistema come il numero di core del processore, la dimensione del disco, l'indirizzo MAC associato alle macchine virtuali, la lingua della tastiera, il nome host o utente e la presenza di determinate chiavi di registro che rivelano gli ambienti virtualizzati.
Il malware può anche analizzare i processi in esecuzione alla ricerca di antivirus, EDR, debugger o strumenti di analisi specifici. Se rileva uno qualsiasi di questi indicatori, può interrompere l'esecuzione, attivare percorsi di codice fasulli o semplicemente comportarsi come un programma innocuo.
Un altro trucco classico consiste nel controllare il tempo trascorso o la data di esecuzione , utilizzando funzioni di sospensione estese per esaurire il tempo di analisi delle sandbox automatizzate. Quando l'analisi termina e il file ritorna in un ambiente reale, il malware si riattiva e si comporta normalmente.
A complicare ulteriormente le cose, molti aggressori utilizzano crypter e packer che crittografano o offuscano il binario originale. Il Builder genera l'eseguibile finale con più livelli di protezione, mentre lo Stub è responsabile della decrittazione e dell'avvio del payload effettivo, spesso direttamente in memoria (runtime) invece di scriverlo su disco (scantime), il che rende più difficile la sua cattura e la successiva analisi.
Metodi di analisi statica e dinamica nella pratica
In un'analisi statica rigorosa, l'analista evita di eseguire il campione e si concentra sulla decompilazione, la decodifica e la comprensione della logica interna . Le stringhe vengono estratte utilizzando strumenti per stringhe o strumenti FLOSS (che recuperano le stringhe decrittografate in fase di esecuzione), le importazioni delle API vengono esaminate per dedurre il comportamento e le famiglie vengono identificate utilizzando le regole Yara.
Il passo successivo prevede in genere la disassemblaggio e la decompilazione , lo studio del flusso del programma, delle funzioni critiche e dei potenziali blocchi di codice relativi alla crittografia, alla comunicazione remota, alla persistenza o all'escalation dei privilegi. Spesso si cerca di ottenere indicatori di compromissione (IoC) di alto valore analizzando la configurazione interna del malware (server C2, chiavi di crittografia, percorsi di installazione).
Nell'analisi dinamica, con un ambiente ben definito, il campione viene eseguito per verificare le ipotesi generate nell'analisi statica . Vengono monitorati la creazione di processi, la modifica di file, la scrittura nel registro di sistema di Windows, il traffico di rete, la creazione di servizi e i mutex. Tutte queste informazioni vengono correlate per identificare e definire la minaccia.
Gli strumenti di analisi online combinano entrambi gli approcci e possono rappresentare un buon primo passo. Tuttavia, non sono infallibili : potrebbero non individuare famiglie nuove o molto nascoste, ma di solito offrono indizi e IoC sufficienti a giustificare ulteriori indagini di laboratorio più approfondite.
Attraverso questo intero processo, gli analisti sono in grado di assegnare un nome alla specifica famiglia o variante , documentarne le tattiche, le tecniche e le procedure (TTP) e generare regole che ne consentano il riconoscimento in altri sistemi o in future campagne, chiudendo così il ciclo tra analisi e difesa.
In un contesto in cui ogni giorno vengono scoperti centinaia di nuovi campioni, disporre di solide capacità di analisi del malware fa la differenza tra essere sempre un passo indietro rispetto agli aggressori o anticiparne le mosse, rilevando e bloccando le minacce prima che diventino un grave problema per utenti e organizzazioni.