Решение Microsoft Sentinel для приложений SAP — справочник по функциям
В этой статье описывается выбор функций, доступных в рабочей области после установки решения Microsoft Sentinel для приложений SAP. Узнайте больше функций, просматривая в Microsoft Sentinel и загружая код функции.
Найдите функции следующим образом:
- На портал Azure на вкладке "Функции" на вкладке "Общие > журналы" и в разделе "Функции рабочей области".
- На портале Defender на странице "Исследование и ответ > расширенной охоты" на вкладке "Функции" и в разделе "Функции" перечислены функции рабочей области Sentinel.
Содержимое этой статьи предназначено для групп безопасности .
Использование функций в запросах вместо базовых журналов или таблиц
Настоятельно рекомендуется использовать функции, перечисленные в этой статье, в качестве субъектов их анализа, когда это возможно, вместо базовых журналов или таблиц.
Эти функции предназначены для использования в качестве основного пользовательского интерфейса для данных. Они формируют базу для всех встроенных правил аналитики и книг, доступных для вас. Использование функций позволяет вносить изменения в инфраструктуру данных под функциями без нарушения содержимого, созданного пользователем.
SAPUsersAssignments
Функция SAPUsersAssignments собирает данные из нескольких источников данных SAP и создает ориентированное на пользователя представление текущих основных данных пользователя, включая роли и профили, назначенные в настоящее время.
Эта функция суммирует назначения пользователей ролям и профилям и возвращает следующие данные:
Поле | Description | Источник данных/примечания |
---|---|---|
User | Идентификатор пользователя SAP | Только SAL |
Эл. почта | SMTP-адрес | USR21 (SMTP_ADDR) |
UserType | Тип пользователя | USR02 (USTYP) |
Часовой пояс | Time zone | USR02 (TZONE) |
LockedStatus | Состояние блокировки | USR02 (UFLAG) |
LastSeenDate | Дата последнего появления | USR02 (TRDAT) |
LastSeenTime | Время последнего просмотра | USR02 (LTIME) |
UserGroupAuth | Группа пользователей в главном обслуживании пользователей | USR02 (CLASS) |
Профили | Набор профилей (максимальный размер набора по умолчанию = 50) | ["Profile 1", "Profile 2",...,"profile 50"] |
DirectRoles | Набор непосредственно назначенных ролей (максимальный размер набора по умолчанию = 50) | ["Role 1", "Role 2",...,"”"Role 50"] |
ChildRoles | Набор косвенно назначенных ролей (максимальный размер набора по умолчанию = 50) | ["Role 1", "Role 2",...,"”"Role 50"] |
Клиент | Client ID | |
SystemID | ИД системы | Как определено в соединителе |
SAPUsersGetPrivileged
Функция SAPUsersGetPrivileged возвращает список привилегированных пользователей для каждого идентификатора клиента и системы.
Пользователи считаются привилегированными, если они соответствуют любому из следующих описаний:
- Они перечислены в списке пользователей, привилегированных пользователей
- Они назначены профилю, указанному в SAP — список контрольных списков конфиденциальных профилей
- Они добавляются в роль, указанную в sap — список отслеживания конфиденциальных ролей
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
TimeAgo | Необязательно | Семь дней | Определяет, что функция ищет основные данные пользователя от времени, определенного значением, до времени, определенного TimeAgo значением now() . |
Функция SAPUsersGetPrivileged возвращает следующие данные:
Поле | Description |
---|---|
User | Идентификатор пользователя SAP |
Клиент | Client ID |
SystemID | ИД системы |
SAPUsersAuthorizations
Функция SAPUsersAuthorizations объединяет данные из нескольких таблиц для создания ориентированного на пользователя представления текущих ролей и назначенных разрешений. Возвращаются только пользователи с активными ролями и назначениями разрешений.
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
TimeAgo | Необязательно | Семь дней | Определяет, что функция ищет основные данные пользователя от времени, определенного значением, до времени, определенного TimeAgo значением now() . |
Функция SAPUsersAuthorizations возвращает следующие данные:
Поле | Description | Основание |
---|---|---|
User | Идентификатор пользователя SAP | |
Роли | Набор ролей (максимальный размер набора по умолчанию = 50) | ["Role 1", "Role 2",...,"Role 50"] |
AuthorizationsDetails | Набор разрешений (максимальный размер набора по умолчанию = 100) | {{AuthorizationsDetails1} ,{AuthorizationsDetails2} , ..., {AuthorizationsDetails100}} |
Клиент | Client ID | |
SystemID | ИД системы |
SAPConnectorHealth
Функция SAPConnectorHealth отражает состояние подключения агента и базовой системы SAP. На основе журнала пульса SAP_HeartBeat_CL и других индикаторов работоспособности она возвращает следующие данные:
Поле | Description |
---|---|
Агент | Идентификатор агента в конфигурации агента (создается автоматически) |
SystemID | Идентификатор системы SAP |
Состояние | Общее состояние подключения |
Сведения | Сведения о подключении |
ExtendedDetails | Расширенные сведения о подключении |
LastSeen | Метка времени последнего действия |
StatusCode | Код, отражающий состояние системы |
SAPConnectorOverview
Функция SAPConnectorOverview показывает количество строк каждой таблицы SAP на каждый идентификатор системы. Она возвращает список записей данных на каждый идентификатор системы и время их создания.
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
TimeAgo | Необязательно | Семь дней | Определяет, что функция ищет основные данные пользователя от времени, определенного значением, до времени, определенного TimeAgo значением now() . |
Функция SAPConnectorOverview возвращает следующие данные:
Поле | Description |
---|---|
TimeGenerated | Значение DateTime метки времени создания записи |
SystemID_s | Строка, представляющая идентификатор системы SAP |
Используйте следующий запрос Kusto для выполнения ежедневного анализа тенденций:
SAPConnectorOverview(7d)
| summarize count() by bin(TimeGenerated, 1d), SystemID_s
SAPUsersEmail
Функция SAPUsersEmail позволяет выполнять оптимизированный по производительности поиск адреса электронной почты пользователя SAP в клиенте и системе SAP, что обычно используется для связывания с учетной записью Active Directory.
Функция SAPUsersEmail использует данные, извлеченные из таблиц SAP USR21 (назначение ключа имени пользователя и адреса) и ADR6 (адреса электронной почты) для поиска адреса электронной почты. Если адрес электронной почты не найден, вместо него возвращается идентификатор пользователя.
Это гарантирует, что учетные записи службы SAP, такие как DDIC, которые часто не связаны с адресами электронной почты, регистрируются как псевдоадресные учетные записи AD. Это также открывает некоторые функции UEBA, помогая в расследовании инцидентов и охотничьих мероприятий.
Функция SAPUsersEmail возвращает следующие данные:
Поле | Description |
---|---|
ClientID | Идентификатор клиента SAP |
SystemID | Идентификатор системы SAP |
User | Идентификатор пользователя SAP |
Эл. почта | Адрес электронной почты пользователя SAP |
SAPSystems
Функция SAPSystems используется для централизованного представления конфигурации для каждой системы, сделанной с помощью списка наблюдения sap - Systems .
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
SelectedSystems | Необязательно | All Systems |
Используется для фильтрации по определенным системам SAP |
SelectedSystemRoles | Необязательно | All System Roles |
Определяет роли систем SAP, которые необходимо просмотреть, как определено в списке наблюдения за системами SAP. |
Функция SAPSystems возвращает следующие данные:
Поле | Description | Источник данных/примечания |
---|---|---|
SearchKey | Ключ поиска | Индексированные поля для идентификатора системы SAP |
SystemRole | Роль системы SAP | Production (рабочее развертывание), UAT (пользовательское приемочное тестирование) |
SystemUsage | Основное назначение системы SAP | ERP, CRM |
SystemID | Идентификатор системы SAP |
SAPAuditLogConfiguration
Функция SAPAuditLogConfiguration возвращает локальную конфигурацию оповещений журнала аудита SAP в рабочую область Log Analytics, включенную для Microsoft Sentinel. Эта конфигурация используется для оповещений, связанных с журналом аудита SAP.
Функция SAPAuditLogConfiguration присоединяет данные в конфигурации монитора журнала динамического аудита SAP и списки наблюдения за системами, чтобы обеспечить конфигурацию для каждой системы при каждой системной роли.
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
SelectedSystems | Необязательно | All Systems |
Используется для фильтрации по определенным системам SAP, которые вас интересуют. |
SelectedSystemRoles | Необязательно | All System Roles |
Определяет роли систем SAP, которые необходимо просмотреть (как определено в списке наблюдения за системами SAP). |
SelectedSeverities | Необязательно | [High , Medium ] |
Используется для определения событий, которые представляют интерес с точки зрения их серьезности. Серьезность для идентификатора сообщения журнала аудита SAP и системной роли определяются в списке отслеживания SAP_Dynamic_Audit_Log_Monitor_Configuration . |
SelectedRuleTypes | Необязательно | All RuleTypes |
Определяет, какие события относятся к обнаружению аномалий. Типы правил для каждого идентификатора сообщения журнала аудита SAP и системной роли определяются в списке наблюдения SAP_Dynamic_Audit_Log_Monitor_Configuration . |
Функция SAPAuditLogConfiguration возвращает следующие данные:
Поле | Description | Источник данных/примечания |
---|---|---|
ИмяКатегории | Присвоенная в SAP категория событий | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
DestinationEmail | Адрес электронной почты назначенной команды | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
DetailedDescription | Текст в формате Markdown, отображаемый в оповещениях | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
MessageID | Идентификатор сообщения в журнале аудита SAP | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
MessageText | Пример текста сообщения | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
RolesTagsToExclude | тег роли ABAP, профиля или свободного текста | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
RuleType | Аномалия или детерминированное | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
Тактика | Тактика MITRE ATTA&CK | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
TeamsChannelID | Канал Teams | Список отслеживания конфигурации монитора журнала динамического аудита SAP |
SystemID | Идентификатор системы SAP | SAP — список контрольных списков систем |
SystemRole | Роль системы SAP | SAP — список контрольных списков систем |
SystemUsage | Основное назначение системы SAP | SAP — список контрольных списков систем |
IsProd | Флаг производственной среды | SAP — список контрольных списков систем |
Важность | Выведенная серьезность | Серьезность по использованию системы |
За пороговое значение | Выведенное пороговое значение | Количество событий на использование системы |
BagOfDetails | Набор подробностей | Словарь с подробными сведениями об определении события |
Дополнительные сведения см. в разделе "Доступные списки наблюдения".
SAPAuditLogAnomalies
Функция SAPAuditLogAnomalies использует встроенные возможности базы данных Kusto в Базе данных Kusto microsoft Sentinel для обнаружения аномальных событий, наблюдаемых в журнале аудита SAP.
Функция SAPAuditLogAnomalies была разработана для правила аналитики оповещений аналитики аналитики динамических аномалий на основе sap (экспериментальная) на основе журнала аудита. Хотя его оригинальный дизайн заключается в предупреждении о недавних аномалиях, он также может помочь выделить исторические аномалии. Дополнительные сведения см. в примере использования.
Функция SAPAuditLogAnomalies изучает срез журнала, определенный различными входными параметрами, на следующих уровнях:
- User
- Сетевые атрибуты
- Системные
- Сезонность
- Уровни действий
Функция SAPAuditLogAnomalies затем судит события, происходящие в течение последнего DetectingTime
интервала времени, в соответствии с тем, что он узнал, применяя пороговые значения и другие настраиваемые критерии исключения, полученные из списка отслеживания конфигурации журнала аудита SAP.
После того как скользящее окно действия пользователя считается аномальным, второй запрос возвращает всю активность пользователя в качестве доказательств, поддерживающих решение.
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
LearningTime | Необязательно | 14 дней | Определяет интервал времени, используемый для обучения модели. |
DetectingTime | Необязательно | Один час | Определяет интервал времени для обнаружения аномалий. Вызов этой функции с DetectingTime = 0h выделением аномалий в течение всего LearningTime интервала времени. |
SelectedSystems | Необязательно | All Systems |
Используется для фильтрации по определенным системам SAP, которые вас интересуют. |
SelectedSystemRoles | Необязательно | All System Roles |
Определяет роли систем SAP, которые необходимо просмотреть, как определено в списке наблюдения за системами SAP. |
SelectedSeverities | Необязательно | [High , Medium ] |
Используется для определения событий, которые представляют интерес с точки зрения их серьезности. Серьезность для идентификатора сообщения журнала аудита SAP и системной роли определяются в списке отслеживания SAP_Dynamic_Audit_Log_Monitor_Configuration . |
SelectedPrefixMask | Необязательно | 24 | Используется для определения уровня маски подсети, используемой для обучения и обнаружения. |
SelectedRuleTypes | Необязательно | AnomaliesOnly |
Определяет, какие события важны для обнаружения аномалий. Типы правил для каждого идентификатора сообщения журнала аудита SAP и системной роли определяются в списке наблюдения SAP_Dynamic_Audit_Log_Monitor_Configuration . |
Функция SAPAuditLogAnomalies возвращает следующие данные:
Поле | Description |
---|---|
Несколько полей из SAPAuditLog | Ключевые поля из журнала аудита SAP |
Несколько полей из SAPAuditLogConfiguration | Ключевые поля из конфигурации журнала аудита SAP в Microsoft Sentinel |
DiscoveredOn | Округленное до часов значение времени, в которое наблюдалась аномалия |
EventCount | Количество событий по каждой возвращенной строке |
AnomalCount | Количество событий, наблюдаемых в соответствующем скользящем окне |
MinTime | Время первого обнаруженного события |
MaxTime | Время последнего обнаруженного события |
Балл | Оценки аномалий, созданные моделью аномалий. |
Рекомендации.
Как и в любом решении машинного обучения, функция SAPAuditLogAnomalies работает лучше со временем и может быть скорректирована по мере необходимости.
Мы рекомендуем ограничить размер обученной базы данных размером менее 100 миллионов записей, используя множество доступных входных параметров.
Чтобы найти аномалии для событий высокой серьезности, которые произошли в течение последнего часа в рабочих системах для типов событий, помеченных как аномалииOnly в списке отслеживания SAP_Dynamic_Audit_Log_Monitor_Configuration , выполните следующую команду:
SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=1h, SelectedSystemRoles= dynamic(["Production"]), SelectedSeverities= dynamic(["High"]), SelectedRuleTypes= dynamic(["AnomaliesOnly"]))
Чтобы найти все аномалии за последние 14 дней в системе BIP , выполните следующую команду:
SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=0h, SelectedSystems= dynamic(["BIP"]))
Дополнительные сведения см . в встроенных правилах аналитики SAP для мониторинга журнала аудита SAP и обнаружения аномалий в журнале аудита SAP с помощью microsoft Sentinel для решения SAP (блог).
SAPAuditLogConfigRecommend
The SAPAuditLogConfigRecommend — это вспомогательная функция, предназначенная для предоставления рекомендаций по настройке правила аналитики SAP — оповещения монитора по журналу аудита на основе динамических аномалий (предварительная версия).
Дополнительные сведения см. в разделе "Мониторинг журнала аудита SAP".
SAPUsersGetVIP
Решение Microsoft Sentinel для приложений SAP использует концепцию тегов центрального пользователя и явных исключений, предназначенных для снижения ложных срабатываний с минимальными усилиями.
Используйте функцию SAPUsersGetVIP, чтобы исключить пользователей из активации оповещений, указав роли пользователей SAP, функции пользователей SAP или теги, представляющие этих пользователей. Дополнительные сведения см. в статье Обработка ложноположительных результатов в Microsoft Sentinel.
Теги, указанные в качестве входных данных для функции SAPUsersGetVIP , исключают всех пользователей с тегом, перечисленным в списке наблюдения SAP_User_Config . Эта же функция расширена для работы с подстановочными знаками, что позволяет назначать один тег группе пользователей с тем же синтаксисом именования.
Пометьте пользователей в списке наблюдения SAP_User_Config следующим образом:
Добавьте несколько тегов каждому пользователю в списке отслеживания SAP_User_Config по мере необходимости для покрытия различных сценариев. Каждое правило генерации оповещений имеет собственные соответствующие теги, если таковые имеются, и при необходимости можно добавить настраиваемые теги.
Используйте звездочку (*) в качестве подстановочного знака, чтобы включить пользователей с определенным шаблоном синтаксиса именования.
Добавьте функцию SAPUsersGetVIP в правила аналитики, чтобы запросить списки пользователей, которые вы определили для исключения из оповещений. В вызове функции добавьте массив с тегами, ролями SAP и профилями SAP, которые вы хотите исключить.
Например, используйте следующий запрос KQL в правиле аналитики, чтобы исключить всех пользователей, настроенных с тегом RunObsoleteProgOK в списке отслеживания SAP_User_Config , или всех пользователей с примером роли SAP_BASIS_ADMIN_ROLE или образца профиля SAP_ADMIN_PROFILE .
При копировании этого примера вызова функции замените роль SAP_BASIS_ADMIN_ROLE и профиль SAP_ADMIN_PROFILE собственными ролями или профилями SAP по мере необходимости.
Например:
// Execution of Obsolete/Insecure Program
let ObsoletePrograms = _GetWatchlist("SAP - Obsolete Programs");
// here you can exclude system users which are OK to run obsolete/ sensitive programs
// by adding those users in the SAP_User_Config watchlist with a tag of 'RunObsoleteProgOK'
// can also specify SAP roles or SAP profiles that group the users you would like to exclude
let excludeUsersTagsRolesProfiles= dynamic(["RunObsoleteProgOK","SAP_BASIS_ADMIN_ROLE", "SAP_ADMIN_PROFILE"]);
let excludedUsers= SAPUsersGetVIP(SearchForTags= excludeUsersTagsRolesProfiles)| summarize by User2Exclude=SAPUser;
// Query logic
SAPAuditLog
| where MessageID == 'AUW'
| where ABAPProgramName in (ObsoletePrograms) // The program is obsolete
| join kind=leftantisemi excludedUsers on $left.User == $right.User2Exclude
Функция SAPUsersGetVIP обычно используется в оповещениях детерминированного и аномального монитора журнала аудита. Свяжите тег с идентификатором сообщения журнала аудита SAP или добавьте шаблон правила в пользовательское правило, соответствующее потребностям вашей организации.
Совет
Мы рекомендуем обратиться к системному администратору SAP, чтобы понять, какие пользователи, роли и профили SAP включаются в список наблюдения SAP_User_Config .
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
SearchForTags | Необязательно | dynamic('All Tags') |
Когда SearchForTags равно All Tags , возвращаются все пользователи вместе со своими тегами. В противном случае возвращаются только пользователи с тегами, ролями SAP или профилями SearchForTags SAP. TagsIntersect отображает найденные теги и IntersectionSize содержит количество найденных тегов. |
SpecialFocusTags | Необязательно | Do not return any in-focus users |
Возвращает все пользователи, имеющие теги, указанные в SpecialFocusTags , и помечают их.specialFocusTagged = true |
Функция SAPUsersGetVIP возвращает следующие выходные данные:
Исходный код | Поле | Description | Основание |
---|---|---|---|
Список отслеживания SAP_User_Config | SearchKey |
Ключ поиска | |
Список отслеживания SAP_User_Config | SAPUser |
Пользователь SAP | OSS, DDIC |
Список отслеживания SAP_User_Config | Tags |
Строка тегов, назначенных пользователю | RunObsoleteProgOK |
Список отслеживания SAP_User_Config | Идентификатор объекта Microsoft Entra пользователя | Идентификатор объекта Microsoft Entra | |
Список отслеживания SAP_User_Config | Идентификатор пользователя | Идентификатор пользователя Azure Directory | |
Список отслеживания SAP_User_Config | Локальный идентификатор безопасности пользователя | ||
Список отслеживания SAP_User_Config | Имя участника-пользователя | ||
Список отслеживания SAP_User_Config | TagsList |
Список тегов, назначенных пользователю | ChangeUserMasterDataOK ;RunObsoleteProgOK |
Логика | TagsIntersect | Набор тегов, сопоставленных SearchForTags |
["ChangeUserMasterDataOK","RunObsoleteProgOK"] |
Логика | SpecialFocusTagged | Специальное указание фокуса | True , False |
Логика | IntersectionSize | Количество пересекающихся тегов |
SAPUsersHeader
Функция SAPUsersHeader предназначена для предоставления высокоуровневого представления пользователя SAP. В нем используются данные, извлеченные из таблиц основных данных SAP, и последние действия в журнале аудита SAP для сбора электронной почты и IP-адресов. Затем она возвращает последние известные, а также основные используемые адреса электронной почты и IP-адреса.
Параметры:
Имя. | Необязательный/Обязательный | По умолчанию. | Description |
---|---|---|---|
SelectedSystems | Необязательно | All Systems |
Используется для фильтрации конкретных систем SAP для просмотра |
SelectedSystemRoles | Необязательно | All System Roles |
Определяет роли систем SAP, которые необходимо просмотреть, как определено в списке наблюдения sap - Systems . |
SelectedUsers | Необязательно | All Users |
Может вводить списки пользователей. |
SelectedUser | Необязательно | All Users |
Принимает только одного пользователя. |
Например:
SelectedSystemRoles:dynamic = dynamic(["All System Roles"]) SelectedSystems:dynamic = dynamic(["All Systems"]) SelectedUsers:dynamic = dynamic(["All Users"]) SelectedUser:string = "All Users"
Совет
Для повышения производительности учитываются действия аудита только за несколько дней. Для полной истории действий пользователя выполните настраиваемый запрос KQL к функции SAPAuditLog .
Функция SAPUsersHeader возвращает следующие выходные данные:
Исходный код | Поле | Description | Основание |
---|---|---|---|
User | Пользователь SAP | ||
Таблицы SAP ADR6 и USR21 | Эл. почта | Извлекаются из основных данных о пользователях | OSS, DDIC |
Таблица SAP USR02 | UserType | Строка тегов, назначенных пользователю | RunObsoleteProgOK |
Таблица SAP USR02 | Часовой пояс | Идентификатор объекта Microsoft Entra | |
Таблица SAP USR02 | LockedStatus | Идентификатор пользователя Azure Directory | |
Журнал аудита SAP | LastSeen | метка времени; | Последнее событие аудита, наблюдаемое для пользователя |
Журнал аудита SAP | LastSeenDaysAgo | Дни прошли с момента LastSeen |
|
Журнал аудита SAP | PrimaryIP | Наиболее часто используемый IP-адрес | ChangeUserMasterDataOK ;RunObsoleteProgOK |
Журнал аудита SAP | LastKnownIP | Последний используемый IP-адрес | ["ChangeUserMasterDataOK","RunObsoleteProgOK"] |
Журнал аудита SAP | PrimaryEmail | Наиболее часто используемый адрес электронной почты | True , False |
Журнал аудита SAP | KnownIPs | Список известных IP-адресов | Сортировка по наиболее частому первому |
Журнал аудита SAP | KnownEmails | Список известных адресов электронной почты | Сортировка по наиболее частому первому |
Клиент | Идентификатор клиента SAP | ||
SystemID | Идентификатор системы SAP | ||
SystemRole | Роль системы SAP | Production (рабочее развертывание), UAT (пользовательское приемочное тестирование) | |
SystemUsage | Основное назначение системы SAP | ERP, CRM |
Связанный контент
Дополнительные сведения см. в разделе: