Аннотация:
Сегодня автоматизированные фреймворки динамического анализа для непрерывного тестирования востребованы как никогда – они обеспечивают безопасность программного обеспечения и соответствие требованиям Security Development Lifecycle (SDL). Эффективность поиска уязвимостей с помощью современных гибридных методов фаззинга превосходит традиционный фаззинг, основанный на покрытии кода. Мы предлагаем улучшенный конвейер динамического анализа для повышения результативности автоматизированного поиска ошибок, основанный на гибридном фаззинге. Его реализация – инструмент Sydr-Fuzz, в котором наш инструмент символьного выполнения Sydr интегрирован с libFuzzer и AFL++. В Sydr-Fuzz также входят проверка предикатов безопасности, инструмент triage для крашей Casr, а также утилиты минимизации корпуса и сбора покрытия. Бенчмаркинг показал, что Sydr-Fuzz превосходит фаззеры, ориентированные на покрытие, и сопоставим с современными гибридными фаззерами. В рамках проекта OSS-Sydr-Fuzz мы обнаружили 85 новых уязвимостей в реальных программах. Кроме того, мы открыли исходный код Casr для сообщества.