1. Главная
  2. Что такое фаззинг-тестирование

Что такое фаззинг-тестирование

24 мая 20261 минута чтения
Иллюстрация материала

Фаззинг-тестирование (англ. to fuzz — затуманивать, делать нечетким) — метод автоматизированного тестирования, при котором для проверки работы системы специально подаются случайные или некорректные входные данные. Такой способ позволяет обнаружить уязвимости как на стадии разработки программного обеспечения, так и в процессе его использования.

Фаззинг можно описать как попытку намеренно сломать программу: если в ответ на запрос с ошибкой она зависает или ведет себя непредсказуемо, значит, в ней есть дефект. Это особенно важно для повышения безопасности ПО, поскольку многие кибератаки начинаются именно с некорректных данных, которые приводят к сбоям или открывают доступ к системе.

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

Фаззинг работает с непредсказуемостью, помогает находить ошибки, которые сложно обнаружить в процессе обычного тестирования, когда проверяются только ожидаемые сценарии. Сегодня такой метод активно используется в сфере кибербезопасности, в том числе на объектах критической информационной инфраструктуры.

Современные инструменты позволяют проводить миллионы тестов, анализировать их результаты и указывать на уязвимости в коде. Поэтому фаззинг-тестирование считается одним из лучших способов повышения надежности и устойчивости программ.

Текст: