Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Безопасность является критически важным фактором при разработке драйверов устройств, особенно драйверов, работающих в режиме ядра с повышенными привилегиями. Перед выполнением каких-либо действий операционная система должна убедиться, что действие не нарушает политику безопасности системы. Драйверы устройств нуждаются в механизмах управления тем, какие процессы и пользователи могут получить доступ к устройствам и какие операции им разрешено выполнять.
Монитор безопасности Windows (SRM) — это основной компонент режима ядра архитектуры безопасности Windows, который применяет политики управления доступом во всей операционной системе. Он проверяет каждый запрос на доступ к системным объектам и гарантирует, что только авторизованные сущности могут выполнять определенные операции.
Ключевые функции монитора ссылок на безопасность
SRM выполняет несколько функций для обеспечения безопасности системы:
- Принудительное применение контроля доступа: проверяет каждый запрос на доступ к системным объектам, таким как файлы, разделы реестра и процессы.
- Реализация политики безопасности: применяет системные политики безопасности и реализует принцип наименьшей привилегии.
- Аудит и ведение журнала: создает события аудита безопасности и отслеживает действия, связанные с безопасностью, для соответствия требованиям и судебной экспертизы.
Компоненты архитектуры
SRM работает с несколькими ключевыми структурами данных и компонентами для применения политик безопасности.
Дескрипторы безопасности
Дескрипторы безопасности — это структуры данных, содержащие сведения о безопасности для объектов.
Сведения в дескрипторе безопасности хранятся в списке управления доступом (ACL). Windows использует списки управления доступом, чтобы определить, какие объекты имеют безопасность.
Подпрограммы мониторинга ссылок на безопасность
Система SRM предоставляет процедуры для работы драйвера с управлением доступом. Подпрограммы, предоставляющие прямой интерфейс для SRM, префиксируются буквами Se. К общим подпрограммам SRM относятся:
- SeAccessCheck: выполняет проверку доступа к дескриптору безопасности.
- SePrivilegeCheck: проверяет, имеет ли маркер определенные привилегии.
- SeSinglePrivilegeCheck: проверяет наличие одной привилегии в токене доступа в контексте текущего потока.
- SeTokenType: определяет, является ли маркер основным или маркером олицетворения.
Объявления для функций Se и связанных сущностей можно найти в различных заголовках WDK, включая ntifs.h и wdm.h.
Сценарии реализации драйвера
Драйверы устройств обычно используют SRM в нескольких сценариях для реализации надлежащих элементов управления доступом.
Управление доступом к устройству
Драйверы могут управлять доступом пользователей к определенным аппаратным устройствам:
- Проверьте разрешения пользователя перед разрешением операций устройства.
- Реализуйте различные уровни доступа для различных типов пользователей.
- Ограничить административные операции привилегированными пользователями.
Проверка операций
Драйверы могут гарантировать, что только авторизованные процессы могут выполнять определенные операции с устройствами:
- Проверьте контекст безопасности перед обработкой запросов ввода-вывода.
- Проверьте наличие определенных привилегий, необходимых для конфиденциальных операций.
- Реализуйте пользовательские политики безопасности для функций, относящихся к устройству.
Управление контекстом безопасности
Драйверы, работающие с олицетворением и различными контекстами безопасности, могут:
- Обработать маркеры олицетворения соответствующим образом.
- Переключение между различными контекстами безопасности по мере необходимости.
- Поддержание границ безопасности между различными сеансами пользователей.
Принципы безопасности
SRM реализует основные принципы безопасности, необходимые для поддержания целостности системы.
Полное посредничество
Каждая попытка доступа должна пройти через монитор ссылок:
- Отсутствуют исключения или механизмы обхода.
- Обеспечивает согласованное применение политик безопасности во всех системных компонентах.
- Запрещает несанкционированный доступ с помощью альтернативных путей кода.
Предоставление прав по принципу минимальных разрешений
Монитор ссылок помогает реализовать принцип наименьших привилегий:
- У пользователей и процессов должны быть только минимальные разрешения.
- Помогает свести к минимуму потенциальный ущерб от нарушений безопасности.
- Реализация осуществлена посредством тщательной настройки ACL и управления привилегиями.