先進安全資訊模型 (ASIM) 輔助功能擴充了 KQL 語言,提供有助於與正規化資料互動及撰寫解析器的功能。
富集查找函數
富集查找函數提供了一種簡單的方法,可以根據數值表示來查找已知值。 這類函數很有用,因為事件通常使用簡短的數字代碼,而使用者則偏好文字形式。 大多數函數有兩種形式:
查找版本是一個純量函數,接受數字代碼作為輸入,並回傳文字形式。
使用以下 KQL 片段搭配 查找 版本:
| extend ProtocolName = _ASIM_LookupNetworkProtocol (ProtocolNumber)解析版本是一個表格函數,包含:
- 被用作 KQL 管線操作員。
- 輸入是存放要查找值的欄位名稱。
- 設定 ASIM 欄位,通常同時包含輸入值與結果的查詢值。
在 解決 版本中,請使用以下 KQL 片段:
| invoke _ASIM_ResolveNetworkProtocol (`ProtocolNumber`)該函式會自動將查詢結果填入 ASIM 欄位。
解析版本較適合用於 ASIM 解析器,而查找版本則適合一般查詢。 當豐富查找函數必須回傳多個值時,它總是會使用 解析 格式。
欲了解更多關於 (以查找與解析版本表示的純量函數與表格函數的資訊) ,請參見 Kusto 文件中的 使用者定義函 數。
查找型態函式
| 函數 | 輸入* | 輸出 | 描述 |
|---|---|---|---|
| _ASIM_LookupDnsQueryType | 數值 DNS 查詢類型程式碼 | 查詢類型名稱 | 將 RR) 類型的數值 DNS 資源記錄轉換成 IANA 定義 (的名稱 |
| _ASIM_LookupDnsResponseCode | 數值 DNS 回應碼 | 回應代號 | 將 RCODE) (的數字 DNS 回應碼轉換為 IANA 定義的名稱 |
| _ASIM_LookupICMPType | 數值ICMP類型 | ICMP 類型名稱 | 將數值 ICMP 類型轉換為其名稱,依據 IANA 定義 |
| _ASIM_LookupNetworkProtocol | IP 協定號碼 | IP 協定名稱 | 將數字IP協定代碼轉換為其名稱,依據IANA定義 |
| _ASIM_LookupHTTPStatusCode | HTTP 狀態碼 | HTTP 狀態代碼名稱 | 將 HTTP 狀態碼轉換為 IANA 定義的名稱。 也支援 IIS 及其他網頁伺服器使用的擴展狀態碼。 |
| _ASIM_LookupAADcodes | Microsoft Entra ID STS 錯誤代碼 | 誤差類別 | 將 Microsoft Entra ID STS 錯誤代碼轉換為其錯誤類別,例如 Logon violates policyNo such user or password或 。 |
解析型函式
解析格式函式執行與其查找對應函式相同的動作,但接受欄位名稱(以字串常數形式提供)作為輸入,並預設預設欄位作為輸出。 輸入值也會被分配到預設欄位。
| 函數 | 擴展場 |
|---|---|
| _ASIM_ResolveDnsQueryType |
-
DnsQueryType 對於輸入值- DnsQueryTypeName 輸出值為 |
| _ASIM_ResolveDnsResponseCode |
-
DnsResponseCode 對於輸入值- DnsResponseCodeName 輸出值為 |
| _ASIM_ResolveICMPType |
-
NetworkIcmpCode 對於輸入值- NetworkIcmpType 查找值 |
| _ASIM_ResolveNetworkProtocol |
-
NetworkProtocolNumber 對於輸入值- NetworkProtocol 查找值 |
解析器輔助功能
以下函式執行解析器中常見且有助於加速解析器開發的任務。
裝置解析函數
裝置解析功能分析主機名稱,判斷其是否包含網域資訊及網域符號類型。 這些函式接著填充代表裝置的相關 ASIM 欄位。 所有函式皆為 resolve 型,並接受包含主機名稱的欄位名稱(以字串表示)作為輸入。
| 函數 | 擴展場 | 描述 |
|---|---|---|
| _ASIM_ResolveFQDN | - ExtractedHostname- Domain- DomainType - FQDN |
分析指定欄位中的值,並相應設定輸出欄位。 更多資訊請參閱文章中關於開發解析器的 範例 。 |
| _ASIM_ResolveSrcFQDN | - SrcHostname- SrcDomain- SrcDomainType- SrcFQDN |
與 類似,但 設定 _ASIM_ResolveFQDN場Src |
| _ASIM_ResolveDstFQDN | - DstHostname- DstDomain- DstDomainType- DstFQDN |
與 類似,但 設定 _ASIM_ResolveFQDN場Dst |
| _ASIM_ResolveDvcFQDN | - DvcHostname- DvcDomain- DvcDomainType- DvcFQDN |
與 類似,但 設定 _ASIM_ResolveFQDN場Dvc |
使用者類型功能
使用者類型功能有助於根據使用者名稱模式或安全識別碼 (SID) 來判斷使用者類型。
| 函數 | Input | 輸出 | 描述 |
|---|---|---|---|
| _ASIM_GetUsernameType | 使用者名稱串 | 使用者名稱類型 | 根據使用者名稱格式回傳使用者名稱類型。 可能的值包括 UPN : (代表類似電子郵件的使用者名稱) 、 Windows (代表網域/使用者格式) 、 DN (代表特殊名稱) , Simple或使用者名稱為空則為空。 |
| _ASIM_GetWindowsUserType | 使用者名稱字串,SID 字串 | 使用者類型 | 根據使用者名稱與安全識別碼 (SID) ,回傳 Windows 系統的使用者類型。 可能的值包括 Admin、 Guest、 Service、 OtherMachineSystemAnonymousRegular或 。 |
| _ASIM_GetUserType | 使用者名稱字串,SID 字串 | 使用者類型 | 已過時。
_ASIM_GetWindowsUserType用它代替。 在 Windows 系統中,根據使用者名稱和 SID 來設定使用者類型。 |
來源識別函數
_ASIM_GetSourceBySourceType 函式會從 Watchlist 中擷取與某來源類型SourceBySourceType相關的來源清單。 此函式設計給解析器撰寫者使用。 欲了解更多資訊,請參閱 使用監視清單依來源類型篩選。
_ASIM_GetDisabledParsers 函式會ASimDisabledParsers讀取監視清單,並根據它判斷所提供的參數解析器是否被停用。 此函式由 ASIM 解析器內部使用,以支援停用特定解析器。
觀察清單功能
監視清單函式提供了在 ASIM 解析器中讀取觀察清單的最佳化方法。
| 函數 | Input | 輸出 | 描述 |
|---|---|---|---|
| _ASIM_GetWatchlistRaw | 監視清單別名 (字串) 、可選鍵值 (動態陣列) | 觀察清單項目 | 讀取一個原始格式的單一監視清單。 效能比一般 _GetWatchlist 功能還高。 |
| _ASIM_GetWatchlistsRaw | 動態陣列) (監視清單別名,動態陣列 (選用鍵) | 觀察清單項目 | 能以原始格式閱讀多個觀看清單。 主要的使用情境是提供一個選項,讓同一個監視清單名稱能同時使用多個。 |
身份豐富函數
身份豐富功能有助於用 UEBA IdentityInfo 表格中的使用者資訊豐富你的資料。
| 函數 | Input | 輸出 | 描述 |
|---|---|---|---|
| _ASIM_IdentityInfo | 無 | 正規化身份資訊表 | 去重並正規化 IdentityInfo 資料表 ,以提升其查詢時的可用性。 回傳一個已去重的資料表,欄位名稱為 ASIM 正規化。 |
| _ASIM_Enrich_IdentityInfo | 輸入表,欄位名稱參數 | 豐富表 | 透過 IdentityInfo 表格中的使用者資訊豐富您的結果集。 使用參數指定用於匹配的欄位:AadIdField、UpnFieldTenantIdFieldSidField或。EmailField |