TOOL PER IL CYBER CRIME

Themida, il tool che protegge gli eseguibili e piace ai malware

Themida, il noto tool per la protezione dei software dal reverse engineering, da qualche tempo è apprezzato anche dagli sviluppatori di malware: ecco perché

25 Gen 2022
M
Riccardo Meggiato

Consulente in cyber security e informatica forense

Sviluppare un malware moderno è un processo lungo, laborioso e, dunque, costoso. Per questa ragione qualsiasi criminale, o gang criminale, desidera tutelare il proprio investimento, garantendogli la maggior longevità possibile sul mercato, che si tratti di utilizzare da sé il malware o di rivenderlo ad attori di secondo livello.

E questo si traduce nella necessità di rendere il software malevolo più difficile da analizzare da parte di aziende di sicurezza e centri di ricerca. Più tardi si arriva a comprendere come funziona un malware, più tardi si riesce a combatterlo e neutralizzarlo, più duratura è l’investimento per chi lo ha prodotto.

Secure Coding: regole e linee guida per lo sviluppo software sicuro

Evitare il reverse engineering

È lo stesso concetto con cui si tutela qualsiasi software, del resto. Il reverse engineering, per quanto complesso e alla mercé di analisti di alto livello, consente di partire da un software finito e commercializzato, studiarne le istruzioni e risalire alla sua architettura. In alcuni casi per evitare costi di ricerca e ottenere una sua copia a basso costo, in altri, e qui arriviamo ai malware, per comprendere come funziona e sviluppare tecniche e software in grado di bloccarne il funzionamento.

WHITEPAPER
AZIENDA RETAIL: ecco i 15 motivi per cui hai bisogno dell'Intelligenza Artificiale!
Intelligenza Artificiale
Retail

Non c’è dunque da stupirsi se, nella dotazione di chi sviluppa malware, ci siano sempre tecniche e tool per la cosiddetta obfuscation del codice. Tecnologie, in buona sostanza, in grado di rendere più lungo e complesso, se non addirittura impossibile, il reverse engineering del codice.

Dal payload all’eseguibile

Il concetto di partenza, per sommi capi, è che c’è un payload (l’insieme di istruzioni che caratterizza ciascun malware e ne diversifica gli obiettivi) e questo, nella maggior parte dei casi, va trasformato in un file eseguibile che diventa origine di un attacco o infezione. Anche Metasploit, la nota piattaforma di analisi e test delle vulnerabilità, per esempio, annovera fra le sue fila MSFvenom, un tool per trasformare un payload in un file eseguibile.

Una trasformazione di questo tipo, tuttavia, rende il codice malevolo facilmente identificabile da un antivirus, che è in grado di analizzare a gran velocità un eseguibile e individuarne comportamenti sospetti. È per questo che, ormai da tempo, gli autori di applicazioni malevole preferiscono utilizzare altri approcci. Per esempio infilare il payload in file eseguibili “noti” e certificati, come alcuni di quelli di sistema di Windows, così da camuffarlo agli occhi della tecnologia antivirus di turno.

I software di sicurezza, per fortuna, si evolvono, e tecniche di elusione dei controlli come queste sono sempre meno efficaci. Ed è proprio per questo che gli sviluppatori di malware, nella tradizionale rincorsa tra guardie e ladri, adottano soluzioni sempre più evolute per proteggere le proprie tecnologie. Tra queste, alcune di commerciali che nascono per scopi del tutto legittimi.

L’esordio di Themida nel mondo dei malware

Risale al maggio del 2017 l’annuncio della scoperta, da parte del centro di ricerca di Check Point, di Boleto, un “banking malware” molto efficiente, in grado di segnalare al criminale che ne fa uso che la vittima ha aperto una sessione col proprio account bancario, in modo da impossessarsene e farne uso in sua vece. Benché fosse chiaro l’obiettivo di Boleto, era tutt’altro che chiaro, invece, il suo specifico funzionamento, al punto da rendere vani i tentativi di riconoscere il codice malevolo e neutralizzarlo.

Il merito dell’inafferrabilità del malware risiedeva nell’utilizzo di Themida, una soluzione capace di “proteggere” l’eseguibile del malware dal reverse engineering. All’epoca si dovette attendere ottobre, quindi circa cinque mesi, prima di poter analizzare come si deve il codice di Boleto. Mesi passati a scardinare proprio il guscio protettivo che, di fatto, era stato creato da Themida. E da quel momento, il tool prodotto da Oreans conobbe un successo esponenziale, e non certo voluto, anche nel settore del cyber crime.

Themida: nato per evitare il reverse engineering

Il punto di partenza di Themida, commercializzato col claim “Advanced Windows Software Protection”, è quello che ci si aspetta da un prodotto di questo tipo: proteggere un eseguibile generato dalla classica filiera codice – compilatore – file oggetto – linker.

L’obiettivo, di fatto, è di evitare la decompilazione e Themida, per questo, rientra a pieno titolo nella categoria dei software protector.

Il problema che Themida risolve in modo efficace è che le tecniche impiegate dai classici software protector sono tutte per lo più note e scavalcabili, divenendo quindi vittime di cracker. È per questo che Themida cambia approccio, sfruttando il suo SecureEngine. In questo caso, la protezione non è applicata in toto all’intero eseguibile. Quest’ultimo, al contrario, viene dapprima decompilato e scomposto in porzioni, ciascuna di queste viene protetta, e poi si passa al riassemblaggio e a una seconda fase di protezione dell’intero file, ottenendo l’eseguibile finale.

Tutti i processi sono gestiti da un’architettura basata su micro-macchine virtuali, ciascuna adibita alla codifica e decodifica in tempo reale dei pezzi in cui viene scomposto l’eseguibile. La virtualizzazione del codice, in Themida, può essere gestita in modo granulare, selezionando la tipologia di virtualizzazione in base a parametri quali la velocità di esecuzione (che viene più o meno inficiata a seconda della tecnologia scelta) e la dimensione dell’eseguibile.

Un tool per tutti, proprio tutti

Ed è sulla base di questi parametri che varia la complessità di decodifica e analisi dei file processati.

Dal punto di vista degli autori di malware, la configurazione della tecnologia di software protection deve essere impostato in modo molto accorto, per garantire il giusto compromesso tra protezione dell’asset, se così lo vogliamo definire, e prestazioni, che per questo genere di software sono imprescindibili.

D’altro canto, dal punto di vista del produttore di software di sicurezza, riconoscere che un eseguibile è stato processato da Themida non è condizione sufficiente per poterlo bloccare o inserire in quarantena, proprio perché si tratta di una tecnologia commerciale di largo utilizzo in prodotti genuini.

Una vera e propria situazione di impasse che il crimine informatico ha imparato a sfruttare bene.

@RIPRODUZIONE RISERVATA

Articolo 1 di 5