從頭開始建立自定義分析規則

您已設定 連接器和其他方式,以收集整個數位資產的活動數據 。 現在,您需要深入探索所有數據,以偵測活動模式,並探索不符合這些模式的活動,以及可能代表安全性威脅的活動。

Microsoft Sentinel 及其許多 在內容中樞 中提供的解決方案,為最常使用的分析規則類型提供範本,強烈建議您使用這些範本,自定義這些範本以符合您的特定案例。 但您可能需要完全不同的專案,因此在此情況下,您可以使用分析規則精靈從頭建立規則。

本文將逐步引導您完成 分析規則精靈 ,並說明所有可用的選項。 其隨附螢幕快照和指示,可存取 Azure 入口網站 中的精靈、不屬於 Microsoft Defender 訂閱者的 Microsoft Sentinel 使用者,以及適用於 Microsoft Defender 統一安全性作業平臺使用者的 Defender 入口網站。

重要

Microsoft Sentinel 是 Microsoft Defender 入口網站中統一安全性作業平臺公開預覽的一部分。 如需詳細資訊,請參閱 Microsoft Defender 入口網站中的 Microsoft Sentinel。

必要條件

  • 您必須具有 Microsoft Sentinel 參與者角色,或任何其他角色或許可權集,包括 Log Analytics 工作區及其資源群組的寫入許可權。

設計和建置您的查詢

在執行任何其他動作之前,您應該在 Kusto 查詢語言 (KQL) 中設計及建置查詢,您的規則會用來查詢 Log Analytics 工作區中的一或多個數據表。

  1. 判斷您想要搜尋以偵測異常或可疑活動的數據源。 尋找Log Analytics資料表的名稱,其中會從該來源擷取數據。 您可以在該來源的數據連接器頁面上找到資料表名稱。 使用此數據表名稱(或以它為基礎的函式)作為查詢的基礎。

  2. 決定您希望此查詢在數據表上執行何種分析。 此決策將決定您應該在查詢中使用的命令和函式。

  3. 從查詢結果決定您想要的數據元素(欄位、數據行)。 此決策將決定如何建構查詢的輸出。

分析規則查詢的最佳做法

  • 建議使用 進階安全性資訊模型 (ASIM) 剖析器 作為查詢來源,而不是使用原生數據表。 這可確保查詢支援任何目前或未來的相關數據源或數據源系列,而不是依賴單一數據源。

  • 查詢長度應介於 1 到 10,000 個字元之間,且不能包含 “search *” 或 “union *”。 您可以使用 使用者定義的函式 來克服查詢長度限制。

  • 不支援使用 ADX 函式在 Log Analytics 查詢視窗中建立 Azure 數據總管查詢。

  • 在查詢中使用 函bag_unpack式時,如果您使用 project field1將數據行投影為欄位,且數據行不存在,查詢將會失敗。 若要防範這種情況發生,您必須 投影數據行 ,如下所示:

    project field1 = column_ifexists("field1","")

如需建置 Kusto 查詢的詳細資訊,請參閱 Microsoft Sentinel 中的 Kusto 查詢語言 和 Kusto 查詢語言 查詢的最佳做法。

在 [ 記錄 ] 畫面中建置及測試您的查詢。 當您滿意時,請儲存查詢以用於您的規則。

建立分析規則

本節說明如何使用 Azure 或 Defender 入口網站建立規則。

啟動分析規則精靈

  1. 從 Microsoft Sentinel 導覽功能表的 [設定] 區段,選取 [分析]。

  2. 在頂端的動作列中,選取 [+建立 ],然後選取 [ 排程的查詢規則]。 這會開啟 [分析規則精靈]。

    Azure 入口網站 中 [分析] 畫面的螢幕快照。

為規則命名並定義一般資訊

在 Azure 入口網站 中,階段會以可視化方式表示為索引標籤。 在 Defender 入口網站中,他們會以視覺方式呈現為時程表上的里程碑。 如需範例,請參閱下面的螢幕快照。

  1. 提供唯的名稱和描述

  2. 適當地設定警示 嚴重性 ,比對觸發規則的活動對目標環境的影響,如果規則為真肯定。

    嚴重性 描述
    資訊 對系統沒有任何影響,此資訊可能表示威脅執行者計劃的未來步驟。
    當下的影響微乎其微。 威脅執行者可能需要執行多個步驟,才能對環境造成影響。
    威脅執行者可能會透過此活動對環境造成一些影響,但範圍有限,或需要額外的活動。
    所識別的活動提供威脅執行者對環境執行動作的各種存取權,或因對環境的影響而觸發所識別的活動。

    嚴重性層級預設值不是目前或環境影響等級的保證。 自訂警示詳細數據 ,以使用查詢輸出中任何相關欄位的值,自定義指定警示實例的嚴重性、策略和其他屬性。

    Microsoft Sentinel 分析規則範本的嚴重性定義僅適用於分析規則所建立的警示。 針對從其他服務擷取的警示,會依來源安全性服務來定義其嚴重性。

  3. 在 [ 策略和技術 ] 字段中,您可以從要分類規則的威脅活動類別中選擇。 這些是以 MITRE ATT&CK 架構的策略和技術為基礎。

    從對應至 MITRE ATT&CK 策略和技術的規則偵測到的警示所建立的事件,會自動繼承規則的對應。

    如需最大化 MITRE ATT&CK 威脅環境涵蓋範圍的詳細資訊,請參閱 瞭解 MITRE ATT&CK® 架構的安全性涵蓋範圍

  4. 當您建立規則時,其狀態預設為 [啟用],這表示它會在您完成建立規則之後立即執行。 如果您不想立即執行,請選取 [已停用],並將規則新增至 [ 作用中規則 ] 索引標籤,並在您需要時從該處啟用它。

    注意

    目前處於預覽狀態的另一種方式是建立規則,而不會立即執行。 您可以排程規則以在特定日期和時間首次執行。 請參閱 排程並設定下列查詢 的範圍。

  5. 選取 [下一步:設定規則邏輯]


定義規則邏輯

  1. 輸入規則的查詢。

    將您設計、建置和測試的 查詢貼到 [規則查詢 ] 視窗中。 您在此視窗中所做的每項變更都會立即驗證,因此如果發生任何錯誤,您會在視窗下方看到指示。

  2. 對應實體。

    實體對於偵測和調查威脅至關重要。 將 Microsoft Sentinel 所辨識的實體類型對應至查詢結果中的欄位。 此對應會將探索到的實體整合到警示架構中的 [實體] 欄位中。

    如需對應實體的完整指示,請參閱 將數據欄位對應至 Microsoft Sentinel 中的實體。

  3. 在您的警示中顯示自定義詳細數據。

    根據預設,事件中只會顯示警示實體和元數據,而不會向下切入查詢結果中的原始事件。 此步驟會採用查詢結果中的其他欄位,並將其整合到警示中的 ExtendedProperties 字段中,導致警示前面顯示,以及從這些警示建立的任何事件中。

    如需顯示自定義詳細數據的完整指示,請參閱 Microsoft Sentinel 中警示中的 Surface 自定義事件詳細數據。

  4. 自訂警示詳細數據。

    此設定可讓您根據每個個別警示中各種欄位的內容來自定義其他標準警示屬性。 這些自定義專案已整合到警示中的 ExtendedProperties 欄位中。 例如,您可以自定義警示名稱或描述,以包含警示中精選的用戶名稱或IP位址。

    如需自定義警示詳細數據的完整指示,請參閱 在 Microsoft Sentinel 中自定義警示詳細數據。

  5. 排程和設定查詢的範圍。

    1. [查詢排程 ] 區段中設定下列參數:

      設定 行為
      每一次執行查詢 控制查詢間隔:查詢的執行頻率。
      查閱最後一個數據 決定 回溯期間:查詢所涵蓋的時間週期。
      • 這兩個參數允許的範圍是從 5 分鐘14 天

      • 查詢間隔必須小於或等於回溯期間。 如果較短,查詢週期將會重疊,這可能會導致結果重複。 不過,規則驗證不會允許您設定比回溯期間更長的間隔,因為這樣會導致涵蓋範圍有差距。

    2. 設定 開始執行

      設定 行為
      自動 規則會在建立時立即執行,然後在執行查詢中每個設定中設定的間隔之後,立即執行規則。
      特定時間 (預覽) 設定規則第一次執行的日期和時間,之後會在每個設定的 [執行查詢 ] 中設定間隔執行。
      • 開始 運行 時間必須在規則建立 (或啟用) 時間之後的 10 分鐘到 30 天之間。

      • [開始執行] 設定下的文字行 (左側有資訊圖示) 會摘要說明目前的查詢排程和回顧設定。

        進階排程切換和設定的螢幕快照。

    注意

    擷取延遲

    為了考慮在來源的事件產生與其擷取至 Microsoft Sentinel 之間可能發生的延遲,並確保完全涵蓋範圍而不重複數據,Microsoft Sentinel 會在其排程時間的 5 分鐘延遲執行排程分析規則。

    如需詳細資訊,請參閱 處理排程分析規則中的擷取延遲。

  6. 設定建立警示的臨界值。

    使用 [ 警示閾值] 區段來定義規則的敏感度層級。

    • 將 [在查詢結果數目大於時產生警示] 設定[大於],然後輸入在查詢期間必須找到的事件數目下限,讓規則產生警示。
    • 這是必要的欄位,因此,如果您不想設定閾值,也就是說,如果您想要在指定時段內觸發單一事件的警示,請在 [數位] 字段中輸入 0
  7. 設定事件群組設定。

    在 [事件群組],選擇兩種方式之一,將事件分組警示

    設定 行為
    將所有事件分組為單一警示
    (預設值)
    只要查詢傳回的結果超過指定的 警示閾值 ,規則每次執行時都會產生單一警示。 此單一警示摘要說明查詢結果中傳回的所有事件。
    觸發每個事件的警示 此規則會針對查詢所傳回的每個事件產生唯一的警示。 如果您想要個別顯示事件,或是想要依使用者、主機名或其他專案,依特定參數分組,這會很有用。 您可以在查詢中定義這些參數。

    分析規則最多可以產生150個警示。 如果 [事件群組 ] 設定為 [ 觸發每個事件的警示],而規則的查詢會傳回 超過 150 個事件,則前 149 個事件將會產生唯一的警示(針對 149 個警示),而第 150 個警示會摘要說明整個傳回的事件集。 換句話說,第150個警示是如果 事件群組 設定為 將所有事件分組為單一警示,則會產生什麼警示

  8. 在產生警示之後暫時隱藏規則。

    在 [歸併] 區段中,您可以在產生警示之後開啟 [停止執行查詢] 設定 [開啟],一旦收到警示,您想要暫停此規則的作業一段時間超過查詢間隔。 如果您開啟此功能,您必須將 [停止執行查詢] 設定為查詢應該停止執行的時間量,最多 24 小時。

  9. 模擬查詢和邏輯設定的結果。

    在 [ 結果模擬 ] 區域中,選取 [使用目前數據 進行測試],Microsoft Sentinel 會根據目前定義的排程顯示查詢在過去 50 次所產生的結果(記錄事件)圖表。 如果您修改查詢,請再次選取 [使用目前數據 進行測試] 以更新圖形。 此圖表顯示所定義時段內的結果數目,由 [查詢排程] 區段中的設定所決定。

    以下是上述螢幕快照中查詢的結果模擬外觀。 左側是預設檢視,右側是您將滑鼠停留在圖形上某個時間點時所看到的。

    結果模擬螢幕快照

    如果您看到查詢會觸發太多或太頻繁的警示,您可以實驗查詢排程警示閾值區段中的設定,然後再次選取 [測試目前數據]。

  10. 選取 [下一步: 事件設定]

設定事件建立設定

在 [ 事件設定 ] 索引標籤中,選擇 Microsoft Sentinel 是否會將警示變成可採取動作的事件,以及警示在事件中群組在一起的方式。

  1. 啟用事件建立。

    在 [事件設定] 區段中,[從此分析規則所觸發的警示建立事件] 預設會設定為 [已啟用],這表示 Microsoft Sentinel 會建立一個與規則所觸發之每個警示的單一、個別事件。

    • 如果您不想讓此規則產生任何事件的建立(例如,如果此規則只是為了收集後續分析的資訊),請將此設定為 [已停用]。

      重要

      如果您已將 Microsoft Sentinel 上線至 Microsoft Defender 入口網站中的統一安全性作業平臺,且此規則正在從 Microsoft 365 或 Microsoft Defender 來源查詢和建立警示,您必須將此設定 設為 [已停用]。

    • 如果您想要從一組警示建立單一事件,而不是針對每個單一警示建立單一事件,請參閱下一節。

  2. 設定警示群組設定。

    在 [ 警示群組 ] 區段中,如果您想要從最多 150 個類似或週期性警示的群組產生單一事件(請參閱注意),請將此分析規則觸發的群組相關警示設定 [已啟用],並設定下列參數。

    1. 將群組限制為在所選時間範圍內建立的警示:決定將類似或週期性警示分組在一起的時間範圍。 此時間範圍內的所有對應警示都會共同產生事件或一組事件 (視下面的群組設定而定)。 此時間範圍內以外的警示會產生個別的事件或一組事件。

    2. 將此分析規則所觸發的警示分組為單一事件:選擇將警示分組在一起的基礎:

      選項 描述
      如果所有實體都相符,將警示分組為單一事件 如果警示針對每個對應的實體共用相同的值,警示會分組在一起(在上述的 [設定規則邏輯] 索引卷標中定義)。 此為建議設定值。
      將此規則觸發的所有警示分組為單一事件 即使這些警示沒有共用相同的值,此規則所產生的所有警示都分為一組。
      如果選取的實體和詳細數據相符,將警示分組為單一事件 如果從個別下拉式清單中選取的所有對應實體、警示詳細資料,以及自訂詳細資料的警示共用相同的值,則會將警示分為一組。

      例如,如果您想要根據來源或目標 IP 位址來建立個別事件,或者如果您想要將符合特定實體和嚴重性的警示分組,則建議您使用此設定。

      注意:當您選取此選項時,至少必須選取規則的一個實體類型或字段。 否則,規則驗證將失敗,而且規則不會建立。
    3. 重新開啟關閉的相符事件:如果事件已解決並關閉,而稍後在另一個應該屬於該事件的警示上產生,如果您想要重新開啟已關閉的事件,請將此設定 設為 Enabled ,如果想要讓警示建立新的事件,請保留為 [已 停用]。

    注意

    最多 150 個警示可以分組成單一事件。

    • 只有在產生所有警示之後,才會建立此事件。 建立事件時,所有警示都會立即新增至事件。

    • 如果將警示分組為單一事件的規則會產生超過 150 個警示,就會使用與原始事件相同的事件詳細資料來建立新事件,並將過量的警示分組至新事件中。

  3. 選取 [下一步: 自動化回應]

設定自動化回應並建立規則

在 [ 自動回應] 索引標籤中 ,您可以使用 自動化規則 ,將自動化回應設定為在三種場合的任何一種:

  • 當此分析規則產生警示時。
  • 從此分析規則所產生的警示建立事件時。
  • 當以此分析規則所產生的警示更新事件時。

在自動化規則底下顯示的方格會顯示已套用至此分析規則的自動化規則(透過符合這些規則中定義的條件)。 您可以選取規則的名稱或每個數據列結尾的省略號,以編輯其中任何一項。 或者,您可以選取 [ 新增 ] 來 建立新的自動化規則

使用自動化規則來執行 事件的基本分級、指派、 工作流程和關閉。

自動化更複雜的工作,並從遠端系統叫用回應,藉由從這些自動化規則呼叫劇本來修正威脅。 您可以針對事件和個別警示叫用劇本。

  • 如需建立劇本和自動化規則的詳細資訊和指示,請參閱 自動化威脅回應

  • 如需何時使用事件建立觸發程式、事件更新觸發程式或警示建立觸發程式的詳細資訊,請參閱在 Microsoft Sentinel 劇本中使用觸發程式和動作。

  • 畫面底部的 [警示自動化](傳統版) 底下,您會看到您已設定為在使用舊方法產生警示時自動執行的任何劇本。
    • 自 2023 年 6 月起,您無法再將劇本新增至此清單。 此處已列出的劇本將繼續執行,直到此方法 已被取代,自 2026 年 3 月起為止。

    • 如果您這裡仍然列出任何劇本,您應該改為根據建立的 警示觸發程式 建立自動化規則,並從自動化規則叫用劇本。 完成之後,請選取此處所列劇本行結尾的省略號,然後選取 [ 移除]。 如需完整指示,請參閱 將 Microsoft Sentinel 警示觸發程式劇本移轉至自動化規則

選取 [下一步:檢閱並建立 ] 以檢閱新分析規則的所有設定。 出現 [驗證通過] 訊息時,請選取 [建立]

檢視規則及其輸出

檢視規則定義:

  • 您可以在主分析畫面的 [使用中規則] 索引標籤下,在數據表中找到新建立的自定義規則(類型為 “Scheduled”。 您可以從此清單中啟用、停用或刪除每個規則。

檢視規則的結果:

  • 若要檢視您在 Azure 入口網站 中建立的分析規則結果,請移至 [事件] 頁面,您可以在其中分類事件、調查事件,以及補救威脅

調整規則:

注意

Microsoft Sentinel 中產生的警示可透過 Microsoft Graph 安全性取得。 如需詳細資訊,請參閱 Microsoft Graph 安全性警示檔

將規則匯出至ARM範本

如果您想要將規則封裝為程式代碼來管理和部署,您可以輕鬆地 將規則匯出至 Azure Resource Manager (ARM) 範本。 您也可以從範本檔案匯入規則,以便在使用者介面中檢視和編輯規則。

下一步

使用分析規則來偵測來自 Microsoft Sentinel 的威脅時,請確定您啟用與連線數據源相關聯的所有規則,以確保您環境的完整安全性涵蓋範圍。

若要將規則啟用自動化,請透過 APIPowerShell 將規則推送至 Microsoft Sentinel,不過這樣做需要額外的工作。 使用 API 或 PowerShell 時,您必須先將規則匯出至 JSON,才能啟用規則。 API 或 PowerShell 在多個 Microsoft Sentinel 實例中啟用規則,且每個實例中的設定都相同時,可能會很有説明。

如需詳細資訊,請參閱

此外,從使用自定義連接器監視 Zoom使用自定義分析規則的範例學習。