Схемы расширенной информационной модели безопасности (ASIM)

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

Чтобы понять, как схемы вписываются в архитектуру ASIM, см. схему архитектуры ASIM.

Схемы действий и событий

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

Схема Имя схемы для тестов Версия Состояние
Событие агента AgentEvent 0.1.0 Общедоступная версия
Событие оповещения AlertEvent 0,1 Общедоступная версия
Событие аудита AuditEvent 0.1.2 Общедоступная версия
Событие проверки подлинности Authentication 0.1.4 Общедоступная версия
Действие DHCP DhcpEvent 0.1.1 Общедоступная версия
Действия DNS Dns 0.1.7 Общедоступная версия
Действие файла FileEvent 0.2.2 Общедоступная версия
Сетевой сеанс NetworkSession 0.2.7 Общедоступная версия
Событие обработки ProcessEvent 0.1.4 Общедоступная версия
Событие реестра RegistryEvent 0.1.3 Общедоступная версия
Управление пользователями UserManagement 0.1.2 Общедоступная версия
Веб-сеанс WebSession 0.2.7 Общедоступная версия

Схемы сущностей

В настоящее время ASIM определяет следующие схемы для сущностей:

Схема Имя схемы для тестов Версия Состояние
Сущность ресурса AssetEntity 0.1.0 Общедоступная версия

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

Именование полей

В основе каждой схемы находятся ее имена полей. Имена полей относятся к следующим группам:

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

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

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

Общие поля

Некоторые поля являются общими для всех схем ASIM. Каждая схема может добавить рекомендации по использованию некоторых общих полей в контексте конкретной схемы. Например, допустимые значения для поля EventType могут отличаться в зависимости от схемы, как и значение поля EventSchemaVersion .

Классы полей

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

  • Обязательные поля должны отображаться в каждом синтаксическом анализаторе. Если источник не предоставляет сведения для этого значения или данные не могут быть добавлены в противном случае, он не поддерживает большинство элементов контента, ссылающихся на нормализованную схему.
  • Рекомендуемые поля должны быть нормализованы, если они доступны. Однако они могут быть доступны не во всех источниках. Любой элемент содержимого, ссылающийся на нормализованную схему, должен учитывать доступность.
  • Необязательные поля, если они доступны, можно нормализовать или оставить в исходном виде. Как правило, средство минимального синтаксического анализа не нормализует их по соображениям производительности.
  • Условные поля являются обязательными при заполнении поля, за которые они следуют. Условные поля обычно используются для описания значения в другом поле. Например, общее поле DvcIdType описывает значение int общего поля DvcId и, следовательно, является обязательным при заполнении последнего.
  • Псевдоним — это особый тип условного поля, который является обязательным, если поле псевдонима заполнено.

Сущности событий

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

Одна запись может содержать несколько сущностей одного типа, таких как исходный и конечный узел.

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

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

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

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

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

Если для события относится одна сущность типа, использовать префикс не требуется. Кроме того, набор полей без префикса определяет псевдонимы наиболее часто используемых сущностей для каждого типа.
Идентификаторы и типы Нормализованная схема позволяет использовать несколько идентификаторов для каждой сущности, которые, как ожидается, будут сосуществовать в событиях. Если исходное событие содержит другие идентификаторы сущностей, которые не могут быть сопоставлены с нормализованной схемой, оставьте их в исходной форме или используйте динамическое поле AdditionalFields .

Чтобы сохранить сведения о типе для идентификаторов, при необходимости сохраните тип в поле с тем же именем и суффиксом Type. Например, UserIdType.
Атрибуты Сущности часто имеют другие атрибуты, которые не служат в качестве идентификатора, а также могут быть квалифицированы с помощью дескриптора. Например, если у исходного пользователя есть сведения о домене, нормализованное поле — SrcUserDomain.

Дополнительные сведения о конкретных типах сущностей см. в следующих статье:

Дополнительные сведения о полных схемах сущностей см. в:

Псевдонимы

Псевдонимы позволяют использовать несколько имен для указанного значения. В некоторых случаях разные пользователи ожидают, что поля будут иметь разные имена. Например, в терминологии DNS можно ожидать поле с именем DnsQuery, в то время как в более общем случае оно содержит доменное имя. Псевдоним Домен помогает пользователю, разрешая использовать оба имени.

Примечание.

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

В некоторых случаях псевдоним может иметь значение одного из нескольких полей в зависимости от того, какие значения доступны в событии. Например, псевдоним Dvc , псевдонимы DvcFQDN, DvcId, DvcHostname или DvcIpAddr или Event Product . Если псевдоним может иметь несколько значений, его тип должен быть строкой, чтобы вместить все возможные значения псевдонима. В результате при назначении значения такому псевдониму обязательно преобразуйте тип в строку с помощью функции KQL tostring.

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

Логические типы

Каждое поле схемы имеет тип. Рабочая область Log Analytics имеет ограниченный набор типов данных. По этой причине Microsoft Sentinel использует логический тип для многих полей схемы, которые Log Analytics не применяются, но требуются для совместимости схем. Типы логических полей обеспечивают согласованность значений и имен полей в разных источниках.

Тип данных Физический тип Формат и значение
Boolean Логический Используйте встроенный тип данных KQL bool , а не числовое или строковое представление логических значений.
Перечисленных String Список значений, явно определенных для поля. В определении схемы перечислены допустимые значения.
Дата/время В зависимости от возможности метода приема используйте любое из следующих физических представлений в убывящем приоритете:

— Встроенный тип даты и времени в Log Analytics
— целочисленное поле с числовым представлением даты и времени Log Analytics.
— строковое поле с числовым представлением даты и времени Log Analytics.
— строковое поле, в котором хранится поддерживаемый формат даты и времени Log Analytics.
Представление даты и времени Log Analytics похоже, но отличается от представления времени Unix. Дополнительные сведения см. в руководстве по преобразованию.

Примечание. Если применимо, время должно быть изменено.
MAC-адрес String Colon-Hexadecimal нотация.
IP-адрес. String Microsoft Sentinel схемы не имеют отдельных адресов IPv4 и IPv6. Любое поле IP-адреса может содержать IPv4-адрес или IPv6-адрес следующим образом:

- IPv4 в десятичной нотации.
- IPv6 в нотации из 8 шестнадцатеричных чисел, что позволяет использовать краткую форму.

Например, вы можете:
- IPv4: 192.168.10.10
- IPv6: FEDC:BA98:7654:3210:FEDC:BA98:7654:3210
- Краткая форма IPv6: 1080::8:800:200C:417A
FQDN String Полное доменное имя с использованием точечной нотации, например learn.microsoft.com. Дополнительные сведения см. в разделе Сущность устройства.
Узла String Имя узла, которое не является полным доменным именем, включает до 63 символов, включая буквы, цифры и дефисы. Дополнительные сведения см. в разделе Сущность устройства.
Домен String доменная часть полного доменного имени без имени узла, например learn.microsoft.com. Дополнительные сведения см. в разделе Сущность устройства.
DomainType Перечисленных Тип домена, хранящегося в полях домена и полного доменного имени. Список значений и дополнительные сведения см. в разделе Сущность Устройства.
DvcIdType Перечисленных Тип идентификатора устройства, хранящегося в полях DvcId. Список допустимых значений и дополнительные сведения см. в статье DvcIdType.
DeviceType Перечисленных Тип устройства, хранящегося в полях DeviceType. Возможные значения:
- Computer
- Mobile Device
- IOT Device
- Other. Дополнительные сведения см. в разделе Сущность устройства.
Пользователя String Допустимое имя пользователя в одном из поддерживаемых типов. Дополнительные сведения см. в разделе Сущность пользователя.
UsernameType Перечисленных Тип имени пользователя, хранящегося в полях имени пользователя. Дополнительные сведения и список поддерживаемых значений см. в разделе Сущность User.
UserIdType Перечисленных Тип идентификатора, хранящегося в полях идентификатора пользователя.

Поддерживаемые значения: SID, UIS, AADID, OktaId, AWSIdи PUID. Дополнительные сведения см. в разделе Сущность пользователя.
UserType Перечисленных Тип пользователя. Дополнительные сведения и список допустимых значений см. в разделе Сущность User.
AppType Перечисленных Тип приложения. Список поддерживаемых значений см. в разделе Сущность приложения.
Страна String Строка, используюющая ISO 3166-1, в соответствии со следующим приоритетом:

— коды альфа-2, например US для США.
— коды Альфа-3, например USA для США.
— Короткое имя.

Список кодов можно найти на веб-сайте Международной организации по стандартам (ISO).
Region String Название подразделения страны или региона по стандарту ISO 3166-2.

Список кодов можно найти на веб-сайте Международной организации по стандартам (ISO).
City String
Longitude Двойное с плавающей точкой Представление координат ISO 6709 (десятичное со знаком).
Latitude Двойное с плавающей точкой Представление координат ISO 6709 (десятичное со знаком).
MD5 String 32 шестнадцатеричные символы.
SHA1 String 40 шестнадцатеричных символов.
SHA256 String 64 шестнадцатеричные символы.
SHA512 String 128 шестнадцатеричных символов.
ConfidenceLevel Integer Уровень достоверности, нормализованный в диапазоне от 0 до 100.
RiskLevel Integer Уровень риска, нормализованный в диапазоне от 0 до 100.
SchemaVersion String Версия схемы ASIM в формате <major>.<minor>.<sub-minor>
DnsQueryClassName String Имя класса DNS.
Username String Простое имя пользователя или имя пользователя с указанием домена

Пример сопоставления сущностей

В этом разделе используется событие Windows 4624 в качестве примера для описания нормализованных данных события для Microsoft Sentinel.

Это событие имеет следующие сущности:

Терминология Майкрософт Префикс исходного поля события Префикс поля ASIM Описание
Тема Subject Actor Пользователь, который сообщил сведения об успешном входе.
Новый вход Target TargetUser Пользователь, для которого выполнен вход.
Процесс - ActingProcess Процесс, при попытке входа.
Сведения о сети - Src Компьютер, с которого была выполнена попытка входа.

На основе этих сущностей событие Windows 4624 нормализуется следующим образом (некоторые поля являются необязательными):

Нормализованное поле Исходное поле Значение в примере Примечания
ActorUserId SubjectUserSid С-1-5-18
ActorUserIdType - SID
ActorUserName SubjectDomainName\ SubjectUserName WORKGROUP\WIN-GG82ULGC9GO$ Создано путем объединения двух полей
ActorUserNameType - Windows
ActorSessionId SubjectLogonId 0x3e7
TargetUserId TargetUserSid S-1-5-21-1377283216-344919071-3415362939-500
UserId TargetUserSid Alias
TargetUserIdType - SID
TargetUserName TargetDomainName\ TargetUserName Администратор\WIN-GG82ULGC9GO$ Создано путем объединения двух полей
Username TargetDomainName\ TargetUserName Alias
TargetUserNameType - Windows
TargetSessionId TargetLogonId 0x8dcdc
ActingProcessName ProcessName C:\Windows\System32\svchost.exe
ActingProcessId ProcessId 0x44c
SrcHostname Имя рабочей станции Windows
SrcIpAddr Ipaddress 127.0.0.1
SrcPortNumber IpPort 0
TargetHostname Компьютер WIN-GG82ULGC9GO
Hostname (Имя узла) Компьютер Alias