進階安全性資訊模型 (ASIM) 進程事件正規化架構參考 (公開預覽)

Process 事件正規化架構可用來描述執行和終止進程的作業系統活動。 這類事件是由操作系統和安全性系統所報告,例如EDR(端點偵測和回應)系統。

OSSEM 所定義的進程是內含專案和管理物件,代表程式執行中的實例。 雖然進程本身不會執行,但它們會管理執行和執行程式代碼的線程。

如需Microsoft Sentinel 中正規化的詳細資訊,請參閱正規化和進階安全性資訊模型 (ASIM)。

重要

Process 事件正規化架構目前為 PREVIEW。 此功能在沒有服務等級協議的情況下提供,不建議用於生產工作負載。

Azure 預覽補充條款 包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未發行的版本) 的其他法律條款。

剖析器

若要使用統一的剖析器來統一所有列出的剖析器,並確保您分析所有已設定的來源,請在查詢中使用下表名稱:

  • imProcess 針對需要進程建立信息的查詢建立 。 這些查詢是最常見的案例。
  • 需要進程終止信息的查詢 imProcessTerminate

如需處理事件剖析器清單Microsoft Sentinel 提供現成的參考 ASIM 剖析器清單

Microsoft Sentinel GitHub 存放庫部署驗證剖析器。

如需詳細資訊,請參閱 ASIM 剖析器概觀

新增您自己的標準化剖析器

實作自訂行程事件剖析器時,請使用下列語法為您的 KQL 函式命名: imProcessCreate<vendor><Product>imProcessTerminate<vendor><Product>。 將取代imASim為 無參數版本。

將 KQL 函式新增至統一剖析器,如管理 ASIM 剖析器中所述

篩選剖析器參數

imvim* 剖析器支援篩選參數。 雖然這些剖析器是選擇性的,但它們可以改善查詢效能。

下列篩選參數可供使用:

名稱 類型​​ 描述
starttime Datetime 僅篩選此時間或之後發生的進程事件。
endtime Datetime 只篩選此時或之前發生的事件查詢。
commandline_has_any dynamic 只篩選執行命令列 具有任何 列出的值的進程事件。 清單的長度限制為10,000個專案。
commandline_has_all dynamic 只篩選執行命令列具有 所有 列出的值的事件。 清單的長度限制為10,000個專案。
commandline_has_any_ip_prefix dynamic 只篩選執行命令列 具有所有 列出的IP位址或IP位址前綴的事件。 前置詞應該以 .結尾,例如: 10.0.。 清單的長度限制為10,000個專案。
actingprocess_has_any dynamic 只篩選作用中進程名稱包含整個進程路徑的進程事件,其中包含任何列出的值。 清單的長度限制為10,000個專案。
targetprocess_has_any dynamic 只篩選目標進程名稱包含整個進程路徑的進程事件,其中含有任何列出的值。 清單的長度限制為10,000個專案。
parentprocess_has_any dynamic 只篩選目標進程名稱包含整個進程路徑的進程事件,其中含有任何列出的值。 清單的長度限制為10,000個專案。
targetusername_has或actorusername_has 字串 只篩選目標使用者名稱(用於進程建立事件)或動作專案使用者名稱(針對進程終止事件)具有任何列出的值的事件。 清單的長度限制為10,000個專案。
dvcipaddr_has_any_prefix dynamic 僅篩選裝置IP位址符合任何列出的IP位址或IP位址前綴的事件。 前置詞應該以 .結尾,例如: 10.0.。 清單的長度限制為10,000個專案。
dvchostname_has_any dynamic 僅篩選裝置主機名或裝置 FQDN 可用的事件,具有任何列出的值。 清單的長度限制為10,000個專案。
eventtype 字串 只篩選指定類型的進程事件。

或範例,若要僅篩選過去一天到特定用戶的驗證事件,請使用:

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

提示

若要將常值清單傳遞至預期動態值的參數,請明確使用 動態常值。 例如: dynamic(['192.168.','10.'])

標準化內容

如需使用標準化進程事件之分析規則的完整清單,請參閱 處理事件安全性內容

架構詳細數據

Process 事件資訊模型會對齊 OSSEM Process 實體架構

一般 ASIM 欄位

重要

ASIM 通用欄位一文會詳細說明 所有架構的通用欄位

具有特定指導方針的常見欄位

下列清單提及具有進程活動事件特定指導方針的欄位:

欄位 類別 類型 描述
EventType 必要 枚舉 描述記錄所報告的作業。

針對進程記錄,支援的值包括:
- ProcessCreated
- ProcessTerminated
EventSchemaVersion 必要 String 結構描述的版本。 這裡記載的架構版本如下 0.1.4
EventSchema 選擇性 String 這裡記載的架構名稱為 ProcessEvent
Dvc 欄位 針對進程活動事件,裝置欄位會參考執行進程所在的系統。

重要

欄位 EventSchema 目前為選擇性欄位,但將於 2022 年 9 月 1 日變成 [強制]。

所有通用欄位

下表中顯示的欄位適用於所有 ASIM 架構。 上述任何指定的指導方針會覆寫欄位的一般指導方針。 例如,欄位通常是選擇性的,但特定架構的必要專案。 如需每個欄位的進一步詳細數據,請參閱 ASIM 通用欄位 一文。

類別 欄位
必要 - 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

處理事件特定欄位

下表所列的欄位專屬於處理事件,但與其他架構中的欄位類似,並遵循類似的命名慣例。

進程事件架構會參考下列實體,這些實體是處理建立和終止活動的核心:

  • 動作專案 - 起始程式建立或終止的使用者。
  • ActingProcess - 動作專案用來起始進程建立或終止的程式。
  • TargetProcess - 新進程。
  • TargetUser - 用來建立新進程的認證使用者。
  • ParentProcess - 起始動作專案進程的進程。

別名

欄位 類別 類型 描述
使用者 Alias TargetUsername別名。

範例: CONTOSO\dadmin
處理 Alias TargetProcessName 的 別名

範例: C:\Windows\System32\rundll32.exe
CommandLine Alias TargetProcessCommandLine 的 別名
雜湊 Alias 目標進程的最佳可用哈希別名。

動作專案欄位

欄位 類別 類型 描述
ActorUserId 建議需求 String 機器可讀取、英數位元、動作專案的唯一表示法。 如需不同標識碼類型支援的格式,請參閱 User實體

範例: S-1-12
ActorUserIdType 條件 String 儲存在 ActorUserId 字段中的識別碼類型。 如需允許值的清單和進一步資訊,請參閱架構概觀一文中的UserIdType。
ActorScope 選擇性 String 範圍,例如Microsoft Entra 租使用者,其中 已定義ActorUserIdActorUsername 。 或詳細資訊和允許的值清單,請參閱架構概觀一文中的UserScope。
ActorUsername 必要 String 動作項目用戶名稱,包括可用時的網域資訊。 如需不同標識碼類型支援的格式,請參閱 User實體。 只有在網域信息無法使用時,才使用簡單表單。

將 Username 類型儲存在 ActorUsernameType 字段中。 如果有其他使用者名稱格式可供使用,請將它們儲存在欄位中 ActorUsername<UsernameType>

範例: AlbertE
ActorUsernameType 條件 枚舉 指定儲存在 ActorUsername 欄位中的使用者名稱類型。 如需允許值的清單和進一步資訊,請參閱架構概觀一文中的UsernameType。

範例: Windows
ActorSessionId 選擇性 String 動作專案登入會話的唯一標識符。

範例: 999

注意:類型定義為 支援不同系統的字串 ,但在 Windows 上,此值必須是數值。

如果您使用 Windows 計算機並使用不同的類型,請務必轉換值。 例如,如果您使用十六進位值,請將它轉換成十進位值。
ActorUserType 選擇性 UserType 動作項目的類型。 如需允許值的清單和進一步資訊,請參閱架構概觀一文中的UserType。

注意:來源記錄中可能會使用不同的詞彙來提供此值,這應該會正規化為這些值。 將原始值儲存在 ActorOriginalUserType 欄位中。
ActorOriginalUserType 選擇性 String 如果報告裝置提供,則為原始目的地用戶類型。

代理程式欄位

欄位 類別 類型 描述
ActingProcessCommandLine 選擇性 String 用來執行代理程式的命令行。

範例: "choco.exe" -v
ActingProcessName 選擇性 字串 代理程式的名稱。 此名稱通常衍生自映像或可執行檔,用來定義對應至進程虛擬位址空間的初始程式代碼和數據。

範例: C:\Windows\explorer.exe
ActingProcessFileCompany 選擇性 String 建立代理程式圖像檔的公司。

範例: Microsoft
ActingProcessFileDescription 選擇性 String 內嵌在代理程式圖像檔的版本資訊中的描述。

範例: Notepad++ : a free (GPL) source code editor
ActingProcessFileProduct 選擇性 String 代理程式映像檔中版本資訊中的產品名稱。

範例: Notepad++
ActingProcessFileVersion 選擇性 String 代理程式圖像檔之版本信息的產品版本。

範例: 7.9.5.0
ActingProcessFileInternalName 選擇性 String 代理程式圖像檔之版本資訊的產品內部檔名。
ActingProcessFileOriginalName 選擇性 String 代理程式圖像檔之版本資訊的產品來源檔名稱。

範例: Notepad++.exe
ActingProcessIsHidden 選擇性 布林值 指示代理程式是否處於隱藏模式。
ActingProcessInjectedAddress 選擇性 String 負責處理進程儲存所在的記憶體位址。
ActingProcessId 必要 String 代理程式的進程識別碼(PID)。

範例: 48610176

注意:類型定義為 支援不同系統的字串 ,但在 Windows 和 Linux 上,此值必須是數值。

如果您使用 Windows 或 Linux 計算機並使用不同的類型,請務必轉換值。 例如,如果您使用十六進位值,請將它轉換成十進位值。
ActingProcessGuid 選擇性 字串 代理程式所產生的唯一標識碼 (GUID)。 啟用跨系統識別程式。

範例: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ActingProcessIntegrityLevel 選擇性 String 每個進程都有在其令牌中表示的完整性層級。 完整性層級會決定保護或存取的程式層級。

Windows 定義下列完整性層級: 系統。 標準使用者會收到 中等 完整性層級,而提升許可權的使用者會收到 完整性層級。

如需詳細資訊,請參閱 強制完整性控制 - Win32 應用程式
ActingProcessMD5 選擇性 String 代理程式映像檔的 MD5 哈希。

範例: 75a599802f1fa166cdadb360960b1dd0
ActingProcessSHA1 選擇性 SHA1 代理程式圖像檔的SHA-1哈希。

範例: d55c5a4df19b46db8c54c801c4665d3338acdab0
ActingProcessSHA256 選擇性 SHA256 代理程式圖像檔的SHA-256哈希。

範例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ActingProcessSHA512 選擇性 SHA521 代理程式圖像檔的SHA-512哈希。
ActingProcessIMPHASH 選擇性 String 代理程式所使用的所有連結庫 DLL 的匯入哈希。
ActingProcessCreationTime 選擇性 Datetime 啟動代理程式的日期和時間。
ActingProcessTokenElevation 選擇性 String 標記,指出套用至代理程序的使用者 存取控制 (UAC) 許可權提升是否存在。

範例: None
ActingProcessFileSize 選擇性 Long 執行代理程序的檔案大小。

父進程欄位

欄位 類別 類型 描述
ParentProcessName 選擇性 字串 父進程的名稱。 此名稱通常衍生自映像或可執行檔,用來定義對應至進程虛擬位址空間的初始程式代碼和數據。

範例: C:\Windows\explorer.exe
ParentProcessFileCompany 選擇性 String 建立父進程映像檔的公司名稱。

範例: Microsoft
ParentProcessFileDescription 選擇性 String 父進程映像檔中版本資訊的描述。

範例: Notepad++ : a free (GPL) source code editor
ParentProcessFileProduct 選擇性 String 父進程映像檔中版本資訊中的產品名稱。

範例: Notepad++
ParentProcessFileVersion 選擇性 String 父進程映像檔中版本信息的產品版本。

範例: 7.9.5.0
ParentProcessIsHidden 選擇性 布林值 指出父進程是否處於隱藏模式。
ParentProcessInjectedAddress 選擇性 String 負責父進程儲存所在的記憶體位址。
ParentProcessId 建議需求 String 父進程的進程識別碼 (PID)。

範例: 48610176
ParentProcessGuid 選擇性 String 父進程的產生唯一標識碼 (GUID)。 啟用跨系統識別程式。

範例: EF3BD0BD-2B74-60C5-AF5C-010000001E00
ParentProcessIntegrityLevel 選擇性 String 每個進程都有在其令牌中表示的完整性層級。 完整性層級會決定保護或存取的程式層級。

Windows 定義下列完整性層級: 系統。 標準使用者會收到 中等 完整性層級,而提升許可權的使用者會收到 完整性層級。

如需詳細資訊,請參閱 強制完整性控制 - Win32 應用程式
ParentProcessMD5 選擇性 MD5 父進程映像檔的 MD5 哈希。

範例: 75a599802f1fa166cdadb360960b1dd0
ParentProcessSHA1 選擇性 SHA1 父進程映像檔的SHA-1哈希。

範例: d55c5a4df19b46db8c54c801c4665d3338acdab0
ParentProcessSHA256 選擇性 SHA256 父進程映像檔的SHA-256哈希。

範例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
ParentProcessSHA512 選擇性 SHA512 父進程映像檔的SHA-512哈希。
ParentProcessIMPHASH 選擇性 String 父進程所使用的所有連結庫 DLL 的匯入哈希。
ParentProcessTokenElevation 選擇性 String 標記,指出套用至父進程的使用者 存取控制 (UAC) 許可權提升是否存在。

範例: None
ParentProcessCreationTime 選擇性 Datetime 啟動父進程的日期和時間。

目標使用者欄位

欄位 類別 類型 描述
TargetUsername 程式建立事件的必要專案。 String 目標用戶名稱,包括可用時的網域資訊。 如需不同標識碼類型支援的格式,請參閱 User實體。 只有在網域信息無法使用時,才使用簡單表單。

將 [用戶名稱類型] 儲存在 [TargetUsernameType ] 字段中。 如果有其他使用者名稱格式可供使用,請將它們儲存在欄位中 TargetUsername<UsernameType>

範例: AlbertE
TargetUsernameType 條件 枚舉 指定儲存在 TargetUsername 欄位中的使用者名稱類型。 如需允許值的清單和進一步資訊,請參閱架構概觀一文中的UsernameType。

範例: Windows
TargetUserId 建議需求 String 計算機可讀取、英數位元、目標使用者的唯一表示法。 如需不同標識碼類型支援的格式,請參閱 User實體

範例: S-1-12
TargetUserIdType 條件 String 儲存在 TargetUserId 字段中的標識碼類型。 如需允許值的清單和進一步資訊,請參閱架構概觀一文中的UserIdType。
TargetUserSessionId 選擇性 String 目標使用者登入會話的唯一標識符。

範例: 999

注意:類型定義為 支援不同系統的字串 ,但在 Windows 上,此值必須是數值。

如果您使用 Windows 或 Linux 計算機並使用不同的類型,請務必轉換值。 例如,如果您使用十六進位值,請將它轉換成十進位值。
TargetUserType 選擇性 UserType 動作項目的類型。 如需允許值的清單和進一步資訊,請參閱架構概觀一文中的UserType。

注意:來源記錄中可能會使用不同的詞彙來提供此值,這應該會正規化為這些值。 將原始值儲存在 TargetOriginalUserType 字段中。
TargetOriginalUserType 選擇性 String 如果報告裝置提供,則為原始目的地用戶類型。

目標進程欄位

欄位 類別 類型 描述
TargetProcessName 必要 字串 目標進程的名稱。 此名稱通常衍生自映像或可執行檔,用來定義對應至進程虛擬位址空間的初始程式代碼和數據。

範例: C:\Windows\explorer.exe
TargetProcessFileCompany 選擇性 String 建立目標進程映像檔的公司名稱。

範例: Microsoft
TargetProcessFileDescription 選擇性 String 目標進程映像檔中版本資訊的描述。

範例: Notepad++ : a free (GPL) source code editor
TargetProcessFileProduct 選擇性 String 目標進程映像檔中版本資訊中的產品名稱。

範例: Notepad++
TargetProcessFileSize 選擇性 String 執行負責事件之進程的檔案大小。
TargetProcessFileVersion 選擇性 String 目標進程映像檔中版本信息的產品版本。

範例: 7.9.5.0
TargetProcessFileInternalName 選擇性 String 目標進程映像檔版本資訊的產品內部檔名。
TargetProcessFileOriginalName 選擇性 String 來自目標進程映像檔版本信息的產品源檔名稱。
TargetProcessIsHidden 選擇性 布林值 指出目標進程是否處於隱藏模式。
TargetProcessInjectedAddress 選擇性 String 負責目標進程儲存所在的記憶體位址。
TargetProcessMD5 選擇性 MD5 目標進程映像檔的 MD5 哈希。

範例: 75a599802f1fa166cdadb360960b1dd0
TargetProcessSHA1 選擇性 SHA1 目標進程映像檔的SHA-1哈希。

範例: d55c5a4df19b46db8c54c801c4665d3338acdab0
TargetProcessSHA256 選擇性 SHA256 目標進程映像檔的SHA-256哈希。

範例:
e81bb824c4a09a811af17deae22f22dd
2e1ec8cbb00b22629d2899f7c68da274
TargetProcessSHA512 選擇性 SHA512 目標進程映像檔的SHA-512哈希。
TargetProcessIMPHASH 選擇性 String 目標進程所使用的所有連結庫 DLL 的匯入哈希。
HashType 建議需求 String 儲存在 HASH 別名字段中的哈希類型,允許的值為 MD5SHASHA256SHA512IMPHASH
TargetProcessCommandLine 必要 String 用來執行目標進程的命令行。

範例: "choco.exe" -v
TargetProcessCurrentDirectory 選擇性 String 執行目標進程的目前目錄。

範例: c:\windows\system32
TargetProcessCreationTime 建議需求 Datetime 目標進程映像檔版本信息的產品版本。
TargetProcessId 必要 String 目標進程的進程識別碼 (PID)。

範例: 48610176

注意:類型定義為 支援不同系統的字串 ,但在 Windows 和 Linux 上,此值必須是數值。

如果您使用 Windows 或 Linux 計算機並使用不同的類型,請務必轉換值。 例如,如果您使用十六進位值,請將它轉換成十進位值。
TargetProcessGuid 選擇性 String 目標進程所產生的唯一標識碼 (GUID)。 啟用跨系統識別程式。

範例: EF3BD0BD-2B74-60C5-AF5C-010000001E00
TargetProcessIntegrityLevel 選擇性 String 每個進程都有在其令牌中表示的完整性層級。 完整性層級會決定保護或存取的程式層級。

Windows 定義下列完整性層級: 系統。 標準使用者會收到 中等 完整性層級,而提升許可權的使用者會收到 完整性層級。

如需詳細資訊,請參閱 強制完整性控制 - Win32 應用程式
TargetProcessTokenElevation 選擇性 String 標記類型,指出套用至已建立或終止之進程的使用者 存取控制 (UAC) 許可權提升。

範例: None
TargetProcessStatusCode 選擇性 String 終止時,目標進程所傳回的結束代碼。 此欄位僅適用於進程終止事件。 為了一致性,字段類型為字串,即使操作系統所提供的值為數值也一樣。

架構更新

這些是架構 0.1.1 版的變更:

  • 新增欄位 EventSchema

這些是架構 0.1.2 版的變更

  • 已新增、ActorOriginalUserTypeTargetUserTypeTargetOriginalUserTypeHashType欄位ActorUserType

這些是架構 0.1.3 版的變更

  • 將欄位 ParentProcessIdTargetProcessCreationTime 從強制變更為建議。

這些是架構 0.1.4 版的變更

  • 已新增、 和DvcScope欄位ActorScopeDvcScopeId

下一步

如需詳細資訊,請參閱