АНС публикува кода на Ghidra: мощен инструмент за реверсивно инженерство

5
1762

Агенцията за национална сигурност на САЩ по време на конференцията RSA обяви, че отваря кода на Ghidra – инструментариума за провеждане на реверсивно инженерство на софтуера. Ghidra включва дизасемблер, поддържащ и декомпилиране до програмния език C и представящ мощни средства за анализа на изпълнимите файлове. Кодът е написан на езика за програмиране Java и съвсем скоро ще започне неговото предлагане под Apache 2.0 лиценза. Качването на кода в GitHub вече започна. Продуктът ще може да бъде изтеглен и от сайта ghidra-sre.org. Интересно е, че този уеб сайт е недостъпен за руските потребители.

Проектът се развива от вече 20 години и активно се използва от специалните служби на САЩ за разкриване на вградени задни врати в софтуера, за изучаване на изпълнимите файлове и за анализ на получения от дизасемблера код. Възможностите на продукта надвишават разширената версия на популярния пакет IDA Pro, но е фокусиран предимно върху анализа на кода и не включва дебъгер. От друга страна, Ghidra разполага с декомпилатор към псевдо код, приличащ на С. В IDA Pro тази възможност се осигурява чрез външни плъгини. Ghidra разполага с твърде мощни средства за съвместен анализ на изпълнимите файлове.

Основни особености на Ghidra:

  • Поддръжка на инструкциите на различни процесори и различни формати на изпълнимите файлове
  • Анализ на изпълнимите файлове за 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. Програмата е характерна със своята разширяема архитектура, даваща възможност за включването на допълнителни модули със собствени инструкции и аналитични инструменти, пакетирани като модули. Кодът на проекта е написан на програмния език С++ (интерфейсът използва Qt) и се разпространява чрез GPLv3 лиценза. Поддържат се операционните системи Windows и Linux.

В базовата версия на Ghidra се поддържат PE, ELF, DEX (Android Dalvik) файловете, както и форматите на фърмуерите на Sony Playstation, XBox, GameBoy и Nintendo64. От процесорните инструкции се поддържат x86, x86_64, MIPS, ARMv7, Dalvik и CHIP-8. Поддържа се интерактивен режим, много подобен на този от IDA. Възможен е анализът на многопоточни приложения, вграден е енджин за работа с цифровите подписи (работи с SDB файловете).

5
ДОБАВИ КОМЕНТАР

avatar
2 Коментари
3 Отговори на коментарите
5 Последователи
 
Коментарът с най-много реакции
Най-горещият коментар
5 Автори на коментарите
Калинбай мангалOceanic815112boot Автори на последните коментари
  Абонирай се  
нови стари оценка
Извести ме за
boot
boot

„Анализ на изпълнимите файлове за Linux, Windows и macOS“
Калдата, н’дейте. Последното струва много пари, за него няма вируси, най-доброто е. Дори май имахте една статия с философии как някакъв директор се махнал от Епъл, щото там нямало какво повече да се развива по перфектната МакОС.. Н’дейте сасипва мита как ЦРУ и ФБР ползват израелски софт, че да „пробиват“ „свръхсигурния софт“ на Епъл.

112
112

Тази мантра за Мак ОС я забравете, скоро имаше статия как службите проникват без проблем. Иначе кодът и да е забранен за руски потребители те пак ще си го набавят, няма съмнение.

бай мангал
бай мангал

Те братушките имат сорса от времв оно гат бате Сноудън им.даде манна небесна и данни! Иначе евала, че има дизасемблер, който е чуден и не струва майка си и баща им! ‘-‘
Относно прехваленият macOS или Windows 10 си има Kon-Boot!
Айде халал и със здраве!

Oceanic815
Oceanic815

Айде бе!

– Вярно ли, че за iOS няма вируси?
– Има, обаче са платени.

Калин
Калин

„Любопитно е, че няколко часа след началото на публикуването на Ghidra, в пакета бе открита уязвимост“ – даровете на данайците 😀