WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

Фа́ззинг (англ. fuzzing) — техника тестирования программного обеспечения, часто автоматическая или полуавтоматическая, заключающая в передаче приложению на вход неправильных, неожиданных или случайных данных. Предметом интереса являются падения и зависания, нарушения внутренней логики и проверок в коде приложения, утечки памяти, вызванные такими данными на входе. Фаззинг является разновидностью выборочного тестирования (англ. random testing), часто используемого для проверки проблем безопасности в программном обеспечении и компьютерных системах.

При проверке безопасности наибольший интерес вызывают проверки на границе доверия[1]. Например, намного важнее провести фаззинг-тестирование формы загрузки файлов неавторизованным пользователем, чем загрузку конфигурационного файла авторизованным привилегированным пользователем.

История

Случайные данные применялись при тестировании приложений и раньше. К примеру, приложение «Обезьяна» (англ. The Monkey) под Mac OS, созданное Стивом Капсом ещё в 1983 году, генерировала случайные события, которые направлялись на вход тестируемым программам для поиска багов. Оно использовалось, в частности, при тестировании MacPaint[en][2].

Термин «fuzz» появился в 1988 году на семинаре Бартона Миллера в Университете Висконсина[3], во время которого была создана простая программа fuzzer, предназначенная для командной строки, с целью тестирования надежности приложений под Unix. Оно генерировало случайные данные, которые передавались как параметры для других программ до тех пор, пока они не останавливались с ошибкой. Это стало не только первым в истории тестированием с использованием случайных неструктурированных данных, но и первым специализированным приложением для тестирования широкого круга программ под разнообразные операционные системы, и с систематическим анализом типов ошибок, возникающих при таком тестировании. Создатели проекта открыли исходные коды своего приложения, а также публичный доступ к процедурам тестирования и сырым результатам. Тест был повторен в 1995 году — приложение доработали для тестирования приложений с GUI, сетевых протоколов и системных библиотек под Mac OS и Windows.

Стоит отметить, что схожие техники тестирования существовали задолго до появления термина и формализации процедуры. Так, известно, что Джерри Вейнберг использовал набор карт со случайными числами, чтобы передавать их на вход программ ещё в 1950-х годах.[4]

В 1991 году было выпущено приложение crashme, созданное для тестирования надежности программ под Unix и Unix-подобные операционные системы путем исполнения случайного набора процессорных инструкций[5].

В настоящее время фаззинг-тестирование является составной частью большинства проверок безопасности и надёжности программного обеспечения и компьютерных систем.

См. также

Примечания

  1. ↑ John Neystadt. Automated Penetration Testing with White-Box Fuzzing. Microsoft (February 2008). Проверено 14 мая 2009.
  2. ↑ Macintosh Stories: Monkey Lives. Folklore.org (22 февраля 1999). Проверено 28 мая 2010.
  3. ↑ Fuzzing: Brute Force Vulnerability Discovery. — Addison-Wesley, 2007. — ISBN 0-321-44611-9.
  4. ↑ Gerald M. Weinberg. Fuzz Testing and Fuzz History. Проверено 6 февраля 2017.
  5. ↑ crashme. CodePlex. Проверено 26 июня 2012.

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2026
WikiSort.ru - проект по пересортировке и дополнению контента Википедии