Ссылка на OZON
Крутая техническая книга. Авторы написали ее в 2007 году, будучи первопроходцами в направлении фаззинга. И не просто сделали книгу, а еще и сайт по фаззингу запилили — http://www.fuzzing.org/. На сайте выложены фаззеры:
- Созданные авторами в рамках написания книги (бери да юзай).
- Остальные фаззеры.
Содержание выглядит так:
- Фаззинг формата файла
- Фаззинг формата файла: автоматизация под UNIX
- Фаззинг формата файла: автоматизация под Windows
Книга сложная, сами авторы это признают:
Перед тем как браться за книгу, читатели должны получить как минимум основные сведения о программировании и компьютерных сетях. Фаззинг — это автоматизация тестирования безопасности, поэтому естественно, что многие фрагменты книги посвящены построению инструментов.Хотя, казалось бы... Ведь фаззинг — это процесс отсылки намеренно некорректных данных в объект с целью вызвать ситуацию сбоя или ошибку. Так пишут авторы во введении. Кажется, ничего сложного. Мы постоянно вводим всякую фигню в приложение в попытках вызвать сбой. Но фаззинг — это сложнее. Это про автоматизацию и глубокие познания в программировании. По крайней мере, для меня глубокие — я с трудом дочитала книгу до конца Не будь она по моей профессии, бросила бы на половине. Потому что вначале все понимала, а потом пошло обсуждение кода, которое "прочитал и забыл" или сразу "не понял" =))) Но зато технарям-технарям эта книга точно придется по душе!
Примеры написаны на разных языках программирования, чтобы показать возможность выбора. Рассматриваются полезные инструменты и библиотеки, которые можно использовать в собственно фаззере. Рассматриваются эвристики фаззинга. При этом мне нравится опрделние авторов:
Эвристика — это не что иное, как красиво звучащий вариант выражения «профессиональное угадывание»По-моему, это прекрасно
Из полезных хитростей, которые можно применять даже при тестировании вручную:
Некоторые общие фаззинговые строки и их описания (стр 204):
Символы форматирующей строки — %d, %x, %s — приводят к считыванию памяти из стека
Символ %n является уникальным, поскольку приводит к записи в память ←107 стр книги
Модификаторы обхода каталога ../.. и ..\..
==============================================================
"A" x100000 → Длинная строка. Может привести к переполнению буфера.
"%n%n" x5000 → Длинная строка со знаками процента. Может привести к переполнению буфера или стать причиной уязвимости из-за форматирующей строки.
HTTP:// + "A" x10000 → Корректный формат URL, Может стать причиной переполнения буфера в ходе анализа URL,
"A" x5000 + "@" + "A" x5000 → Корректный формат емейл. Может стать причиной переполнения буфера в ходе анализа адреса электронной почты.
0x20000000, 0x40000000, 0x80000000, 0xffffffff → Одни из немногих целочисленных строк, которые могут запустить переполнение целочисленными значениями.
"../.." x5000 + "AAAAA" → Может запустить переполнение в пути или в коде анализа адреса URL,
==============================================================
В конце книги авторы рассматривают существующий среды фаззинга, плюсы и минусы. И, разумеется, они подготовили свою — Sulley: интегрированная среда фаззинга. Доступна на сайте авторов, в книге ей посвящено аж 30 страниц! Как не погордиться собственным детищем Это круто, что авторы создали свою среду, выложили в открытый доступ и так подробно описали!
А в самом конце авторы упоминают о важности локализации. Что толку от фаззера, который сказал "из 50000 тест-кейсов какой-то один сломался?". Информации ноль. Поэтому надо писать логи и вообще отслеживать сам процесс фаззинга.
В общем, вывод такой — если вы интересуетесь автоматизацией и тестированием безопасности, книгу однозначно читать! И сразу пробовать применять. Скачать все их фаззеры и опробовать в действии
PS: добавила книгу в общий список прочитанных мною книг.
Комментариев нет:
Отправить комментарий