共用方式為


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

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

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

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

剖析器

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

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

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

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

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

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

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

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

篩選剖析器參數

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

下列篩選參數可供使用:

名稱 類型 描述
starttime 日期時間 僅篩選此時間或之後發生的進程事件。
endtime 日期時間 只篩選此時或之前發生的事件查詢。
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 必要 Enumerated 描述記錄所報告的作業。

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

重要

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

所有通用欄位

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

類別 欄位
必要 - 事件計數
- 事件開始時間
- 事件結束時間
- 事件類型
- 事件結果
- 活動產品
- 活動供應商
- 事件架構
- 事件架構版本
- 視頻
建議需求 - 事件結果詳細資料
- 事件嚴重性
- 事件Uid
- DvcIpAddr
- Dvc主機名稱
- Dvc網域
- Dvc網域類型
- DvcFQDN
- DVCID
- DvcId類型
- Dvc動作
選擇性 - 事件訊息
- 事件子類型
- 事件原創
- 事件原始類型
- EventOriginal子類型
- EventOriginalResult詳細資料
- EventOriginal嚴重性
- 事件產品版本
- 事件報告網址
- 事件擁有者
- Dvc區域
- DvcMacAddr
- DvcOS
- DvcOs版本
- DvcOriginal動作
- Dvc介面
- 附加欄位
- Dvc說明
- DvcScopeID
- Dvc範圍

處理事件特定欄位

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

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

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

別名

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

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

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

動作專案欄位

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

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

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

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

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

範例: 999

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

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

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

代理程式欄位

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

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

範例: C:\Windows\explorer.exe
ActingProcessFilename 選擇性 String 檔名部分是 ActingProcessName,但沒有資料夾資訊。

範例: 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(字串) 代理程式所產生的唯一標識碼 (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 選擇性 SHA512 代理程式圖像檔的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 啟動父進程的日期和時間。

目標使用者欄位

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

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

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

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

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

範例: 999

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

如果您使用 Windows 或 Linux 計算機並使用不同的類型,請務必轉換值。 例如,如果您使用十六進位值,請將它轉換成十進位值。
TargetUserSessionGuid 選擇性 String 目標使用者登入會話的唯一 GUID,由回報裝置回報。

範例: {12345678-1234-1234-1234-123456789012}
TargetUserType 選擇性 UserType 動作項目的類型。 如需允許值的清單和進一步資訊,請參閱架構概觀一文中的UserType。

注意:來源記錄中可能會使用不同的詞彙來提供此值,這應該會正規化為這些值。 將原始值儲存在 TargetOriginalUserType 字段中。
目標原始使用者類型 選擇性 String 報告裝置所提供的原始目的地使用者類型。
TargetUserScope 選擇性 String 定義 TargetUserIdTargetUsername 的 entra 租使用者,例如Microsoft範圍。 或詳細資訊和允許的值清單,請參閱架構概觀一文中的UserScope。
TargetUserScopeId 選擇性 String 定義 TargetUserIdTargetUsername 的範圍標識碼,例如 Microsoft Entra Directory 識別符。 如需允許值的詳細資訊和清單,請參閱架構概觀一文中的UserScopeId。

目標進程欄位

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

範例: C:\Windows\explorer.exe
TargetProcessFilename 選擇性 String 檔名部分是 TargetProcessName,但沒有資料夾資訊。

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

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

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

範例: Notepad++
TargetProcessFileSize 選擇性 Long 執行負責事件之進程的檔案大小。
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 條件 Enumerated 儲存在 HASH 別名字段中的哈希類型,允許的值為 MD5SHASHA256SHA512IMPHASH
目標處理指令列 必要 String 用來執行目標進程的命令行。

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

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

範例: 48610176

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

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

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

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

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

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

檢查欄位

以下欄位用來表示由安全系統(如EDR系統)執行的檢查。

欄位 類別 類型 描述
規則名稱 選擇性 String 與檢查結果相關聯的規則名稱或標識碼。
規則編號 選擇性 整數 與檢查結果相關聯的規則數目。
規則 條件 String kRuleName 的值或 RuleNumber 的值。 如果使用 RuleNumber 的值,則類型應該轉換成字串。
ThreatId 選擇性 String 檔案活動中所識別的威脅或惡意代碼標識碼。
ThreatName 選擇性 String 檔案活動中所識別的威脅或惡意代碼名稱。

範例: EICAR Test File
ThreatCategory 選擇性 String 檔案活動中所識別的威脅或惡意代碼類別。

範例: Trojan
ThreatRiskLevel 選擇性 風險等級(整數) 與所識別威脅相關聯的風險層級。 層級應該是介於 0100 之間的數位。

注意:來源記錄中可能會使用不同的小數字數來提供此值,而這個小數字數應該正規化為這個小數字數。 原始值應該儲存在 ThreatOriginalRiskLevel
威脅原始風險等級 選擇性 String 報告裝置所報告的風險層級。
威脅欄位 選擇性 String 被識別出威脅的領域。
威脅欄位 選擇性 String 被識別出威脅的領域。
ThreatConfidence 選擇性 信心水準(整數) 識別的威脅信賴等級,標準化為介於 0 到 100 之間的值。
ThreatOriginalConfidence 選擇性 String 已識別威脅的原始信賴等級,如報告裝置中所回報。
ThreatIsActive 選擇性 布林值 如果識別的威脅被視為作用中威脅,則為 True。
ThreatFirstReportedTime 選擇性 日期時間 第一次將IP位址或網域識別為威脅。
ThreatLastReportedTime 選擇性 日期時間 IP位址或網域上次被識別為威脅的時間。

架構更新

這些是架構 0.1.1 版的變更:

  • 新增欄位 EventSchema

這些是架構 0.1.2 版的變更

  • 已新增、ActorUserTypeActorOriginalUserTypeTargetUserTypeTargetOriginalUserType欄位HashType

這些是架構 0.1.3 版的變更

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

這些是架構 0.1.4 版的變更

  • 已新增、 和ActorScope欄位DvcScopeIdDvcScope

下一步

如需詳細資訊,請參閱