閱讀英文

共用方式為

开始在 Microsoft Sentinel 中使用 Jupyter 笔记本和 MSTICPy

本文介绍如何运行 Microsoft Sentinel ML Notebooks 笔记本的入门指南 ,该指南为在 Microsoft Sentinel 中运行 Jupyter 笔记本设置基本配置,并提供运行简单查询的示例。

Microsoft Sentinel ML Notebooks 笔记本入门指南使用 MSTICPy,这是一个功能强大的 Python 库,旨在增强Microsoft Sentinel 笔记本内的安全调查和威胁搜寻。 它提供用于数据扩充、可视化、异常检测和自动化查询的内置工具,帮助分析师无需进行广泛的自定义编码即可简化其工作流。

有关详细信息,请参阅使用笔记本为调查提供支持,并使用 Jupyter 笔记本搜寻安全威胁

先决条件

在开始之前,请确保拥有所需的权限和资源。

先决条件 DESCRIPTION
权限 若要在 Microsoft Sentinel 中使用笔记本,请确保具有所需的权限。

有关详细信息,请参阅 管理对 Microsoft Sentinel 笔记本的访问权限
Python 若要执行本文中的步骤,需要 Python 3.6 或更高版本。

在 Azure 机器学习中,可以使用 Python 3.8 内核(建议)或 Python 3.6 内核。 如果在另一个 Jupyter 环境中使用本文中所述的笔记本,则可以使用支持 Python 3.6 或更高版本的任何内核。

若要在 Microsoft Sentinel 和 Azure 机器学习(ML)之外使用 MSTICPy 笔记本,还需要配置 Python 环境。 使用 Anaconda 分发版安装 Python 3.6 或更高版本,其中包括许多必需的包。
MaxMind GeoLite2 此笔记本使用 MaxMind GeoLite2 地理定位查找服务来查找 IP 地址。 若要使用 MaxMind GeoLite2 服务,需要许可证密钥。 可以在 Maxmind 注册页注册免费帐户和密钥。
VirusTotal 此笔记本使用 VirusTotal (VT) 作为威胁情报源。 若要使用 VirusTotal 威胁情报查找,需要一个 VirusTotal 帐户和 API 密钥。

如果使用 VT 企业密钥,请将其存储为 Azure Key Vault,而不是 msticpyconfig.yaml 文件。 有关详细信息,请参阅 MSTICPY 文档中的将机密指定为密钥保管库机密

如果不想立即设置 Azure Key Vault,请注册并使用免费帐户,直到可以设置 Key Vault 存储。

安装和运行入门指南笔记本

此过程介绍如何使用 Microsoft Sentinel 启动笔记本。

  1. 对于 Azure 门户中的 Microsoft Sentinel,请在 “威胁管理”下选择 “笔记本”。

  2. 从“ 模板 ”选项卡中,选择 Microsoft Sentinel ML 笔记本的入门指南

  3. 选择“通过模板创建”。

  4. 编辑名称,并根据需要选择 Azure 机器学习工作区。

  5. 选择 “保存 ”以将其保存到 Azure 机器学习工作区。

  6. 选择 “启动笔记本 ”以运行笔记本。 该笔记本包含一系列单元:

    • Markdown 单元格包含文本和图形,其中包含有关使用笔记本的说明
    • 代码 单元包含执行笔记本函数的可执行代码
  7. 在页面顶部,选择你的计算。

  8. 按照笔记本中的说明继续按顺序阅读 markdown 单元格并运行代码单元格。 跳过单元格或乱序运行它们可能会导致笔记本随后出现错误。

    根据正在执行的函数,单元格中的代码可能会快速运行,或者可能需要一些时间才能完成。 当单元格正在运行时,播放按钮将更改为加载旋转图标,状态以及已用时间会显示在单元格底部。

    首次运行代码单元时,可能需要几分钟才能启动会话,具体取决于计算设置。 当笔记本准备好运行代码单元格时,会显示 “就绪 ”指示。 例如:

    已准备好运行代码单元的机器学习环境的屏幕截图。

“Microsoft Sentinel ML Notebooks 入门指南”包括以下活动的部分:

名称 DESCRIPTION
介绍 介绍笔记本基础知识并提供可运行的示例代码,以查看笔记本的工作原理。
初始化笔记本和 MSTICPy 帮助你让环境准备好运行笔记本的其余部分。 初始化笔记本时,预期会出现有关缺少设置的配置警告,因为尚未配置任何设置。
从 Microsoft Sentinel 查询数据 帮助你验证、配置和测试 Microsoft Sentinel 设置。 使用本节中的代码进行身份验证以Microsoft Sentinel 并运行示例查询来测试连接。
配置和测试外部数据提供程序(VirusTotal 和 Maxmind GeoLite2) 帮助你将 VirusTotal 的设置配置为示例威胁智能服务,将 MaxMind GeoLite2 配置为示例地理位置查找服务。 使用本节中的代码针对这些数据提供程序运行示例查询以测试它们。

Microsoft Sentinel ML Notebook 入门指南中的代码将启动 MpConfigEdit 工具,该工具包含用于配置笔记本环境的一系列选项卡。 在 MpConfigEdit 工具中进行更改时,请确保在继续之前保存更改。 笔记本的设置存储在 msticpyconfig.yaml 文件中,该文件会自动填充工作区的初始详细信息。

请务必仔细阅读 markdown 单元格,以便完全了解该过程,包括每个设置和 msticpyconfig.yaml 文件。 笔记本的末尾提供了通向Azure Sentinel Notebooks Wiki中的后续步骤、额外资源和常见问题解答的链接。

自定义查询(可选)

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 Notebooks 笔记本入门指南。 还可以使用本文作为指导来执行类似步骤以在其他环境中运行笔记本,包括本地。

多个 Microsoft Sentinel 笔记本不使用 MSTICPy,例如 凭证扫描器 笔记本,或 PowerShell 和 C# 示例。 不使用 MSTICpy 的笔记本不需要本文中所述的 MSTICPy 配置。

试用其他Microsoft Sentinel 笔记本,例如:

  • 配置笔记本环境
  • Cybersec 笔记本功能概览
  • Notebooks 中的机器学习例子
  • 实体资源管理器系列,包括帐户、域和 URL、IP 地址以及 Linux 或 Windows 主机的变体。

有关详细信息,请参见:

有关详细信息,请参见: