Открыть сервис

Формат EVTX

EVTX — это формат файлов журналов событий операционной системы Microsoft Windows, начиная с версии Windows Vista (2006 год). Он пришёл на смену устаревшему формату EVT, который использовался в Windows XP и более ранних версиях. EVTX представляет собой двоичный файл с чёткой структурой, предназначенный для хранения записей о событиях, происходящих в системе, приложениях и службах. Файлы с расширением .evtx хранятся в каталоге %SystemRoot%\System32\winevt\Logs\ и являются основным источником данных для оснастки «Просмотр событий» (Event Viewer).

История

До появления Windows Vista журналы событий хранились в формате EVT, который имел ряд ограничений: максимальный размер файла составлял 300 мегабайт, отсутствовала поддержка многопоточности, а структура была менее гибкой. С выходом Windows Vista корпорация Microsoft представила новую подсистему журналирования — Windows Event Log (WEL), которая использует формат EVTX.

Основные изменения, реализованные в EVTX:

  • Увеличение максимального размера файла до 20 терабайт (теоретически, на практике ограничивается настройками системы).
  • Поддержка многопоточного доступа: несколько приложений могут одновременно читать и записывать события.
  • Введение структурированных данных с использованием XML-схемы: каждое событие может содержать не только текстовое описание, но и именованные поля, что упрощает машинную обработку.
  • Использование 64-битных меток времени (FILETIME) для повышения точности до 100 наносекунд.
  • Улучшенное сжатие и индексация для ускорения поиска.

Формат EVTX остаётся основным для всех версий Windows, выпущенных после 2006 года, включая Windows 7, 8, 10 и 11, а также серверные редакции (Windows Server 2008 и новее).

Структура файла EVTX

Файл EVTX имеет двоичную структуру, состоящую из нескольких ключевых компонентов. Понимание этой структуры необходимо для анализа журналов, особенно в области компьютерной криминалистики и информационной безопасности.

Заголовок файла (File Header)

Заголовок располагается в начале файла и содержит метаданные о журнале. Основные поля:

  • Магическое число (Magic Number): 4 байта ElfFile\x00 (сигнатура, указывающая на формат EVTX).
  • Версия формата: обычно 3.1 (для Windows 10/11) или 3.0 (для Windows Vista/7).
  • CRC-32: контрольная сумма заголовка (используется для проверки целостности).
  • Размер записи: размер одной записи в байтах (обычно 0x2000 = 8192 байта).
  • Количество записей: общее число записей в файле.
  • Флаги: битовая маска, указывающая на состояние журнала (например, полный, повреждённый, сжатый).

Записи (Records)

Каждая запись (event record) имеет фиксированный размер (обычно 8192 байта) и состоит из двух частей:

  1. Заголовок записи (Record Header):
  • Идентификатор записи (Record ID): уникальный 64-битный номер, последовательно возрастающий в пределах одного файла.
  • Метка времени (Time Created): 64-битное значение FILETIME (количество 100-наносекундных интервалов с 1 января 1601 года).
  • Метка времени записи (Time Written): время, когда событие было записано в файл.
  • Идентификатор события (Event ID): 32-битный номер, определяющий тип события (например, 4624 — успешный вход в систему).
  • Версия события (Event Version): версия схемы события.
  • Уровень (Level): числовое значение, указывающее на серьёзность (0 — критический, 1 — ошибка, 2 — предупреждение, 3 — информационное, 4 — аудит успеха, 5 — аудит отказа).
  • Код канала (Channel): идентификатор журнала (например, 0x100 — System, 0x200 — Security, 0x400 — Application).
  • CRC-32: контрольная сумма записи.
  1. Тело записи (Event Data):
  • Содержит XML-представление события. XML-фрагмент включает элементы: <System> (метаданные), <EventData> (пользовательские данные), <UserData> (специфичные для приложения данные). В отличие от EVT, где данные хранились в виде бинарных блоков, EVTX использует XML, что упрощает парсинг.

Хранилище (Storage)

Файл EVTX организован как последовательность записей, расположенных друг за другом. Между записями могут быть пустые области (padding), если размер данных меньше размера записи. Для ускорения поиска используется индексная таблица, которая хранит смещения до записей по их идентификаторам.

Классификация журналов EVTX

В Windows существует несколько стандартных журналов, каждый из которых имеет свой файл EVTX:

  • System.evtx: содержит события, связанные с работой системных компонентов, драйверов и служб.
  • Security.evtx: хранит события аудита безопасности (входы, выходы, изменения политик, доступ к объектам).
  • Application.evtx: события, генерируемые приложениями и службами (например, ошибки, предупреждения).
  • Setup.evtx: события, связанные с установкой и обновлением системы.
  • ForwardedEvents.evtx: события, полученные от удалённых компьютеров (при настройке централизованного сбора журналов).
  • Microsoft-Windows-...: специализированные журналы для конкретных компонентов (например, Microsoft-Windows-TaskScheduler/Operational.evtx для планировщика задач).

Применение

Администрирование и диагностика

Системные администраторы используют EVTX для мониторинга состояния серверов и рабочих станций. Основные сценарии:

  • Поиск ошибок и сбоев (например, синий экран смерти, отказ служб).
  • Анализ производительности (загрузка процессора, дисковые операции).
  • Отслеживание изменений конфигурации (установка обновлений, изменение политик).

Информационная безопасность

В области кибербезопасности EVTX является одним из ключевых источников данных для:

  • Расследования инцидентов: анализ событий входа (Event ID 4624, 4625), создания процессов (4688), доступа к файлам (4663).
  • Обнаружения атак: выявление подозрительной активности (например, множественные неудачные попытки входа — Event ID 4625, запуск вредоносного ПО — Event ID 4688).
  • Форензики: извлечение и анализ журналов с повреждённых или выключенных систем. Инструменты, такие как evtxdump (из пакета Libevtx) или python-evtx, позволяют конвертировать EVTX в читаемый формат (CSV, JSON).

Судебная экспертиза

Файлы EVTX часто используются в качестве доказательств в судебных разбирательствах, связанных с компьютерными преступлениями. Благодаря встроенным механизмам контроля целостности (CRC-32) и последовательной нумерации записей, можно подтвердить подлинность и хронологию событий.

Инструменты для работы с EVTX

Существует множество утилит для чтения, анализа и конвертации EVTX:

  • Встроенные средства Windows: оснастка Event Viewer (eventvwr.msc), командлеты PowerShell (Get-WinEvent).
  • Сторонние инструменты:
  • EvtxeCmd (от компании Microsoft) — утилита для экспорта журналов.
  • Libevtx (библиотека с открытым исходным кодом) — позволяет программно обрабатывать EVTX.
  • python-evtx — Python-модуль для чтения и парсинга EVTX.
  • Log Parser (от Microsoft) — мощный инструмент для анализа логов с поддержкой SQL-подобных запросов.
  • Splunk, ELK Stack (Elasticsearch, Logstash, Kibana) — системы для централизованного сбора и анализа журналов.

Критика и ограничения

Несмотря на преимущества, формат EVTX имеет ряд недостатков:

  • Размер файлов: при активной работе системы журналы могут быстро расти, занимая значительное дисковое пространство. По умолчанию максимальный размер каждого журнала составляет 20 мегабайт (настраивается).
  • Сложность ручного анализа: из-за XML-структуры и двоичного формата чтение файлов без специальных инструментов затруднено.
  • Уязвимости: в прошлом были обнаружены уязвимости, позволяющие злоумышленникам подделывать записи в EVTX (например, CVE-2017-0290). Microsoft выпускала обновления для устранения этих проблем.
  • Отсутствие стандартизации: формат EVTX является проприетарным и не поддерживается в других операционных системах (Linux, macOS) без сторонних утилит.

Интересные факты

  • В Windows 10 и 11 появилась возможность автоматической архивации журналов EVTX при достижении максимального размера.
  • Файлы EVTX могут быть повреждены при аварийном завершении работы системы, однако Microsoft предусмотрела механизмы восстановления (например, проверка CRC при загрузке).
  • В криминалистике часто используется метод «карусели» (carousel) для восстановления удалённых записей: после переполнения журнала старые записи перезаписываются, но их фрагменты могут оставаться в файле.

Источники

  1. Microsoft Docs. «Windows Event Log». — Документация по подсистеме журналирования Windows.
  2. Microsoft Corporation. «Event Logging Structure (Windows)». — Техническая спецификация формата EVTX.
  3. Libevtx. «Extended Windows Event Log (EVTX) format». — Описание формата от проекта с открытым исходным кодом.
  4. Carrier, B. (2005). «File System Forensic Analysis». — Addison-Wesley. — Раздел, посвящённый анализу журналов Windows.
  5. CVE-2017-0290. «Windows Event Logging Service Elevation of Privilege Vulnerability». — Национальная база данных уязвимостей (NVD).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →