Макет системы защиты от несанкционированного доступа
При создании системы защиты информации (СЗИ) от несанкционированного доступа необходимо реализовать следующие функциональные подсистемы:
- подсистему идентификации и аутентификации (ИА) пользователей,
- подсистему разграничения (контроля) доступа субъектов ОС к объектам,
- подсистему регистрации событий.
При этом подсистему идентификации и аутентификации целесообразно ассоциировать со штатной подсистемой ИА, реализуемой MSGINA, а подсистему контроля доступа и регистрации событий – с отдельно работающим драйвером контроля доступа, связанным с подсистемой ИА.
Такая связь необходима потому, что контроль доступа к объектам до входа конкретного пользователя в систему может представлять собой достаточно нетривиальную задачу, например, если для конкретного пользователя задана изолированная программная среда (т.е. фиксированный список задач, которые он может запускать), то непонятно как быть с задачами, запускаемыми до выполнения успешной процедуры ИА данного пользователя).
Кроме того, связь со штатным модулем ИА может служить для передачи ключевой информации, необходимой для инициализации персональных криптографических модулей, предназначенных для шифрования трафика (см. выше) или для периодического тестирования корректности работы криптографических функций или иных механизмов обеспечения безопасности.
Рассмотрим пример макета ядра СЗИ от несанкционированного доступа для Windows NT/2000. Основными компонентами этой системы защиты являются, как указано выше:
- Драйвер контроля доступа, предназначенный для перехвата файловых операций на уровне ядра.
- Модифицированная библиотека GINA (XGINA), построенная по принципу полного перехвата экспортируемых функций оригинальной MSGINA (Graphical Identification aNd Authentication DLL for Wiwnlogon).
При входе пользователя библиотека GINA.DLL возвращает директивы приложению Winlogon, согласно которым оно либо не должно менять текущий статус процесса ИА, либо выполнить некоторые действия (например, насильственно выгрузить пользователя).
В зависимости от значения параметра dwOptions в функции WlxLoggedOutSasQ библиотеки GINA.DLL, приложение Winlogon либо, не должно загружать профиль входящего пользователя, либо же должно выполнить загрузку того пользовательского профиля, информацию о котором вернула библиотека GINA.DLL.