Справочник по схеме нормализации событий процессов в расширенной информационной модели безопасности (ASIM) (общедоступная предварительная версия)

Схема нормализации событий процесса используется для описания действий операционной системы при запуске и завершении процесса. Такие события регистрируются операционными системами, а также системами безопасности, такими как системы EDR (обнаружение и конечных точек и реагирование).

Процесс, определяемый с помощью ОССЕМ, является объектом автономности и управления и представляет собой выполняющийся экземпляр программы. Хотя сами процессы не выполняются, они управляют потоками, выполняющими код.

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

Важно!

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

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

Средства синтаксического анализа

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

  • imProcessCreate для запросов, требующих сведений о создании процесса. Эти запросы — наиболее распространенные случаи.
  • imProcessTerminate для запросов, требующих сведений о завершении процесса.

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

Средства синтаксического анализа проверки подлинности развертываются из раздела о Microsoft Sentinel репозитория GitHub.

Дополнительные сведения см. на странице Средства синтаксического анализа расширенной информационной модели безопасности (ASIM) (общедоступная предварительная версия).

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

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

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

Параметры фильтрации средств синтаксического анализа

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

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

Имя. Тип Описание
starttime datetime Фильтровать только события процесса, которые возникли в указанное время или позже.
endtime datetime Фильтровать только запросы событий процесса, которые возникли в указанное время или раньше.
commandline_has_any по строкам Фильтровать только события процесса, для которых выполняемая команда содержит любое из указанных значений. Длина списка ограничена 10 000 элементов.
commandline_has_all по строкам Фильтровать только события процесса, для которых выполняемая команда содержит все указанные значения. Длина списка ограничена 10 000 элементов.
commandline_has_any_ip_prefix по строкам Фильтровать только события процесса, для которых выполняемая команда содержит все указанные IP-адреса или префиксы IP-адресов. Префиксы должны заканчиваться на ., например: 10.0.. Длина списка ограничена 10 000 элементов.
actingprocess_has_any по строкам Фильтровать только события процесса, для которых имя действующего процесса, включающее весь путь к нему, содержит любое из указанных значений. Длина списка ограничена 10 000 элементов.
targetprocess_has_any по строкам Фильтровать только события процесса, для которых имя целевого процесса, включающее весь путь к нему, содержит любое из указанных значений. Длина списка ограничена 10 000 элементов.
parentprocess_has_any по строкам Фильтровать только события процесса, для которых имя целевого процесса, включающее весь путь к нему, содержит любое из указанных значений. Длина списка ограничена 10 000 элементов.
targetusername_has или actorusername_has строка Фильтровать только события процесса, для которых целевое имя пользователя (для событий создания процесса) или имя пользователя субъекта (для событий завершения процесса) содержит любое из указанных значений. Длина списка ограничена 10 000 элементов.
dvcipaddr_has_any_prefix по строкам Фильтровать только события процесса, для которых IP-адрес устройства содержит любой из указанных IP-адресов или префиксов IP-адресов. Префиксы должны заканчиваться на ., например: 10.0.. Длина списка ограничена 10 000 элементов.
dvchostname_has_any по строкам Фильтровать только события процесса, для которых имя узла устройства или полное доменное имя устройства (если есть) содержит любое из указанных значений. Длина списка ограничена 10 000 элементов.
eventtype строка Фильтровать только события процесса указанного типа.

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

imProcessCreate (targetusername_has = 'johndoe', starttime = ago(1d), endtime=now())

Совет

Чтобы передать список литералов в параметры, которые предполагают динамическое значение, явно используйте динамический литерал. Например: dynamic(['192.168.','10.']).

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

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

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

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

Общие поля ASIM

Важно!

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

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

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

Поле Класс Тип Описание
EventType Обязательно Enumerated Описывает операцию, о которой сообщает эта запись.

Для записей процесса поддерживаются следующие значения:
- ProcessCreated
- ProcessTerminated
EventSchemaVersion Обязательно Строка Номер версии схемы. Здесь приведена версия схемы 0.1.4
EventSchema Необязательно Строка Имя описанной здесь схемы — ProcessEvent.
Поля Dvc Для событий действий процесса предусмотрены поля устройств, которые обозначают систему, в которой выполнялся процесс.

Важно!

Поле EventSchema в настоящее время необязательно, но станет обязательным с 1 сентября 2022 г.

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

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

Class Поля
Обязательно - 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
- AdditionalFields
- DvcDescription
- DvcScopeId
- DvcScope

Обработка полей, связанных с событием

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

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

  • Actor (субъект) — пользователь, который инициировал создание или завершение процесса.
  • ActingProcess — процесс, используемый субъектом для инициации создания или завершения процесса.
  • TargetProcess — новый процесс.
  • TargetUser — пользователь, учетные данные которого используются для создания нового процесса.
  • ParentProcess — процесс, который инициировал процесс субъекта.

Aliases

Поле Класс Тип Описание
Пользователь Псевдоним Псевдоним для TargetUsername.

Пример: CONTOSO\dadmin
Обработать Псевдоним Псевдоним для TargetProcessName

Пример: C:\Windows\System32\rundll32.exe
CommandLine Псевдоним Псевдоним для TargetProcessCommandLine
Hash Псевдоним Псевдоним наилучшего доступного хэша для целевого процесса.

Поля Actor

Поле Класс Тип Описание
ActorUserId Рекомендуемая конфигурация Строка Считываемое компьютером буквенно-цифровое значение, уникальным образом представляющее Actor. Поддерживаемые форматы для различных типов идентификаторов см. в разделе Сущность пользователя.

Пример: S-1-12
ActorUserIdType Условный Строка Тип идентификатора, который хранится в поле ActorUserId. Список допустимых значений и дополнительные сведения см. в разделе UserIdType в Статье обзора схемы.
ActorScope Необязательно Строка Область, например клиент Microsoft Entra, в котором определены ActorUserId и ActorUsername. или дополнительные сведения и список разрешенных значений см. в разделе UserScope в статье "Обзор схемы".
ActorUsername Обязательно Строка Имя пользователя субъекта, включая сведения о домене, если они доступны. Поддерживаемые форматы для различных типов идентификаторов см. в разделе Сущность пользователя. Используйте простую форму, только если сведения о домене недоступны.

Храните тип имени пользователя в поле ActorUsernameType. Если доступны другие форматы имени пользователя, сохраните их в полях ActorUsername<UsernameType>.

Пример: AlbertE
ActorUsernameType Условный Enumerated Определяет тип имени пользователя, которое хранится в поле ActorUsername. Список допустимых значений и дополнительные сведения см. в разделе UsernameType в Статье обзора схемы.

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

Пример: 999

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

Если вы используете компьютеры с Windows и используете другой тип, обязательно преобразуйте эти значения. Например, если вы использовали шестнадцатеричное значение, преобразуйте его в десятичное.
ActorUserType Необязательно UserType Тип субъекта Actor. Список допустимых значений и дополнительные сведения см. в разделе UserType в Статье обзора схемы.

Примечание. Значение может быть указано в исходной записи с использованием разных терминов, которые должны быть нормализованы до этих значений. Храните исходное значение в поле ActorOriginalUserType.
ActorOriginalUserType Необязательно Строка Исходный тип пользователя назначения, если он указан передающим устройством.

Поля действующего процесса

Поле Класс Тип Описание
ActingProcessCommandLine Необязательно Строка Командная строка, используемая для запуска действующего процесса.

Пример: "choco.exe" -v
ActingProcessName Необязательно строка Имя действующего процесса. Это имя, как правило, является производным от файла образа или исполняемого файла, который используется для определения исходного кода и данных, сопоставленных с виртуальным адресным пространством процесса.

Пример: C:\Windows\explorer.exe
ActingProcessFileCompany Необязательно Строка Компания, создавшая файл образа действующего процесса.

Пример: Microsoft
ActingProcessFileDescription Необязательно Строка Описание, внедренное в сведения о версии файла образа действующего процесса.

Пример: Notepad++ : a free (GPL) source code editor
ActingProcessFileProduct Необязательно Строка Имя продукта, полученное из сведений о версии в файле образа действующего процесса.

Пример: Notepad++
ActingProcessFileVersion Необязательно Строка Версия продукта, полученная из сведений о версии файла образа действующего процесса.

Пример: 7.9.5.0
ActingProcessFileInternalName Необязательно Строка Внутреннее имя файла продукта, полученное из сведений о версии файла образа действующего процесса.
ActingProcessFileOriginalName Необязательно Строка Исходное имя файла продукта, полученное из сведений о версии файла образа действующего процесса.

Пример: Notepad++.exe
ActingProcessIsHidden Необязательно Логическое значение Указывает, скрыт ли действующий процесс.
ActingProcessInjectedAddress Необязательно Строка Адрес памяти, в котором хранится ответственный действующий процесс.
ActingProcessId Обязательно Строка Идентификатор (PID) действующего процесса.

Пример: 48610176

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

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

Пример: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ActingProcessIntegrityLevel Необязательно Строка Каждый процесс имеет уровень целостности, представленный в его токене. Уровни целостности определяют уровень процесса защиты или доступа.

В Windows определяются следующие уровни целостности: низкий, средний, высокий и системный. Обычные пользователи получают средний уровень целостности, а привилегированные пользователи — высокий уровень целостности.

Дополнительные сведения см. в разделе Обязательный контроль целостности — приложения Win32.
ActingProcessMD5 Необязательно Строка Хэш MD5 файла образа действующего процесса.

Пример: 75a599802f1fa166cdadb360960b1dd0
ActingProcessSHA1 Необязательно SHA1 Хэш SHA-1 файла образа действующего процесса.

Пример: d55c5a4df19b46db8c54c801c4665d3338acdab0
ActingProcessSHA256 Необязательно SHA256 Хэш SHA-256 файла образа действующего процесса.

Пример:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ActingProcessSHA512 Необязательно SHA521 Хэш SHA-512 файла образа действующего процесса.
ActingProcessIMPHASH Необязательно Строка Хэш импорта всех библиотек DLL, используемых действующим процессом.
ActingProcessCreationTime Необязательно Дата и время Дата и время запуска действующего процесса.
ActingProcessTokenElevation Необязательно Строка Токен, указывающий на наличие или отсутствие повышения привилегий контроля доступа пользователей (UAC), применяемого к действующему процессу.

Пример: None
ActingProcessFileSize Необязательно Long Размер файла, запустившего действующий процесс.

Поля родительского процесса

Поле Класс Тип Описание
ParentProcessName Необязательно строка Имя родительского окна. Это имя, как правило, является производным от файла образа или исполняемого файла, который используется для определения исходного кода и данных, сопоставленных с виртуальным адресным пространством процесса.

Пример: C:\Windows\explorer.exe
ParentProcessFileCompany Необязательно Строка Имя компании, создавшей файл образа родительского процесса.

Пример: Microsoft
ParentProcessFileDescription Необязательно Строка Описание, полученное из сведений о версии в файле образа родительского процесса.

Пример: Notepad++ : a free (GPL) source code editor
ParentProcessFileProduct Необязательно Строка Имя продукта, полученное из сведений о версии в файле образа действующего процесса.

Пример: Notepad++
ParentProcessFileVersion Необязательно Строка Версия продукта, полученная из сведений о версии в файле образа действующего процесса.

Пример: 7.9.5.0
ParentProcessIsHidden Необязательно Логическое значение Указывает, скрыт ли родительский процесс.
ParentProcessInjectedAddress Необязательно Строка Адрес памяти, в котором хранится ответственный родительский процесс.
ParentProcessId Рекомендуемая конфигурация Строка Идентификатор (PID) родительского процесса.

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

Пример: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ParentProcessIntegrityLevel Необязательно Строка Каждый процесс имеет уровень целостности, представленный в его токене. Уровни целостности определяют уровень процесса защиты или доступа.

В Windows определяются следующие уровни целостности: низкий, средний, высокий и системный. Обычные пользователи получают средний уровень целостности, а привилегированные пользователи — высокий уровень целостности.

Дополнительные сведения см. в разделе Обязательный контроль целостности — приложения Win32.
ParentProcessMD5 Необязательно MD5 Хэш MD5 файла образа родительского процесса.

Пример: 75a599802f1fa166cdadb360960b1dd0
ParentProcessSHA1 Необязательно SHA1 Хэш SHA-1 файла образа родительского процесса.

Пример: d55c5a4df19b46db8c54c801c4665d3338acdab0
ParentProcessSHA256 Необязательно SHA256 Хэш SHA-256 файла образа родительского процесса.

Пример:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ParentProcessSHA512 Необязательно SHA512 Хэш SHA-512 файла образа родительского процесса.
ParentProcessIMPHASH Необязательно Строка Хэш импорта всех библиотек DLL, используемых родительским процессом.
ParentProcessTokenElevation Необязательно Строка Токен, указывающий на наличие или отсутствие повышения привилегий контроля доступа пользователей (UAC), применяемого к родительскому процессу.

Пример: None
ParentProcessCreationTime Необязательно Дата и время Дата и время запуска родительского процесса.

Поля целевого пользователя

Поле Класс Тип Описание
TargetUsername Обязательно для событий создания процесса. Строка Имя целевого пользователя, включая сведения о домене, если они доступны. Поддерживаемые форматы для различных типов идентификаторов см. в разделе Сущность пользователя. Используйте простую форму, только если сведения о домене недоступны.

Храните тип имени пользователя в поле TargetUsernameType. Если доступны другие форматы имени пользователя, сохраните их в полях TargetUsername<UsernameType>.

Пример: AlbertE
TargetUsernameType Условный Enumerated Указывает тип имени пользователя, хранимого в поле TargetUsername. Список допустимых значений и дополнительные сведения см. в разделе UsernameType в Статье обзора схемы.

Пример: Windows
TargetUserId Рекомендуемая конфигурация Строка Считываемое компьютером буквенно-цифровое значение, уникальным образом представляющее целевого пользователя. Поддерживаемые форматы для различных типов идентификаторов см. в разделе Сущность пользователя.

Пример: S-1-12
TargetUserIdType Условный Строка Тип идентификатора, хранимый в поле TargetUserId. Список допустимых значений и дополнительные сведения см. в разделе UserIdType в Статье обзора схемы.
TargetUserSessionId Необязательно Строка Уникальный идентификатор сеанса входа целевого пользователя.

Пример: 999

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

Если вы используете компьютер с Windows или Linux и применяете другой тип, обязательно преобразуйте эти значения. Например, если вы использовали шестнадцатеричное значение, преобразуйте его в десятичное.
TargetUserType Необязательно UserType Тип субъекта Actor. Список допустимых значений и дополнительные сведения см. в разделе UserType в Статье обзора схемы.

Примечание. Значение может быть указано в исходной записи с использованием разных терминов, которые должны быть нормализованы до этих значений. Храните исходное значение в поле TargetOriginalUserType.
TargetOriginalUserType Необязательно Строка Исходный тип пользователя назначения, если он указан передающим устройством.

Поля целевого процесса

Поле Класс Тип Описание
TargetProcessName Обязательно строка Имя целевого процесса. Это имя, как правило, является производным от файла образа или исполняемого файла, который используется для определения исходного кода и данных, сопоставленных с виртуальным адресным пространством процесса.

Пример: C:\Windows\explorer.exe
TargetProcessFileCompany Необязательно Строка Имя компании, создавшей файл образа целевого процесса.

Пример: Microsoft
TargetProcessFileDescription Необязательно Строка Описание, полученное из сведений о версии в файле образа целевого процесса.

Пример: Notepad++ : a free (GPL) source code editor
TargetProcessFileProduct Необязательно Строка Имя продукта, полученное из сведений о версии в файле образа целевого процесса.

Пример: Notepad++
TargetProcessFileSize Необязательно Строка Размер файла, запустившего процесс, ответственный за событие.
TargetProcessFileVersion Необязательно Строка Версия продукта, полученная из сведений о версии в файле образа целевого процесса.

Пример: 7.9.5.0
TargetProcessFileInternalName Необязательно Строка Внутреннее имя файла продукта, полученное из сведений о версии файла образа целевого процесса.
TargetProcessFileOriginalName Необязательно Строка Исходное имя файла продукта, полученное из сведений о версии файла образа целевого процесса.
TargetProcessIsHidden Необязательно Логическое значение Указывает, скрыт ли целевой процесс.
TargetProcessInjectedAddress Необязательно Строка Адрес памяти, в котором хранится ответственный целевой процесс.
TargetProcessMD5 Необязательно MD5 Хэш MD5 файла образа целевого процесса.

Пример: 75a599802f1fa166cdadb360960b1dd0
TargetProcessSHA1 Необязательно SHA1 Хэш SHA-1 файла образа целевого процесса.

Пример: d55c5a4df19b46db8c54c801c4665d3338acdab0
TargetProcessSHA256 Необязательно SHA256 Хэш SHA-256 файла образа целевого процесса.

Пример:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
TargetProcessSHA512 Необязательно SHA512 Хэш SHA-512 файла образа целевого процесса.
TargetProcessIMPHASH Необязательно Строка Хэш импорта всех библиотек DLL, используемых целевым процессом.
HashType Рекомендуемая конфигурация Строка Тип хэша, хранящегося в поле псевдонима HASH. Допустимые значения: MD5, SHA, SHA256, SHA512 и IMPHASH.
TargetProcessCommandLine Обязательно Строка Командная строка, используемая для запуска целевого процесса.

Пример: "choco.exe" -v
TargetProcessCurrentDirectory Необязательно Строка Текущий каталог, в котором выполняется целевой процесс.

Пример: c:\windows\system32
TargetProcessCreationTime Рекомендуемая конфигурация Дата и время Версия продукта, полученная из сведений о версии файла образа целевого процесса.
TargetProcessId Обязательно Строка Идентификатор (PID) целевого процесса.

Пример: 48610176

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

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

Пример: EF3BD0BD-2B74-60C5-AF5C-010000001E00
TargetProcessIntegrityLevel Необязательно Строка Каждый процесс имеет уровень целостности, представленный в его токене. Уровни целостности определяют уровень процесса защиты или доступа.

В Windows определяются следующие уровни целостности: низкий, средний, высокий и системный. Обычные пользователи получают средний уровень целостности, а привилегированные пользователи — высокий уровень целостности.

Дополнительные сведения см. в разделе Обязательный контроль целостности — приложения Win32.
TargetProcessTokenElevation Необязательно Строка Тип токена, указывающий на наличие или отсутствие повышения привилегий контроля доступа пользователей (UAC), применяемого к созданному или завершенному процессу.

Пример: None
TargetProcessStatusCode Необязательно Строка Код выхода, полученный при завершении целевого процесса. Это поле допустимо только для событий завершения процесса. Для согласованности это поле имеет строковый тип, даже если операционная система возвращает числовое значение.

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

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

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

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

  • Добавлены поля ActorUserType, ActorOriginalUserType, TargetUserType, TargetOriginalUserType и HashType.

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

  • Поля ParentProcessId и TargetProcessCreationTime изменены с обязательных на рекомендуемые.

Это изменения в схеме версии 0.1.4

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

Дальнейшие действия

Дополнительные сведения см. в разделе: