Фаззинг с обратной связью по покрытию
Что такое Фаззинг с обратной связью по покрытию?
Фаззинг с обратной связью по покрытиюТехника фаззинга, при которой целевой код инструментируется для измерения покрытия, а входы эволюционируют так, чтобы достигать новых веток, что резко повышает эффективность.
Coverage-guided фаззеры инструментируют целевую программу на этапе компиляции или через динамическую бинарную трансляцию и при выполнении кандидатов собирают покрытие по рёбрам или базовым блокам. Входы, открывающие новое покрытие, остаются в корпусе и мутируются эволюционным алгоритмом, что смещает корпус к труднодостижимым участкам кода. Эта петля обратной связи, популяризованная AFL и улучшенная в AFL++, libFuzzer и Honggfuzz, на порядки эффективнее слепого случайного фаззинга. На ней работает Google OSS-Fuzz, нашедший десятки тысяч багов в open-source коде за счёт непрерывного запуска coverage-guided фаззеров.
● Примеры
- 01
Скомпилировать C-парсер с инструментацией AFL++ и расширять корпус через afl-fuzz.
- 02
libFuzzer с SanitizerCoverage эволюционирует входы для Rust-крейта.
● Частые вопросы
Что такое Фаззинг с обратной связью по покрытию?
Техника фаззинга, при которой целевой код инструментируется для измерения покрытия, а входы эволюционируют так, чтобы достигать новых веток, что резко повышает эффективность. Относится к категории Безопасность приложений в кибербезопасности.
Что означает Фаззинг с обратной связью по покрытию?
Техника фаззинга, при которой целевой код инструментируется для измерения покрытия, а входы эволюционируют так, чтобы достигать новых веток, что резко повышает эффективность.
Как защититься от Фаззинг с обратной связью по покрытию?
Защита от Фаззинг с обратной связью по покрытию обычно сочетает технические меры и операционные практики, как описано в определении выше.
Какие есть другие названия Фаззинг с обратной связью по покрытию?
Распространённые альтернативные названия: Greybox-фаззинг, Фаззинг по обратной связи.