Что такое Fuzzing?
В этой статье разберем метод тестирования программного обеспечения.
Фазз-тестирование - это метод тестирования ПО способом "черного ящика", он заключается в поиске ошибок реализации посредством введения недостоверных данных в автоматизированной задаче.
Такой анализ является техникой тестирования, которая используется повсеместно тестировщиками и разработчиками на проникновение, чтобы проверить приложения на неожиданные, недопустимые и случайные наборы вводимых данных. В ответ на такие действия приложение выдает ошибку или сбой. Весь процесс показывает, что в системе есть уязвимости. Такие как:
История появления
Классическое фазз-тестирование было разработано в Университете Висконсин-Мэдисон в 1989 году профессором Бартоном Миллером и студентами. Оно было ориентировано на интерфейс в целом и командную строку. Именно оно устанавливает, что современные ОС являются уязвимыми для самого простого фаззинга.
Типы атак
Подход в этом тестировании заключается в определении списков "известных опасных значений" (fuzz vectors) для каждого вида:
- Для целых чисел в список входит: ноль, отрицательные и очень большие числа.
- Для символов это: экранированные, интерпретируемые символы / инструкции
- Для двоичных чисел: случайные единицы.
- Для символов: экранированные, интерпретируемые символы / инструкции (например: кавычки)
Специальная программа для фаззинга — фаззер перебирает комбинации атак на следующие "мишени":
- числа (целые числа со знаком/без знака/плоские числа)
- символы (вводы командной строки)
- метаданные: вводимый пользователем текст
- чистые двоичные последовательности.
Важность Fazzing для тестирования безопасности
Вся суть тестирования строится на гипотезе, что в каждой программе есть ошибки, которые могут быть найдены в самый неожиданный момент. Поэтому, система и структурный подход очень скоро помогут их обнаружить.
Фаззинг привнесет в классическое тестирование ПО новые перспективы и векторы развития, поскольку является машинным методом в противопоставление классическим методам, таким как: ручной просмотр кода и отладка. Он станет отличным дополнением благодаря своей работе.
Теперь вы знаете о методике тестирования ПО. Берите на заметку, хакеры🥷
🔥 Ставь реакцию, если понравилась статья
⚡️Остались вопросы? Пиши - @golden_hpa