Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Fuzzing исследование уязвимостей методом грубой силы.pdf
Скачиваний:
1127
Добавлен:
13.03.2016
Размер:
5.96 Mб
Скачать

240

Глава 13. Фаззинг формата файла: автоматизация под Windows

Итак, мы готовы. Щелкнув на кнопке Execute, мы видим, как Windows Picture and Fax Viewer повторно запускается и прекращает работу. Это произойдет 21 раз, пока наши 21 файл будут открываться и обрабаты$ ваться. Когда дым развеется, мы увидим, что FileFuzz обнаружил не$ сколько исключительных ситуаций. Однако интересующая нас ситуа$ ция происходит, когда запускается файл 160.jpg, как показано в при$ веденном далее отрывке выходных данных. Это представляет интерес, поскольку байт 160 является началом размера комментария JPEG,

ифайл 160.jpg изменил исходное значение на 0x0000:

[*]"crash.exe" rundll32.exe 2000 C:\WINDOWS\system32\shimgvw.dll,ImageView_Fullscreen c:\fuzz\jpg\160.jpg

[*]Access Violation

[*]Exception caught at 70e15599 rep movsd

[*]EAX:fffffffe EBX:00904560 ECX:3ffffe3c EDX:fffffffe

[*]ESI:0090b07e EDI:0090c000 ESP:00aaf428 EBP:00aaf43400

Эффективность и возможности для прогресса

FileFuzz предоставляет базовые функции для применения подхода грубой силы в фаззинге форматов файлов. Оснащенный графическим пользовательским интерфейсом и встроенными функциями отладки, он позволяет проводить черновой аудит, используя в качестве отправ$ ного пункта заведомо корректный файл. Из всего этого следует, что у программы огромный потенциал.

Для начала может быть разработан более универсальный механизм аудита. В настоящий момент за раз может быть выполнен только один аудит. Например, применяя широкий подход к двоичному типу фай$ лов, за раз можно осуществить только одну развертку через байтовый диапазон только с одним байтовым значением (например, 0xFFFFFFFF). Если затем нужно проверить другое значение, то весь процесс должен быть запущен заново с новым значением. Более ком$ плексный инструментарий аудита позволил бы выбирать несколько значений или, возможно, диапазонов значений для их проверки. Воз$ можно, мог бы быть добавлен ряд интеллектуальных функций: снача$ ла применяется широкий подход, а затем автоматически включается глубокий подход, после того как местонахождения байтов были опре$ делены и обнаружено наличие более чем одного конкретного числа или типа исключительных ситуаций.

FileFuzz сознательно проектировался как фаззер, применяющий гру$ бую силу, поскольку фаззинг форматов файлов предусматривает более простой подход. Однако нельзя сказать, что функции интеллектуаль$ ного фаззинга не могут быть добавлены. Например, может быть созда$ на вкладка Create – Intelligent (Интеллектуальный подход) в пару к уже су$ ществующей вкладке Create, которая в этом случае станет вкладкой Create – Brute Force (Грубая сила). Эта новая вкладка будет содержать абсо$ лютно новый набор функций интеллектуального фаззинга; пользова$

Резюме

241

телю нужно будет разработать шаблон структуры конкретного файло$ вого типа, а не использовать уже существующий файл в качестве от$ правной точки. Этот подход потребует больше предварительной рабо$ ты от пользователя, но также позволит ему точнее указать конкретные области файла, которые необходимо подвергнуть фаззингу, и необхо$ димый способ фаззинга. Шаблон, скорее всего, будет создаваться по$ сле изучения документов со спецификациями по необходимым файло$ вым форматам, но FileFuzz, может быть, будет иметь встроенные мо$ дели шаблонов.

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

Короче говоря, еще есть куда прогрессировать. Наша задача – начать дело. Остальное – за вами.

Резюме

Уязвимости форматов файлов в последние пару лет замучили Mi$ crosoft. Обнаруживались ли уязвимости в медиафайлах или в доку$ ментах Office, они всегда появлялись в больших количествах и стано$ вились жертвами атакующих. Нельзя сказать, что Microsoft является единственным поставщиком программного обеспечения, который бо$ рется с этим классом уязвимостей, просто они по$прежнему остаются излюбленным объектом тестеров. Надеемся, что поставщики про$ граммного обеспечения примут во внимание недавнюю шумиху во$ круг уязвимостей форматов файлов и включат фаззинг в процесс раз$ работки, для того чтобы обнаружить эти уязвимости до начала произ$ водства программного обеспечения.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]