分享方式:


使用 Jupyter 筆記本搜捕安全性威脅

在安全性調查和搜捕過程中,啟動並執行 Jupyter 筆記本,以程式設計方式分析您的資料。

在本文中,您會建立 Azure Machine Learning 工作區、從 Microsoft Sentinel 將筆記本啟動到 Azure Machine Learning 工作區,並在筆記本中執行程式碼。

重要

Microsoft Sentinel 現已在 Microsoft Defender 入口網站中 Microsoft 統一的安全性作業平台中正式推出。 如需詳細資訊,請參閱 Microsoft Defender 入口網站中的 Microsoft Sentinel

必要條件

建議您先了解 Microsoft Sentinel 筆記本,再完成本文中的步驟。 請參閱使用 Jupyter 筆記本搜捕安全性威脅

若要使用 Microsoft Sentinel 筆記本,您必須具有下列角色和權限:

類型 詳細資料
Microsoft Sentinel - Microsoft Sentinel 參與者角色,以便從 Microsoft Sentinel 儲存和啟動筆記本
Azure Machine Learning - 資源群組層級擁有者參與者角色,視需要建立新的 Azure Machine Learning 工作區。
- 執行 Microsoft Sentinel 筆記本所在 Azure Machine Learning 工作區上的參與者角色。

如需詳細資訊,請參閱管理對 Azure Machine Learning 工作區的存取

從 Microsoft Sentinel 建立 Azure Machine Learning 工作區

若要建立工作區,請選取下列其中一個索引標籤,視您使用公用或私人端點而定。

  • 當您的 Microsoft Sentinel 工作區有公用端點時,建議您使用公用端點,以避免網路通訊中的潛在問題。
  • 如果您想要在虛擬網路中使用 Azure Machine Learning 工作區,請使用私人端點
  1. 針對 Azure 入口網站中的 Microsoft Sentinel,於 [威脅管理] 底下,選取 [Notebooks]
    針對 Defender 入口網站中的 Microsoft Sentinel,選取 [Microsoft Sentinel]> [威脅管理]> [Notebooks]

  2. 選取 [設定 Azure Machine Learning]> [建立新的 AML 工作區]

  3. 輸入下列詳細資料,然後選取 [下一步]

    欄位 描述
    訂用帳戶 選取您要使用的 Azure 訂用帳戶。
    資源群組 使用您訂用帳戶中現有的資源群組,或輸入名稱來建立新的資源群組。 資源群組會保留 Azure 方案的相關資源。
    工作區名稱 輸入可識別您工作區的唯一名稱。 名稱必須是整個資源群組中唯一的。 請使用可輕鬆回想並且與其他人建立的工作區有所區別的名稱。
    區域 選取最接近您的使用者與資料資源的位置,以建立工作區。
    儲存體帳戶 儲存體帳戶是用來做為工作區的預設資料存放區。 您可以建立新的 Azure 儲存體資源,或在訂用帳戶中選取現有的資源。
    KeyVault 金鑰保存庫可用來儲存工作區所需的祕密和其他敏感性資訊。 您可以建立新的 Azure Key Vault 資源,或在訂用帳戶中選取現有的資源。
    Application insights 工作區會使用 Azure Application Insights 來儲存所部署模型的監視資訊。 您可以建立新的 Azure Application Insights 資源,或在訂用帳戶中選取現有的資源。
    Container Registry 容器登錄可用來註冊在定型和部署中使用的 Docker 映像。 為了將成本降至最低,只有在建置第一個映像之後,才會建立新的 Azure Container Registry 資源。 或者,您可以選擇立即建立資源,或選取訂用帳戶中的現有資源,或者如果您不想使用任何容器登錄,請選取 [無]
  4. 在 [網路] 索引標籤上,選取 [啟用來自所有網路的公用存取]

    在 [進階] 或 [標記] 索引標籤中定義任何相關設定,然後選取 [檢閱 + 建立]

  5. 在 [檢閱 + 建立] 索引標籤上,檢閱資訊以確認其正確無誤,然後選取 [建立] 開始部署工作區。 例如:

    從 Microsoft Sentinel 檢閱 + 建立 Azure Machine Learning 工作區。

    在雲端中建立工作區可能需要數分鐘的時間。 在此期間,工作區 [概觀] 頁面會顯示目前的部署狀態,並在部署完成時更新。

部署完成之後,請回到 Microsoft Sentinel [Notebooks],並從新的 Azure Machine Learning 工作區啟動筆記本。

如果您有多個筆記本,請務必選取啟動筆記本時要使用的預設 AML 工作區。 例如:

選取筆記本的預設 AML 工作區。

在 Azure Machine Learning 工作區中啟動筆記本

建立 Azure Machine Learning 工作區之後,請從 Microsoft Sentinel 啟動該工作區中的筆記本。 請注意,如果您已在 Azure 儲存體帳戶中啟用私人端點,就無法從 Microsoft Sentinel 啟動 Azure Machine Learning 工作區中的筆記本。 您必須從 Microsoft Sentinel 複製筆記本範本,並將筆記本上傳至 Azure Machine Learning 工作室。

若要在 Azure Machine Learning 工作區中啟動 Microsoft Sentinel 筆記本,請完成下列步驟。

  1. 針對 Azure 入口網站中的 Microsoft Sentinel,於 [威脅管理] 底下,選取 [Notebooks]
    針對 Defender 入口網站中的 Microsoft Sentinel,選取 [Microsoft Sentinel]> [威脅管理]> [Notebooks]

  2. 選取 [範本] 索引標籤,以查看該 Microsoft Sentinel 提供的筆記本。

  3. 選取筆記本以檢視其描述、必要的資料類型和資料來源。

  4. 當您找到要使用的筆記本時,請選取 [從範本建立],然後選取 [儲存],將其複製到您自己的工作區。

  5. 視需要編輯名稱。 如果筆記本已存在於工作區中,請覆寫現有的筆記本或建立新的筆記本。 根據預設,您的筆記本會儲存在所選 AML 工作區的 /Users/<Your_User_Name>/ 目錄中。

    儲存筆記本以將其複製到您自己的工作區。

  6. 儲存筆記本之後,[儲存筆記本] 按鈕會變更為 [啟動筆記本]。 選取 [啟動筆記本] 以在您的 AML 工作區中開啟。

    例如:

    在 AML 工作區中啟動筆記本。

  7. 在頁面頂端,選取要用於筆記本伺服器的計算執行個體。

    如果您沒有計算執行個體,請建立新的計算執行個體。 如果您的計算執行個體已停止,請務必加以啟動。 如需詳細資訊,請參閱在 Azure Machine Learning 工作室中執行筆記本

    只有您可以查看和使用您所建立的計算執行個體。 您的使用者檔案會與 VM 分開儲存,而且由工作區中的全部計算執行個體共用。

    如果您要建立新的計算執行個體來測試筆記本,請使用 [一般用途] 類別來建立計算執行個體。

    核心也會顯示在 Azure Machine Learning 視窗右上方。 如果未選取您需要的核心,請從下拉式清單中選取不同的版本。

  8. 建立並啟動筆記本伺服器之後,請執行筆記本儲存格。 在每個儲存格中,選取 [ 執行 ] 圖示以執行筆記本程式碼。

    如需詳細資訊,請參閱命令模式快速鍵

  9. 如果您的筆記本停止回應或想要重新開始,您可以重新啟動核心,然後從頭重新執行筆記本儲存格。 如果您重新啟動核心,則會刪除變數和其他狀態。 重新啟動之後,請重新執行任何初始化和驗證儲存格。

    若要重新開始,請選取 [核心作業] > [重新啟動核心]。 例如:

    重新啟動筆記本核心。

在筆記本中執行程式碼

一律依序執行筆記本程式碼儲存格。 略過儲存格可能會導致錯誤。

在筆記本中:

  • Markdown 儲存格具有文字,包括 HTML 和靜態影像。
  • Code 儲存格包含程式碼。 選取程式碼儲存格之後,請選取儲存格左邊的 [播放] 圖示,或按下 SHIFT+ENTER 鍵,以執行儲存格中的程式碼。

例如,在您的筆記本中執行下列程式碼儲存格:

# This is your first code cell. This cell contains basic Python code.

# You can run a code cell by selecting it and then selecting
# the Play button to the left of the cell, or by pressing SHIFT+ENTER.
# Code output displays below the code.

print("Congratulations, you just ran this code cell")

y = 2 + 2

print("2 + 2 =", y)

範例程式碼會產生此輸出:

Congratulations, you just ran this code cell

2 + 2 = 4

筆記本程式碼儲存格內設定的變數會保存在儲存格之間,因此您可以將儲存格鏈結在一起。 例如,下列程式碼儲存格會使用上一個儲存格中 y 的值:

# Note that output from the last line of a cell is automatically
# sent to the output cell, without needing the print() function.

y + 2

輸出如下:

6

下載所有 Microsoft Sentinel 筆記本

本節說明如何使用 Git,直接從 Microsoft Sentinel 筆記本內將 Microsoft Sentinel GitHub 存放庫中可用的所有筆記本下載到您的 Azure Machine Learning 工作區。

將 Microsoft Sentinel 筆記本儲存在 Azure Machine Learning 工作區中,可讓您輕鬆地更新這些筆記本。

  1. 從 Microsoft Sentinel 筆記本中,將下列程式碼輸入空白儲存格,然後執行儲存格:

    !git clone https://github.com/Azure/Azure-Sentinel-Notebooks.git azure-sentinel-nb
    

    GitHub 存放庫內容的複本會建立在 Azure Machine Learning 工作區中使用者資料夾的 azure-Sentinel-nb 目錄中。

  2. 將您想要的筆記本從此資料夾複製到工作目錄。

  3. 若要使用來自 GitHub 的任何最新變更來更新筆記本,請執行:

    !cd azure-sentinel-nb && git pull