開始使用 Jupyter 筆記型電腦和 Microsoft Sentinel 中的 MSTICPy

本文說明如何執行 Microsoft Sentinel ML 筆記本使用者入門指南,該指南為 Microsoft Sentinel 中執行 Jupyter 筆記本設定基本設定,並提供執行簡單查詢的範例。

Microsoft Sentinel ML 筆記本使用者入門指南使用 MSTICPy,一個強大的 Python 函式庫,旨在強化 Microsoft Sentinel 筆記型電腦的安全調查與威脅狩獵。 它內建資料豐富、視覺化、異常偵測及自動化查詢工具,幫助分析師簡化工作流程,無需大量自訂程式碼。

欲了解更多資訊,請參閱 「使用筆記本推動調查 」及 「使用 Jupyter 筆記本搜尋安全威脅」。

重要事項

2027 年 3 月 31 日起,Microsoft Sentinel 將不再支援 Azure 入口網站,僅能在 Microsoft Defender 入口網站中使用。 所有在 Azure 入口網站使用 Microsoft Sentinel 的客戶,將被重新導向至 Defender 入口網站,且僅在 Defender 入口網站使用 Microsoft Sentinel

如果您仍在 Azure 入口網站使用 Microsoft Sentinel,建議您開始規劃轉換至 Defender 入口網站,以確保順利過渡並充分利用 Microsoft Defender 所提供的統一安全運營體驗

必要條件

在開始之前,請確保你擁有所需的權限和資源。

前置條件 描述
權限 要在 Microsoft Sentinel 中使用筆記型電腦,請確保你擁有所需的權限。

欲了解更多資訊,請參閱管理 Microsoft Sentinel 筆記本存取權。
Python 要執行本文中的步驟,你需要 Python 3.6 或更新版本。

在Azure機器學習中,你可以選擇使用 Python 3.8 核心 (推薦) 或 Python 3.6 核心。 如果你在其他 Jupyter 環境中使用本文描述的筆記本,就能使用任何支援 Python 3.6 或更新的核心。

要在 Microsoft Sentinel 以外的地方使用 MSTICPy 筆記本,並Azure機器學習 (機器學習) ,你也需要設定你的 Python 環境。 安裝 Python 3.6 或更新版本,搭配包含許多必需套件的 Anaconda 發行版。
MaxMind GeoLite2 此筆記型電腦使用 MaxMind GeoLite2 地理定位查詢服務來查詢 IP 位址。 要使用 MaxMind GeoLite2 服務,你需要授權金鑰。 你可以在 Maxmind 註冊頁面註冊免費帳號並取得鑰匙。
VirusTotal 本筆記本使用 VirusTotal (VT) 作為威脅情報來源。 要使用 VirusTotal 威脅情報查詢,你需要一個 VirusTotal 帳號和 API 金鑰。

如果你用的是 VT 企業金鑰,建議把它存在 Azure 金鑰保存庫,而不是 msticpyconfig.yaml 檔案。 欲了解更多資訊,請參閱 MSTICPY 文件中的「指定秘密為金鑰保存庫秘密」。

如果你現在不想設置Azure 金鑰保存庫,可以註冊並使用免費帳號,直到你能設置金鑰保存庫儲存空間。

安裝並執行使用者入門指南筆記本

這個程序說明如何用 Microsoft Sentinel 啟動你的筆記型電腦。

  1. Defender 入口網站中,選擇Microsoft Sentinel威脅管理>筆記本Microsoft Sentinel>。 For Microsoft Sentinel 在 Azure 入口網站Threat management 下,選擇 Notebooks

  2. 範本標籤中,選擇「Microsoft Sentinel ML 筆記本使用者入門指南」。

  3. 選擇 從範本建立

  4. 編輯名稱並選擇適當的 Azure 機器學習工作區。

  5. 選擇「儲存」以儲存到你的 Azure 機器學習工作區。

  6. 選擇 啟動筆記本 來執行筆記本。 筆記本包含一系列格子:

    • Markdown 儲存格包含文字與圖形,並附有使用筆記本的說明
    • 程式碼 儲存格包含執行筆記本功能的可執行程式碼
  7. 在頁面頂端,選擇你的 運算器

  8. 接著依照筆記本上的指示,閱讀標記格並依序執行程式碼格。 跳過儲存格或亂序跑,可能會在筆記本後面造成錯誤。

    根據執行的函式,儲存格中的程式碼可能執行得很快,也可能需要一些時間才能完成。 當儲存格正在運行時,播放按鈕會變成載入旋轉器,狀態會顯示在儲存格底部,並顯示已經過的時間。

    第一次執行程式碼單元時,啟動工作階段可能需要幾分鐘,視你的運算設定而定。 當筆記本準備執行程式碼單元時,會顯示 「就緒 」指示。 例如:

    一個機器學習環境的截圖,準備執行程式碼單元。

Microsoft Sentinel ML 筆記本使用者入門指南包含以下活動的章節:

名稱 描述
簡介 描述筆記本的基本原理,並提供範例程式碼,讓你能執行看看筆記本的運作方式。
初始化筆記本與 MSTICPy 幫助你準備好環境,讓筆記本的其餘部分都能順利執行。 初始化筆記本時,因為你還沒設定任何東西,所以預期會出現缺少設定的設定警告。
查詢 Data from Microsoft Sentinel 幫助你驗證、設定和測試 Microsoft Sentinel 設定。 請使用本節的程式碼驗證 Microsoft Sentinel,並執行範例查詢來測試連線。
配置並測試外部資料提供者 (VirusTotal 與 Maxmind GeoLite2) 協助你設定 VirusTotal(作為威脅情報範例服務)和 MaxMind GeoLite2(地理定位查詢服務範例)的設定。 利用本節程式碼對這些資料提供者執行範例查詢以測試它們。

Microsoft Sentinel ML 筆記本使用者入門指南中的程式碼啟動了 MpConfigEdit 工具,該工具包含一系列分頁用於設定筆記本環境。 在 MpConfigEdit 工具中做修改時,記得先儲存你的修改再繼續。 筆記本的設定會儲存在 msticpyconfig.yaml 檔案中,該檔案會自動填入你工作區的初始細節。

務必仔細閱讀 markdown 儲存格,這樣才能完全了解整個流程,包括每個設定和 msticpyconfig.yaml 檔案。 接下來的步驟、額外資源以及Azure Sentinel筆記本維基的常見問題,都從筆記本末端連結。

自訂你的查詢 (可選)

Microsoft Sentinel ML 筆記本使用者入門指南》提供了範例查詢,供你在學習筆記本時使用。 可透過新增更多查詢邏輯來自訂內建查詢,或使用該 exec_query 函式執行完整查詢。 例如,大多數內建查詢都支援這個 add_query_items 參數,你可以用它來附加篩選器或其他操作到查詢中。

  1. 執行以下程式碼儲存格,加入一個資料框,彙整警報名稱的警報數量:

    from datetime import datetime, timedelta
    
    qry_prov.SecurityAlert.list_alerts(
       start=datetime.utcnow() - timedelta(28),
        end=datetime.utcnow(),
        add_query_items="| summarize NumAlerts=count() by AlertName"
    )
    
  2. 將完整的 Kusto 查詢語言 (KQL) 查詢字串傳給查詢提供者。 查詢會對已連接的工作區執行,資料會以 panda DataFrame 的形式回傳。 跑步:

    # Define your query
    test_query = """
    OfficeActivity
    | where TimeGenerated > ago(1d)
    | take 10
    """
    
    # Pass the query to your QueryProvider
    office_events_df = qry_prov.exec_query(test_query)
    display(office_events_df.head())
    
    

如需詳細資訊,請參閱:

將指引套用到其他筆記本上

本文的步驟說明如何在 Microsoft Sentinel 的 Azure 機器學習工作空間中執行 Microsoft Sentinel ML 筆記本使用者入門指南。 你也可以參考這篇文章作為指引,如何在其他環境(包括本地)執行筆記本。

部分 Microsoft Sentinel 筆記型電腦不使用 MSTICPy,例如 Credential Scanner 筆記本,或 PowerShell 和 C# 範例。 不使用 MSTICpy 的筆記本不需要本文所述的 MSTICPy 設定。

試試其他 Microsoft Sentinel 筆記型電腦,例如:

  • 設定您的筆記本環境
  • 《賽博安全筆記本導覽》特色介紹
  • 筆記本中的機器學習範例
  • 實體探索器系列,包含帳號、網域與網址、IP 位址,以及 Linux 或 Windows 主機的變體。

如需詳細資訊,請參閱:

如需詳細資訊,請參閱: