SlideShare une entreprise Scribd logo
1  sur  26
Télécharger pour lire hors ligne
Применение fuzz тестирования
         Очир Абушинов
        WWPass Corporation
План
•
    Что такое фаззинг (fuzzing) и зачем он нужен
•
    Обзор инструментов для фазз тестирования
•
    Фаззинг файлов
•
    Фаззинг протоколов
•
    Фаззинг драйверов
•
    Фаззинг веб-приложений
•
    Пример фаззинга веб-приложения
•
    Пример фаззинга сетевого приложения
•
    Какие баги можно найти при помощи фаззинга
•
    Фаззинг в процессе тестирования
•
    Полезные ссылки и литература
Что такое фаззинг
            (fuzzing)

Фаззинг (fuzzing) – методика тестирования,
при которой на вход программы подаются
невалидные, непредусмотренные или
случайные данные
Что такое фаззинг
     (fuzzing)
Зачем он нужен?
Что можно фаззить?

•
 Файлы
•
 Драйверы
•
 Приложения
•
 Веб-приложения
•
 Протоколы
•
 API
Как можно фаззить?

1) Генерация
- случайные данные (dumb)
-
   входные данные,
   сформированные по моделям
   (smart)

2) Мутация
- изменение существующих входных
данных
Фаззинг файлов

1) Выбираем входные данные
2) Фаззер искажает эти данные
3) Фаззер запускает приложение с
передачей ему искаженных данных
4) Фаззер перебирает входные
данные
5) В случае возникновения ошибки,
записываем данные и анализируем
результаты
Фаззинг файлов
Фаззинг файлов

•
 MiniFuzz (Windows)
•
 FileFuzz (Windows)
•
 FileP (Python)
•
 Zzuf (Linux, Mac)
Фаззинг протоколов

1) Выбираем фаззер (свой или
сторонний)
2) Создаем модели данных
3) Описываем параметры модели в
входном файле
4) Запускаем фаззер
5) В случае возникновения ошибки,
записываем данные и анализируем
результаты
Фаззинг протоколов
Фаззинг протоколов
Фаззинг протоколов

•
 PROTOS (WAP, HTTP-reply, LDAP,
SNMP, SIP, ISAKMP) (Java)
•
 Peach и HotFuzz
•
 SPIKE (Linux, C)
Фаззинг драйверов
IOCTL fuzzer
Фаззинг веб-приложений


1) Выбираем какими запросами
будем фазить
2) Подбираем фаззер
3) Создаем скрипт для фаззинга
4) Запускаем фаззер
5) В случае возникновения ошибки,
записываем данные и анализируем
результаты
Фаззинг веб-приложений
Фаззинг веб-приложений

•
 Skyfish
•
 SPIKE Proxy
•
 OWASP WSFuzzer (SOAP)
•
 Rfuzz
•
 Fuzzops
•
 PowerFuzzer
•
 итд.
Фаззинг исходного кода
•
 Jsfuzzer – фаззер JavaScript
  http://code.google.com/p/jsfuzzer/
•
 JavaFuzz – фаззер Ява классов
http://code.google.com/p/javafuzz/
•
 PFF – фаззер PHP
http://www.setec.org/~calcite/code/pff/
Прочие фаззеры

•
 Sulley — фреймворк для создания
сложных структур данных
•
 Fusil — библиотека на Python для
написания фаззеров
•
 Bunny The Fuzzer – фаззер для
протоколов на языке С
•
  Много фаззеров на http://code.google.com
Пример фаззинга веб-
    приложения
Пример фаззинга сетевого
      приложения
Какие баги можно найти при
    помощи фаззинга

•
  Утечки памяти
•
  Переполнение буфера
•
  Неверные коды ошибок
•
  Ошибки обработки входных данных
•
  Отказ в обслуживании
Фаззинг в процессе
      тестирования

•
  Часть процесса тестирования
безопасности
•
  Стоит попробовать с другими
видами тестирования
•
  Необходимо знание протоколов и
форматов данных
•
  Документирование
•
  Это не очень сложно 
Полезные ссылки и
        литература
•
 http://en.wikipedia.org/wiki/Fuzz_testing
•
 http://www.xakep.ru/post/52726/
•
 http://www.fuzzing.org/
•
 http://msdn.microsoft.com/en-
us/library/cc162782.aspx
•
 Педрам Амини, «Fuzzing.
Исследование уязвимостей методом
грубой силы», Символ-Плюс, 2009 г.
Спасибо за внимание!
         Вопросы?
E-mail: ochir.abushinov@gmail.com
Skype: ochir_abushinov

Contenu connexe

Tendances

2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
Омские ИТ-субботники
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
it-people
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + Django
Azamat Tokhtaev
 
Заблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кодаЗаблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кода
RISSPA_SPb
 
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
it-people
 

Tendances (19)

Пример fuzzy testing для поиска URL в тексте
Пример fuzzy testing для поиска URL в текстеПример fuzzy testing для поиска URL в тексте
Пример fuzzy testing для поиска URL в тексте
 
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
#RuPostges в Yandex, эпизод 3. Что же нового в PostgreSQL 9.6
 
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
2013-05-04 01 Ксения Дмитриева. HTML5, Взлом и защита.
 
5 особенностей при вводе в эксплуатацию веб приложения
5 особенностей при вводе в эксплуатацию веб приложения5 особенностей при вводе в эксплуатацию веб приложения
5 особенностей при вводе в эксплуатацию веб приложения
 
Database First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБДDatabase First! О распространённых ошибках использования РСУБД
Database First! О распространённых ошибках использования РСУБД
 
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
«How I Learned to Stop Worrying and Love the BFG: нагрузочное тестирование со...
 
#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов#noBackend, или Как выжить в эпоху толстеющих клиентов
#noBackend, или Как выжить в эпоху толстеющих клиентов
 
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав БахмутовПлюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
Плюсы и минусы Go для разработчиков на C++, Вячеслав Бахмутов
 
Полный цикл разработки на Python + Django
Полный цикл разработки на Python + DjangoПолный цикл разработки на Python + Django
Полный цикл разработки на Python + Django
 
Заблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кодаЗаблуждения и стереотипы относительно анализа кода
Заблуждения и стереотипы относительно анализа кода
 
Бекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без болиБекдоры в пхп. Остаться незамеченным или проникновение без боли
Бекдоры в пхп. Остаться незамеченным или проникновение без боли
 
Защита
ЗащитаЗащита
Защита
 
SEO на этапе создания сайта. Сергей Гирин, Burbon.ru
SEO на этапе создания сайта. Сергей Гирин, Burbon.ruSEO на этапе создания сайта. Сергей Гирин, Burbon.ru
SEO на этапе создания сайта. Сергей Гирин, Burbon.ru
 
Введение в Python и Django
Введение в Python и DjangoВведение в Python и Django
Введение в Python и Django
 
My talk on administering PostgreSQL
My talk on administering PostgreSQLMy talk on administering PostgreSQL
My talk on administering PostgreSQL
 
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
50 оттенков кеширования: обзор актуальных батареек - Григорий Петров, VoxImplant
 
мир без Jsp. thymeleaf 2.0
мир без Jsp. thymeleaf 2.0мир без Jsp. thymeleaf 2.0
мир без Jsp. thymeleaf 2.0
 
BlackBox testing
BlackBox testingBlackBox testing
BlackBox testing
 
Егор Гришечко «Async/Await и всё, что вы боялись спросить»
Егор Гришечко «Async/Await и всё, что вы боялись спросить»Егор Гришечко «Async/Await и всё, что вы боялись спросить»
Егор Гришечко «Async/Await и всё, что вы боялись спросить»
 

En vedette

En vedette (8)

nullcon 2010 - Software Fuzzing with Wireplay
nullcon 2010 - Software Fuzzing with Wireplaynullcon 2010 - Software Fuzzing with Wireplay
nullcon 2010 - Software Fuzzing with Wireplay
 
May you be blessed
May you be blessedMay you be blessed
May you be blessed
 
Payday Loans No Debit Card - Assist To Defeat Your Unanticipated Fiscal Compl...
Payday Loans No Debit Card - Assist To Defeat Your Unanticipated Fiscal Compl...Payday Loans No Debit Card - Assist To Defeat Your Unanticipated Fiscal Compl...
Payday Loans No Debit Card - Assist To Defeat Your Unanticipated Fiscal Compl...
 
elearning courses and webinars
elearning courses and webinarselearning courses and webinars
elearning courses and webinars
 
Метод тестирования Fuzzing
Метод тестирования FuzzingМетод тестирования Fuzzing
Метод тестирования Fuzzing
 
Автоматический поиск уязвимостей в программах без исходных текстов
Автоматический поиск уязвимостей в программах без исходных текстовАвтоматический поиск уязвимостей в программах без исходных текстов
Автоматический поиск уязвимостей в программах без исходных текстов
 
Очир Абушинов - Применение fuzz-тестирования
Очир Абушинов - Применение fuzz-тестированияОчир Абушинов - Применение fuzz-тестирования
Очир Абушинов - Применение fuzz-тестирования
 
Fuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасностиFuzzing - автоматическое тестирование безопасности
Fuzzing - автоматическое тестирование безопасности
 

Similaire à Use of fuzz testing

Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Ontico
 
presentation_r00t_conf
presentation_r00t_confpresentation_r00t_conf
presentation_r00t_conf
Max Glekov
 
автостопом по багтрекингам
автостопом по багтрекингамавтостопом по багтрекингам
автостопом по багтрекингам
Sergey Oreshkov
 
Эффективное управление ПО под *nix
Эффективное управление ПО под *nixЭффективное управление ПО под *nix
Эффективное управление ПО под *nix
Andrew Pantyukhin
 
Андрей Лабунец. Механизмы трассировки
Андрей Лабунец. Механизмы трассировкиАндрей Лабунец. Механизмы трассировки
Андрей Лабунец. Механизмы трассировки
LiloSEA
 

Similaire à Use of fuzz testing (20)

Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
Релиз инжиниринг Mail.ru, взгляд изнутри / Максим Глеков (Mail.Ru Group)
 
presentation_r00t_conf
presentation_r00t_confpresentation_r00t_conf
presentation_r00t_conf
 
Тестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The ScenesТестирование мобильных API: Behind The Scenes
Тестирование мобильных API: Behind The Scenes
 
Автоматизация построения правил для Approof
Автоматизация построения правил для ApproofАвтоматизация построения правил для Approof
Автоматизация построения правил для Approof
 
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
Невыносимая переносимость кроссплатформенных приложений на примере десктопных...
 
Автоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктурыАвтоматизация в тестировании инфраструктуры
Автоматизация в тестировании инфраструктуры
 
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
SECON'2016. Парамонов Сергей, Автоматизируй это! Как не погрязнуть в рутине п...
 
Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?Как построить свой фреймворк для автотестов?
Как построить свой фреймворк для автотестов?
 
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
Брич Наталья - Невыносимая переносимость кроссплатформенных приложений на при...
 
Java/Scala Lab: Юрий Литвиненко - Living in Heroku
Java/Scala Lab: Юрий Литвиненко - Living in Heroku Java/Scala Lab: Юрий Литвиненко - Living in Heroku
Java/Scala Lab: Юрий Литвиненко - Living in Heroku
 
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
Артём Ерошенко, Станислав Селиверстов "Поиск багов в поиске"
 
Автостопом по багтрекингам
Автостопом по багтрекингамАвтостопом по багтрекингам
Автостопом по багтрекингам
 
автостопом по багтрекингам
автостопом по багтрекингамавтостопом по багтрекингам
автостопом по багтрекингам
 
Fuzz.txt
Fuzz.txtFuzz.txt
Fuzz.txt
 
Sivko
SivkoSivko
Sivko
 
Go для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчикаGo для веба глазами PHP-разработчика
Go для веба глазами PHP-разработчика
 
Эффективное управление ПО под *nix
Эффективное управление ПО под *nixЭффективное управление ПО под *nix
Эффективное управление ПО под *nix
 
Вирусное тестирование. Что-то новое в конфигурационном тестировании
Вирусное тестирование. Что-то новое в конфигурационном тестированииВирусное тестирование. Что-то новое в конфигурационном тестировании
Вирусное тестирование. Что-то новое в конфигурационном тестировании
 
Андрей Лабунец. Механизмы трассировки
Андрей Лабунец. Механизмы трассировкиАндрей Лабунец. Механизмы трассировки
Андрей Лабунец. Механизмы трассировки
 
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотестыСпецкурс 2014, занятие 4. Конфиги, сборка, автотесты
Спецкурс 2014, занятие 4. Конфиги, сборка, автотесты
 

Dernier

ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
Ирония безопасности
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
Хроники кибер-безопасника
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Ирония безопасности
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
Хроники кибер-безопасника
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
Хроники кибер-безопасника
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
Хроники кибер-безопасника
 

Dernier (9)

MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 

Use of fuzz testing

  • 1. Применение fuzz тестирования Очир Абушинов WWPass Corporation
  • 2. План • Что такое фаззинг (fuzzing) и зачем он нужен • Обзор инструментов для фазз тестирования • Фаззинг файлов • Фаззинг протоколов • Фаззинг драйверов • Фаззинг веб-приложений • Пример фаззинга веб-приложения • Пример фаззинга сетевого приложения • Какие баги можно найти при помощи фаззинга • Фаззинг в процессе тестирования • Полезные ссылки и литература
  • 3. Что такое фаззинг (fuzzing) Фаззинг (fuzzing) – методика тестирования, при которой на вход программы подаются невалидные, непредусмотренные или случайные данные
  • 6. Что можно фаззить? • Файлы • Драйверы • Приложения • Веб-приложения • Протоколы • API
  • 7. Как можно фаззить? 1) Генерация - случайные данные (dumb) - входные данные, сформированные по моделям (smart) 2) Мутация - изменение существующих входных данных
  • 8. Фаззинг файлов 1) Выбираем входные данные 2) Фаззер искажает эти данные 3) Фаззер запускает приложение с передачей ему искаженных данных 4) Фаззер перебирает входные данные 5) В случае возникновения ошибки, записываем данные и анализируем результаты
  • 10. Фаззинг файлов • MiniFuzz (Windows) • FileFuzz (Windows) • FileP (Python) • Zzuf (Linux, Mac)
  • 11. Фаззинг протоколов 1) Выбираем фаззер (свой или сторонний) 2) Создаем модели данных 3) Описываем параметры модели в входном файле 4) Запускаем фаззер 5) В случае возникновения ошибки, записываем данные и анализируем результаты
  • 14. Фаззинг протоколов • PROTOS (WAP, HTTP-reply, LDAP, SNMP, SIP, ISAKMP) (Java) • Peach и HotFuzz • SPIKE (Linux, C)
  • 16. Фаззинг веб-приложений 1) Выбираем какими запросами будем фазить 2) Подбираем фаззер 3) Создаем скрипт для фаззинга 4) Запускаем фаззер 5) В случае возникновения ошибки, записываем данные и анализируем результаты
  • 18. Фаззинг веб-приложений • Skyfish • SPIKE Proxy • OWASP WSFuzzer (SOAP) • Rfuzz • Fuzzops • PowerFuzzer • итд.
  • 19. Фаззинг исходного кода • Jsfuzzer – фаззер JavaScript http://code.google.com/p/jsfuzzer/ • JavaFuzz – фаззер Ява классов http://code.google.com/p/javafuzz/ • PFF – фаззер PHP http://www.setec.org/~calcite/code/pff/
  • 20. Прочие фаззеры • Sulley — фреймворк для создания сложных структур данных • Fusil — библиотека на Python для написания фаззеров • Bunny The Fuzzer – фаззер для протоколов на языке С • Много фаззеров на http://code.google.com
  • 23. Какие баги можно найти при помощи фаззинга • Утечки памяти • Переполнение буфера • Неверные коды ошибок • Ошибки обработки входных данных • Отказ в обслуживании
  • 24. Фаззинг в процессе тестирования • Часть процесса тестирования безопасности • Стоит попробовать с другими видами тестирования • Необходимо знание протоколов и форматов данных • Документирование • Это не очень сложно 
  • 25. Полезные ссылки и литература • http://en.wikipedia.org/wiki/Fuzz_testing • http://www.xakep.ru/post/52726/ • http://www.fuzzing.org/ • http://msdn.microsoft.com/en- us/library/cc162782.aspx • Педрам Амини, «Fuzzing. Исследование уязвимостей методом грубой силы», Символ-Плюс, 2009 г.
  • 26. Спасибо за внимание! Вопросы? E-mail: ochir.abushinov@gmail.com Skype: ochir_abushinov