La National Security Agency (NSA), ente governativo statunitense che, insieme con CIA e FBI, si occupa della sicurezza nazionale, non è propriamente uno di quegli organismi che gode di una reputazione esente da ombre. Nel recente passato Edward Snowden aprì il vaso di Pandora spiattellando ai quattro venti informazioni sui piani segreti per la sorveglianza di massa posti in essere dal governo USA così come da quello britannico.
La NSA avrebbe, nel corso del tempo, sviluppato diversi programmi per decodificare le comunicazioni private, scambiate in forma crittografata (vedere qui e qui gli articoli che pubblicammo nel 2013, all’epoca dello scandalo PRISM). Successivamente è emerso che lo stesso ente si sarebbe dotato di una ricca mole di strumenti software e di dettagli su vulnerabilità ancora sconosciute per svolgere attività investigative: NSA, 50 pagine di vulnerabilità per spiare imprese e privati.
Più di recente, nel 2017, all’epoca della diffusione del worm-ransomware WannaCry, Microsoft accusò platealmente NSA di aver tenuto l’azienda all’oscuro di una lacuna di sicurezza già nota, utilizzata poi dal malware per diffondersi a macchia d’olio: WannaCry: Microsoft accusa la NSA e chiama in causa i governi.
Forse nel tentativo di riacquistare un po’ di credibilità dopo gli incidenti occorsi nel passato, in queste ore NSA ha annunciato la pubblicazione di una versione pubblica e completamente gratuita di Ghidra, un insieme di utilità sviluppate internamente dai tecnici dell’ente per semplificare le operazioni di reverse engineering dei software (questo il sito dedicato per il download).
I portavoce dell’agenzia governativa hanno spiegato che a breve sarà rilasciato anche il codice sorgente di Ghidra (presumibilmente a questo indirizzo, su GitHub) così da permettere agli sviluppatori e ai ricercatori di contribuire al miglioramento del tool e alla risoluzione dei bug.
L’esistenza di Ghidra balzò agli onori delle cronache quando due anni fa WikiLeaks pubblicò i documenti conosciuti con l’appellativo Vault 7, ulteriore dimostrazione di come NSA fosse costantemente alla ricerca di vulnerabilità nei principali software e piattaforme hardware con il preciso scopo di svolgere attività di monitoraggio e spionaggio.
Robert Joyce, senior advisor di NSA, ha motivato il rilascio pubblico di Ghidra sulla base della volontà di ottimizzarne il funzionamento, creare una comunità di sviluppatori al lavoro sul progetto, scoprire nuovi talenti e mostrare ai cittadini USA per che cosa vengono destinati, in parte, i denari che versano al fisco sotto forma di imposte.
Current status: playing with Ghidra… And I must confess that it’s pretty impressive.
— Frank Denis (@jedisct1) 6 marzo 2019
I primi giudizi avanzati dagli esperti in fatto di sicurezza informatica e dai ricercatori antimalware sono più che positivi: Ghidra convince per robustezza, funzionalità e versatilità grazie ai tanti moduli che il software supporta, ad esempio, per il disassemblaggio e la decodifica.
My favorite part of Ghidra is the side-by-side disassembler/decompiler. It's a total game changer for those looking to break into the industry.
— MalwareTech (@MalwareTechBlog) 6 marzo 2019
Ghidra viene paragonato a IDA e Binary Ninja con il primo che costa qualcosa come 11.000 euro circa in versione Pro, mentre il tool NSA viene a questo punto fornito a tutti gli interessati a costo zero.
Molto interessante l’analisi del ricercatore Marcus Hutchins di Kryptos Logic che ha svolto in diretta e poi lasciato online a questo indirizzo.
A distanza di poche ore dal rilascio di Ghidra, Matthew Hickey si è accorto che il tool NSA apre una porta in ingresso (TCP 18001) utilizzando Java Debug Wire Protocol (JDWP). Dal momento che questa funzionalità può essere sfruttata per eseguire codice in modalità remota, lo stesso Hickey suggerisce la modifica da applicare per consentire eventuali tentativi di connessione solo dal sistema locale (127.0.0.1
).
Ghidra opens up JDWP in debug mode listening on port 18001, you can use it to execute code remotely to fix change line 150 of support/launch.sh from * to 127.0.0.1 https://t.co/J3E8q5edC7
— Hacker Fantastic (@hackerfantastic) 6 marzo 2019