At the RSA security conference today, the National Security Agency, released Ghidra, a free software reverse engineering tool that the agency had been using internally for well over a decade.
The tool is ideal for software engineers, but will be especially useful for malware analysts first and foremost.
The NSA’s general plan was to release Ghidra so security researchers can get used to working with it before applying for positions at the NSA or other government intelligence agencies with which the NSA has previously shared Ghidra in private.
GHIDRA is a Java-based reverse engineering framework that features a graphical user interface (GUI) and has been designed to run on a variety of platforms including Windows, macOS, and Linux.
Reverse engineering a program or software involves disassembling, i.e. converting binary instructions into assembly code when its source code is unavailable, helping software engineers, especially malware analysts, understand the functionality of the code and actual design and implementation information.
The existence of GHIDRA was first publicly revealed by WikiLeaks in CIA Vault 7 leaks, but the NSA today publicly released the tool for free at the RSA conference, making it a great alternative to expensive commercial reverse engineering tools like IDA-Pro.
“It [GHIDRA] helps analyze malicious code and malware like viruses, and can give cybersecurity professionals a better understanding of potential vulnerabilities in their networks and systems,” NSA official website says while describing GHIDRA.
Download GHIDRA — Software Reverse Engineering Tool
- Github — source code (will be available soon)
- Download GHIDRA 9.0 — software package, slides, and exercises
- Installation Guide — basic usage documentation
- Cheat Sheet — keyboard shortcuts
- Issue Tracker — report bugs
Speaking at RSA Conference, Senior NSA Adviser Robert Joyce assures GHIDRA contains no backdoor, saying “This is the last community you want to release something out to with a backdoor installed, to people who hunt for this stuff to tear apart.”
Joyce also said GHIDRA includes all the features expected in high-end commercial tools, with new and expanded functionality NSA uniquely developed, and supports a variety of processor instruction sets, executable format and can be run in both user-interactive and automated modes.
First Bug Reported in GHIDRA Reverse Engineering Tool
GHIDRA has received a warm welcome by the infosec community, and researchers and developers have already started contributing to the project by reporting bugs and security holes on its Github issue tracker.
Matthew Hickey, who uses online alias “HackerFantastic,” being the first to report a security issue in GHIDRA.
Hickey noticed that the reverse engineering suit opens JDWP debug port 18001 for all interfaces when a user launches GHIDRA in the debug mode, allowing anyone within the network to remotely execute arbitrary code on the analysts’ system.
Although the debug mode is not activated by default and supposed to work like intended, the software should listen only to debug connections from the localhost, rather than any machine in the network.
The issue can be fixed by just changing a line of code in the software, according to Hickey.