Malware e Malware Analysis: tipologie e strumenti open source
Secondo il rapporto Clusit relativo al 2022, in Italia, gli attacchi per mezzo di malware sono stati il 53% del totale e hanno impatti gravi o gravissimi nel 95% dei casi (Fonte – apre un link esterno). Malgrado i malware abbiano una storia lunga quanto quella dei computer stessi, negli ultimi anni si sono evoluti, diventando sempre più sofisticati e insidiosi. Per proteggere aziende e utenti, è necessario identificare i malware e individuare le attività sospette in modo tempestivo, prevenendo così danni potenzialmente catastrofici. In questo contesto, assume un ruolo di fondamentale importanza l’analisi dei malware.
Prima di addentrarci nei dettagli della Malware analysis, vediamo che cos’è un malware e quali diverse forme può assumere.
Malware: definizione e tipologie
Il termine “malware” è l’abbreviazione di “malicious software”, ovvero un tipo di codice malevolo progettato con l’intento di causare danni a sistemi informatici e reti oppure di rubare dati preziosi, sfruttando le vulnerabilità presenti in un sistema o creandone di nuove. In altre parole,
il malware è una forma di codice che opera in modo furtivo su un sistema informatico, senza il consenso degli amministratori di sistema, mettendo a repentaglio la riservatezza, l’integrità e la disponibilità dei dati – spesso riferiti come la “triade CIA” della sicurezza informatica.
> Leggi anche “I principi fondamentali della sicurezza informatica”
Esistono diverse tipologie di malware, ciascuna con un comportamento e un obiettivo distintivo:
- I virus si propagano inserendo il loro codice maligno in altri file, diffondendosi rapidamente e infettando altri computer. Il termine “virus” viene spesso utilizzato in modo generico dai mass media per descrivere qualsiasi tipo di malware.
- Un Trojan è un software malevolo che si camuffa da innocuo, come il mitologico cavallo di Troia da cui prende il nome. Si nasconde dietro un’apparenza inoffensiva, come un’app o un gioco, per poi eseguire operazioni dannose in background per il maggior tempo possibile.
- Uno Spyware, come indica il nome, spia il comportamento dell’utente senza il suo consenso, riportando poi al malintenzionato informazioni sulle attività dell’utente, i siti web visitati, la posizione geografica e così via.
- Un worm è un programma che può auto-replicarsi e diffondersi attraverso le reti, causando gravi interruzioni. Una volta che un worm viene rilevato, è però piuttosto semplice applicare delle patch al sistema e impedire al worm di diffondersi ulteriormente.
- Un Adware mostra pubblicità indesiderata all’utente. Queste pubblicità possono essere inserite in software o altri siti e addirittura sostituire altre pubblicità, generando in questo modo profitti per l’autore dell’adware, piuttosto che per chi ha pagato lo spazio pubblicitario. Questo tipo di malware non danneggia il sistema e nella maggior parte dei casi l’utente neanche si accorge di essere stato infettato.
- Uno Scareware consiste in un’interfaccia fraudolenta che avvisa l’utente di un’infezione da malware e offre un software a pagamento per la rimozione. In realtà, spesso non c’è alcuna infezione, e l’utente viene ingannato a pagare per un’app inutile.
- Un Bot è un malware che esegue azioni senza che l’utente ne sia consapevole. Queste azioni includono, ad esempio: visitare siti web, infettare altri host con il malware e interrogare DNS o email server. Le Botnet (gruppi di host infetti) sono tipicamente utilizzate per sferrare attacchi DDoS, in cui tantissimi dispositivi infetti (si parla qualche volta di milioni di dispositivi), sono utilizzati in modo simultaneo per sovraccaricare un servizio web (sito, DNS, servizio cloud, applicazioni o altro), impedendone la fruizione.
- Il ransomware, la categoria forse più famosa di malware, cripta rendendo illeggibili i file dell’utente e richiede un pagamento in cambio della chiave di decrittazione. Tipicamente questo comportamento non rende inutilizzabile il pc, ma rende tutte le informazioni archiviate su di esso completamente inaccessibili. L’utente che non ha back up dei propri dati è forzato a scegliere tra un pagamento molto alto o la perdita di tutti i dati. A peggiorare la situazione, la maggior parte dei ransomware richiedono il pagamento in poco tempo.
- L’ultima novità in fatto di malware sono i cryptominers, che compongono il 90% degli attacchi malware più recenti. In crescita dal 2017, i cryptominers utilizzano tutta la potenza di calcolo disponibile sul pc della vittima per estrarre criptovalute a beneficio dell’attaccante. La vittima deve sopportare il peso dell’aumento del costo dell’elettricità e del deterioramento delle performance del proprio dispositivo.
Analisi Malware: statica e dinamica
Ora che abbiamo un’idea chiara di che cosa siano i malware e in quanti modi diversi possono attaccare utenti e organizzazioni, possiamo iniziare a definire le tipologie di analisi del malware.
Per prima cosa, definiamo l’analisi malware come il processo di comprensione del comportamento e degli obiettivi di un file, di un URL o di un’attività sospetta. Lo scopo fondamentale di questa analisi è rilevare e mitigare potenziali minacce. Esistono principalmente due tipi di analisi malware: l’analisi statica e quella dinamica.
L’analisi statica non richiede l’esecuzione del codice maligno: semplicemente, si esamina il file malevolo alla ricerca di indicatori sospetti. Vengono identificati nomi di file, hash, stringhe, domini e dati dell’intestazione, che vengono utilizzati per determinare se il file rappresenta una minaccia. Uno strumento utile nell’estrazione di queste informazioni è pefile, una libreria Python che lavora con i file PE (Portable Executable).
L’analisi statica ha però un limite: non essendo basata sull’esecuzione effettiva del codice, potrebbe non rilevare comportamenti maligni sofisticati. Ad esempio, se un file genera dinamicamente una stringa che in seguito scarica un altro file maligno, questo potrebbe sfuggire all’analisi statica di base.
Al contrario, nell’analisi dinamica si analizza il comportamento del malware in un ambiente dinamico controllato, chiamato sandbox. L’analisi dinamica fornisce una visibilità più approfondita, che consente di scoprire la vera natura della minaccia. Studi recenti dimostrano che rispetto all’analisi statica, quella dinamica migliora le prestazioni, presenta tassi di rilevamento più elevati e ha una maggiore resistenza alle tecniche di evasione.
Spesso, però, per ingannare un sandbox, hacker e malintenzionati nascondono del codice al suo interno, che può rimanere inattivo fino a quando non vengono soddisfatte determinate condizioni. Solo allora il codice viene eseguito.
> Scopri il corso di Malware Analysis
Strumenti open source per l’analisi Malware
Esistono diversi strumenti open source di Analisi Malware che possono aiutare gli analisti a comprendere e rilevare le minacce informatiche. In questo articolo, esamineremo cinque di questi strumenti, ciascuno con caratteristiche e applicazioni specifiche.
- Cuckoo Sandbox è una piattaforma automatizzata di malware analysis open source, che si focalizza sull’analisi comportamentale. Permette di analizzare qualsiasi file o URL sospetti all’interno di un ambiente sandbox, fornendo risultati affidabili e dettagliati sulle attività del malware. Questi risultati comprendono monitoraggio delle attività di rete, modifiche ai file e chiamate ad altri sistemi, mettendo in evidenza l’approccio basato sull’analisi comportamentale.
- Limon è un sandbox sviluppato in Python specificamente progettato per la raccolta, l’analisi e la generazione di report sugli indicatori di runtime dei malware Linux. Con Limon è possibile ispezionare il malware prima, durante e dopo l’esecuzione, consentendo l’analisi sia statica, sia dinamica. Questo strumento offre una panoramica completa delle attività del malware, compresa l’analisi della memoria e la conservazione di artefatti per ricerche future.
- Wireshark è uno strumento di analisi dei protocolli di rete che consente di catturare e analizzare il traffico di rete in modo interattivo. È in grado di ispezionare centinaia di pacchetti di rete e può acquisire dati di molte tipologie di rete differenti. Wireshark è fondamentale per l’individuazione e l’analisi delle comunicazioni di rete coinvolte in attività malware.
- Ghidra è un potente strumento di reverse engineering sviluppato dalla NSA (National Security Agency) facile da usare. Fornisce numerose funzioni, tra cui la decomposizione, la decompilazione e l’analisi degli script. Ghidra supporta vari formati di file ed è particolarmente utile per gli analisti per comprendere il funzionamento interno dei malware.
- Cape Sandbox è uno strumento open source basato su Cuckoo, che automatizza l’estrazione di carichi e informazioni di configurazione da una vasta gamma di malware conosciuti. Questo strumento semplifica notevolmente il processo di analisi dei malware, consentendo di identificare rapidamente comportamenti dannosi
Questi strumenti forniscono le basi necessarie, ma sono la competenza e l’approccio strategico degli analisti che svolgono un ruolo cruciale nella difesa contro le minacce informatiche in evoluzione. Gli analisti esperti hanno infatti un ruolo cruciale nel tradurre i dati raccolti da questi strumenti in azioni concrete di protezione. La loro capacità di interpretare i risultati dell’analisi, identificare pattern sospetti e determinare la gravità di una minaccia è essenziale per rilevare e proteggersi velocemente dagli attacchi.
> Inizia qui la formazione in analisi malware
Inoltre, il successo di un’analisi malware dipende dall’integrazione attenta all’ambiente di sicurezza di riferimento. L’integrazione attenta dell’analisi malware nel proprio ambiente permette infatti di rispondere più rapidamente, condividere le informazioni di sicurezza e allertare le parti interessate, automatizzare le risposte agli attacchi noti e ottimizzare la gestione delle risorse di sicurezza.