Справочник по схеме нормализации событий реестра Advanced Security Information Model (ASIM)

Схема события реестра используется для описания действий Windows по созданию, изменению или удалению сущностей реестра Windows.

События реестра относятся к системам Windows, но сообщаются различными системами, которые отслеживают Windows, например системами EDR (обнаружение конечных точек и реагирование), sysmon или самой Windows.

Дополнительные сведения о нормализации в Microsoft Sentinel см. в разделе Нормализация и расширенная информационная модель безопасности (ASIM).

Парсеров

Чтобы использовать объединяющее средство синтаксического анализа, которое объединяет все встроенные средства синтаксического анализа, и убедитесь, что анализ выполняется во всех настроенных источниках, используйте imRegistry в качестве имени таблицы в запросе.

Список средств синтаксического анализа событий обработки Microsoft Sentinel предоставляет встроенные средства см. в списке средств синтаксического анализа ASIM.

Разверните объединяющие и зависящие от источника средства синтаксического анализа из репозитория Microsoft Sentinel GitHub.

Дополнительные сведения см. в разделах Средства синтаксического анализа ASIM и Использование анализаторов ASIM.

Добавление собственных нормализованных анализаторов

При реализации пользовательских средств синтаксического анализа для модели сведений о событиях реестра присвойте функции KQL имя, используя следующий синтаксис: imRegistry<vendor><Product>.

Добавьте функции KQL в imRegistry объединяющие средства синтаксического анализа, чтобы убедиться, что любое содержимое, использующее модель событий реестра, также использует новый анализатор.

Фильтрация параметров средства синтаксического анализа

Средства синтаксического анализа событий реестра поддерживают параметры фильтрации. Хотя эти параметры являются необязательными, они могут повысить производительность запроса.

Доступны следующие параметры фильтрации:

Имя Тип Описание
Starttime datetime Фильтровать только события реестра, произошедшие в это время или позже. Этот параметр фильтрует TimeGenerated поле, которое является стандартным конструктором для времени события, независимо от сопоставления полей EventStartTime и EventEndTime специфичного для средства синтаксического анализа.
время окончания datetime Отфильтруйте только события реестра, произошедшие в это время или раньше. Этот параметр фильтрует TimeGenerated поле, которое является стандартным конструктором для времени события, независимо от сопоставления полей EventStartTime и EventEndTime специфичного для средства синтаксического анализа.
eventtype_in Динамический Фильтрация только событий реестра, в которых тип события является одним из перечисленных значений, включая : RegistryKeyCreated, RegistryKeyDeleted, RegistryKeyRenamed, RegistryValueDeletedили RegistryValueSet.
actorusername_has_any Динамический Фильтрация только событий реестра, в которых имя пользователя субъекта имеет любое из перечисленных значений.
registrykey_has_any Динамический Фильтрация только событий реестра, в которых раздел реестра содержит любое из перечисленных значений.
registryvalue_has_any Динамический Фильтровать только события реестра, если значение реестра содержит любое из перечисленных значений.
registrydata_has_any Динамический Фильтрация только событий реестра, в которых данные реестра имеют любое из перечисленных значений.
dvchostname_has_any Динамический Фильтрация только событий реестра, в которых имя узла устройства имеет любое из перечисленных значений.

Например, чтобы отфильтровать только события создания раздела реестра за последний день, используйте:

_Im_RegistryEvent (eventtype_in=dynamic(['RegistryKeyCreated']), starttime = ago(1d), endtime=now())

Нормализованное содержимое

Microsoft Sentinel предоставляет запрос на поиск ключей реестра через IFEO. Этот запрос работает со всеми данными о действиях реестра, нормализованных с помощью расширенной информационной модели безопасности.

Дополнительные сведения см. в разделе Охота на угрозы с помощью Microsoft Sentinel.

Сведения о схеме

Модель сведений о событиях реестра соответствует схеме сущности реестра OSSEM.

Общие поля ASIM

Важно!

Поля, общие для всех схем, подробно описаны в статье Общие поля ASIM .

Общие поля с определенными рекомендациями

В следующем списке перечислены поля с определенными рекомендациями по событиям действия процесса.

Поле Класс Тип Описание
EventType Обязательный Перечисленных Описывает операцию, сообщаемую записью.

Для записей реестра поддерживаются следующие значения:
- RegistryKeyCreated
- RegistryKeyDeleted
- RegistryKeyRenamed
- RegistryValueDeleted
- RegistryValueSet
EventSchemaVersion Обязательный SchemaVersion (String) Версия схемы. Версия схемы, описанная здесь: 0.1.3
EventSchema Обязательный String Имя схемы, описанной здесь, — RegistryEvent.
Поля Dvc Для событий действия реестра поля устройства относятся к системе, в которой выполнялось действие реестра.

Все общие поля

Поля, отображаемые в таблице ниже, являются общими для всех схем ASIM. Любое указанное выше руководство переопределяет общие рекомендации для поля. Например, поле может быть необязательным в целом, но обязательным для конкретной схемы. Дополнительные сведения о каждом поле см. в статье Общие поля ASIM .

Class Fields
Обязательный - EventCount
- EventStartTime
- EventEndTime
- Eventtype
- EventResult
- EventProduct
- EventVendor
- EventSchema
- EventSchemaVersion
- Dvc
Рекомендуемый - EventResultDetails
- EventSeverity
- EventUid
- DvcIpAddr
- DvcHostname
- DvcDomain
- DvcDomainType
- DvcFQDN
- DvcId
- DvcIdType
- DvcAction
Необязательный - EventMessage
- EventSubType
- EventOriginalUid
- EventOriginalType
- EventOriginalSubType
- EventOriginalResultDetails
- EventOriginalSeverity
- EventProductVersion
- EventReportUrl
- EventOwner
- DvcZone
- DvcMacAddr
- DvcOs
- DvcOsVersion
- DvcOriginalAction
- DvcInterface
- Дополнительные поля
- DvcDescription
- DvcScopeId
- DvcScope

Поля события реестра

Поля, перечисленные в таблице ниже, относятся к событиям реестра, но похожи на поля в других схемах и соответствуют аналогичным соглашениям об именовании.

Дополнительные сведения см. в разделе Структура реестра в документации Windows.

Поле Класс Тип Описание
Registrykey Обязательный String Раздел реестра, связанный с операцией, нормализованный по стандартным соглашениям об именовании корневых ключей. Дополнительные сведения см. в разделе Корневые ключи.

Разделы реестра похожи на папки в файловой системе.

Пример: HKEY_LOCAL_MACHINE\SOFTWARE\MTG
RegistryValue Рекомендуемый String Значение реестра, связанное с операцией. Значения реестра похожи на файлы в файловой системе.

Пример: Path
RegistryValueType Рекомендуемый String Тип значения реестра, нормализованного до стандартной формы. Дополнительные сведения см. в разделе Типы значений.

Пример: Reg_Expand_Sz
RegistryValueData Рекомендуемый String Данные, хранящиеся в значении реестра.

Пример: C:\Windows\system32;C:\Windows;
RegistryPreviousKey Рекомендуемый String Для операций, изменяющих реестр, исходный раздел реестра нормализован до стандартного именования корневого ключа. Дополнительные сведения см. в разделе Корневые ключи.

Примечание. Если операция изменила другие поля, например значение, но раздел остается прежним, параметр RegistryPreviousKey будет иметь то же значение, что и RegistryKey.

Пример: HKEY_LOCAL_MACHINE\SOFTWARE\MTG
RegistryPreviousValue Рекомендуемый String Для операций, изменяющих реестр, исходный тип значения нормализуется до стандартной формы. Дополнительные сведения см. в разделе Типы значений.

Если тип не был изменен, это поле имеет то же значение, что и поле RegistryValueType .

Пример: Path
RegistryPreviousValueType Рекомендуемый String Для операций, изменяющих реестр, исходный тип значения.

Если тип не был изменен, это поле будет иметь то же значение, что и поле RegistryValueType , нормализованное до стандартной формы. Дополнительные сведения см. в разделе Типы значений.

Пример: Reg_Expand_Sz
RegistryPreviousValueData Рекомендуемый String Исходные данные реестра для операций, которые изменяют реестр.

Пример: C:\Windows\system32;C:\Windows;
Пользователь Alias Псевдоним поля ActorUsername .

Пример: CONTOSO\ dadmin
Процесс Alias Псевдоним поля ActingProcessName .

Пример: C:\Windows\System32\rundll32.exe
ActorUsername Обязательный Имя пользователя (строка) Имя пользователя, инициировавшего событие.

Пример: CONTOSO\WIN-GG82ULGC9GO$
ActorUsernameType Условного Перечисленных Указывает тип имени пользователя, хранящегося в поле ActorUsername . Дополнительные сведения см. в разделе Сущность пользователя.

Пример: Windows
ActorUserId Рекомендуемый String Уникальный идентификатор субъекта. Конкретный идентификатор зависит от системы, создающей событие. Дополнительные сведения см. в разделе Сущность пользователя.

Пример: S-1-5-18
ActorScope Необязательный String Область, например клиент Microsoft Entra, в котором определены ActorUserId и ActorUsername. дополнительные сведения и список допустимых значений см. в статье UserScope в статье Общие сведения о схеме.
ActorUserIdType Условного Перечисленных Тип идентификатора, хранящегося в поле ActorUserId . Дополнительные сведения см. в разделе Сущность пользователя.

Пример: SID
ActorSessionId Необязательный String Уникальный идентификатор сеанса входа субъекта.

Пример: 999

Примечание. Тип определяется как строка для поддержки различных систем, но в Windows это значение должно быть числовым. Если вы используете компьютер с Windows и источник отправляет другой тип, обязательно преобразуйте значение. Например, если источник отправляет шестнадцатеричное значение, преобразуйте его в десятичное значение.
ActingProcessName Необязательный String Имя файла образа действующего процесса. Это имя обычно считается именем процесса.

Пример: C:\Windows\explorer.exe
ActingProcessId Обязательный String Идентификатор процесса (PID) действующего процесса.

Пример: 48610176

Примечание. Тип определяется как строка для поддержки различных систем, но в Windows и Linux это значение должно быть числовым.

Если вы используете компьютер с Windows или Linux и используете другой тип, обязательно преобразуйте значения. Например, если вы использовали шестнадцатеричное значение, преобразуйте его в десятичное значение.
ActingProcessGuid Необязательный GUID (строка) Созданный уникальный идентификатор (GUID) действующего процесса.

Пример: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ParentProcessName Необязательный String Имя файла образа родительского процесса. Обычно это значение считается именем процесса.

Пример: C:\Windows\explorer.exe
ParentProcessId Обязательный String Идентификатор процесса (PID) родительского процесса.

Пример: 48610176
ParentProcessGuid Необязательный String Созданный уникальный идентификатор (GUID) родительского процесса.

Пример: EF3BD0BD-2B74-60C5-AF5C-010000001E00

Поля проверки

Следующие поля используются для представления проверки, выполняемой системой безопасности, такой как система EDR.

Поле Класс Тип Описание
RuleName Необязательный String Имя или идентификатор правила, связанного с результатами проверки.
RuleNumber Необязательный Integer Номер правила, связанного с результатами проверки.
Rule Условного String Значение kRuleName или значение RuleNumber. Если используется значение RuleNumber , тип следует преобразовать в строку.
ThreatId Необязательный String Идентификатор угрозы или вредоносных программ, определенных в действии файла.
ThreatName Необязательный String Имя угрозы или вредоносной программы, обнаруженной в действии файла.

Пример: EICAR Test File
ThreatCategory Необязательный String Категория угрозы или вредоносного ПО, обнаруженная в действии файла.

Пример: Trojan
ThreatRiskLevel Необязательный RiskLevel (целое число) Уровень риска, связанный с обнаруженной угрозой. Уровень должен быть числом от 0 до 100.

Примечание. Значение может быть предоставлено в исходной записи с помощью другой шкалы, которая должна быть нормализована по этому масштабу. Исходное значение должно храниться в ThreatOriginalRiskLevel.
ThreatOriginalRiskLevel Необязательный String Уровень риска, сообщаемый устройством отчетности.
ThreatField Необязательный String Поле, для которого была обнаружена угроза.
ThreatConfidence Необязательный ConfidenceLevel (Целое число) Уровень достоверности обнаруженной угрозы, нормализованный до значения от 0 до 100.
ThreatOriginalConfidence Необязательный String Исходный уровень достоверности обнаруженной угрозы, о чем сообщает устройство отчетности.
ThreatIsActive Необязательный Логический Значение true, если обнаруженная угроза считается активной угрозой.
ThreatFirstReportedTime Необязательный datetime При первом обнаружении IP-адреса или домена как угрозы.
ThreatLastReportedTime Необязательный datetime В последний раз IP-адрес или домен были определены как угроза.

Корневые ключи

Разные источники представляют префиксы разделов реестра с разными представлениями. Для полей RegistryKey и RegistryPreviousKey используйте следующие нормализованные префиксы:

Префикс нормализованного ключа Другие распространенные представления
HKEY_LOCAL_MACHINE HKLM, \REGISTRY\MACHINE
HKEY_USERS HKU, \REGISTRY\USER

Типы значений

Различные источники представляют типы значений реестра, используя разные представления. Для полей RegistryValueType и RegistryPreviousValueType используйте следующие нормализованные типы:

Префикс нормализованного ключа Другие распространенные представления
Reg_None None, %%1872
Reg_sz String, %%1873
Reg_expand_sz ExpandString, %%1874
Reg_Binary Binary, %%1875
Reg_dword Dword, %%1876
Reg_Multi_Sz MultiString, %%1879
Reg_QWord Qword, %%1883

Обновления схемы

Ниже приведены изменения в схеме версии 0.1.1:

  • Добавлено поле EventSchema.

Ниже приведены изменения в схеме версии 0.1.2:

  • Добавлены поля ActorScope, DvcScopeIdи DvcScope.

Ниже приведены изменения в схеме версии 0.1.3:

  • Добавлены поля проверки.