Skip to content
S

sydr-support

Sydr-Fuzz

Телеграм-канал поддержки Sydr

Sydr-Fuzz - это комплекс инструментов для для огранизации гибридного фаззинга и сопутствующих этапов динамического анализа. Разрабатывается в Институте системного программирования им. В.П. Иванникова Российской академии наук (ИСП РАН).

Текущая версия: 2.8.0
Точные ссылки на скачивание инструмента:


Sydr-Fuzz распространяется по лицензии Crusher и по отдельной лицензии Sydr (находится в отдельной папке SYDR_license). Каждый дистрибутив распространяется в двух вариантах: для старых (YMYCK) и новых (XEKDC) версий аппаратных ключей инструмента лицензирования Sentinel. Дистрибутивы отдельной лицензии Sydr отмечены суффиксом SL


Sydr-Fuzz предназначен для запуска на 64-битной ОС на основе Linux (Ubuntu18.04/Astra-1.7 и новее), поддерживаются архитектуры x86\x86-64, Aarch64 и RISC-V. Комплекс Sydr-Fuzz состоит из следующих инструментов:

  • Sydr-Fuzz - инструмент для организации пайплайна динамического анализа: гибридный фаззинг, сбор покрытия, анализ аварийных завершений. Основной функцией Sydr-Fuzz является организация гибридного фаззинга - комбинация инструментов фаззинга (поддерживаются AFL++ и libFuzzer) и символьной интерпретации (Sydr). Также Sydr-Fuzz автоматизирует этапы минимизации корпуса, сбора покрытия, целенаправленного поиска ошибок с помощью Sydr и анализа найденных ошибок.

  • Sydr - инструмент динамической символьной интерпретации (dynamic symbolic execution, DSE). Инструмент генерирует новые входные данные для программы путем инвертирования сложных условных переходов, которые тяжело преодолеть обычными алгоритмами фаззинга. Также Sydr, с помощью символьных предикатов безопасности, позволяет находить в программе такие ошибки как переполнение буфера, целочисленное переполнение, строковые инъекции и т.д.

  • CASR - инструмент анализа аварийных завершений. Отдельно данный инструмент свободно распространяется (лицензия Apache-2.0, https://github.com/ispras/casr). CASR генерирует отчеты для аварийных завершений и исключений, основываясь на информации от санитайзеров и gdb. На основе стека вызовов происходит дедупликация (удаление одинаковых ошибок) и кластеризация (объединение похожих ошибок) аварийных завершений. CASR позволяет автоматически анализировать выходные директории libFuzzer и AFL++, отдельно обработать предупреждения от UndefinedBehaviour санитайзера, организовать экспорт ошибок в систему DoJo. CASR поддерживает анализ ошибок в C/C++/Rust/Go/Python/Java/JavaScript коде.