Codeby Market от Сodeby

Мы запустили свой магазин CodebyMarket Equipment for InfoSec. Уже добавили RaspberryAlfa Long-RangeOrange PiArduino и многое другое. Купить Pentesting Devices


BARF Project

Мультиплатформенный двоичный анализ с открытым исходным кодом: BARF Project

Анализ бинарного кода является важнейшей задачей во многих областях компьютерных наук и программных дисциплин, начиная от защиты программного обеспечения и анализа программ до обратного проектирования. Ручной двоичный анализ — сложная и трудоемкая задача, и существуют программные средства, которые стремятся автоматизировать процесс или помочь аналитикам. Однако, большинство этих инструментов имеют ряд технических и коммерческих ограничений, которые ограничивают доступ и использование данных инструментов для значительной части академических и практических сообществ. BARF — это бинарный анализ с открытым исходным кодом, который предназначен для поддержки широкого круга задач анализа двоичного кода, которые являются общими для дисциплины информационной безопасности. Это платформа с поддержкой сценариев, которая поддерживает поднятие инструкций из нескольких архитектур, двоичный перевод в промежуточное представление, расширяемый фреймворк для плагинов для анализа кода и взаимодействия с внешними инструментами, такими как отладчики, SMT-решающие устройства и средства контроля инструментов. Эта структура предназначена, в первую очередь, для анализа с участием человека, но может быть полностью автоматизирована.

Скачать BARF Project

мультиплатформенный двоичный анализ с открытым исходным кодом

Проект BARF включает BARF и соответствующие инструменты и пакеты. Пока проект состоит из следующих элементов:

  • BARF: Мультиплатформенный двоичный анализ с открытым исходным кодом и фреймворком обратного проектирования.
  • PyAsmJIT: JIT для архитектруы Intel x86_64 and ARM.
  • Инструменты, созданные на базе BARF:
    • BARFgadgets: Позволяет вам искать, классифицировать и проверять ROP приспособления внутри двоичной программы.
    • BARFcfg: Позволяет восстановить граф потока управления функциями двоичной программы.
    • BARFcg: Позволяет вам восстановить граф вызовов функций двоичной программы.

Для получения большей информации ознакомьтесь с:

  • BARF: Мультиплатформенный двоичный анализ с открытым исходным кодом и фреймворком обратного проектирования (Подробный доклад) [en]
  • BARFing Gadgets (презентация ekoparty2014) [es]

BARF Project

BARF — это пакет Python для двоичного анализа и обратного проектирования. Он может:

  • Загружать двоичные программы в разных форматах (ELF, PE и т. д.),
  • Поддерживает архитектуру Intel x86 для 32 и 64 бит,
  • Поддерживает архитектуру ARM для 32 бит,
  • Работает на промежуточном языке (REIL), поэтому весь алгоритм анализа является агностическим
  • Имеет интеграцию с Z3 и CVC4 SMT решающими устройствами, что означает, что вы можете выражать фрагменты кода в виде формул и проверять ограничения на них.

Установка BARF Project

BARF зависит от следующих SMT решающих устройств:


Paranoid - курс от Codeby Security School

Представляем вашему вниманию курс от команды codeby - "Комплекс мер по защите персональных данных, анонимности в интернете и не только" Подробнее ...


  • Z3 : Высокопроизводительный корректор теорем, разработанный в Microsoft Research.
  • CVC4 : Эффективный автоматизированный метод доказательства теорем с открытым исходным кодом для выполнимости проблем по модулю теорий (SMT).

Следующая команда выполнит установку BARF на вашу систему:

Вы также можете установить ее локально:

Примечания

  • сего лишь одно SMT решающее устройство необходимо для корректной работы. Вы можете выбрать между Z3 и CVC4 или установить оба. Вы можете использовать сценарий barf-install-solver.sh, который скачает и установит оба решающих устройства
  • Для запуска тестов, вам необходимо будет сначала установить PyAsmJIT first.

Обзор BARF Project

Весь фреймфорк разделен на 3 главных компонента:  core (ядро), arch и  analysis (анализ).

Core

Этот компонент включает в себя следующие существенные компоненты:

  • REIL: Предоставляет определения для языка REIL. Он также реализует эмулятор (emulator) и синтаксический анализатор (parser).
  • SMT : Предоставляет средства для взаимодействия с Z3 SMT решающим устройством. Также, он предоставляет функциональность для перевода REIL инструкций в SMT выражения
  • BI : Модуль Binary Interface отвечает за загрузку двоичных файлов для обработки (он использует [PEFile] и [PyELFTools].)

Arch

Каждая поддерживаемая архитектура предоставляется в виде подкомпонента, который содержит следующие модули.

  • Architecture : Описывает архитектуру, т. е. регистры, размер адреса памяти.
  • Translator : обеспечивает переводчиков в REIL для каждой поддерживаемой инструкции.
  • Disassembler : обеспечивает разборку функций (использует Capstone.)
  • Parser : преобразует инструкцию в строку объектной формы (предоставляется модулем инструкций).

Analysis

Пока этот компонент состоит из двух модулей: Control-Flow Graph, Call Graph и Code Analyzer. Первые два, обеспечивает функциональность для восстановления CFG и CG, соответственно. Последний является высокоуровневым интерфейсом для функций, связанных с SMT-решающими устройствами.

Структура директории

Перевод: Анна Давыдова
Источник: n0where.net

Это интересно:


Безопасная сделка с гарантом Сodeby

Гарант является доверенным посредником между Участниками при проведении сделки.​ Услуга сайта «Проведение сделок через Гаранта» предоставляется всем зарегистрированным пользователям codeby.net Подробнее ...


Похожие темы

Tactical Exploitation. WarBerryPi Привет форум! Давайте рассмотрим очередной инструмент для сканирования локальных сетей. Утилита, на которую я хочу обратить внимание, называется W...
Система обнаружения вредоносного трафика: Maltrail... Перевод: Анна Давыдова Источник: n0where.net Система обнаружения вредоносного трафика  Maltrail является системой обнаружения вредоносного тра...
Обновление Metasploit Framework В этой теме я хотел бы обратить внимание на обновление Metasploit Framework, а точнее на новые скрипты (модули), которые мы добавим в него. И от...
MetaModule — Тестирование SSH ключа с Метасп... Если вы получаете незашифрованный конфиденциальный ключ SSH от взломанной целевой машины, вы можете запустить MetaModule тестирования ключа SSH....
Wycheproof — тестирование криптографических ... Тестирование криптографических библиотек против известных атак: Wycheproof Проект Wycheproof тестирует криптографические библиотеки против изве...