sydr-support
Sydr-Fuzz
Sydr-Fuzz - это комплекс инструментов для для огранизации гибридного фаззинга и сопутствующих этапов динамического анализа. Разрабатывается в Институте системного программирования им. В.П. Иванникова Российской академии наук (ИСП РАН).
- Сообщить о проблеме (требуется учётная запись, обратитесь на sydr@ispras.ru)
- Страница инструмента
- Репозиторий с подготовленными проектами для фаззинга
- Гайды по использованию
Текущая версия: 2.8.0
Точные ссылки на скачивание инструмента:
- Новый ключ XEKDC
- Старый ключ YMYCK
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 коде.