Cybersecurity
Malware Analysis: cos’è e perché è importante per la sicurezza informatica delle aziende
Dal 2020 ad oggi gli attacchi alla sicurezza informatica nei confronti delle aziende hanno vissuto una continua escalation, senza risparmiare davvero nessuno, sia nel settore pubblico che nel privato. A prescindere dalle motivazioni, i malware permettono ai cybercriminali di penetrare nei sistemi della vittima, esfiltrare dati e condurre azioni violente, nel contesto di campagne di spionaggio o di attacchi ransomware a doppia estorsione.
Lo scenario, in costante evoluzione, ci mostra una continua sfida tra gli attaccanti, sempre più sofisticati nelle strategie e nelle tecnologie utilizzate, e gli attori chiamati a svolgere il ruolo di protagonisti per quanto riguarda la cybersecurity aziendale: dagli ethical hacker chiamati ad anticipare le mosse dei cybercriminali agli specialisti dei Security Operation Center (SOC).
Tra gli elementi cruciali nel contesto di una strategia di cybersicurezza, le aziende devono implementare una consapevole attività di malware analysis, in grado di rilevare e rispondere rapidamente alle possibili intrusioni.
Si tratta di un obiettivo possibile soltanto avvalendosi di autentici professionisti della sicurezza informatica, dotati di competenze e strumenti adeguati per analizzare il software dannoso e mitigarne con successo le possibili conseguenze. Realtà come deda tech, che svolgono quotidianamente questo delicato ruolo per proteggere i sistemi e i dati di decine di aziende italiane.
Malware Analysis: una definizione
La malware analysis è un’attività di ispezione dei componenti e del codice sorgente del software malevolo, utile a comprendere il comportamento, l’origine e gli obiettivi dell’attaccante, con l’obiettivo di mitigarne la minaccia.
Per comprendere al meglio le logiche analitiche, è opportuno ricordare cosa sia a tutti gli effetti un malware, che nella sua definizione più semplice potrebbe identificare come un software intrusivo, progettato per infiltrarsi un sistema informatico (es. server, rete, ecc.) senza disporre di un’autorizzazione lecita.
Esistono tantissime tipologie di malware, che si differenziano sia dal punto di vista tecnologico, che per quanto riguarda gli obiettivi per cui sono stati concepiti. Ragion per cui sentiamo spesso parlare di spyware, trojan, scareware, rootkit, worm, ecc.
Il malware è uno strumento chiave per eseguire un’ampia gamma di minacce nei confronti della sicurezza informatica di un’organizzazione. I principali utilizzi del malware consistono nello spionaggio, per esfiltrare dati strategici, negli attacchi ransomware, dove viene chiesto un riscatto per sbloccare i sistemi crittografati e non diffondere i dati esfiltrati, ad applicativi all’apparenza innocui ma in grado di trasformare le macchine in veri e propri zombie di una botnet, una rete composta da migliaia di device inconsapevoli, che consente di condurre attività basate su grandi volumi di traffico, come gli attacchi DDoS.
Perchè è importante
Data la crescente tossicità presente nella rete, la malware analysis assume un ruolo sempre più cruciale per sventare la minaccia ai sistemi informatici di un’organizzazione. È innegabile come una corretta e consapevole attività di malware analysis possa generare una serie di benefici tangibili, tra cui:
- Comprendere l’entità dei danni provocati da un’intrusione
- Identificare l’attaccante e indagare sulle sue motivazioni e sul suo comportamento
- Determinare il livello di sofisticazione e la complessità tecnologica dell’attacco
- Individuare con precisione le eventuali vulnerabilità sfruttate dal malware per penetrare nel sistema violato
Per risultare pienamente efficace, la malware analysis non dovrebbe costituire un processo isolato, rientrando invece, come vedremo, nelle attività previste nell’ambito dell’incident response e della threat intelligence.
Chi è e cosa fa il malware analyst
Lo specialista di riferimento in questo ambito è rappresentato dal malware analyst, un esperto di sicurezza informatica che potremmo ricondurre, divulgativamente parlando, al ruolo dell’investigatore chiamato sulla scena del crimine. Il suo obiettivo consiste nell’individuare e isolare i malware impedendo loro di penetrare nel sistema informatico o mitigando i possibili effetti nocivi in caso di intrusione.
Il malware analyst analizza il software malevolo utilizzando tecniche di reverse engineering, per isolarne con successo i componenti, riconoscere le funzioni e tutti gli elementi progettuali che hanno contribuito alla sua creazione. Tale investigazione serve a maturare una conoscenza dettagliata sulla natura dell’attacco, per identificare le possibili violazioni e soprattutto le cause che le hanno consentite, in modo da rimediarvi al più presto ed evitare che si ripetano.
Nel contesto dell’incident response, un compito molto importante che viene attribuito al malware analyst è la classificazione del malware stesso, per associarlo ad un gruppo di appartenenza e facilitare il lavoro di threat intelligence. Maggiore è la conoscenza nei confronti di una particolare categoria di malware, più semplice sarà trovare le contromisure anche alle varianti che interverranno nel tempo.
Le tipologie di Malware Analysis
Nel momento in cui ci ritrova a dover implementare una malware analysis è opportuno porsi almeno le seguenti domande:
- Come si attiva il malware e quale evento può attivarlo?
- Qual è la natura del codice malevolo?
- In che modo il malware è stato progettato per eludere il suo rilevamento?
- Quali strumenti vanno adottati per analizzare il malware?
Dalla risposta a queste domande e dalla presunta natura del file malevolo, il malware analyst sarà in grado di orientarsi verso un’analisi statica, dinamica o ibrida.
Analisi statica
Si parla di analisi statica del malware quando l’esame non comporta l’effettiva esecuzione del software. Come facilmente intuibile, si tratta del metodo di indagine più sicuro, in grado di scongiurare ogni possibile rischio di infezione del sistema informatico dell’azienda.
Nella sua forma più semplice, l’analisi statica raccoglie informazioni dal malware senza visualizzare il codice sorgente, limitandosi all’analisi dei metadati. Dati come il nome, il tipo e la dimensione del file possono fornire indicazioni sulla natura del malware, grazie al confronto con i database di minacce note. Si tratta di operazioni piuttosto elementari, che possono essere svolte mediante l’esecuzione di un software anti-malware.
Nella sua forma avanzata, l’analisi statica interviene sul codice sorgente, ispezionando il file binario in ogni suo componente, pur senza eseguirlo. Tale operazione viene svolta utilizzando un disassembler, che traduce appunto il codice dell’applicazione in codice assembly, ai fini di esaminarne le istruzioni a basso livello.
Le intestazioni, le funzioni e le stringhe di un file possono fornire dettagli importanti, anche se i cybercriminali sono sempre più abili nell’eludere questa tecnica, grazie alla volontaria inclusione di alcuni errori di sintassi, capaci di rendere vana l’azione del disassembler e costringere l’analista a ricorrere all’analisi dinamica.
Analisi dinamica
Si parla di analisi dinamica del malware quando l’applicazione malevola viene eseguita ai fini di studiarne nel dettaglio il comportamento, soprattutto nei casi in cui l’analisi statica non sarebbe in grado di venirne a capo.
Per effettuare un’analisi dinamica si ricorre ad un ambiente isolato: la sandbox, che contiene il malware evitando che la sua azione nociva si propaghi all’interno dei dispositivi all’interno dei quali viene analizzato.
In altri termini, la sandbox è un ambiente di esecuzione virtualizzato, isolato dal resto della rete, utile per il fatto di poter essere avviato in molteplici istanze, favorendo la valutazione di varie condizioni di scenario, in totale sicurezza.
I software di analisi dinamica studiano nel dettaglio le modifiche che il malware esegue sul sistema sandbox, a tutti gli effetti equiparabile ad una possibile vittima designata. Tra le azioni più comuni figurano la creazione di nuove chiavi di registro di sistema, indirizzi IP, nomi di dominio e percorsi di file.
L’analisi dinamica è in grado di comprendere se e come il malware comunica da remoto con cybercriminali, cercando di superare tutte le attività elusive programmate per fuorviare l’indagine.
Per ottenere la migliore comprensione di una particolare minaccia malware, a costo di un maggior dispendio di risorse, è spesso opportuno combinare gli insight di analisi statica e analisi dinamica. In questo caso si parla nello specifico di analisi ibrida del malware.
Come si esegue una Malware Analysis
Una malware analysis consiste in una serie di step che ciascun team di cybersecurity può personalizzare sulla base della seguente traccia: assessment, analisi e reverse engineering. In primo luogo è opportuno identificare il file sospetto, che può essere rilevato attraverso un software anti-malware e confrontato con i database di threat intelligence per acquisire le prime informazioni utili a riguardo.
È bene precisare che l’analisi del malware può essere anche svolta in sede preventiva e non necessariamente quando si tratta necessariamente di rispondere ad un incidente di sicurezza informatica.
Assessment
L’assessment consiste in primo luogo in una serie di scansioni automatizzate, svolte per rilevare l’eventuale presenza di malware all’interno dei sistemi analizzati. Inoltre, si attuano le procedure preparatorie e si definisce se procedere per mezzo di analisi statica, dinamica o ibrida, predisponendo quanto necessario, ad esempio selezionando le parti del codice da analizzare e gli ambienti di esecuzione (es. sandbox) da utilizzare.
Analisi
I malware analyst, a seconda della tipologia di malware che si trovano ad analizzare, procedono in maniera statica o dinamica, esaminando il codice sorgente o eseguendo il file in una sandbox per valutare il suo comportamento. In ogni caso, si agisce in una ambiente sicuro ed isolato dal resto della rete. L’analisi procede fino a quando l’investigazione non produce risultati ritenuti esaurienti prima di procedere al reverse engineering.
Reverse Engineering
Costituisce la fase cruciale nell’ambito di una malware analysis e consiste nella scomposizione del file sospetto per identificarne i componenti e le funzioni, nonché definire con certezza gli scopi e le tecnologie utilizzate durante la sua progettazione.
Il reverse engineering consente di risalire alla fonte e ricostruire con esattezza la dinamica del possibile incidente. Tuttavia, può comportare notevoli difficoltà soprattutto se il file isolato si presenta crittografato o comprende funzioni elusive particolarmente sofisticate.
Casi studio: l’esperienza di deda tech
La malware analysis rappresenta una delle sfide più affascinanti nel contesto della cybersecurity aziendale e richiede competenze e tecnologie all’avanguardia, che ogni SOC personalizzare sulla base del proprio know-how. Appare infatti indispensabile una comprovata esperienza sul campo, come quella che deda tech da molti anni adoperare per proteggere i sistemi e i dati di decine di aziende italiane.
In primo luogo, è necessario svolgere un assessment utile a comprendere pienamente il contesto dell’organizzazione, dalle sue dimensioni agli effettivi fattori di rischio. La malware analysis viene effettuata in vari ambiti della cybersecurity, tra cui: incident response, definizione degli IoC (indici di compromissione) e threat hunting.
Incident Response
I team di incident response utilizzano l’analisi del malware per ottenere informazioni cruciali in merito ai sospetti incidenti, per mitigarli e prevenirli successivamente. Tra le informazioni utili, oltre all’investigazione sulla natura del malware stesso, è fondamentale identificare la fonte da cui proviene, ai fini di inserire gli indirizzi IP sospetti in una black list.
Definizione degli indici di compromissione (IOC)
Con l’analisi del malware è possibile definire i cosiddetti indici di compromissione (IOC), un’informazione utile per comprendere meglio l’effettiva criticità del malware. Un IOC indica che si è verificata una violazione o un attacco del sistema. Tali informazioni consentono di valutare come il sistema sia capace di reagire agli attacchi, ai fini di ottimizzare le operazioni future.
Ricerca delle minacce (Threat Hunting)
Gli specialisti della sicurezza informatica utilizzano l’analisi del malware per identificare le minacce precedentemente sconosciute, utilizzando tecniche come honeypot per isolare i file sospetti, dopo aver creato loro una trappola virtuale in un’area sicura del sistema oggetto di attacco. In questo modo è possibile identificare minacce che potrebbero anche sfuggire ai sistemi di monitoraggio attivi sul sistema, riducendo ai minimi termini i rischi di falsi positivi.