Reverse Engineering e Ghidra: il software dell'NSA

Negli ultimi tempi è emersa la volontà dell'NSA di rilasciare software open source, come si può notare da Code NSA, una pagina dedicata a progetti software disponibili liberamente

Una mattina, nel bel mezzo della quarantena per il covid-19, ricevo un messaggio da un amico con un link e la domanda:"Cos'è questo programma?"

L'analisi dell'URL, che faccio sempre prima di cliccare su un link (è un'azione potenzialmente letale!), mi incuriosisce: l'indirizzo punta al sito internet della più famosa agenzia di sicurezza nazionale del Dipartimento della difesa americano, l'NSA (National Security Agency).

Negli ultimi tempi è emersa la volontà dell'agenzia di rilasciare software open source, come si può notare nella pagina Code NSA, dedicata a progetti software disponibili liberamente; ma la creazione di una suite completa per l'ingegneria inversa ha attirato l'attenzione degli esperti nel settore.

Il programma in oggetto è un software di reverse enginering (SRE), sviluppato dai programmatori dell'NSA, denominato Ghidra e rilasciato Open Source con licenza Apache 2.0 su GitHub.

Il reverse engineering è una tecnica che consiste nell'analizzare il reale funzionamento di un software; solitamente viene applicata su software proprietari dove non vi è disponibilità dei codici sorgenti.

Per effettuare delle efficienti operazioni di ingegneria inversa è indispensabile avere solide conoscenze di programmazione; questo permette agli analisti di comprendere la modalità di sviluppo di una tecnologia. Per chiarire il concetto di reverse engineering, si tratta di ricavare da una torta finita l'esatta composizione e quantità degli ingredienti impiegati nel realizzarla.

Come si nota dal codice sorgente, Ghidra è stato sviluppato in Java e ha destato in breve tempo il sospetto di nascondere delle backdoor. Matthew "HackerFantastic" Hickey, cofondatore di Hacker House ha evidenziato come l'apertura della porta 18001 resti in ascolto all'avvio del programma per l'esecuzione di istruzioni dall'esterno.

Quartier generale NSA Autore: Patrick Semansky

Personalmente riterrei improbabile l'inserimento di una backdoor da parte dell'NSA con modalità così scontate; a livello tecnico basterebbe non attivare la funzione di debug per procedere indisturbati con la decompilazione dei file, i più paranoici potranno utilizzare il software da un computer senza accesso a internet e impedire qualunque intrusione illecita. Presumo che un'agenzia di sicurezza come la NSA, con a disposizione ingenti risorse economiche, possa permettersi tecniche molto più raffinate. Comunque mi sentirei di consigliare ai lettori di agire da paranoici, nel campo della sicurezza informatica non guasta mai.

Una breve guida sul funzionamento di Ghidra è stata scritta da Matteo Cuscusa su CyberSecurity 360; chiunque voglia cimentarsi nelle operazioni di reverse engineering potrebbe dare libero sfogo alle proprie fantasie, ricordando di prestare attenzione a non violare brevetti e norme sul Diritto d'autore.

In tempi recenti, un virtuoso utilizzo del reverse engineering è rappresentato dal caso di WannaCry: il ricercatore brittanico MalwareTech, grazie a questa tecnica ha scoperto che la propagazione del pericoloso ransmoware poteva venire rallentata con la registrazione di un semplice dominio internet da 10,69 dollari[1].

Come ogni tecnica di hacking, il reverse engineering si applica in molteplici settori, dallo spionaggio industriale alla ricerca di informazioni da fonti aperte (di quest'ultima tecnica abbiamo già scritto in un precedente articolo [2]).


[1] https://www.hwupgrade.it/news/sicurezza-software/attacco-hacker-wannacry-ecco-come-e-stato-rallentato-grazie-ad-un-dominio-da-10-dollari_68647.html

[2] https://ilcibernetico.it/linformazione-come-pilastro-dellingegneria-sociale/