Новости и события » Hi-Tech » АНБ опубликовал Ghidra, инструментарий для обратного инжиниринга

АНБ опубликовал Ghidra, инструментарий для обратного инжиниринга

АНБ опубликовал Ghidra, инструментарий для обратного инжиниринга

Агентство национальной безопасности США во время проведения конференции RSA объявило об открытии исходных текстов инструментария для проведения обратного инжиниринга Ghidra, который включает интерактивный дизассемблер с поддержкой декомпиляции в код на языке Си и предоставляет мощные средства для анализа исполняемых файлов. Код написан на языке Java и в ближайшее время будет открыт под свободной лицензией Apache 2.0 на GitHub. Продукт доступен для загрузки с сайта ghidra-sre.org (для работы требуется JDK 11+).

Проект развивается на протяжении почти 20 лет и активно применяется спецслужбами США для выявления закладок, анализа вредоносного кода, изучения различных исполняемых файлов и разбора скпомпилированного кода. По своим возможностям продукт сопоставим с расширенной версии проприетарного пакета IDA Pro, но рассчитан исключительно на анализ кода и не включает в себя отладчик.

Основные особенности:

  • Поддержка различных наборов процессорных инструкций и форматов исполняемых файлов;
  • Поддержка анализа исполняемых файлов для платформ Linux, Windows и macOS;
  • В состав входят: дизассемблер, ассемблер, декомпилятор, построить графа хода выполнения кода, модуль для выполнения скриптов и т. п.
  • Возможность выполнения в интерактивном и автоматическом режимах;
  • Поддержка плагинов с реализацией новых компонентов;
  • Поддержка автоматизации действий и расширения существующей функциональности через подключения скриптов на языках Java и Python;
  • Наличие средств для совместной работы групп исследователей и координации работы при обратном инжиниринге очень крупных проектов.

Интересно, что через несколько часов после публикации Ghidra в пакете нашли уязвимость в реализации отладочного режима, в котором открывается сетевой порт 18001 для удаленной отладки приложения по протоколу JDWP (Java Debug Wire Protocol). По умолчанию сетевые соединения принимались на всех доступных сетевых интерфейсах, а не на 127.0.0.1, что позволяло подключиться к Ghidra с других систем и выполнить любой код в контексте приложения. Например, можно подключиться отладчиком, остановить выполнение через установку точки остановка и подставить при помощи команды "print new" свой код, например, "print new java.lang.Runtime.exec('/bin/mkdir /tmp/dir')".

Дополнительно можно отметить почти полностью переработанный выпуск открытого интерактивного дизассемблера REDasm 2.0. Программа отличается модульной архитектурой, позволяющей подключать обработчики дополнительных наборов инструкций и форматов файлов в форме модулей. В базовой поставке поддерживаются форматы PE, ELF, DEX (Android Dalvik), форматы прошивок Sony Playstation, XBox, GameBoy и Nintendo64. Из наборов инструкций поддерживаются x86, x86_64, MIPS, ARMv7, Dalvik и CHIP-8. Из возможностей можно отметить поддержку интерактивного просмотра в стиле IDA, анализ многопоточных приложений, построение наглядного графа хода исполнения, движок обработки цифровых подписей (работа с файлами SDB) и средства для ведения проекта. Код проекта написан на языке С++ (интерфейс на базе Qt) и распространяется под лицензией GPLv3. Поддерживается работа в Windows и Linux.

Android Sony


Свежие новости Украины на сегодня и последние события в мире экономики и политики, культуры и спорта, технологий, здоровья, происшествий, авто и мото

Вверх