На конференции RSA представители Агентства национальной безопасности США объявили об открытии исходных кодов Ghidra – инструмента для обратного инжиниринга, который сами спецслужбы применяют уже порядка 20 лет. Напомню, что широкая общественность узнала о Ghidra в 2017 году, благодаря документам Vault7, опубликованным WikiLeaks. Впрочем, до этого факт существования Ghidra тоже не был засекречен.
В настоящее время Ghidra уже можно загрузить с официального сайта, и в скором времени исходные коды также планируют разместить на GitHub. Ghidra написана на Java и имеет GUI, работающий под Windows, Mac и Linux.
Ghidra processor modules: X86 16/32/64, ARM/AARCH64, PowerPC 32/64, VLE, MIPS 16/32/64,micro, 68xxx, Java / DEX bytecode, PA-RISC, PIC 12/16/17/18/24, Sparc 32/64, CR16C, Z80, 6502, 8051, MSP430, AVR8, AVR32, Others+ variants as well. Power users can expand by defining new ones
— Rob Joyce (@RGB_Lights) March 5, 2019
Так как «Гидра» стала доступна еще вчера, ИБ-сообщество уже занялось активным изучением инструмента, и многие уверяют, что раскрытие кодов может кардинально изменить давно сложившуюся ситуацию. Дело в том, что бесплатная и опенсорсная Ghidra может стать серьезной альтернативой многим аналогичным инструментам в целом и проприетарной и платной IDA Pro в частности (интерактивному дизассемблеру, который широко применяется для реверса, но его лицензионная версия обходится в несколько тысяч долларов в год).
В целом исследователи и эксперты, уже успевшие опробовать Ghidra в деле, настроены крайне положительно, и всего за день инструмент получил множество хороших отзывов.
Ghidra's out and we've got those ARM proc modules, the UNDO button, and the ability to collaborate on analysis...for FREE! https://t.co/CAkwg9WWcK pic.twitter.com/Lq6I9fXAYx
— Maddie Stone (@maddiestone) March 6, 2019
The good things:
— Joxean Koret (@matalaz) March 6, 2019
- The decompiler is fucking awesome.
- The decompiler supports anything that you can disassemble.
- Everything is fully integrated.
- Multi-binaries projects with version control.
- Undo!
Хотя, нужно отметить, что не обошлось и без небольших накладок: буквально через несколько минут после релиза в коде Ghidra обнаружили небольшой баг. Британский ИБ-эксперт и глава Hacker House Мэтью Хики (Matthew Hickey) заметил, что в отладочном режиме инструмент АНБ открывает и «слушает» сетевой порт 18001, что позволяет подключиться к Ghidra удаленно, через JDWP (разумеется, с целью все той же отладки). Хики отмечает, что исправить проблему совсем несложно.
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) March 6, 2019
Другие исследователи и восе шутят, что код Ghidra открыли специально, чтобы энтузиасты нашли и помогли исправить побольше багов, ведь к настоящему моменту были выявлены и другие недочеты.
After a few hours of Ghidra release ? Or maybe that was the reason.. pic.twitter.com/TARujHBWAg
— Avram Marius (@securityshell) March 6, 2019
Напомню, что в настоящее время АНБ уже открыло исходные коды 32 проектов, в рамках программы Technology Transfer Program, и недавно даже обзавелось уже упомянутым выше аккаунтом на GitHub. Одним из наиболее известных опенсорсных инструментов АНБ является Apache NiFi, который применяется для работы с Big Data.