Журнал событий (англ. Event Log) — в Microsoft Windows стандартный способ для приложений и операционной системы записи и централизованного хранения информации о важных программных и аппаратных событиях. Служба журналов событий сохраняет события от различных источников в едином журнале событий, программа просмотра событий позволяет пользователю наблюдать за журналом событий, программный интерфейс (API) позволяет приложениям записывать в журнал информацию и просматривать существующие записи.
События
Записи журнала событий хранятся в ключе реестра
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
Данный ключ содержит подключи, называемые файлами журнала. По умолчанию имеются:
- файл журнала приложений — для событий приложений и служб;
- файл журнала безопасности — для событий системы аудита;
- файл системного журнала — для событий драйверов устройств.
Имеется возможность создавать дополнительные журналы. Для каждого источника событий в журнале создаётся отдельный подключ. События от каждого источника могут включаться в определяемые отдельно для каждого источника категории. События должны принадлежать к одному из пяти предопределённых типов.
Тип |
Описание
|
Информация |
События указывают редкие и важные успешные операции.
|
Предупреждение |
События указывают проблемы, которые не требуют немедленного вмешательства, но могут привести к ошибкам в будущем. Примером такого рода событий может служить исчерпание ресурсов.
|
Ошибка |
События указывают существенные проблемы, обычно приводящие к потере функциональности или данных. Примером может служить невозможность запуска службы при загрузке.
|
Успешный аудит |
События безопасности, которые происходят при успешном обращении к аудируемым ресурсам. Примером может служить успешный вход в систему.
|
Не успешный аудит |
События безопасности, которые происходят при неуспешном обращении к аудируемым ресурсам. Примером может служить попытка открыть файл, не имея соответствующих прав доступа.
|
Запись о событии включает в себя: идентификатор события, тип события, категорию события, массив строк и дополнительные, специфичные для события, двоичные данные.
Каждый источник событий должен зарегистрировать свой файл сообщений, в котором хранятся строки описания идентификаторов сообщений, категорий и параметров. Строка описания может содержать места для вставки строк из массива, указанного при записи события, например:
Невозможно открыть %1, ошибка %2
Дополнительные данные никак не интерпретируются программой просмотра событий и отображаются в шестнадцатеричном и текстовом формате.
Программный интерфейс
Основные функции работы с событиями:
- OpenEventLog — открытие журнала на указанном компьютере для административных операций;
- ReadEventLog — чтение части журнала в буфер;
- GetOldestEventLogRecord — получить номер самой старой записи;
- GetNumberOfEventLogRecords — получить количество записей в указанном журнале;
- NotifyChangeEventLog — получать уведомления при записи в указанный журнал;
- BackupEventLog — запись журнала в архив;
- ClearEventLog — очистка журнала с возможностью записи в архив;
- OpenBackupEventLog — открытие архивной копии журнала;
- CloseEventLog — закрытие журнала;
- RegisterEventSource — открытие журнала для записи событий от указанного источника;
- ReportEvent — запись события в журнал;
- DeregisterEventSource — закрытие журнала, открытого для записи.
Уязвимости и способы защиты
Администраторы могут осмотреть и очищать журнал, разделить права на чтение и очистку невозможно. Кроме того, администратор может использовать специальную утилиту Winzapper для удаления записей о конкретных событиях из журнала. По этой причине, в случае если учетная запись администратора была взломана, история событий, содержащихся в журнале событий, становится недостоверной. Противостоять этому можно путём создания удаленного сервера журнала, доступ к которому будет осуществляться лишь посредством консоли.
Как только журнал достигает максимально допустимого размера, он может либо перезаписывать старые события, либо остановить запись. Это делает его восприимчивым к атакам, в которых нарушитель пытается переполнить журнал путём создания большого числа новых событий. Частично против этого может помочь увеличение максимального размера журнала. Таким образом, для переполнения журнала потребуется инициировать большее количество событий. Можно дать команду журналу не перезаписывать старые события, но это может стать причиной сбоя.
Ещё один способ атаковать журнал событий - зарегистрироваться под учетной записью администратора и изменить политику аудита, а именно - остановить запись в журнал несанкционированной активности. В зависимости от настроек политики аудита, её изменение может быть записано в журнале. Запись об этом событии можно очистить с помощью Winzapper. С этого момента активность не будет фиксироваться в журнале событий.
Конечно, доступ к журналу нужен не для всех атак. Но зная о том, каким образом работает журнал событий, можно принять меры предосторожности во избежание обнаружения. Например, пользователь, желающий войти в систему под учетной записью сослуживца по корпоративной сети, может ждать до тех пор, пока не сможет незаметно воспользоваться компьютером. Далее он использует аппаратные средства для подбора пароля и регистрируется в системе. Затем имя учетной записи пользователя передается в службу терминалов с Wi-Fi Hotspot, IP-адрес которого невозможно будет отследить и выйти через него на взломщика.
После того как журнал очищается через окно просмотра событий, сразу создается одна запись в свежеочищенный журнал, отмечая время очистки и администратора-исполнителя. Эта информация может стать отправной точкой в расследовании подозрительных действий.
Кроме журнала событий Windows, администраторы также могут проверить журнал безопасности Брандмауэра Windows.
Ссылки