Выявление вторжений. Аудит системы защиты
Даже самая лучшая система защиты рано или поздно будет взломана, поэтому обнаружение попыток вторжения является важнейшей задачей системы защиты. Основным инструментом выявления вторжений является запись данных аудита. Отдельные действия пользователей протоколируются, а полученный протокол используется для выявления вторжений.
Аудит, таким образом, заключается в регистрации специальных данных о различных типах событий, происходящих в системе и так или иначе влияющих на состояние безопасности компьютерной системы. К числу таких событий обычно причисляют следующие:
· вход или выход из системы;
· операции с файлами (открыть, закрыть, переименовать, удалить);
· обращение к удаленной системе;
· смена привилегий или иных атрибутов безопасности (режима доступа, уровня благонадежности пользователя и т.п.).
Событие аудита в ОС Windows может быть сгенерировано пользовательским приложением, диспетчером объектов или другим кодом режима ядра. Чтобы инициировать фиксацию событий, связанных с доступом к объекту, необходимо сформировать в дескрипторе безопасности этого объекта список SACL, в котором перечислены пользователи, чьи попытки доступа к данному объекту подлежат аудиту. Это можно сделать программно, а также при помощи инструментальных средств системы.
Для управления файлом журнала безопасности, а также для просмотра и изменения SACL объектов, процесс должен обладать привилегией SeSecurityPrivilege. Процесс, вызывающий системные записи аудита, должен, чтобы успешно сгенерировать запись аудита в этом журнале, обладать привилегией SeAuditPrivilege.
Задание. Организовать аудит доступа к файлу с помощью инструментальных средств ОС Windows
Для того чтобы заставить систему отслеживать события, связанные с доступом к конкретному файлу, необходимо сделать следующее.
1. Открыть диалоговое окно "Локальные параметры политики безопасности\ Политика аудита" (см. рис. 15.1) административной консоли панели управления.
Рис. 15.1. Диалоговое окно "Локальные параметры политики безопасности\ Политика аудита" административной консоли панели управления
2. Включить в список проверки нужную совокупность событий, например, аудит доступа к объектам.
3. С помощью программы Windows Explorer выбрать файл для аудита. Вызвать панель фиксации событий, которые связаны с файлом, подлежащим аудиту. Для этого при помощи мыши в контекстном меню открыть окно "Свойства", выбрать вкладку "Безопасность", затем, нажав кнопку "Дополнительно", выбрать "Аудит". Затем с помощью кнопки "Добавить" выбрать пользователя, действия которого подлежат аудиту, и перечень событий, подлежащих аудиту (см. рис. 15.2).
Рис. 15.2. Диалоговое окно установки событий, подлежащих аудиту для конкретного файла
4. В случае успеха попробовать осуществить обращение к данному файлу. Все оговоренные действия в отношении файла должны найти отражение в журнале событий безопасности. Для просмотра журнала событий нужно выбрать окно "Просмотр событий" через иконку "Администрирование" панели управления.
5. В случае отказа проверить наличие у пользователя (в том числе и у администратора), от имени которого производится эксперимент, привилегии "Создание журналов безопасности" и, в случае ее отсутствия, назначить ее пользователю с помощью консоли "Назначение прав пользователям".
Как уже говорилось, список SACL, входящий в состав дескриптора защиты объекта, можно формировать и модифицировать программными средствами. Это можно сделать с помощью функции SetSecurityInfo, которая является обратной по отношению к уже знакомой нам функции GetSecurutyInfo и содержит тот же набор параметров. Поскольку речь идет об аудите, то параметр SecurityInfo, который специфицирует компонент дескриптора защиты, подлежащий изменению, должен включать значение SACL_SECURITY_INFORMATION.