Microsoft Sentinel SAP 應用程式解決方案 - 功能參考

本文描述安裝 Microsoft Sentinel SAP 應用程式解決方案後,您的工作空間中可用的一系列功能。 想在 Microsoft Sentinel 中瀏覽並載入函式程式碼,就能發現更多功能。

尋找函數如下:

  • 在 Azure 入口網站、一般>日誌頁面、功能標籤,以及工作區功能中列出。
  • 在 Defender 入口網站、調查 & 回應>的進階搜尋頁面、功能標籤,以及Sentinel工作區功能中列出。

本文內容僅供您的 資安 團隊參考。

在查詢中使用函式,而非底層的日誌或資料表

我們 強烈建議 您盡可能使用本文列出的函式作為分析主題,而非底層 的對數或表格

這些功能旨在作為資料的主要使用者介面。 它們是所有內建分析規則和工作簿的基礎,這些都是你開箱即用的。 使用函數可以對函式下方的資料基礎架構進行變更,同時不會破壞使用者所建立的內容。

SAPUsers任務

SAPUsersAssignments 函式從多個 SAP 資料來源收集資料,建立以使用者為中心的目前使用者主資料視圖,包括目前指派的角色與設定檔。

此函式總結使用者對角色與設定檔的指派,並回傳以下資料:

欄位 描述 資料來源/註釋
使用者 SAP 使用者識別碼 僅限 SAL
Email SMTP 位址 USR21(SMTP_ADDR)
UserType 使用者類型 USR02(USTYP)
時區 時區 USR02(TZONE)
鎖定狀態 閘門狀態 USR02(UFLAG)
最後見面日期 最後出現日期 USR02(TRDAT)
最後一次見過 最後一次出現時間 USR02(倫敦國際理工會)
使用者群組認證 使用者主維護中的使用者群組 USR02 () 級
設定檔 設定檔集合 (預設最大集合大小 = 50) ["Profile 1", "Profile 2",...,"profile 50"]
直接角色 直接指派角色集合 (預設最大集合大小 = 50) ["Role 1", "Role 2",...,"”"Role 50"]
兒童角色 間接分配角色集合 (預設最大集合大小 = 50) ["Role 1", "Role 2",...,"”"Role 50"]
用戶端 用戶端識別碼
SystemID 系統識別碼 如連接器所定義

SAPUsersGetPrivileged

SAPUsersGetPrivileged 函式會回傳每個用戶端和系統 ID 的特權使用者清單。

當使用者符合以下任一描述時,即被視為享有特權:

  • 他們被列在 SAP - 特權使用者 監控名單中
  • 他們會被分配到 SAP敏感檔案 監控清單中的一個設定檔
  • 他們會被加入 SAP敏感角色 監控清單中的一個職位

參數:

名稱 選修/必修 預設 描述
時代前 選用 七天 判斷函式從該值定義 TimeAgo 的時間開始尋找使用者主資料,直到該值定義 now() 的時間。

SAPUsersGetPrivileged 函式回傳以下資料:

欄位 描述
使用者 SAP 使用者識別碼
用戶端 用戶端識別碼
SystemID 系統識別碼

SAPUsers授權

SAPUsersAuthorizations 功能整合多個資料表的資料,產生以使用者為中心的視圖,呈現目前分配的角色與授權。 只有擁有活躍角色和授權指派的使用者才會被回傳。

參數:

名稱 選修/必修 預設 描述
時代前 選用 七天 判斷函式從該值定義 TimeAgo 的時間開始尋找使用者主資料,直到該值定義 now() 的時間。

SAPUsersAuthorizations 函式回傳以下資料:

欄位 描述 附註
使用者 SAP 使用者識別碼
角色 角色集合 (預設最大集合大小 = 50) ["Role 1", "Role 2",...,"Role 50"]
授權詳情 授權集合 (預設最大最大集合大小 = 100) {{AuthorizationsDetails1}
{AuthorizationsDetails2},
...,
{AuthorizationsDetails100}}
用戶端 用戶端識別碼
SystemID 系統識別碼

SAPConnectorHealth

SAPConnectorHealth 功能反映代理程式及底層 SAP 系統的連線狀態。 根據心跳日誌 SAP_HeartBeat_CL 及其他健康指標,會回傳以下資料:

欄位 描述
代理程式 代理設定中的代理 ID (自動產生)
SystemID SAP 系統識別碼
狀態 整體連接狀況
詳細資料 連接性細節
延伸細節 連接性延伸細節
最後的目光 最新活動時間戳記
StatusCode 反映系統狀態的程式碼

SAPConnector 概述

SAPConnectorOverview 功能會顯示每個系統 ID 上每個 SAP 資料表的列數。 它會回傳一個系統 ID 的資料記錄清單及其產生時間。

參數:

名稱 選修/必修 預設 描述
時代前 選用 七天 判斷函式從該值定義 TimeAgo 的時間開始尋找使用者主資料,直到該值定義 now() 的時間。

SAPConnectorOverview 函式回傳以下資料:

欄位 描述
時間生成 記錄產生時間戳記的日期時間值
SystemID_s 代表 SAP 系統 ID 的字串

請使用以下 Kusto 查詢來執行每日趨勢分析:

SAPConnectorOverview(7d)
| summarize count() by bin(TimeGenerated, 1d), SystemID_s

SAPUsersEmail

SAPUsersEmail 功能允許針對 SAP 系統及用戶端,針對 SAP 使用者的電子郵件地址進行效能導向的查詢,通常用於將其與 Active Directory 帳戶關聯。

SAPUsersEmail 函式利用從 SAP 表格 USR21 (使用者名稱/地址 Key Assignment) 和 ADR6 (電子郵件地址) 擷取資料來尋找電子郵件地址。 若找不到電子郵件地址,則會回傳使用者 ID。

這種行為確保像 DDIC 這類通常不與電子郵件綁定的 SAP 服務帳號會被記錄為偽 AD 帳號。 這也開啟了部分UEBA功能,協助調查事件及狩獵活動。

SAPUsersEmail 函式會回傳以下資料:

欄位 描述
ClientID SAP 用戶端識別碼
SystemID SAP 系統識別碼
使用者 SAP 使用者 ID
Email SAP 使用者的電子郵件地址

SAPSystems

SAPSystems 功能用於集中呈現使用 SAP - 系統監控清單所建立的系統配置。

參數:

名稱 選修/必修 預設 描述
SelectedSystems 選用 All Systems 用於過濾特定的 SAP 系統
精選系統角色 選用 All System Roles 決定 SAP 系統的角色,依據 SAP - 系統 監控清單所定義

SAPSystems 函式回傳以下資料:

欄位 描述 資料來源/註釋
搜尋鍵 搜尋鍵 SAP 系統 ID 的索引欄位
系統角色 SAP 系統的角色 製作,UAT
系統使用法 SAP 系統的主要用途 ERP、CRM
SystemID SAP 系統識別碼

SAPAuditLogConfiguration

SAPAuditLogConfiguration 功能會回傳 SAP 稽核日誌警示的本地設定,該區域已啟用於 Microsoft Sentinel 的 Log Analytics 工作區。 此配置用於 SAP 稽核日誌相關的警示。

SAPAuditLogConfiguration 功能將資料加入 SAP 動態稽核日誌監控組態SAP - 系統監控清單,提供每個系統角色的設定。

參數:

名稱 選修/必修 預設 描述
SelectedSystems 選用 All Systems 用來篩選特定 SAP 系統以檢視。
精選系統角色 選用 All System Roles 決定 SAP 系統的角色, (依據 SAP - 系統 監控清單) 定義。
選擇嚴重程度 選用 [HighMedium] 用來判斷事件的嚴重程度。 SAP稽核日誌、訊息、ID、系統角色的嚴重性,皆在 SAP_Dynamic_Audit_Log_Monitor_Configuration 監控清單中定義。
SelectedRuleTypes 選用 All RuleTypes 決定哪些事件對偵測異常有關。 根據 SAP 稽核日誌、訊息 ID 及系統角色,規則類型定義於 SAP_Dynamic_Audit_Log_Monitor_Configuration 監控清單中。

SAPAuditLogConfiguration 函式回傳以下資料:

欄位 描述 資料來源/註釋
類別名稱 SAP 指定事件類別 SAP 動態稽核日誌監控組態 監控清單
目的地電子郵件 所指派團隊的Email地址 SAP 動態稽核日誌監控組態 監控清單
詳細描述 一個以 Markdown 格式呈現的文字,用於警示時 SAP 動態稽核日誌監控組態 監控清單
MessageID SAP 稽核日誌訊息 ID SAP 動態稽核日誌監控組態 監控清單
訊息正文 範例訊息文字 SAP 動態稽核日誌監控組態 監控清單
角色標籤至排除 ABAP 角色、個人檔案或自由文字標籤 SAP 動態稽核日誌監控組態 監控清單
RuleType 異常性或確定性 SAP 動態稽核日誌監控組態 監控清單
戰術 MITRE ATTA&CK 戰術 SAP 動態稽核日誌監控組態 監控清單
TeamsChannelID 團隊頻道 SAP 動態稽核日誌監控組態 監控清單
SystemID SAP 系統識別碼 SAP - 系統 監控清單
系統角色 SAP 系統的角色 SAP - 系統 監控清單
系統使用法 SAP 系統的主要用途 SAP - 系統 監控清單
即斯普羅德 生產系統旗標 SAP - 系統 監控清單
嚴重性 導出嚴重度 系統使用情況的嚴重程度
臨界值 導出閾值 系統使用次數的事件計數
細節袋 細節包 詳細說明事件定義的字典

欲了解更多資訊,請參閱 可用觀察清單

SAPAudit Log異常

SAPAuditLogAnomalies 功能利用 Microsoft Sentinel 底層 Kusto 資料庫內建的機器學習功能,協助偵測 SAP 稽核日誌中觀察到的異常事件。

SAPAuditLogAnomalies 功能是為 SAP - (實驗性) 動態異常基於審計日誌監控警報的分析規則所開發。 雖然其原始設計是警示近期異常,但同時也能凸顯歷史異常。 欲了解更多資訊,請參閱 範例用途

SAPAuditLogAnomalies 函式會學習由不同輸入參數定義的歷史切片,層級如下:

  • 使用者
  • 網路屬性
  • 系統
  • 季節性
  • 活動水準

SAPAuditLogAnomalies 功能會根據所學到的資訊,根據從 SAP 稽核日誌設定監控清單獲得的閾值及其他可配置排除標準,判定過去時間段內DetectingTime發生的事件。

一旦使用者活動的滑動視窗被判定異常,第二次查詢會回傳整個使用者活動作為支持決策的證據。

參數:

名稱 選修/必修 預設 描述
學習時間 選用 14 天 決定模型學習所需的時間跨度。
偵測時間 選用 1 小時 決定偵測異常所需的時間範圍。 呼叫此 DetectingTime = 0h 函式時,會突顯整個 LearningTime 時間段內的異常。
SelectedSystems 選用 All Systems 用來篩選特定 SAP 系統以檢視。
精選系統角色 選用 All System Roles 決定 SAP 系統的角色,依據 SAP - 系統 監控清單所定義
選擇嚴重程度 選用 [HighMedium] 用來判斷事件的嚴重程度。 SAP稽核日誌、訊息、ID、系統角色的嚴重性,皆在 SAP_Dynamic_Audit_Log_Monitor_Configuration 監控清單中定義。
SelectedPrefixMask 選用 24 用於決定用於學習與偵測的子網路遮罩層級。
SelectedRuleTypes 選用 AnomaliesOnly 決定哪些事件對偵測異常有關。 根據 SAP 稽核日誌、訊息 ID 及系統角色,規則類型定義於 SAP_Dynamic_Audit_Log_Monitor_Configuration 監控清單中。

SAPAuditLogAnomalies 函式回傳以下資料:

欄位 描述
SAPAuditLog 的多欄位 SAP 稽核日誌中的關鍵欄位
SAPAuditLogConfiguration 的多個欄位 Microsoft Sentinel for SAP 稽核日誌設定的關鍵欄位
DiscoveredOn 異常現象被觀察到的四捨五入小時
事件計數 每列回傳的事件數
異常計數 在相關滑動視窗內觀察到的事件數量
最小時間 首次觀測事件的時間
MaxTime 觀察到的最後事件時間
分數 異常模型產生的異常分數

建議

如同任何機器學習解決方案, SAPAuditLogAnomalies 函式隨時間表現更佳,且可隨時調整。

我們建議利用眾多可用輸入參數,將學習資料庫的紀錄限制在一億筆以下。

範例用途包括

  • 若要搜尋過去一小時內在生產系統中發生的高嚴重事件異常,且該事件類型在SAP_Dynamic_Audit_Log_Monitor_Configuration監控清單中標示為「僅異常」,請執行:

    SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=1h, SelectedSystemRoles= dynamic(["Production"]), 
    SelectedSeverities= dynamic(["High"]), SelectedRuleTypes= dynamic(["AnomaliesOnly"]))
    
  • 要搜尋過去14天內所有異常,請執行:

    SAPAuditLogAnomalies(LearningTime = 14d, DetectingTime=0h, SelectedSystems= dynamic(["BIP"]))
    

欲了解更多資訊,請參閱內建 SAP 分析規則,用於監控 SAP 審計日誌及使用 SAP 解決方案Microsoft Sentinel (部落格) 進行異常偵測。

SAPAuditLogConfigRecommende

SAPAuditLogConfigRecommend 是一個輔助功能,設計用來提供 SAP - 動態異常基礎稽核日誌監控警報的配置建議, (PREVIEW) 分析規則。

欲了解更多資訊,請參閱 「監控 SAP 稽核日誌」。

SAPUsersGetVIP

Microsoft Sentinel 用於 SAP 應用的解決方案採用集中式使用者標籤與明確排除的概念,旨在幫助你以最少的努力降低誤報率。

使用 SAPUsersGetVIP 功能,透過指定代表 SAP 使用者角色、SAP 使用者功能或標籤,排除使用者觸發警報。 欲了解更多資訊,請參閱「處理 Microsoft Sentinel 中的誤判」。

SAPUsersGetVIP 功能輸入的標籤會排除所有在 SAP_User_Config 監控清單中列出的標籤使用者。 同樣的功能也擴展到通行符,讓你能將單一標籤指派給一群擁有相同命名語法的使用者。

  1. SAP_User_Config觀察名單中的使用者標籤如下:

    • 根據需要,在 SAP_User_Config 監控清單中為每位使用者新增多個標籤,以涵蓋各種情境。 每個警示規則都有其相關的標籤(如果有的話),你可以根據需要新增自訂標籤。

    • 使用星號 (*) 作為萬用字元,包含具有特定命名語法範本的使用者。

  2. 在你的分析規則中加入 SAPUsersGetVIP 功能,請求你已設定的使用者清單被排除在警報之外。 在函式呼叫中,加入一個陣列,包含你想排除的標籤、SAP 角色和 SAP 設定檔。

例如,在你的分析規則中使用以下 KQL 查詢,排除任何在SAP_User_Config監控清單中設定為 RunObsoleteProgOK 標籤的使用者,或是擁有範例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 稽核日誌訊息 ID 關聯,或將規則範本擴充為符合組織需求的自訂規則。

提示

我們建議您聯絡您的 SAP 系統管理員,了解哪些 SAP 使用者、角色與設定檔應納入您的 SAP_User_Config 監控清單。

參數:

名稱 選修/必修 預設 描述
搜尋標籤 選用 dynamic('All Tags') SearchForTagsAll Tags於 時,所有使用者連同他們的標籤都會被回傳。

否則,僅回傳帶有標籤 SearchForTags 、SAP 角色或 SAP 設定檔的使用者。 TagsIntersect 顯示已找到的標籤,並 IntersectionSize 記錄已找到的標籤數量。
SpecialFocusTags 選用 Do not return any in-focus users 回傳所有帶有標籤的 SpecialFocusTags使用者,並標記為 specialFocusTagged = true

SAPUsersGetVIP 函式回傳以下輸出:

來源 欄位 描述 附註
SAP_User_Config觀察名單 SearchKey 搜尋鍵
SAP_User_Config觀察名單 SAPUser SAP 使用者 OSS,DDIC
SAP_User_Config觀察名單 Tags 分配給使用者的標籤串 RunObsoleteProgOK
SAP_User_Config觀察名單 使用者的 Microsoft Entra 物件 ID Microsoft Entra 物件識別碼
SAP_User_Config觀察名單 使用者識別碼 Azure Directory 用戶識別碼
SAP_User_Config觀察名單 使用者本地 SID
SAP_User_Config觀察名單 使用者主體名稱
SAP_User_Config觀察名單 TagsList 分配給使用者的標籤清單 ChangeUserMasterDataOK;RunObsoleteProgOK
邏輯 標籤交錯 一組匹配的標籤 SearchForTags ["ChangeUserMasterDataOK","RunObsoleteProgOK"]
邏輯 特別焦點標籤 特殊對焦指示 TrueFalse
邏輯 交叉大小 交叉標籤數量

SAPUsersHeader

SAPUsersHeader 函式設計用以提供 SAP 使用者的高階視圖。 它利用從 SAP 使用者主資料表及 SAP 審計日誌中近期活動擷取的資料,來收集電子郵件與 IP 位址。 接著它會回傳最後已知的電子郵件和 IP 位址,以及主要的電子郵件和 IP 位址。

參數:

名稱 選修/必修 預設 描述
SelectedSystems 選用 All Systems 用來篩選特定 SAP 系統以檢視
精選系統角色 選用 All System Roles 決定 SAP 系統的角色,依據 SAP - 系統 監控清單所定義。
精選用戶 選用 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"

提示

在績效考量方面,僅考慮幾天的審計活動。 若要完整了解使用者活動歷史,請對 SAPAuditLog 函式執行自訂 KQL 查詢。

SAPUsersHeader 函式回傳以下輸出:

來源 欄位 描述 附註
使用者 SAP 使用者
SAP 表 ADR6 與 USR21 Email 取自使用者的主資料 OSS,DDIC
SAP 表格 USR02 UserType 分配給使用者的標籤串 RunObsoleteProgOK
SAP 表格 USR02 時區 Microsoft Entra 物件識別碼
SAP 表格 USR02 鎖定狀態 Azure Directory 用戶識別碼
SAP 稽核日誌 最後的目光 一個時間戳記 使用者觀察到的最後稽核事件
SAP 稽核日誌 最後的前日 日子一天天過去 LastSeen
SAP 稽核日誌 PrimaryIP 最常用的 IP 位址 ChangeUserMasterDataOK;RunObsoleteProgOK
SAP 稽核日誌 最後已知的知識產權 最近使用的 IP 位址 ["ChangeUserMasterDataOK","RunObsoleteProgOK"]
SAP 稽核日誌 主要電子郵件 最常用的電子郵件地址 TrueFalse
SAP 稽核日誌 已知IP 已知 IP 位址列表 依最頻繁排序
SAP 稽核日誌 已知電子郵件 已知電子郵件地址列表 依最頻繁排序
用戶端 SAP 用戶端識別碼
SystemID SAP 系統識別碼
系統角色 SAP 系統的角色 製作,UAT
系統使用法 SAP 系統的主要用途 ERP、CRM

如需詳細資訊,請參閱: