Содержание
- 2. Драйверы часто встречаются в Антивирусах – доступ к файловой системе, перехват системных функций Межсетевых экранах –
- 3. Взаимодействие GUI NTDLL.DLL I/O manager Driver Kernel space User space Режим ядра Пользовательский режим NtDeviceIoControlFile Kernel32.dll
- 4. Функция DeviceIoControl Параметры hDevice – описатель устройства dwIoControlCode - управляющий код ввода-вывода lpInBuffer – указатель на
- 5. Информация закодированная в dwIoControlCode Метод передачи данных – способ передачи входных данных Идентификатор функции – идентификатор
- 6. Методы передачи входных данных METHOD_BUFFERED METHOD_IN_DIRECT METHOD_OUT_DIRECT METHOD_NEITHER
- 7. Метод: METHOD_BUFFERED Проверка входных параметров функциями ProbeForRead, ProbeForWrite I/O manager выделяет память в пространстве ядра Объём
- 8. Метод: METHOD_IN_DIRECT, METHOD_OUT_DIRECT Проверка входных параметров функциями ProbeForWrite, ProbeForRead I/O manager выделяет память в пространстве ядра
- 9. Метод: METHOD_NEITHER I/O manager передаёт указатели на данные без какой-либо проверки Отсутствуют проверки ProbeForRead, ProbeForWrite Все
- 10. Функции ProbeForRead, ProbeForWrite Параметры: Address –указатель на буфер памяти пользовательского режима Length – длина в байтах
- 11. Обход функций ProbeForRead, ProbeForWrite При длине равной нулю, не вызывает исключения, и не выполняет никаких проверок
- 12. Типичные уязвимости METHOD_NEITHER Arbitrary kernel memory write NULL pointer dereference METHOD_BUFFERED Buffer overflows NULL pointer dereference
- 13. Методология поиска уязвимостей Fuzzing тестирование без предварительной информации о коде драйвера Fuzzing+мониторинг информация о коде драйвера
- 14. Fuzzing Перебор входных параметров DeviceIoControl: dwIoControlCode - DWORD lpInBuffer – PVOID nInBufferSize - DWORD lpOutBuffer –
- 15. Fuzzing ioctl fuzzer NTDLL.DLL I/O manager Driver Kernel space User space Режим ядра Пользовательский режим #1
- 16. 5 минут работы ioctl fuzzer’a
- 17. Fuzzing: Тестовые наборы dwIoControlCode - полный перебор lpInBuffer – NULL, invalid kernel space address nInBufferSize –
- 18. Fuzzing: Плюсы и минусы Плюсы Лёгкий в реализации(40 строк C кода) Неплохие результаты Минусы Пропуск уязвимостей,
- 19. Fuzzing+мониторинг Отслеживание прохода для определённого тестового набора данных(Code coverage) Протоколирование состояний контекста(Data flow) Протоколирование “падений” Генерация
- 20. Windows Kernel Fuzzing+мониторинг ioctl fuzzer Driver #1 DeviceIoControl Kernel Debugger Plugin 1.Log 2.Log N.log Code coverage
- 21. Fuzzing+мониторинг: Плюсы и минусы Плюсы Покрытие кода для конкретного тестового набора Протоколирование найденной уязвимости Минусы Сложность
- 22. Ручной анализ Локализация IOCTL обработчика Анализ обрабатываемых IOCTL значений Формирование тестовых наборов Анализ обработки входных значений
- 23. Ручной анализ: Плюсы и минусы Плюсы Нахождение наибольшего количества уязвимостей Лучший в комбинации с fuzzing подходом
- 24. Статистика протестированных продуктов Всего в исследовании участвовали 40 продуктов: антивирусы, межсетевые экраны, виртуальные машины, эмуляторы, криптосистемы.
- 25. Количество обнаруженных уязвимостей Полная компрометация системы Отказ в обслуживании
- 26. Сравнение методов поиска уязвимостей
- 27. Пути решения IoCreateDeviceSecure – безопасное создание устройства(Microsoft, Dr. Web) PsGetCurrentProcessId – проверка идентификатора процесса(Eset) KeGetPreviousMode –
- 28. Выводы Тестирование драйверов в большинстве компаний не проводится Большое количество уязвимостей, которые можно быстро обнаружить и
- 29. Welcome! http://www.securitylab.ru/lab/
- 30. Будущие исследования Полные результаты исследования и детальная информация по методам поиска уязвимостей будут опубликованы на сайте
- 31. Никита Тараканов [email protected] Вопросы?
- 32. PT Research Team Раздел "Лаборатория" www.securitylab.ru/lab на портале SecurityLab публикует уязвимости, обнаруженные в программном и аппаратном
- 34. Скачать презентацию































php9LRuvl_-----8
Информационная безопасность как объект моделирования
Гистограмма изображения
Влияние качества контента на продвижение аккаунта. Компания МЕТЕМ - от проектирования до монтажа
Уроки по Spike Prime. Функции подсветки
Кроссворд. Обработка графической информации
Задание и изображение поверхностей
Сокращаем расходы на разработку программного обеспечения и сложных веб-проектов
Интерфейсы: interface IMy
Электронная система голосований
Пошаговая инструкция по созданию презентации в PowerPoint
Знакомство с графическим оператором DRAW. Информатика 5 класс
Работа с Ms Excel. Использование логических функций
Оптимизация управления дорожным движением: АСУДД
Развитие логического мышления в рамках деятельностного подхода на уроках информатики
Сравнительный анализ дизайна интернет-сайтов
Использование социальных сетей в нашей школе
Что называют архитектурой? Что понимается под устройством компьютера?
Справка по заполнению формы Перечень обособленных подразделений ЛПУ (без ФАП и ФП), требующих подключения к сети Интернет
Android приложение Навигатор первокурсника
Arbori de decizie. Algoritmul IDE3
Флэш-накопители, предназначенные для работы с АРМ ИСОД МВД России
Mission of desperation
Продвижение и заработки ваших видеороликов в Интернете
Презентация на тему Компьютерная преступность и безопасность. Компьютерные преступления в Уголовном кодексе РФ
Презентация на тему Visual Basic
Zadacha_4
СУБД Firebird SQL Server