Методическая рекомендация № 2025-05-009 | Уровень критичности: 2
Область: Фаззинг-тестирование.
Тип недостатка: Игнорирование необходимости анализа сэмплов, приведших к зависанию фаззинг-цели.
Описание: На рис. 1-2 представлены сведения о том, что фаззер обнаружил варианты входных данных, подача которых в фаззинг-цель приводит к "зависанию" (hang) фаззера - выполнению кода цели больше отведенного времени. На рис. 3 представлен пример итогового отчета по анализу (триажу) результатов запуска одной из упомянутых выше фаззинг-целей, в котором игнорируется факт обнаружения фаззером зависаний цели.
По умолчанию фаззеры семейста AFL трактуют факты выполнения фаззинг-цели более чем 1 секунду в качестве зависаний. В соответствии с лучшими практиками фаззинг-цель формируются таким образом, чтобы среднее время выполнения составляло не более десятков миллисекунд. Это позволяет выполнять миллиарды запусков цели на достаточно стандартном аппаратном обеспечении, доступном средней организации - генетический фаззинг по своей природе наиболее эффективен именно при большом числе запуском. Если цель выполняется существенно дольше, это может в т. ч. свидетельствовать об обнаружении ситуации перерасхода ресурсов, либо бесконечного цикла, что может являться признаком ошибки кода цели.
В тех случаях, когда выбор фаззинг-цели, выполняющейся более 1 секунды, сделан сознательно и обоснованно, возможно увеличение предельного времени выполнения - таймаута - с использованием соответствующих параметров запуска фаззера.
Рекомендации:
- необходимо исследовать ситуации и приводить результаты анализа в материалах сертификационных испытаний для тех вариантов входных данных, подача которых в фаззинг-цель приводит к "зависанию" фаззера.
- рекомендуется стремиться к времени выполнения одной фаззинг-цели, не превышающем 10 миллисекунд на одном ядре современной серверной вычислительной системы.
- при необходимости увеличения таймаута для конкретных фаззинг-целей увеличивать его в параметрах фаззера, с приведением обоснования увеличения.
Дополнительные информационные материалы:
Источник: https://t.me/sdl_inform/172