Поделиться через


IoSpy и IoAttack

Примечание

IoSpy и IoAttack больше не доступны в WDK после Windows 10 версии 1703.

В качестве альтернативы этим средствам рассмотрите возможность использования нечетких тестов, доступных в HLK. Вот некоторые из них, которые следует учитывать.

DF — нечеткий случайный тест IOCTL (надежность)

DF — тест нечетких вложенных открытий (надежность)

DF — проверка FSCTL буфера нулевой длины нечеткой длины (надежность)

DF — нечеткий случайный тест FSCTL (надежность)

DF — тест API Fuzz Misc (надежность)

Можно также использовать нечеткое определение задержки синхронизации ядра , которое входит в состав средства проверки драйверов.

IoSpy и IoAttack — это средства, которые выполняют тесты IOCTL и WMI fuzz в драйверах режима ядра. С помощью этих средств можно убедиться, что код IOCTL и WMI драйверов правильно проверяют буферы данных и длину буферов. Это позволяет избежать переполнения буфера, что может привести к нестабильной работе системы.

Нечеткое тестирование представляет драйверу случайные данные, называемые нечетким, для определения дефектов в драйвере. Нечеткое тестирование через интерфейс IOCTL или WMI не является новым. Однако большинство наборов тестов являются либо универсальными нечеткими тестами черного ящика , которые проверяют только внешний доступ к интерфейсам IOCTL или WMI драйвера, либо записываются для тестирования конкретных путей IOCTL и WMI в драйвере.

IoSpy и IoAttack используют больше подход белого поля для тестирования нечетких параметров. Если устройство включено для тестирования нечетких значений, IoSpy записывает запросы IOCTL и WMI, отправленные драйверу устройства, и записывает атрибуты этих запросов в файле данных. Затем IoAttack считывает атрибуты из этого файла данных и использует эти атрибуты для нечетких или случайных изменений запросов IOCTL или WMI различными способами перед их отправкой драйверу. Это позволяет в дальнейшем ввести код проверки буфера драйвера без написания тестов, относящихся к IOCTL или WMI.

IoSpy и IoAttack поддерживаются в системах под управлением Windows Vista или более поздних версий операционной системы Windows. Эти средства включены в WDK как часть тестов "Основы устройств" (см. статью Тесты на проникновение (основы устройств). Эти тесты можно выбрать в диалоговом окне Добавление или удаление тестов драйвера в папке Basic\Device Fundamentals\Penetration\IoSpy & Attack.

Важно IoSpy и IoAttack должны выполняться в тестовых системах, которые были ранее подготовлены для отладки в режиме ядра.

Этот раздел содержит следующие подразделы:

IoSpy

IoAttack

Выполнение нечетких тестов с помощью IoSpy и IoAttack