Содержание
- 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. Скачать презентацию































Гральний автомат Фруктова машина. Створення спрайту, який змінює образ
Личностно-ресурсная карта
Презентація як різновид публічного мовлення види презентацій. Підготовка та проведення презентацій
Приложение My Time
Творческий беспорядок Аватария
Установка Ubuntu
Проектирование базы данных. Определение предметной области. Уровни представления данных
Предыстория информатики: создание ЭВМ
Материалы по java
Предпроектная стадия создания информационной системы
SQL. Практические задания
Informatsionnoe_obschestvo
Основная схема воздействия в социальной инженерии. Лекция 3
Компьютерная безграмотность
Центральный процессор
Создание автоматизированного решебника физических задач в среде MS Excel
9-1-2
Галерея изображений средствами CSS Урок 15
Архитектура ЭВМ
Выдача разрешения на перемещение отходов строительства. Процедура подачи заявки
Линейный алгоритм. (Python)
Компьютерная графика
Индексирование документов, векторная модель текста
Военные системы передачи кабельных связи. Тема №1. Полевые кабельные линии. Занятие №3. Порядок и правила снятия кабелей связи
Онлайн система ERP.travel
Электронно-методические материалы на тему Компьютерные сети
Сложные системы
Adobe Photoshop - программа для редактирование или создания фотографий