Анализ проблем верификации драйверов Windows
Статья посвящена вопросам, связанным с безопасностью работы ОС Windows. Показано, что драйверы режима ядра, в которых используются средства взаимоисключения, могут быть потенциально опасными для системы и являться причиной краха системы. Анализируются результаты работы включенных в систему средств верификации Driver Verifier. Для проведения анализа разработаны драйверы режима ядра, содержащие разные типы угроз, и выполнена их верификация. Определены возможности и сформулированы практические рекомендации по использованию системных средств верификации с целью обнаружения и исключения из их кода потенциально опасных участков.
Авторы
Тэги
Тематические рубрики
Предметные рубрики
В этом же номере:
Резюме по документу**
Анализ проблем верификации драйверов Windows
УДК 681.3.066
Анализ проблем верификации драйверов Windows
Н.Г. Ершов, Н.Ю. Рязанова
МГТУ им. <...> Н.Э. Баумана, Москва, 105005, Россия
Статья посвящена вопросам, связанным с безопасностью работы ОС Windows. <...> Показано, что драйверы режима ядра, в которых используются средства взаимоисключения,
могут быть потенциально опасными для системы и являться причиной
краха системы. <...> Анализируются результаты работы включенных в систему
средств верификации Driver Verifier. <...> Для проведения анализа разработаны драйверы
режима ядра, содержащие разные типы угроз, и выполнена их верификация. <...> Изменить функциональность
операционной системы Microsoft Windows можно, только
написав соответствующий драйвер режима ядра. <...> Опасность заключается в
том, что при возникновении определенных ситуаций в системе такой
драйвер приведет к краху системы. <...> При написании драйвера могут потребоваться создание в нем
дополнительного потока, реализация монопольного доступа к внутренним
для драйвера структурам или к глобальным структурам
данных ядра системы средствами взаимоисключения, предоставляемыми
ОС. <...> Взаимоисключение в ОС Windows реализуется с помощью
специальных объектов ядра, отличающихся друг от друга особенностями
реализации. <...> Некорректно выполненное в драйвере взаимоисключение,
особенно в ситуациях многократного обращения к
разделяемым ресурсам, может привести к взаимоблокировкам потоков
ядра и краху системы. <...> В состав операционных систем Microsoft Windows
XP и созданных позднее для выявления проблемных драйверов
включен Диспетчер проверки драйверов Microsoft Driver Verifier.exe <...> Утилита Driver Verifier проверяет драйверы режима ядра и графические
драйверы для выявления недопустимых вызовов функций
или действий, способных аварийно завершить работу Windows. <...> Однако
драйверы, в которых могут возникнуть взаимоблокировки,
очень сложно выявить. <...> Замечено, что на практике взаимоблокировки
возникают не мгновенно, и система реагирует на них не <...>
** - вычисляется автоматически, возможны погрешности
Похожие документы: