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

Содержание

Слайд 2

Фаззинг

Фаззинг – тестирование методом черного ящика, основанное на передаче большого набора входных

Фаззинг Фаззинг – тестирование методом черного ящика, основанное на передаче большого набора
данных исследуемому ПО

Внедрение

Файлы

Сеть

IOCTL

Окружение

Данные

Генерация

Мутация

Слайд 3

Фаззинг в памяти

Фаззинг в памяти - вид фаззинга при котором данные передаются

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

Слайд 4

Цикл мутации

Цикл мутации

Слайд 5

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

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

Слайд 6

Corelan in-memory fuzzer

Целевой процесс/модуль
Адрес точки входа в функцию (получение слепка)
Адрес точки выхода

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

Необходимы данные:

Аргументы функции

Слайд 7

Фаззинг и модульные тесты

while(1):
accept();

recv()

unmarshal()

parse()

func-1()

func-2()


inline int __cdecl foo_sub_XX
( int a, int b,

Фаззинг и модульные тесты while(1): accept(); recv() unmarshal() parse() func-1() func-2() …
int c );
BOOL APIENTRY DllMain( … )
{
foo_sub_XX
(param_a, param_b, param_c );
}

Восстановление прототипов функций
Динамический анализ
Исполнение в контексте целевого процесса

Слайд 8

Система Dataflow

Система Dataflow

Слайд 9

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

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

Слайд 10

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

Простой ориентированный граф G(V,E)
Матрица смежности , где
Матрица E дает информацию

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




=

Слайд 11

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

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

Слайд 12

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

Пример

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

Слайд 13

Тестовый запуск приложения

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

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

Слайд 14

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

Evince: 0xC030

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

Слайд 15

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

Evince: 0x3290

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

Слайд 16

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

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

Слайд 17

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

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

Слайд 18

Подготовка теста. Возможности

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

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

Слайд 19

Подготовка теста

#include "evince.h"
CHECK_WITH_FAULT_INJECT( evince_sub_3290( 0x00f45158, ( int )fileName, 0x00f49038, 0, 0, 0

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

Слайд 20

Исполнение теста

Остановка на определенном этапе работы исследуемого ПО
Загрузка динамической библиотеки в адресное

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

Слайд 21

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

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