ВЫБОР ТОЧКИ ВНЕДРЕНИЯ ДЛЯ ФАЗЗИНГА В ПАМЯТИ Технологический институт « Южного федерального университета » в г. Таганроге докладчик: Благодаренко А. В.

Презентация:



Advertisements
Похожие презентации
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) КАФЕДРА ИКТ 1 Лекция 1 (окончание). О ключах и целостности. Курс:
Advertisements

Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
Дни недели Температура (С 0 ) 1. Сколько дней температура была выше 16 0 ? 2. Какого.
Автоматическое построение тестов для аппаратного обеспечения с использованием разрешения ограничений проф. А.Петренко, Е.Корныхин.
Расширение технологии UniTESK средствами генерации структурных тестов Дмитрий Воробьев
Название системы - iTest Текущая версия Официальный сайт - Лицензия -GPL v2 Компоненты системы iTestServer серверная.
Моделирование и исследование мехатронных систем Курс лекций.
Учебный курс Основы операционных систем Лекция 2 кандидат физико-математических наук, доцент Карпов Владимир Ефимович.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
Андрейчук Н.П. Руководитель дипломной работы Столярчук В.А. Москва 2011.
Лекция 6 Функции. Объявления и определения Объявление функции – указание имени функции, а также входных и выходных параметров Определение функции – указание.
1 Простые методы выявления сложных для Пользователя интерфейсов.
Использование механизмов СУБД для генерации тестовых данных входных параметров web приложения Докладчик: Зинатуллин Феликс Минисагитович.
Тема 11 Медицинская помощь и лечение (схема 1). Тема 11 Медицинская помощь и лечение (схема 2)
Модуль 2. Математичні основи криптографії 1. Лекция 3 Хэш-функции и аутентификация сообщений. Часть 1 1. Хэш-функции. Общие понятия. 2. Хэш-функции основных.
Система предотвращения отключений клиентов на основе статистического анализа использования инструментов удержания Выполнил: Медведев А.А. Руководитель:
Вариант Презентация "Осень золотая".
Лекция 1 Классификация С++. Парадигмы программирования Императивная Функциональная Декларативная (логическая) Инструкция 1 Инструкция 2 Инструкция 3 Инструкция.
Тестирование Обеспечение качества. Тема 7 тестирование2 Аттестация и верификация Обзоры Инспекционные проверки Сквозной контроль.
ТЕСТИРОВАНИЕ МЕТОД «ЧЕРНОГО ЯЩИКА» ВЫПОЛНИЛ СТУДЕНТ ГР. ИВТ-51 з БАННИКОВА Н.Р.
Транксрипт:

ВЫБОР ТОЧКИ ВНЕДРЕНИЯ ДЛЯ ФАЗЗИНГА В ПАМЯТИ Технологический институт « Южного федерального университета » в г. Таганроге докладчик: Благодаренко А. В. руководитель: д.т.н., проф. Макаревич О. Б.

Фаззинг Фаззинг – тестирование методом черного ящика, основанное на передаче большого набора входных данных исследуемому ПО Внедрение ФайлыСеть IOCTL Окружение Данные ГенерацияМутация 2

Фаззинг в памяти Фаззинг в памяти - вид фаззинга при котором данные передаются через внутренние структуры программы Позволяет миновать интерфейсные функции программы и их ограничения ( скорость, объемы данных ). Позволяет сфокусироваться на данных, обрабатываемых исследуемой частью кода. Не требуется подготовка данных в формате, который требуется интерфейсными функциями. 3

Цикл мутации 4

Восстановление состояния 5

Corelan in-memory fuzzer Целевой процесс / модуль Адрес точки входа в функцию ( получение слепка ) Адрес точки выхода из функции ( восстановление слепка ) Необходимы данные: Аргументы функции 6

Фаззинг и модульные тесты while(1): accept(); recv() unmarshal() parse() func-1() func-2() … inline int __cdecl foo_sub_XX ( int a, int b, int c ); BOOL APIENTRY DllMain( … ) { foo_sub_XX (param_a, param_b, param_c ); } Восстановление прототипов функций Динамический анализ Исполнение в контексте целевого процесса 7

Система Dataflow 8

Откуда начинать ? 9

Рейтинг функций Простой ориентированный граф G(V,E) Матрица смежности, где Матрица E дает информацию обо всех путях длины 1 в графе G(V,E). Композиция отношения E самой с собой Матрица достижимости = 10

Параметры функций 11

Фаззер файлов.pdf для программы Evince Пример 12

Тестовый запуск приложения Начать исследование Тестовый запуск 1 Тестовый запуск 2 Закончить исследование Получить статистику исполнения 13

Функции, принимающие данные Evince: 0xC030 14

Функции, принимающие данные Evince: 0x

Рейтинг функций 16

Оценка потенциального охвата 17

Подготовка теста. Возможности Вызов внутренних функций с заданными параметрами Динамическая оценка покрытия Последовательное внедрение ошибок Любые другие возможности, применимые к динамическим библиотекам 18

Подготовка теста #include "evince.h" CHECK_WITH_FAULT_INJECT( evince_sub_3290( 0x00f45158, ( int )fileName, 0x00f49038, 0, 0, 0 ) ); if( SendCommand( COMMAND_TRACK_STAT, ffd.cFileName ) ) { LogErr( "Can't send command\n" ); } 19

Исполнение теста Остановка на определенном этапе работы исследуемого ПО Загрузка динамической библиотеки в адресное пространство исследуемого ПО Исполнение Взаимодействие с тестирующим ПО : Внедрение ошибок Динамическая оценка покрытия 20

Оценка результатов 21

Вопросы ? 22