進階安全性資訊模型 (ASIM) 架構
進階安全性資訊模型 ( ASIM ) 架構是一組代表活動的欄位。 在查詢中使用標準化結構描述中的欄位,可確保查詢能夠與每個標準化來源搭配運作。
若要瞭解架構如何配合 ASIM 架構,請參閱 ASIM 架構圖表 。
架構參考概述組成每個架構的欄位。 ASIM 目前定義下列架構:
結構描述 | 版本 | 狀態 |
---|---|---|
Audit 事件 | 0.1 | 預覽版 |
驗證事件 | 0.1.3 | 預覽版 |
DNS 活動 | 0.1.7 | 預覽版 |
DHCP 活動 | 0.1 | 預覽版 |
檔案活動 | 0.2.1 | 預覽版 |
網路會話 | 0.2.6 | 預覽版 |
Process 事件 | 0.1.4 | 預覽版 |
登錄事件 | 0.1.2 | 預覽版 |
使用者管理 | 0.1 | 預覽版 |
Web 會話 | 0.2.6 | 預覽版 |
重要
ASIM 架構和剖析器目前為預覽 狀態 。 Azure 預覽補充條款 包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未發行的版本) 的其他法律條款。
架構概念
下列概念有助於瞭解架構參考檔,並在資料包含架構未涵蓋的資訊時,以正規化的方式擴充架構。
概念 | 描述 |
---|---|
功能變數名稱 | 每個架構的核心是其功能變數名稱。 功能變數名稱屬於下列群組: - 所有架構通用的欄位。 - 架構特有的欄位。 - 代表實體的欄位,例如參與架構的使用者。 代表實體 的欄位在架構 之間很類似。 當來源具有未顯示在記載架構中的欄位時,它們會正規化以維持一致性。 如果額外的欄位代表實體,則會根據實體欄位指導方針進行正規化。 否則,架構會努力在所有架構之間保持一致性。 例如,雖然 DNS 伺服器活動記錄未提供使用者資訊,但來自端點的 DNS 活動記錄可能包含使用者資訊,這可以根據使用者實體指導方針進行標準化。 |
欄位類型 | 每個架構欄位都有類型。 Log Analytics 工作區有一組有限的資料類型。 基於這個理由,Microsoft Sentinel 針對許多架構欄位使用邏輯類型,Log Analytics 不會強制執行,但架構相容性是必要專案。 邏輯欄位類型可確保值和功能變數名稱在來源之間保持一致。 如需詳細資訊,請參閱 邏輯類型 。 |
欄位類別 | 欄位可能有數個類別,定義剖析器應該實作欄位的時機: - 強制欄位必須出現在每個剖析器中。 如果您的來源未提供此值的資訊,或無法新增資料,則不支援參考正規化架構的大部分內容專案。 - 如果有的話,建議 的欄位應該正規化。 不過,它們可能無法在每個來源中使用。 參考標準化架構的任何內容專案都應該將可用性納入考慮。 - 如果有的話,選擇性 欄位可以正規化或保留其原始格式。 一般而言,基於效能考慮,最小剖析器不會將其正規化。 - 如果已填入所遵循的欄位,則條件 式欄位為必要欄位。 條件欄位通常用來描述另一個欄位中的值。 例如,通用欄位 DvcIdType 描述通用欄位 DvcId 的值,因此,如果填入後者,則為必要欄位。 - Alias 是條件欄位的特殊類型,如果已填入別名欄位,則為必要類型。 |
一般欄位 | 某些欄位適用于所有 ASIM 架構。 每個架構可能會新增使用特定架構內容中一些常見欄位的指導方針。 例如,EventType 欄位允許的值 可能會因架構而異,因為 EventSchemaVersion 欄位的值 可能會有所不同。 |
實體 | 事件會隨著實體而發展,例如使用者、主機、進程或檔案。 每個實體可能需要數個欄位來加以描述。 例如,主機可能有名稱和 IP 位址。 單一記錄可能包含相同類型的多個實體,例如來源和目的地主機。 ASIM 會定義如何一致地描述實體,以及允許擴充架構的實體。 例如,雖然網路會話架構不包含進程資訊,但某些事件來源會提供可新增的進程資訊。 如需詳細資訊,請參閱 實體 。 |
別名 | 別名允許指定值的多個名稱。 在某些情況下,不同的使用者預期欄位會有不同的名稱。 例如,在 DNS 術語中,您可能會預期有一 個名為 DnsQuery 的欄位,而更一般而言,它會保留功能變數名稱。 別名 網域 可藉由允許使用這兩個名稱來協助使用者。 在某些情況下,別名可能會有數個欄位之一的值,視事件中可用的值而定。 例如,Dvc 別名、 DvcFQDN 、DvcId 、 DvcHostname 或 DvcIpAddr 或 事件產品 欄位。 當別名可以有數個值時,其類型必須是字串,以容納所有可能的別名值。 因此,將值指派給這類別名時,請務必使用 KQL 函 式 tostring 將類型轉換成字串。 原生正規化資料表 不包含別名,因為這些資料表表示重複的資料儲存體。 相反地, 存根剖析器 會新增別名。 若要在剖析器中實作別名,請使用 extend 運算子建立原始值的複本。 |
邏輯類型
每個架構欄位都有類型。 有些有內建的 Log Analytics 類型,例如 string
、 int
、 datetime
或 dynamic
。 其他欄位具有邏輯類型,代表域值應該如何正規化。
資料類型 | 實體類型 | 格式和值 |
---|---|---|
布林值 | Bool | 使用內建的 KQL bool 資料類型,而不是布林值的數值或字串表示。 |
枚舉 | String | 針對欄位明確定義的值清單。 架構定義會列出可接受的值。 |
日期/時間 | 根據擷取方法功能,使用下列任一實體標記法的遞減優先順序: - Log Analytics 內建日期時間類型 - 使用 Log Analytics 日期時間數值標記法的整數位段。 - 使用 Log Analytics 日期時間數值標記法的字串欄位 - 字串欄位,儲存支援的 Log Analytics 日期/時間格式 。 |
Log Analytics 日期和時程表示法 類似,但與 Unix 時程表示法不同。 如需詳細資訊,請參閱 轉換指導方針 。 注意 :適用時,時間應調整時區。 |
MAC 位址 | String | 冒號十六進位標記法。 |
IP 位址 | String | Microsoft Sentinel 架構沒有個別的 IPv4 和 IPv6 位址。 任何 IP 位址欄位可能包含 IPv4 位址或 IPv6 位址,如下所示: - 以點十進位標記法表示的 IPv4 。 - IPv6 在 8-hextets 標記法中,允許簡短形式。 例如: - IPv4 : 192.168.10.10 - IPv6 : FEDC:BA98:7654:3210:FEDC:BA98:7654:3210 - IPv6 簡短形式 : 1080::8:800:200C:417A |
FQDN | String | 使用點標記法的完整功能變數名稱,例如 learn.microsoft.com 。 如需詳細資訊,請參閱 裝置實體 。 |
主機 名 | String | 不是 FQDN 的主機名稱,包含最多 63 個字元,包括字母、數位和連字號。 如需詳細資訊,請參閱 裝置實體 。 |
DomainType | 枚舉 | 儲存在網域和 FQDN 欄位中的網欄位型別。 如需值清單和詳細資訊,請參閱 裝置實體 。 |
DvcIdType | 枚舉 | 儲存在 DvcId 欄位中的裝置識別碼類型。 如需允許值的清單和進一步資訊, 請參閱 DvcIdType 。 |
DeviceType | 枚舉 | 儲存在 DeviceType 欄位中的裝置類型。 可能的值包括: - Computer - Mobile Device - IOT Device - Other . 如需詳細資訊,請參閱 裝置實體 。 |
使用者名稱 | String | 其中一個支援 類型的有效使用者名稱 。 如需詳細資訊,請參閱 使用者實體 。 |
UsernameType | 枚舉 | 儲存在使用者名稱欄位中的使用者名稱類型。 如需支援值的詳細資訊和清單,請參閱 使用者實體 。 |
UserIdType | 枚舉 | 儲存在使用者識別碼欄位中的識別碼類型。 支援的值為 SID 、、 UIS 、 AADID OktaId 、 AWSId 、 和 PUID 。 如需詳細資訊,請參閱 使用者實體 。 |
UserType | 枚舉 | 使用者的類型。 如需允許值的詳細資訊和清單,請參閱 使用者實體 。 |
AppType | 枚舉 | 應用程式的型別。 支援的值包括: Process 、 Service 、 Resource 、 URL 、 SaaS application 、、 CSP 和 Other 。 |
國家/地區 | String | 根據下列優先順序,使用 ISO 3166-1 的字串: - Alpha-2 代碼,例如 US 美國。 - Alpha-3 代碼,例如 USA 美國。 - 簡短名稱。 您可以在國際標準組織 (ISO) 網站上 找到 代碼清單。 |
區域 | String | 國家/地區細分名稱,使用 ISO 3166-2。 您可以在國際標準組織 (ISO) 網站上 找到 代碼清單。 |
市/鎮 | String | |
緯度 | 雙重 | ISO 6709 座標標記法(帶正負號的十進位數)。 |
緯度 | 雙重 | ISO 6709 座標標記法(帶正負號的十進位數)。 |
MD5 | String | 32 十六進位字元。 |
SHA1 | String | 40-hex 字元。 |
SHA256 | String | 64 十六進位字元。 |
SHA512 | String | 128 十六進位字元。 |
實體
事件會隨著實體而發展,例如使用者、主機、進程或檔案。 實體表示可讓相同類型的數個實體成為單一記錄的一部分,並支援相同實體的多個屬性。
若要啟用實體功能,實體標記法具有下列指導方針:
指引 | 描述 |
---|---|
描述項和別名 | 由於單一事件通常包含多個相同類型的實體,例如來源和目的地主機, 因此描述元 會作為前置詞來識別與特定實體相關聯的所有欄位。 為了維持正規化,ASIM 會使用一小組標準描述元,為實體的特定角色挑選最適當的描述元。 如果類型的單一實體與事件相關,就不需要使用描述項。 此外,一組沒有描述元的欄位會針對每個類型使用最多的實體。 |
識別碼和類型 | 正規化架構允許每個實體的數個識別碼,我們預期這些識別碼會並存于事件中。 如果來源事件有其他無法對應至正規化架構的實體識別碼,請將它們保留在來源表單中,或使用 AdditionalFields 動態欄位。 若要維護識別碼的類型資訊,請在適用時,將類型儲存在名稱相同且尾碼為 Type 的 欄位中。 例如, UserIdType 。 |
屬性 | 實體通常會有其他屬性,這些屬性不會做為識別碼,而且也可以使用描述元來限定。 例如,如果來源使用者具有網域資訊,則標準化欄位為 SrcUserDomain 。 |
每個架構都會明確定義中央實體和實體欄位。 下列指導方針可讓您瞭解中央架構欄位,以及如何使用架構中未明確定義的其他實體或實體欄位,以標準化方式擴充架構。
User 實體
使用者是附隨報告活動的核心。 本節所列的欄位可用來描述動作所涉及的使用者。 前置詞可用來指定活動中使用者的角色。 Src
前置詞 和 Dst
可用來指定網路相關事件中的使用者角色,而來源系統和目的地系統會在此事件中通訊。 前置詞 'Actor' 和 'Target' 用於系統導向事件,例如進程事件。
使用者識別碼和範圍
欄位 | 類別 | 類型 | 描述 |
---|---|---|---|
UserId | 選擇性 | String | 電腦可讀取、英數位元、使用者的唯一標記法。 |
UserScope | 選擇性 | string | 定義 UserId 和 Username 的範圍 。 例如,Microsoft Entra 租使用者功能變數名稱。 UserIdType 欄位也代表與此欄位相關聯的 類型。 |
UserScopeId | 選擇性 | string | 定義 UserId 和 Username 的範圍 識別碼。 例如,Microsoft Entra 租使用者目錄識別碼。 UserIdType 欄位也代表與此欄位相關聯的 類型。 |
UserIdType | 選擇性 | UserIdType | 儲存在 UserId 欄位中的識別碼類型。 |
UserSid 、 UserUid 、 UserAadId 、 UserOktaId、UserAWSId 、 UserPuid | 選擇性 | String | 用來儲存特定使用者識別碼的欄位。 選取與事件最相關聯的識別碼,作為儲存在 UserId 中 的主要識別碼。 除了 UserId 之外,填入相關的特定識別碼欄位, 即使事件只有一個識別碼也一樣。 |
UserAADTenant 、 UserAWSAccount | 選擇性 | String | 用來儲存特定範圍的欄位。 針對 與儲存在 UserId 欄位中的識別碼相關聯的範圍,使用 UserScope 欄位。 除了 UserScope 之外,請填入相關的特定範圍欄位, 即使事件只有一個識別碼也一樣。 |
使用者識別碼類型的允許值為:
類型 | 描述 | 範例 |
---|---|---|
SID | Windows 使用者識別碼。 | S-1-5-21-1377283216-344919071-3415362939-500 |
UID | Linux 使用者識別碼。 | 4578 |
AADID | Microsoft Entra 使用者識別碼。 | 9267d02c-5f76-40a9-a9eb-b686f3ca47aa |
OktaId | Okta 使用者識別碼。 | 00urjk4znu3BcncfY0h7 |
AWSId | AWS 使用者識別碼。 | 72643944673 |
PUID | Microsoft 365 使用者識別碼。 | 10032001582F435C |
SalesforceId | Salesforce 使用者識別碼。 | 00530000009M943 |
使用者名稱
欄位 | 類別 | 類型 | 描述 |
---|---|---|---|
使用者名稱 | 選擇性 | String | 來源使用者名稱,包括可用時的網域資訊。 只有在網域資訊無法使用時,才使用簡單表單。 將 [使用者名稱類型] 儲存在 [ UsernameType ] 欄位中。 |
UsernameType | 選擇性 | UsernameType | 指定儲存在 [使用者 名稱] 欄位中的使用者名稱類型。 |
UserUPN 、 WindowsUsername、 DNUsername 、 SimpleUsername | 選擇性 | String | 如果原始事件包含多個使用者名稱,則用來儲存其他使用者名稱的欄位。 選取與事件最相關聯的使用者名稱,作為 [使用者名稱] 中 儲存的主要使用者名稱。 |
使用者名稱類型的允許值為:
類型 | 描述 | 範例 |
---|---|---|
UPN | UPN 或電子郵件地址使用者名稱指示項。 | johndow@contoso.com |
Windows | 包含網域的 Windows 使用者名稱。 | Contoso\johndow |
DN | LDAP 辨別名稱指示項。 | CN=Jeff Smith,OU=Sales,DC=Fabrikam,DC=COM |
簡易 | 沒有網域指示項的簡單使用者名稱。 | johndow |
AWSId | AWS 使用者識別碼。 | 72643944673 |
其他使用者欄位
欄位 | 類別 | 類型 | 描述 |
---|---|---|---|
UserType | 選擇性 | UserType | 來源使用者的類型。 支援的值包括: - Regular - Machine - Admin - System - Application - Service Principal - Service - Anonymous - Other .您可以使用不同的詞彙,在來源記錄中提供此值,這應該會正規化為這些值。 將原始值儲存在 OriginalUserType 欄位中。 |
OriginalUserType | 選擇性 | String | 如果報告裝置提供,則為原始目的地使用者類型。 |
裝置實體
裝置或主機是用於參與事件之系統的常見詞彙。 前置 Dvc
詞是用來指定發生事件的主要裝置。 某些事件,例如網路會話,具有由前置 Src
詞和 Dst
所指定的來源和目的地裝置。 在這種情況下,前置 Dvc
詞會用於報告事件的裝置,可能是來源、目的地或監視裝置。
裝置別名
欄位 | 類別 | 類型 | 描述 |
---|---|---|---|
Dvc 、 Src 、 Dst | 必要 | String | Dvc 、'Src' 或 'Dst' 欄位會作為裝置的唯一識別碼。 它會設定為裝置的最佳可用狀態。 這些欄位可以將 FQDN 、 DvcId 、 主機名稱 或 IpAddr 欄位別名化。 對於沒有明顯裝置的雲端來源,請使用與 [事件產品 ] 欄位相同的值。 |
裝置名稱
回報的裝置名稱只能包含主機名稱,或完整功能變數名稱 (FQDN),其中包含主機名稱和功能變數名稱。 FQDN 可能會使用數種格式來表示。 下欄欄位可支援提供裝置名稱的不同變體。
欄位 | 類別 | 類型 | 描述 |
---|---|---|---|
主機 名 | 建議需求 | 主機名稱 | 裝置的簡短主機名稱。 |
網域 | 建議需求 | String | 發生事件的裝置網域,不含主機名稱。 |
DomainType | 建議需求 | 枚舉 | Domain 的類型 。 支援的值包括 FQDN 和 Windows 。 如果使用 [定義域 ] 欄位, 則需要此欄位。 |
FQDN | 選擇性 | String | 裝置的 FQDN,包括 主機名稱 和 網域 。 此欄位同時支援傳統 FQDN 格式和 Windows 網域\主機名稱格式。 DomainType 欄位會反映所使用的格式。 |
例如:
欄位 | 輸入的值 appserver.contoso.com |
輸入的值 appserver |
---|---|---|
主機 名 | appserver |
appserver |
網域 | contoso.con |
<empty> |
DomainType | FQDN |
<empty> |
FQDN | appserver.contoso.com |
<empty> |
當來源提供的值是 FQDN,或值可能是 和 FQDN 或簡短主機名稱時,剖析器應該計算 4 個值。 使用 ASIM 協助程式函式 _ASIM_ResolveFQDN
、 _ASIM_ResolveSrcFQDN
、 _ASIM_ResolveDstFQDN
和 _ASIM_ResolveDvcFQDN
,輕鬆地根據單一輸入值來設定所有四個欄位。 如需詳細資訊,請參閱 ASIM 協助程式函式 。
裝置識別碼和範圍
欄位 | 類別 | 類型 | 描述 |
---|---|---|---|
DvcId | 選擇性 | String | 裝置的唯一識別碼。 例如:41502da5-21b7-48ec-81c9-baeea8d7d669 |
ScopeId | 選擇性 | String | 裝置所屬的雲端平臺範圍識別碼。 範圍 會對應至 Azure 上的訂用帳戶識別碼,以及 AWS 上的帳戶識別碼。 |
範圍 | 選擇性 | String | 裝置所屬的雲端平臺範圍。 範圍 會對應至 Azure 上的訂用帳戶和 AWS 上的帳戶。 |
DvcIdType | 選擇性 | 枚舉 | DvcId 的類型 。 此欄位通常也會識別 Scope 和 ScopeId 的類型 。 如果使用 DvcId 欄位, 則需要此欄位。 |
DvcAzureResourceId 、 DvcMDEid 、 DvcMD4IoTid 、 DvcVM連線ionId、DvcVectraId 、 DvcAwsVpcId | 選擇性 | String | 如果原始事件包含多個裝置識別碼,則用來儲存其他裝置識別碼的欄位。 選取與事件最相關聯的裝置識別碼,作為儲存在 DvcId 中 的主要識別碼。 |
請注意,名為 的欄位應該在 或 Dst
之類的 Src
角色前置詞前面加上 ,但如果使用該角色,則不應該在前面加上第二 Dvc
個前置詞。
裝置識別碼類型的允許值為:
類型 | 描述 |
---|---|
MDEid | 由 適用於端點的 Microsoft Defender 指派的系統識別碼。 |
AzureResourceId | Azure 資源識別碼。 |
MD4IoTid | 適用于 IoT 的 Microsoft Defender 資源識別碼。 |
VM連線ionId | Azure 監視器 VM Insights 解決方案資源識別碼。 |
AwsVpcId | AWS 網吧識別碼。 |
VectraId | Vectra AI 指派的資源識別碼。 |
其他 | 上述未列出的識別碼類型。 |
例如,Azure 監視器 VM Insights 解決方案 會在 中 VMConnection
提供網路會話資訊。 資料表會在 欄位中提供 Azure 資源識別碼 _ResourceId
,以及欄位中的 VM 深入解析特定裝置識別碼 Machine
。 使用下列對應來代表這些識別碼:
欄位 | 對應到 |
---|---|
DvcId | Machine 資料表中的 VMConnection 欄位。 |
DvcIdType | 值 VMConnectionId |
DvcAzureResourceId | _ResourceId 資料表中的 VMConnection 欄位。 |
其他裝置欄位
欄位 | 類別 | 類型 | 描述 |
---|---|---|---|
IpAddr | 建議需求 | IP 位址 | 裝置的 IP 位址。 範例: 45.21.42.12 |
DvcDescription | 選擇性 | String | 與裝置相關聯的描述性文字。 例如: Primary Domain Controller 。 |
MacAddr | 選擇性 | MAC | 發生事件或報告事件的裝置 MAC 位址。 範例: 00:1B:44:11:3A:B7 |
區域 | 選擇性 | String | 發生事件或報告事件的網路,視架構而定。 區域是由報告裝置所定義。 範例: Dmz |
DvcOs | 選擇性 | String | 在發生事件或報告事件的裝置上執行的作業系統。 範例: Windows |
DvcOsVersion | 選擇性 | String | 發生事件或報告事件的裝置上的作業系統版本。 範例: 10 |
DvcAction | 選擇性 | String | 針對報告安全性系統,如果適用,則為系統所採取的動作。 範例: Blocked |
DvcOriginalAction | 選擇性 | String | 報告裝置所提供的原始 DvcAction 。 |
介面 | 選擇性 | String | 擷取資料的網路介面。 此欄位通常與中繼或點選裝置所擷取的網路相關活動相關。 |
請注意,在清單中具有 Dvc 前置詞的欄位應該在 或 Dst
之類的 Src
角色前置詞前面加上 ,但如果用於該角色,則不應該加上第二 Dvc
個前置詞。
範例實體對應
本節使用 Windows 事件 4624 作為範例,說明 Microsoft Sentinel 的事件資料如何正規化。
此事件具有下列實體:
Microsoft 術語 | 原始事件欄位前置詞 | ASIM 欄位前置詞 | 描述 |
---|---|---|---|
主體 | Subject |
Actor |
回報成功登入相關資訊的使用者。 |
新增登入 | Target |
TargetUser |
執行登入的使用者。 |
處理 | - | ActingProcess |
嘗試登入的程式。 |
網路資訊 | - | Src |
執行登入嘗試的電腦。 |
根據這些實體, Windows 事件 4624 會依下列方式正規化(某些欄位是選擇性的):
標準化欄位 | 原始欄位 | 範例中的值 | 備註 |
---|---|---|---|
ActorUserId | SubjectUserSid | S-1-5-18 | |
ActorUserIdType | - | SID | |
ActorUserName | SubjectDomainName\ SubjectUserName | WORKGROUP\WIN-GG82ULGC9GO$ | 藉由串連兩個欄位來建置 |
ActorUserNameType | - | Windows | |
ActorSessionId | SubjectLogonId | 0x3e7 | |
TargetUserId | TargetUserSid | S-1-5-21-1377283216-344919071-3415362939-500 | |
UserId | TargetUserSid | Alias | |
TargetUserIdType | - | SID | |
TargetUserName | TargetDomainName\ TargetUserName | 管理員istrator\WIN-GG82ULGC9GO$ | 藉由串連兩個欄位來建置 |
使用者名稱 | TargetDomainName\ TargetUserName | Alias | |
TargetUserNameType | - | Windows | |
TargetSessionId | TargetLogonId | 0x8dcdc | |
ActingProcessName | ProcessName | C:\Windows\System32\svchost.exe | |
ActingProcessId | ProcessId | 0x44c | |
SrcHostname | WorkstationName | Windows | |
SrcIpAddr | IpAddress | 127.0.0.1 | |
SrcPortNumber | IpPort | 0 | |
TargetHostname | 電腦 | WIN-GG82ULGC9GO | |
主機 名 | 電腦 | Alias |
下一步
本文提供 Microsoft Sentinel 和 ASIM 中的正規化概觀。
如需詳細資訊,請參閱