DNS 資訊模型用於描述 DNS 伺服器或 DNS 安全系統所報告的事件,Microsoft Sentinel 也用來實現來源無關的分析。
欲了解更多資訊,請參閱 ASIM) (標準化與先進安全資訊模型 。
架構概觀
ASIM DNS 架構代表 DNS 協定的活動。 DNS 伺服器和發送 DNS 請求的裝置都會記錄 DNS 活動。 DNS 協定活動包括 DNS 查詢、DNS 伺服器更新及 DNS 批量資料傳輸。 由於該結構代表協議活動,因此受 RFC 及官方指派參數清單所規範,本文在適當時會引用這些參數。 DNS 架構並不代表 DNS 伺服器的審核事件。
DNS 伺服器回報的最重要活動是 DNS 查詢, EventType 該欄位設為 Query。
DNS 事件中最重要的欄位有:
DnsQuery,它會回報查詢所屬的網域名稱。
SrcIpAddr (別名為 IpAddr) ,代表請求產生的 IP 位址。 DNS 伺服器通常會提供 SrcIpAddr 欄位,但 DNS 用戶端有時不會提供此欄位,只提供 SrcHostname 欄位。
EventResultDetails,報告請求是否成功,若未成功,則說明原因。
若有,則為 DnsResponseName,儲存伺服器對查詢的答案。 ASIM 不需要解析回應,且其格式因來源而異。
若要在來源無關內容中使用此欄位,請用
hasorcontains操作符搜尋該內容。
用戶端裝置收集的 DNS 事件也可能包含 使用者 與 行程 資訊。
收集 DNS 事件的指引
DNS 是一種獨特的協定,因為它可以跨越大量電腦。 另外,因為 DNS 使用 UDP,請求和回應是解耦的,彼此之間沒有直接關聯。
下圖顯示簡化版的 DNS 請求流程,包含四個區段。 現實世界的請求可能更複雜,涉及更多區段。
由於請求與回應區段在 DNS 請求流程中並未直接連接,完整記錄可能導致大量重複。
最有價值的部分是對客戶的回應。 回應會提供網域名稱查詢、查詢結果及用戶端的 IP 位址。 雖然許多 DNS 系統只記錄這段,但記錄其他部分也有其價值。 例如,DNS 快取中毒攻擊常利用上游伺服器的假回應。
如果你的資料來源支援完整的 DNS 記錄,且你選擇記錄多個區段,請調整查詢方式,避免在 Microsoft Sentinel 中出現資料重複。
例如,你可以用以下正規化方式修改你的查詢:
_Im_Dns | where SrcIpAddr != "127.0.0.1" and EventSubType == "response"
解析器
欲了解更多關於 ASIM 解析器的資訊,請參閱 ASIM 解析器概述。
開箱即用解析器
若要使用統一所有 ASIM 現成解析器的解析器,並確保分析能跨越所有設定的來源,請在查詢中使用統一解析器 _Im_Dns 作為資料表名稱。
關於 Microsoft Sentinel 提供的 DNS 解析器清單,請參考 ASIM 解析器清單。
加入你自己的正規化解析器
在實作 Dns 資訊模型的自訂解析器時,請將 KQL 函式命名為格式為 vimDns<vendor><Product>。 請參考 文章《管理 ASIM 解析器 》,了解如何將自訂解析器加入 DNS 統一解析器中。
過濾解析器參數
DNS 解析器支援 過濾參數。 雖然這些參數是可選的,但它們能提升你的查詢效能。
以下過濾參數可用:
| 名稱 | 類型 | 描述 |
|---|---|---|
| 開始時間 | datetime | 只篩選在這個時間點或之後執行的 DNS 查詢。 此參數會在欄位上過濾 TimeGenerated ,欄位是事件時間的標準指示符,無論 EventStartTime 與 EventEndTime 欄位的解析器特定映射為何。 |
| 末日 | datetime | 只篩選在此時間或之前完成的 DNS 查詢。 此參數會在欄位上過濾 TimeGenerated ,欄位是事件時間的標準指示符,無論 EventStartTime 與 EventEndTime 欄位的解析器特定映射為何。 |
| SRCIPADDR | 字串 | 只過濾來自此來源 IP 位址的 DNS 查詢。 |
| domain_has_any | 動態/弦樂 | 只過濾包含 domain 該 (或 query) 包含上述網域名稱的 DNS 查詢,包括事件網域的一部分。 清單長度限制為10,000件。 |
| 回應代碼 | 字串 | 僅篩選回應代號與所提供值相符的 DNS 查詢。 例如: NXDOMAIN |
| response_has_ipv4 | 字串 | 僅過濾回應欄位包含所提供 IP 位址或 IP 位址前綴的 DNS 查詢。 當你想在單一 IP 位址或前綴上篩選時,可以使用這個參數。 對於沒有提供回應的來源,結果不會被回傳。 |
| response_has_any_prefix | 動態 | 僅過濾回應欄位包含任何列出的 IP 位址或 IP 前綴的 DNS 查詢。 前綴應以 .結尾,例如: 10.0.。 當你想篩選 IP 位址或前綴清單時,可以使用這個參數。 對於沒有提供回應的來源,結果不會被回傳。 清單長度限制為10,000件。 |
| 事件類型 | 字串 | 只過濾指定類型的 DNS 查詢。 若未指定值,則僅回傳查詢查詢。 |
例如,若要只篩選過去一天未能解析該網域名稱的 DNS 查詢,請使用:
_Im_Dns (responsecodename = 'NXDOMAIN', starttime = ago(1d), endtime=now())
若要僅篩選指定的網域名稱清單中的 DNS 查詢,請使用:
let torProxies=dynamic(["tor2web.org", "tor2web.com", "torlink.co"]);
_Im_Dns (domain_has_any = torProxies)
某些參數可以接受 type 的 dynamic 值列表或單一字串值。 若要將文字列表傳給預期動態值的參數,請明確使用 動態文字。 例如:dynamic(['192.168.','10.'])
正規化內容
如需完整使用正規化 DNS 事件的分析規則清單,請參見 DNS 查詢安全內容。
結構細節
DNS 資訊模型與 OSSEM DNS 實體結構相符。
欲了解更多資訊,請參閱 網際網路號碼分配權威 (IANA) DNS參數參考。
常見的ASIM欄位
重要事項
所有結構共有的欄位可參考 ASIM 公共欄位 文章。
具有特定指引的共同領域
以下列表提及有特定 DNS 事件指引的欄位:
| Field | Class | 類型 | 描述 |
|---|---|---|---|
| EventType | 強制性 | 列舉 | 顯示紀錄中報告的行動。 對於 DNS 紀錄,這個值就是 DNS 操作碼。 範例: Query |
| 事件子類型 | 選用 | 列舉 | 不管是 request 不是 response。 對大多數來源而言, 只有回應被記錄,因此其價值通常是 回應。 |
| 事件結果詳情 | 強制性 | 列舉 | 對於 DNS 事件,此欄位提供 DNS 回應碼。 附註: - IANA 並未定義這些值的格,因此分析必須將格進行正規化。 - 若來源僅提供數值回應碼而非回應代號,解析器必須包含查找表以豐富此值。 - 若此紀錄代表請求而非回應,則設為 NA。 範例: NXDOMAIN |
| 事件架構版本 | 強制性 | SchemaVersion 的 (字串) | 這裡所記錄的結構版本是 0.1.7。 |
| 事件架構 | 強制性 | 列舉 | 這裡記錄的模式名稱是 Dns。 |
| DVC 場 | - | - | 對於 DNS 事件,裝置欄位指的是報告該 DNS 事件的系統。 |
所有共同領域
下表中出現的欄位是所有 ASIM 架構共有的。 上述任何指引都凌駕於該領域的一般指引之上。 例如,某個欄位一般可能是可選的,但在特定結構中卻是強制的。 關於每個領域的更多細節,請參閱 ASIM Common Fields 條目。
| Class | Fields |
|---|---|
| 強制性 |
-
事件計數 - 事件開始時間 - 事件結束時間 - 事件類型 - 事件結果 - EventProduct - EventVendor - 事件架構 - 事件架構版本 - DVC |
| 建議 |
-
事件結果詳情 - 事件嚴重度 - 最終 - DvcIpAddr - DvcHostname - DvcDomain - DvcDomainType - DvcFQDN - DVCID - DvcIdType - Dvc行動 |
| 選用 |
-
活動訊息 - 事件子類型 - 事件原創 - 事件原創類型 - 事件原始子類型 - 事件原始結果細節 - 事件原始嚴重度 - 事件產品版本 - 事件報告網址 - 活動擁有者 - DvcZone - DvcMacAddr - DVCOS - DvcOS 版本 - DVC原創行動 - Dvc介面 - 額外欄位 - DVC說明 - DvcScopeID - DvcScope(視覺化器) |
來源系統欄位
| 欄位 | 類別 | 類型 | 描述 |
|---|---|---|---|
| 原始紀錄 | 別名 | 字串 | 來源裝置的唯一識別碼。 此欄位可作為 SrcDvcId、 SrcHostname 或 SrcIpAddr 欄位的別名。 範例: 192.168.12.1 |
| SrcIpAddr | 建議 | IP 位址 | 就是發送 DNS 請求的客戶端的 IP 位址。 對於遞迴 DNS 請求,這個值通常會是報告裝置,在大多數情況下會設定為 127.0.0.1。 範例: 192.168.12.1 |
| SrcPortNumber | 選用 | 整數 | DNS 查詢的來源埠。 範例: 54312 |
| IpAddr | 別名 | SrcIpAddr 的別名 | |
| SrcGeoCountry | 選用 | 國家/地區 | 與來源 IP 位址相關的國家/地區。 範例: USA |
| SrcGeoRegion | 選用 | 區域 | 與來源 IP 位址相關的區域。 範例: Vermont |
| SrcGeoCity | 選用 | 城市 | 與來源 IP 位址相關的城市。 範例: Burlington |
| 地理緯度 | 選用 | 緯度 | 與來源 IP 位址相關的地理座標緯度。 範例: 44.475833 |
| 地理經度 | 選用 | 經度 | 與來源 IP 位址相關的地理座標經度。 範例: 73.211944 |
| SrcRiskLevel | 選用 | 整數 | 與來源相關的風險等級。 該值應調整為0至100,良0100性與高風險皆為。範例: 90 |
| SrcOriginalRiskLevel | 選用 | 字串 | 根據報告裝置報告的來源相關風險等級。 範例: Suspicious |
| SrcHostname | 建議 | 主機名稱 (字串) | 來源裝置主機名稱,不含網域資訊。 範例: DESKTOP-1282V4D |
| 主機名稱 | 別名 | 別名 SrcHostname | |
| SrcDomain | 建議 | 定義域 (字串) | 來源裝置的網域。 範例: Contoso |
| SrcDomainType | 條件式 | 列舉 | 如果已知, SrcDomain 的類型。 可能的值包括: - Windows (例如: contoso)- FQDN (例如: microsoft.com)若使用 SrcDomain 則必須。 |
| SrcFQDN | 選用 | FQDN (字串) | 來源裝置主機名稱,包括網域資訊(若有)。 注意:此欄位支援傳統 FQDN 格式及 Windows 網域/主機名稱格式。 SrcDomainType 欄位反映了所使用的格式。 範例: Contoso\DESKTOP-1282V4D |
| SrcDvcId | 選用 | 字串 | 記錄中報告的來源裝置ID。 例如: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| SrcDvcScopeId | 選用 | 字串 | 裝置所屬的雲端平台範圍 ID。 SrcDvcScopeId會映射到Azure上的訂閱ID,以及AWS上的帳戶ID。 |
| SrcDvcScope(標準化示波器) | 選用 | 字串 | 裝置所屬的雲端平台範圍。 SrcDvcScope 映射到 Azure 上的訂閱 ID,以及 AWS 上的帳戶 ID。 |
| SrcDvcIdType | 條件式 | 列舉 | 如果已知, SrcDvcId的類型。 可能的值包括: - AzureResourceId- MDEid若有多個 ID,請使用列表中第一個,其他則分別存放在 SrcDvcAzureResourceId 與 SrcDvcMDEid。 注意:若使用 SrcDvcId ,則此欄位為必填欄位。 |
| SrcDeviceType | 選用 | 列舉 | 來源裝置的類型。 可能的值包括: - Computer- Mobile Device- IOT Device- Other |
| 描述 | 選用 | 字串 | 與裝置相關的描述文字。 例如:Primary Domain Controller。 |
來源使用者欄位
| 欄位 | 類別 | 類型 | 描述 |
|---|---|---|---|
| SrcUserID | 選用 | 字串 | 一個機器可讀、字母數字且獨特的來源使用者表示方式。 欲了解更多資訊及其他 ID 的替代欄位,請參見 使用者實體。 範例: S-1-12-1-4141952679-1282074057-627758481-2916039507 |
| SrcUserScope | 選用 | 字串 | 範圍,例如 Microsoft Entra 租戶,定義了 SrcUserID 和 SrcUsername。 或更多資訊與允許值清單,請參閱結構概覽文章中的 UserScope。 |
| SrcUserScopeID | 選用 | 字串 | 範圍 ID,例如 Microsoft Entra Directory ID,定義了 SrcUserID 和 SrcUsername。 欲了解更多資訊及允許值清單,請參閱結構概覽文章中的 UserScopeId。 |
| SrcUserIdType | 條件式 | 使用者IdType | SrcUserId 欄位中儲存的 ID 類型。 欲了解更多資訊及允許值清單,請參閱結構概覽文章中的 UserIdType。 |
| SrcUsername | 選用 | 用戶名 (String) | 來源用戶名,並在有網域資訊時提供。 欲了解更多資訊,請參閱 使用者實體。 範例: AlbertE |
| SrcUsernameType | 條件式 | 使用者名稱類型 | 指定儲存在 SrcUsername 欄位的使用者名稱類型。 欲了解更多資訊及允許值清單,請參閱結構概覽文章中的 UsernameType。 範例: Windows |
| 使用者 | 別名 | 別名 SrcUsername | |
| SrcUserType | 選用 | UserType | 來源使用者的類型。 欲了解更多資訊及允許值清單,請參閱結構概覽文章中的 UserType。 例如: Guest |
| SrcUserSessionID | 選用 | 字串 | 演員登入會話的唯一 ID。 範例: 102pTUgC3p8RIqHvzxLCHnFlg |
| SrcOriginalUserType | 選用 | 字串 | 如果來源提供,則為原始來源使用者類型。 |
來源程序欄位
| 欄位 | 類別 | 類型 | 描述 |
|---|---|---|---|
| SrcProcessName | 選用 | 字串 | 啟動 DNS 請求的程序檔名。 這個名稱通常被視為製程名稱。 範例: C:\Windows\explorer.exe |
| 流程 | 別名 |
SrcProcessName 的別名 範例: C:\Windows\System32\rundll32.exe |
|
| SrcProcessID | 選用 | 字串 | 程序 ID (發起 DNS 請求的程序的 PID) 。 範例: 48610176 注意:為了支援不同系統,該型別定義為字串,但在 Windows 和 Linux 上,此值必須是數字。 如果你使用的是 Windows 或 Linux 電腦,且使用不同類型的電腦,務必轉換這些數值。 例如,如果你使用了十六進位值,請將其轉換為十進位值。 |
| SrcProcessGuid | 選用 | GUID (弦) | 產生的唯一識別碼 (GUID) ,代表發起 DNS 請求的程序。 範例: EF3BD0BD-2B74-60C5-AF5C-010000001E00 |
目的地系統欄位
| 欄位 | 類別 | 類型 | 描述 |
|---|---|---|---|
| Dst(夏令時間) | 別名 | 字串 | 接收 DNS 請求的伺服器唯一識別碼。 此欄位可別名 DstDvcId、 DstHostname 或 DstIpAddr 欄位。 範例: 192.168.12.1 |
| DstIpAddr | 選用 | IP 位址 | 接收 DNS 請求的伺服器的 IP 位址。 對於一般的 DNS 請求,這個值通常會是報告裝置,並且在大多數情況下會設定為 127.0.0.1。範例: 127.0.0.1 |
| DstGeoCountry | 選用 | 國家/地區 | 與目的地 IP 位址相關的國家/地區。 欲了解更多資訊,請參閱 邏輯型別。 範例: USA |
| DstGeoRegion(地理區域) | 選用 | 區域 | 與目的地 IP 位址相關的區域或州。 欲了解更多資訊,請參閱 邏輯型別。 範例: Vermont |
| DstGeoCity | 選用 | 城市 | 與目的地 IP 位址相關的城市。 欲了解更多資訊,請參閱 邏輯型別。 範例: Burlington |
| Dst地理緯度 | 選用 | 緯度 | 與目的地 IP 位址相關的地理座標緯度。 欲了解更多資訊,請參閱 邏輯型別。 範例: 44.475833 |
| Dst地理經度 | 選用 | 經度 | 與目的地 IP 位址相關的地理座標經度。 欲了解更多資訊,請參閱 邏輯型別。 範例: 73.211944 |
| DstRiskLevel | 選用 | 整數 | 與目的地相關的風險等級。 數值應調整為0到100,0為良性,100為高風險。 範例: 90 |
| Dst原始風險等級 | 選用 | 字串 | 目的地相關的風險等級,由報告裝置回報。 範例: Malicious |
| DstPort編號 | 選用 | 整數 | 目的地港口號碼。 範例: 53 |
| DstHostname | 選用 | 主機名稱 (字串) | 目的地裝置的主機名稱,不包含網域資訊。 若無法使用裝置名稱,則在此欄位中儲存相關的 IP 位址。 範例: DESKTOP-1282V4D注意:若指定 DstIpAddr ,此值為強制性。 |
| DstDomain | 選用 | 定義域 (字串) | 目的裝置的網域。 範例: Contoso |
| DstDomainType | 條件式 | 列舉 |
DstDomain 的類型(若已知)。 可能的值包括: - Windows (contoso\mypc)- FQDN (learn.microsoft.com)若使用 DstDomain 則為必要。 |
| DstFQDN | 選用 | FQDN (字串) | 目的裝置主機名稱,包括網域資訊(如有)。 範例: Contoso\DESKTOP-1282V4D 注意:此欄位支援傳統 FQDN 格式及 Windows 網域/主機名稱格式。 DstDomainType 反映了所使用的格式。 |
| DstDvcId | 選用 | 字串 | 記錄中所報告的目的裝置 ID。 範例: ac7e9755-8eae-4ffc-8a02-50ed7a2216c3 |
| DstDvcScopeId | 選用 | 字串 | 裝置所屬的雲端平台範圍 ID。 DstDvcScopeId會映射到Azure上的訂閱ID,以及AWS上的帳戶ID。 |
| DstDvcScope(數位數位視覺化器) | 選用 | 字串 | 裝置所屬的雲端平台範圍。 DstDvcScope 映射到 Azure 上的訂閱 ID,以及 AWS 上的帳戶 ID。 |
| DstDvcIdType | 條件式 | 列舉 | 如果已知, DstDvcId的類型。 可能的值包括: - AzureResourceId- MDEidIf若有多個 ID 可用,請使用上述列表中的第一個,其他則分別存放在 DstDvcAzureResourceId 或 DstDvcMDEid 欄位。 若使用 DstDeviceId ,則必須。 |
| Dst裝置類型 | 選用 | 列舉 | 目的地裝置的類型。 可能的值包括: - Computer- Mobile Device- IOT Device- Other |
| Dst描述 | 選用 | 字串 | 與裝置相關的描述文字。 例如:Primary Domain Controller。 |
DNS 專屬欄位
| 欄位 | 類別 | 類型 | 描述 |
|---|---|---|---|
| DnsQuery | 強制性 | 字串 | 請求嘗試解析的網域。 附註: - 部分來源會以不同格式傳送有效的 FQDN 查詢。 例如,在 DNS 協定中,查詢末尾包含一個點 (.) ,必須將其移除。 - 雖然 DNS 協定限制此欄位的值類型為 FQDN,但大多數 DNS 伺服器允許任意值,因此此欄位不僅限於 FQDN 值。 最明顯的是,DNS 隧道攻擊可能會在查詢欄位中使用無效的 FQDN 值。 - 雖然 DNS 協定允許單一請求中進行多次查詢,但這種情況很少見,甚至可能根本找不到。 如果請求有多個查詢,先將第一個查詢存放在這個欄位,然後並可選擇性地將剩餘的欄位保留在 AdditionalFields 欄位。 範例: www.malicious.com |
| 領域 | 別名 | 別名為 DnsQuery。 | |
| DnsQueryType | 選用 | 整數 | DNS 資源記錄類型代碼。 範例: 28 |
| DnsQueryTypeName | 建議 | 列舉 | DNS 資源記錄類型 名稱。 附註: - IANA 並未定義這些值的大小寫,因此分析必須依需要標準化大小寫。 - 支援響應代碼 255 的值 ANY 。- 該值 TYPExxxx 支援未映射的回應碼,其中 xxxx 是回應碼的數值,由 BIND DNS 伺服器回報。- 如果來源只提供數值查詢類型代碼而非查詢類型名稱,解析器必須包含一個查找表以豐富此值。 範例: AAAA |
| DnsResponseName | 選用 | 字串 | 回應內容,如記錄所包含。 DNS 回應資料在不同報告裝置間不一致,解析複雜,且對來源無關性分析價值較低。 因此,資訊模型不需要解析與正規化,Microsoft Sentinel 則使用輔助函式來提供回應資訊。 欲了解更多資訊,請參閱 處理 DNS 回應。 |
| DnsResponseCodeName | 別名 | EventResultDetails 的別名 | |
| DnsResponseCode | 選用 | 整數 | DNS 的數字回應代碼。 範例: 3 |
| 交易IdHex | 建議 | 十六進位 (字串) | DNS 查詢的唯一 ID 由 DNS 用戶端指派,以十六進位格式呈現。 請注意,此值屬於 DNS 協定,與通常由報告裝置分配的網路層會話 ID DnsSessionId(DnsSessionId)不同。 |
| 網路協定 | 選用 | 列舉 | 網路解析事件所使用的傳輸協定。 該值可以是 UDP 或 TCP,對於 DNS 最常設為 UDP 。 範例: UDP |
| 網路協定版本 | 選用 | 列舉 | NetworkProtocol 的版本。 用它來區分 IP 版本時,請使用 IPv4 和 IPv6。 |
| DnsQueryClass | 選用 | 整數 | DNS 類別ID。 實務上僅使用 (ID 1) 的 IN 類別,因此此欄位價值較低。 |
| DnsQueryClassName | 建議 | DnsQueryClassName (字串) | DNS 類別名稱。 實務上僅使用 (ID 1) 的 IN 類別,因此此欄位價值較低。 範例: IN |
| DNS旗幟 | 選用 | 字串 | 旗標欄位,依回報裝置提供的。 若旗標資訊包含多個欄位,請以逗號作為分隔符串接。 由於 DNS 旗標解析複雜且分析中較少使用,因此不需要解析和正規化。 Microsoft Sentinel 可以使用輔助函式來提供旗標資訊。 欲了解更多資訊,請參閱 處理 DNS 回應。 範例: ["DR"] |
| DnsNetworkDuration | 選用 | 整數 | DNS請求完成所需的時間(以毫秒計)。 範例: 1500 |
| Duration | 別名 | 別名 DnsNetworkDuration | |
| DnsFlags認證 | 選用 | 布林值 |
AD DNS 標誌與 DNSSEC 相關,在回應中表示回應中所有包含在回應與權威區段的資料,均已依據該伺服器的政策進行驗證。 欲了解更多資訊,請參閱 RFC 3655 第 6.1 節 。 |
| DNS旗幟權威 | 選用 | 布林值 | DNS AA 標誌表示伺服器回應是否具權威性 |
| DNS旗幟檢查已停用 | 選用 | 布林值 |
CD DNS 旗標與 DNSSEC 相關,在查詢中表示未驗證資料對發送查詢的系統是可接受的。 欲了解更多資訊,請參閱 RFC 3655 第 6.1 節 。 |
| DNS旗幟遞迴可用 | 選用 | 布林值 | DNS RA 標誌在回應中表示該伺服器支援遞迴查詢。 |
| DNS旗幟遞迴需求 | 選用 | 布林值 | DNS RD 標誌在請求中表示該客戶端希望伺服器使用遞迴查詢。 |
| Dns旗幟截斷 | 選用 | 布林值 | DNS TC 標誌表示回應超過最大響應大小時被截斷。 |
| DnsFlagsZ | 選用 | 布林值 | DNS Z 旗標是已棄用的 DNS 旗標,舊有的 DNS 系統可能會回報此標記。 |
| DnsSessionId(dnsSessionId) | 選用 | 字串 | 報告裝置回報的 DNS 會話識別碼。 此值與 TransactionIdHex 不同,後者是 DNS 客戶端指派的 DNS 查詢唯一 ID。 範例: EB4BFA28-2EAD-4EF7-BC8A-51DF4FDF5B55 |
| SessionID | 別名 | DnsSessionID 的別名 | |
| DnsResponseIpCountry | 選用 | 國家/地區 | DNS回應中與其中一個IP位址相關的國家/地區。 欲了解更多資訊,請參閱 邏輯型別。 範例: USA |
| DnsResponseIpRegion | 選用 | 區域 | DNS回應中與其中一個IP位址相關聯的區域或州。 欲了解更多資訊,請參閱 邏輯型別。 範例: Vermont |
| DnsResponseIpCity | 選用 | 城市 | 與 DNS 回應中其中一個 IP 位址相關的城市。 欲了解更多資訊,請參閱 邏輯型別。 範例: Burlington |
| DnsResponseIpLatitude | 選用 | 緯度 | DNS回應中與其中一個IP位址相關的地理座標緯度。 欲了解更多資訊,請參閱 邏輯型別。 範例: 44.475833 |
| DnsResponseIpLongitude | 選用 | 經度 | DNS回應中與其中一個IP位址相關的地理座標經度。 欲了解更多資訊,請參閱 邏輯型別。 範例: 73.211944 |
檢查場
以下欄位用於表示一項檢查,該檢查由 DNS 安全裝置執行。 威脅相關欄位代表單一威脅,該威脅與來源位址、目的地址、回應中的某個 IP 位址或 DNS 查詢域相關聯。 若識別出多個威脅,欄位中可儲存 AdditionalFields其他 IP 位址的資訊。
| 欄位 | 類別 | 類型 | 描述 |
|---|---|---|---|
| 網址分類 | 選用 | 字串 | DNS 事件來源也可以查詢所請求網域的類別。 該欄位稱為 UrlCategory,以符合 Microsoft Sentinel 網路架構。 DomainCategory 會被加入一個符合 DNS 的別名。 範例: Educational \\ Phishing |
| 網域分類 | 別名 | 別名到 UrlCategory。 | |
| 規則名稱 | 選用 | 字串 | 識別威脅的規則名稱或識別碼。 範例: AnyAnyDrop |
| 規則編號 | 選用 | 整數 | 識別威脅的規則編號。 範例: 23 |
| Rule | 別名 | 字串 | 要麼是 RuleName 的值,要麼是 RuleNumber 的值。 如果使用 RuleNumber 的值,該型別應轉換為字串。 |
| 規則編號 | 選用 | int | 與警報相關的規則編號。 例如: 123456 |
| 規則名稱 | 選用 | 字串 | 與警示相關的規則名稱或 ID。 例如: Server PSEXEC Execution via Remote Access |
| 威脅本體 | 選用 | 字串 | 網路會話中識別出的威脅或惡意軟體的識別碼。 範例: Tr.124 |
| 威脅類別 | 選用 | 字串 | 如果 DNS 事件來源同時提供 DNS 安全性,它也可能評估 DNS 事件。 例如,它可以在威脅情報資料庫中搜尋 IP 位址或網域,並將網域或 IP 位址分配到威脅類別。 |
| 威脅加倍 | 選用 | IP 位址 | 一個識別出威脅的 IP 位址。 ThreatField 欄位包含 ThreatIpAddr 所代表的欄位名稱。 若在 網域 欄位中識別出威脅,該欄位應為空。 |
| 威脅場 | 條件式 | 列舉 | 該領域被識別為威脅。 其值為 SrcIpAddr、 DstIpAddr、 Domain、 DnsResponseName或 。 |
| 威脅名稱 | 選用 | 字串 | 根據報告裝置所識別的威脅名稱。 |
| 威脅信心 | 選用 | 信心水準 (整數) | 所識別威脅的信心等級,標準化為0到100之間的值。 |
| 威脅原創自信 | 選用 | 字串 | 根據報告裝置回報的原始威脅信心等級。 |
| 威脅風險等級 | 選用 | 風險等級 (整數) | 與所識別威脅相關的風險等級,標準化為0到100之間的值。 |
| 威脅原始風險等級 | 選用 | 字串 | 根據報告裝置所報告的原始威脅風險等級。 |
| 威脅是活躍的 | 選用 | 布林值 | 如果所識別的威脅被視為活躍威脅,那是正確的。 |
| 威脅首次報告時間 | 選用 | datetime | 第一次識別出 IP 位址或網域為威脅。 |
| 威脅最後報告時間 | 選用 | datetime | 最後一次該 IP 位址或網域被識別為威脅的時間。 |
已棄用的別名與欄位
以下欄位為為向下相容而維護的別名。 他們於 2021 年 12 月 31 日從該系統中移除。
-
Query(別名)DnsQuery -
QueryType(別名)DnsQueryType -
QueryTypeName(別名)DnsQueryTypeName -
ResponseName(別名)DnsResponseName -
ResponseCodeName(別名)DnsResponseCodeName -
ResponseCode(別名)DnsResponseCode -
QueryClass(別名)DnsQueryClass -
QueryClassName(別名)DnsQueryClassName -
Flags(別名)DnsFlags SrcUserDomain
結構更新
結構 0.1.2 版本的變更包括:
- 新增欄位
EventSchema。 - 新增專用旗幟欄位,擴充合併後的旗幟欄位:、
DnsFlagsAuthoritative、DnsFlagsCheckingDisabled、DnsFlagsTruncatedDnsFlagsRecursionAvailableDnsFlagsRecursionDesiredDnsFlagsZ、 、 。
結構 0.1.3 版本的變更包括:
- 該結構現在明確記錄
Src*了 、Dst*和Process*User*欄位。 - 新增更多
Dvc*欄位以符合最新的通用欄位定義。 - 新增
Src並Dst作為來源與目的系統的首位識別碼別名。 - 新增了可選
DnsNetworkDuration的 和Duration,一個別名。 - 新增可選的地理位置與風險等級欄位。
結構 0.1.4 版本的變更包括:
- 新增了可選欄位
ThreatIpAddr、ThreatField、ThreatName、ThreatIsActiveThreatLastReportedTimeThreatConfidenceThreatOriginalConfidenceThreatOriginalRiskLevelThreatFirstReportedTime和 。
0.1.5 版本架構的變更包括:
- 加入了欄位
SrcUserScope、SrcUserSessionId、SrcDvcScopeId、DvcScopeSrcDvcScopeDstDvcScopeIdDstDvcScopeDvcScopeId和 。
0.1.6 版本的變更包括:
- 加上欄位
DnsResponseIpCountry、DnsResponseIpRegion、DnsResponseIpCity、DnsResponseIpLatitude和DnsResponseIpLongitude。
結構 0.1.7 版本的變更包括:
- 新增欄位
SrcDescription、SrcOriginalRiskLevel、DstDescription、RuleNameSrcUserScopeIdThreatIdDstOriginalRiskLevelNetworkProtocolVersionRuleRuleNumber和 。
來源特定差異
正規化的目標是確保所有來源都能提供一致的遙測。 無法提供所需遙測的來源,例如強制的結構欄位,無法進行正規化。 然而,通常提供所有必要遙測的來源,即使存在一些差異,仍可進行正規化。 差異可能會影響查詢結果的完整性。
下表列出已知的差異:
| 來源 | 差異 |
|---|---|
| Microsoft DNS Server 使用 DNS 連接器與日誌分析代理程式收集資料 | 連接器並未提供原始事件 ID 264 (回應動態更新) 的強制 DnsQuery 欄位。 資料可在來源取得,但不會由連接器轉發。 |
| Corelight Zeek | Corelight Zeek 可能無法提供必備的 DnsQuery 欄位。 我們曾觀察到在某些情況下,當 DNS 回應代號為 NXDOMAIN時,也觀察到此類行為。 |
處理 DNS 回應
大多數情況下,記錄的 DNS 事件不包含回應資訊,而回應資訊可能龐大且詳細。 如果您的紀錄包含更多回應資訊,請將其儲存在 ResponseName 欄位,與記錄中顯示的一樣。
你也可以提供一個額外的 KQL 函式,稱為 _imDNS<vendor>Response_,它以未解析的回應作為輸入,並以以下結構回傳動態值:
[
{
"part": "answer"
"query": "yahoo.com."
"TTL": 1782
"Class": "IN"
"Type": "A"
"Response": "74.6.231.21"
}
{
"part": "authority"
"query": "yahoo.com."
"TTL": 113066
"Class": "IN"
"Type": "NS"
"Response": "ns5.yahoo.com"
}
...
]
動態值中每個字典的欄位對應於每個 DNS 回應中的欄位。
part條目應包含 answer、 authority或 ,additional以反映字典所屬回應部分。
提示
為確保最佳效能,僅在需要時呼叫函 imDNS<vendor>Response 式,且僅在初步過濾後才能提升效能。
處理 DNS 旗標
旗標資料不需要解析和正規化。 相反地,將報告裝置提供的旗標資料存於 旗標 欄位。 如果判斷單一旗標的值很簡單,你也可以使用專用旗標欄位。
你也可以提供一個額外的 KQL 函式,稱為 _imDNS<vendor>Flags_,它會將未解析的回應或專用旗標欄位作為輸入,並回傳一個動態列表,每個旗標的布林值分別以以下順序表示:
- 認證 (AD)
- 權威 (AA)
- 檢查 (CD)
- RA) 可 (遞迴
- RD (希望遞迴)
- 縮短 (TC)
- Z
後續步驟
如需詳細資訊,請參閱: