Quando si parla di malware, la maggior parte delle persone pensa a virus e trojan che possono causare danni ai computer. Tuttavia, il termine “malware” copre un'ampia gamma di codici dannosi, che spazia dal semplice virus fino a programmi spyware e ransomware estremamente complessi. Per proteggersi da queste minacce, è importante capire cos'è e come funziona il malware. È qui che entra in gioco il reverse-engineering del malware: capendo come funziona il malware, si possono sviluppare strategie per impostare un sistema di difesa informatica efficiente e preventivo.
Il reverse-engineering del malware è spesso impegnativo, perché i virus possono essere intenzionalmente resi difficili da analizzare. Di solito, è necessario uno speciale software. I pirati informatici utilizzano meccanismi di occultamento, crittografia e altri stratagemmi per rendere più complesse le analisi. Inoltre, gli autori del malware spesso modificano anche il codice, allo scopo di rendere più difficile il reverse-engineering.
Nel reverse-engineering di solito si seguono cinque fasi per portare a termine con successo il processo:
Anche gli hacker utilizzano il reverse-engineering per individuare vulnerabilità di sicurezza in sistemi e dispositivi, oppure in un software. In molti casi, gli hacker ottengono una copia del programma che vogliono infettare e lo analizzano per aggirare le funzioni di sicurezza o per sfruttare eventuali vulnerabilità. Il reverse-engineering viene praticato dagli hacker anche per creare copie pirata di software o hardware protetti. A volte, essi creano versioni migliorate di prodotti esistenti con funzioni aggiuntive o che forniscano prestazioni migliori. Un altro uso non etico del reverse-engineering è quello della clonazione di malware già esistenti. Si tratta di versioni di malware in cui il codice viene leggermente modificato per evitare il rilevamento da parte del software antivirus. Un altro uso del reverse-engineering è la creazione cavalli di Troia, partendo da software ordinari. Ciò comporta l'aggiunta di codice dannoso ad un software, come ad esempio un videogioco. Il programma risultante esegue azioni dannose quando viene eseguito, come il furto di password o l'eliminazione di file. Infine, la creazione di “botnet”, che consiste in un insieme di computer infettati da malware e controllati da un aggressore esterno, permette al pirata informatico di effettuare attacchi DDoS (Distributed Denial-of-Service), inviare e-mail di spam o sottrarre informazioni sensibili.
Il reverse-engineering è quindi una procedura importante che non è, di per sé, né positiva né negativa, e che - a seconda dell'applicazione - può servire a rafforzare la sicurezza delle infrastrutture informatiche.