共用方式為


進階安全性資訊模型 (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 string 只篩選目標使用者名稱(用於進程建立事件)或動作專案使用者名稱(針對進程終止事件)具有任何列出的值的事件。 清單的長度限制為 10,000 個專案。
dvcipaddr_has_any_prefix dynamic 僅篩選裝置 IP 位址符合任何列出的 IP 位址或 IP 位址首碼的事件。 前置詞應該以 . 結尾,例如: 10.0. 。 清單的長度限制為 10,000 個專案。
dvchostname_has_any dynamic 僅篩選裝置主機名稱或裝置 FQDN 可用的事件,具有任何列出的值。 清單的長度限制為 10,000 個專案。
eventtype string 只篩選指定類型的進程事件。

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

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 定義 ActorUserId ActorUsername 的 Microsoft Entra 租使用者 等範圍。 或詳細資訊和允許的值清單,請參閱 架構概觀一文 中的 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 選擇性 string 代理程式的名稱。 此名稱通常衍生自映射或可執行檔,用來定義對應至進程虛擬位址空間的初始程式碼和資料。

範例: 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 選擇性 string 代理程式所產生的唯一識別碼 (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 選擇性 string 父進程的名稱。 此名稱通常衍生自映射或可執行檔,用來定義對應至進程虛擬位址空間的初始程式碼和資料。

範例: 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 必要 string 目標進程的名稱。 此名稱通常衍生自映射或可執行檔,用來定義對應至進程虛擬位址空間的初始程式碼和資料。

範例: 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

下一步

如需詳細資訊,請參閱