CyberGlossary

Безопасность приложений

Мутационный фаззинг

Также известно как: Мутационный фаззинг, Sample-based фаззинг

Определение

Стратегия фаззинга, при которой новые тестовые входы получаются случайной мутацией существующих корректных образцов — инверсия битов, вставка байтов, splice файлов.

Мутационные фаззеры начинают с корпуса валидных входов — изображений, сетевых пакетов, документов — и применяют небольшие случайные изменения (биты, байты, удаление блоков, splice) для генерации новых кандидатов. В отличие от генеративных фаззеров, им не нужна грамматика формата, что позволяет быстро запускать их на любом парсере или протоколе. В сочетании с обратной связью по покрытию AFL++ и libFuzzer быстро находят входы, проникающие в глубокие пути кода и вскрывающие баги безопасности памяти. Они широко применяются для усиления кодеков, парсеров файлов, драйверов ядра и криптобиблиотек в рамках SSDLC.

Примеры

  • AFL++ мутирует валидные PNG-файлы, обнаруживая heap-overflow в libpng.
  • libFuzzer мутирует корректные HTTP-запросы и крашит самописный HTTP-парсер.

Связанные термины