View
487
Download
0
Embed Size (px)
DESCRIPTION
Some useful information about Fuzzing
Citation preview
Метод тестирования
Fuzzing
Антон ПетровичISSOFT
2013
Fuzzing – подвид тестирования когда вместо ожидаемых данных программе передаются случайные или специально сгенерированные, некорректные данные.
Что такое Фаззинг?
- Легко автоматизируется- Находит много ошибок- Находит много проблем надежности
Плюсы Фаззинга
- Время на сбор и генерацию данных
- Отсутствие метрик- Не определено время фаззинга - Выявляет только определенные ошибки
Минусы Фаззинга
- Генерация – данные подготавливаются с нуля.
- Мутация – данные получаются за счет изменения существующих.
Подходы к Фаззингу
1.Определение цели2.Определение значений3. Генерация данных и их использование4. Мониторинг исключений5. Определение работоспособности ошибки
Фазы Фаззинга
Фаззер – приложение или фреймворк, дающие возможность проводить автоматизированный фаззинг.
Фаззеры
1. Глупый (dumb) фаззер ничего не знает о структуре файлов.
Типы Фаззеров
2. Умный (smart) фаззер имеет некоторое представленные о структуре данных.
Типы Фаззеров
- Файлы- Протоколы
Объекты Фаззинга
- Падение приложений- Переполнение буфера в стеке
- Ошибка разбора форматов файлов
Результаты Фаззинга
Как Microsoft использует фаззинг
Как Google использует фаззинг
Файловые:- MiniFuzz; FileFuzzВеб:-Web Scarab; BurpSuiteКомбинированные:Peach; Universal Fuzzer.
Популярные фаззеры
Файловый фаззинг на примере MiniFuzz
Проект FuzzDB