Фарос Статического бинарного анализа - это проект Института разработки программного обеспечения в Университете Карнеги -Меллона. Структура предназначена для облегчения автоматического анализа бинарных программ. Он использует инфраструктуру компилятора Rose, разработанную Национальной лабораторией Лоуренса Ливермора по разборке, анализу контроля, семантике обучения и многим другим. Это программное обеспечение выпускается по лицензии BSD.
Текущее распределение является существенным обновлением для предыдущей версии и добавляет различные функции, включая улучшения в инструменте ooanalyzer, код экспериментального анализа пути, улучшения раздела, многопоточное и многие другие меньшие функции.
Фарос Framework - это исследовательский проект, и код подвергается активной разработке. Никаких гарантий пригодности для каких -либо целей не предоставляется. В то время как этот релиз предоставляет инструкции по сборке, модульные тесты и некоторую документацию, еще предстоит проделать много работы. Мы протестировали несколько конфигураций избранных сборки, но мы не активно протестировали переносимость исходного кода. Смотрите инструкции по установке для более подробной информации.
Поскольку основной целью выпуска этого кода является обеспечение прозрачности в нашем исследовании и стимулировать разговор с другими исследователями бинарного статического анализа, пожалуйста, не стесняйтесь обращаться к Cory Cohen [email protected] с вопросами об этой работе. Возможно, я не смогу ответить своевременно, но я сделаю все возможное.
Apianalyzer - это инструмент для поиска последовательностей вызовов API с указанными данными и контрольными отношениями. Эта возможность предназначена для обнаружения парадигм взаимодействия общей операционной системы, таких как открытие файла, написание его и закрытие.
OOanalyzer - это инструмент для анализа и восстановления объектно -ориентированных конструкций. Этот инструмент был предметом статьи под названием «Использование логического программирования для восстановления классов и методов C ++ от скомпилированных исполняемых файлов», которая была опубликована на конференции ACM по безопасности компьютеров и связи в 2018 году. Инструмент идентифицирует участники объекта и методы, отслеживая указатели объектов между функциями в программе. Предыдущая реализация этого инструмента была названа «objdigger», но она была переименована в то, чтобы отразить существенную редизайн с использованием правил пролога для восстановления атрибутов объекта. Текущая версия инструмента поддерживает только анализ 32-разрядных исполнителей x86, составленных Microsoft Visual C ++. Более подробные инструкторы о том, как запустить ooanalyzer на очень больших исполняемых файлах, см. Эти примечания.
Распределение Pharos использовалось для включения плагина, который импортировал информацию OO, экспортируемую Ooanalayzer в набор инструментов Ghidra Reaction Engineering. Чтобы получить эту функциональность сейчас и в будущем, установите плагин Kaiju Ghidra, который включает в себя функциональность, которая была предоставлена плагином Ooanalayzer.
Callanalyzer - это инструмент для сообщения о статических параметрах для вызовов API в двоичной программе. Это в значительной степени демонстрация нашей текущей конференции по вызову, анализа параметров и возможностей обнаружения типов, хотя она также обеспечивает полезный анализ кода в программе.
FN2YARA - это инструмент для создания подписей Yara для сопоставления функций в исполняемой программе. Программы, которые разделяют значительное количество функций, вероятно, будут иметь общее поведение.
FN2HASH - это инструмент для создания различных хэшей и других описательных свойств для функций в исполняемой программе. Как и FN2YARA, его можно использовать для поддержки анализа бинарных сходства или предоставления функций для алгоритмов машинного обучения.
Dimplamsm - это инструмент для дамп списков разборки из исполняемого файла с использованием структуры Pharos в том же стиле, что и другие инструменты. Он не был активно поддерживается, и вам следует рассмотреть возможность использования стандартного рекурсивного рекурсивного рекурсива http://rosecompiler.org/rose_html_reference/rosetools.html.