Sydr-fuzz
Sydr-fuzz - это инструмент динамического анализа для безопасного цикла разработки ПО. Sydr-fuzz сочетает в себе мощь инструмента динамического символьного выполнения Sydr и современных фаззеров. Sydr позволяет увеличивать покрытие кода и обнаруживать ошибки. На данный момент sydr-fuzz позволяет запускать Sydr вместе с libFuzzer и AFL++, а также поддерживает фаззинг Python/CPython с помощью Atheris, фаззинг Java с помощью Jazzer и фаззинг JavaScript c помощью Jazzer.js. Примеры уже настроенных фаззинг целей для sydr-fuzz можно найти в репозитории OSS-Sydr-Fuzz. По сути sydr-fuzz реализует пайплайн фаззинга:
- Гибридный фаззинг с помощью Sydr и одного из фаззеров (libFuzzer, AFL++),
фаззинг Python (Atheris), Java (Jazzer) и JavaScript (Jazzer.js):
sydr-fuzz run
- Минимизация корпуса:
sydr-fuzz cmin
(шаг обязателен для AFL++) - Поиск ошибок (выхода за границы буфера, целочисленного переполнения, деления
на нуль и др.) символьными предикатами безопасности Sydr:
sydr-fuzz security
- Сбор покрытия:
sydr-fuzz cov-html
- Дедупликация, кластеризация и оценка критичности аварийных завершений и ошибок
неопределенного поведения с использованием Casr, а также выгрузка новых
уникальных отчетов в систему DefectDojo:
sydr-fuzz casr --ubsan --url <URL>
Документация
- sydr-fuzz.md - подробное описание опций и применения инструмента гибридного фаззинга Sydr-Fuzz.
- install.md - зависимости и установка релиза Sydr-Fuzz.
- config.md - полная спецификация конфигурационного файла для Sydr-Fuzz.
- sydr.md - документация Sydr - инструмента динамической символьной интерпретации, входящего в состав Sydr-Fuzz.
- misc.md - инструкции по созданию фаззинг целей и подготовки докера для фаззинга.
Трофеи
Список трофеев можно найти в репозитории OSS-Sydr-Fuzz.
Статьи и презентации
- Vishnyakov A., Fedotov A., Kuts D., Novikov A., Parygina D., Kobrin E., Logunova V., Belecky P., Kurmangaleev Sh. Sydr: Cutting Edge Dynamic Symbolic Execution. 2020 Ivannikov ISPRAS Open Conference (ISPRAS), IEEE, 2020, pp. 46-54. DOI: 10.1109/ISPRAS51486.2020.00014 [статья] [слайды] [видео]
- Федотов, А. Н., Курмангалеев, Ш. Ф. (2020). CASR: анализ coredump файлов в ОС Linux и составление отчётов об ошибках. Труды Института системного программирования РАН, 32(4). [статья]
- Kuts D. Towards Symbolic Pointers Reasoning in Dynamic Symbolic Execution. 2021 Ivannikov Memorial Workshop (IVMEM), IEEE, 2021. [статья] [слайды]
- Vishnyakov A., Logunova V., Kobrin E., Kuts D., Parygina D., Fedotov A. Symbolic Security Predicates: Hunt Program Weaknesses. 2021 Ivannikov ISPRAS Open Conference (ISPRAS), IEEE, 2021. [статья] [слайды] [видео]
- Savidov G., Fedotov A. Casr-Cluster: Crash Clustering for Linux Applications. 2021 Ivannikov ISPRAS Open Conference (ISPRAS), IEEE, 2021. [статья] [слайды]
- Кобрин И.А., Вишняков А.В., Федотов А.Н. Гибридный фаззинг фреймворка машинного обучения TensorFlow. МиТСОБИ 2022. [слайды]
- Вишняков А.В., Кобрин И.А., Федотов А.Н. Поиск ошибок в бинарном коде методами динамической символьной интерпретации. Труды Института системного программирования РАН, 34(2), 2022, c. 25-42. [статья] [слайды]
- Федотов А. Sydr: Технология динамического анализа. Пленарная сессия IVMEM 2022. [слайды] [видео]
- Федотов А. SDL в искусственном интеллекте. Пленарная сессия IVMEM 2022. [слайды] [видео]
- Parygina D., Vishnyakov A., Fedotov A. Strong Optimistic Solving for Dynamic Symbolic Execution. 2022 Ivannikov Memorial Workshop (IVMEM), IEEE, 2022. [статья] [cлайды] [видео]
- Федотов А. Sydr: Гибридный фаззинг. Круглый стол по безопасной разработке ПО IVMEM 2022. [cлайды]
- Федотов А. Sydr & CASR: Динамический анализ для SDL. Разработка доверенного ПО ISP RAS Open 2022. [слайды]
- Федотов А. Разработка доверенных версий фреймворков машинного обучения. Системы доверенного ИИ ISP RAS Open 2022. [слайды] [видео]
- Vishnyakov A., Kuts D., Logunova V., Parygina D., Kobrin E., Savidov G., Fedotov A. Sydr-Fuzz: Continuous Hybrid Fuzzing and Dynamic Analysis for Security Development Lifecycle. 2022 Ivannikov ISPRAS Open Conference (ISPRAS), IEEE. [статья] [слайды] [видео]
- Вишняков А.В. Поиск ошибок в бинарном коде методами динамической символьной интерпретации. PhD thesis. [диссертация] [автореферат] [cлайды]
- Fedotov A., Vishnyakov A. CASR: Your Life Vest in a Sea of Crashes. OFFZONE 2023. [слайды] [видео]
- Padaryan V., Stepanov V., Vishnyakov A. Fuzzing for SDL: Select, Cover, Reveal. OFFZONE 2023 [слайды] [видео]
- Mezhuev T., Kobrin I., Vishnyakov A., Kuts D. Numeric Truncation Security Predicate. 2023 Ivannikov ISPRAS Open Conference (ISPRAS), IEEE. [статья] [слайды] [видео]