你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

恶意软件扫描简介

Microsoft Defender for Storage 中的恶意软件扫描通过检测和缓解恶意软件威胁来提高 Azure 存储帐户的安全性。 它使用 Microsoft Defender 防病毒扫描存储内容,确保安全性和合规性。

Defender for Storage 提供两种类型的恶意软件扫描:

  • 上传时恶意软件扫描:在上传或修改 blob 时自动扫描 blob,从而提供近乎实时的检测。 这种类型的扫描非常适合涉及频繁用户上传的应用程序,如 Web 应用程序或协作平台。 在上传内容时扫描内容有助于防止恶意文件进入存储环境并传播到下游。

  • 按需恶意软件扫描:允许在必要时扫描现有 blob,使其非常适用于提供事件响应、合规性和主动安全性。 这种扫描类型非常适合通过扫描所有现有数据、对安全警报做出反应或准备审计来建立安全基线。

这些选项有助于保护存储帐户、满足合规性需求和维护数据完整性。

为什么恶意软件扫描很重要

上传到云存储的内容可能会引入恶意软件,从而给组织带来风险。 扫描内容中是否存在恶意软件有助于防止恶意文件进入你的环境或在其中传播。

Defender for Storage 中的恶意软件扫描在以下方面很有帮助:

  • 检测恶意内容:识别并缓解恶意软件威胁。

  • 增强安全状况:添加安全层以防止恶意软件传播。

  • 支持合规性:帮助满足法规要求。

  • 简化安全管理:提供可大规模配置的云原生低维护解决方案。

关键功能

  • 内置 SaaS 解决方案:允许在无需维护的情况下大规模实现简单启用。

  • 全面的反恶意软件功能:使用 Microsoft Defender 防病毒 (MDAV) 进行扫描,可捕获多态和变形恶意软件。

  • 全面检测:扫描所有文件类型,包括 ZIP 和 RAR 文件之类的存档,每个 blob 最多 2 GB(在预览版中最多 50GB)。

  • 灵活的扫描选项:根据需要提供上传时和按需扫描。

  • 与安全警报的集成:在 Microsoft Defender for Cloud 中生成详细的警报。

  • 对自动化的支持:使用逻辑应用和函数应用等 Azure 服务实现自动响应。

  • 合规性和审核:将扫描结果记录到日志中以用于合规性和审核。

  • 专用终结点支持:恶意软件扫描支持专用终结点,通过消除公共 Internet 曝光来确保数据隐私。

哪种恶意软件扫描适合你的需求?

如果你想对频繁的上传进行即时保护,那么上传时恶意软件扫描是正确的选择。 它最适合扫描 Web 应用中用户上传的内容,保护共享多媒体资产,并确保受监管行业的合规性。 如果你需要集成第三方数据、保护协作平台或保护数据管道和机器学习数据集,则上传时扫描也很有效。 有关详细信息,请参阅上传时恶意软件扫描

如果要建立安全基线,则按需恶意软件扫描是一个不错的选择。 它还提供根据特定需求运行扫描的灵活性。 按需扫描非常适合事件响应、合规性和主动安全做法。 你可以使用它来自动扫描以响应安全触发器,以计划的扫描为审计做准备,或主动检查存储的数据中是否存在恶意软件。 此外,按需扫描有助于提供客户保证,并在存档或交换之前验证数据。 有关详细信息,请参阅按需恶意软件扫描

提供扫描结果

可通过四种方法提供恶意软件扫描的扫描结果。 设置后,你将看到扫描结果,即存储帐户中每个扫描文件的 Blob 索引标记,以及当文件被标识为恶意时的 Microsoft Defender For Cloud 安全警报。 可以选择配置其他扫描结果方法,例如事件网格和 Log Analytics,但这些方法需要额外的配置。 在下一部分中,你将了解不同的扫描结果方法。 示意图显示查看和使用恶意软件扫描结果的流程。

扫描结果

Blob 索引标记

Blob 索引标记是 Blob 上的元数据字段。 它们使用键值标记属性对存储帐户中的数据进行分类。 这些标记会自动索引,并作为可搜索的多维索引公开,便于你轻松查找数据。 扫描结果非常简洁,会在 Blob 元数据中显示恶意软件扫描的扫描结果和恶意软件扫描的扫描时间 UTC。 其他结果类型(警报、事件、日志)提供了更多信息。 屏幕截图显示 Blob 索引标记示例。

应用程序可以使用 Blob 索引标记来自动执行工作流,但不能防篡改。 详细了解如何设置响应

注意

需要权限才能访问索引标记。 有关详细信息,请参阅获取、设置和更新 Blob 索引标记

Defender for Cloud 安全警报

在检测到恶意文件时,Microsoft Defender for Cloud 会生成 Microsoft Defender for Cloud 安全警报。 要查看警报,请转到 Microsoft Defender for Cloud 安全警报。 安全警报包含文件的详细信息和上下文、恶意软件类型,以及建议的调查和修正步骤。 要使用这些警报进行修正,可以:

详细了解如何响应安全警报

事件网格事件

事件网格适用于事件驱动的自动化。 这是以可用于自动响应的事件形式以最小延迟获取结果的最快方法。

事件网格自定义主题中的事件可以由多个终结点类型使用。 恶意软件扫描方案最有用的方面是:

  • 函数应用(以前称为 Azure Function)- 使用无服务器函数运行代码来实现自动响应,例如移动、删除或隔离。
  • Webhook - 用于连接应用程序。
  • 事件中心和服务总线队列 - 用于通知下游使用者。 了解如何配置恶意软件扫描,将每个扫描结果自动发送到事件网格主题以实现自动化。

日志分析

你可能想要记录扫描结果以获取合规性证据或调查扫描结果。 通过设置 Log Analytics 工作区目标,可以将每个扫描结果存储在易于查询的集中式日志存储库中。 可以通过导航到 Log Analytics 目标工作区并查找 StorageMalwareScanningResults 表来查看结果。 详细了解如何 为恶意软件扫描设置日志记录

提示

我们邀请你通过我们的动手实验室探索 Defender for Storage 中的恶意软件扫描功能。 按照 Ninja 培训 说明,获取有关如何设置和测试恶意软件扫描端到端的详细分步指南,包括配置扫描结果的响应。 这是“实验室”项目的一部分,可帮助客户掌握 Microsoft Defender for Cloud,并提供有关其功能的实际操作体验。

响应自动化

恶意软件扫描支持自动响应,例如删除或隔离可疑文件。 这可以使用 Blob 的索引标记进行管理,也可以通过设置事件网格事件来实现自动化目的。 可以通过以下方式自动执行响应:

  • 使用 ABAC(基于属性的访问控制)阻止访问未扫描文件或恶意文件。
  • 使用逻辑应用(基于安全警报)或带有函数应用的事件网格(基于扫描结果)自动删除恶意文件或将其移动到隔离区
  • 使用带函数应用的事件网格将干净文件转发到其他位置

详细了解如何设置对恶意软件扫描结果的响应

恶意软件扫描设置

启用恶意软件扫描后,将在环境中自动执行以下操作:

  • 对于启用恶意软件扫描的每个存储帐户,将会在存储帐户的同一资源组中创建事件网格系统主题资源 - 由恶意软件扫描服务用于侦听 Blob 上传触发器。 移除此资源会中断恶意软件扫描功能。
  • 为了扫描数据,恶意软件扫描服务需要访问你的数据。 在服务启用期间,会在 Azure 订阅中创建名为 StorageDataScanner 的新数据扫描程序资源,并会向其分配系统分配的托管标识。 此资源被授予“存储 Blob 数据所有者”角色分配,可出于恶意软件扫描和敏感数据发现目的来访问数据。 如果将存储帐户“网络配置”设置为“从所选虚拟网络和 IP 地址启用公用网络访问”,则会将 StorageDataScanner 资源添加到存储帐户“网络”配置下的“资源实例”部分,以允许访问扫描数据。 如果要在订阅级别启用恶意软件扫描,则会在 Azure 订阅中创建一个名为 StorageAccounts/securityOperators/DefenderForStorageSecurityOperator 的新资源。 此资源分配有一个系统托管标识。 它用于在现有存储帐户上启用和修复 Defender for Storage 和恶意软件扫描配置。 此外,它还会检查订阅中创建的新存储帐户以启用恶意软件扫描。 此资源具有特定的角色分配,具有启用恶意软件扫描所需的权限。

注意

恶意软件扫描依赖于某些资源、标识和网络设置来正常工作。 如果你修改或删除其中任何一项,恶意软件扫描将停止工作。 要使其恢复正常操作,可将其关闭并重新打开。

支持的内容和限制

支持的内容

  • 文件类型:所有文件类型,包括 ZIP 文件等存档。

  • 文件大小:Blob 最大为 2 GB(在预览版中最大为 50GB)。

限制

  • 不支持的存储帐户:不支持旧版 v1 存储帐户。

  • 不支持的服务:恶意软件扫描不支持 Azure 文件存储。

  • 不支持的 blob 类型:不支持追加 blob 和页 blob

  • 不支持的加密:无法扫描客户端加密的 blob,因为服务无法解密它们。 支持使用客户管理的密钥 (CMK) 进行静态加密的 Blob。

  • 不支持的协议:不会扫描通过网络文件系统 (NFS) 3.0 协议上传的 Blob。

  • Blob 索引标记:启用了分层命名空间的存储帐户不支持索引标记 (Azure Data Lake Storage Gen2)。

  • 不支持的区域:某些区域尚不支持恶意软件扫描。 我们将持续在新区域中推出该项服务。 有关支持的区域的最新列表,请参阅 Defender for Cloud 可用性

其他成本

Azure 服务:恶意软件扫描使用其他 Azure 服务,这可能会产生进一步的成本:

  • Azure 存储读取操作
  • Azure 存储 blob 索引编制
  • Azure 事件网格事件

Blob 扫描和对 IOPS 的影响

恶意软件扫描服务每次扫描文件时,都会触发另一个读取操作并更新索引标记。 对于上传时扫描(在上传或修改 Blob 后发生)和按需扫描,都是如此。 尽管进行了这些操作,但对扫描数据的访问仍然不受影响。 对存储的每秒输入/输出操作 (IOPS) 影响很小,确保这些操作通常不会引入大量负载。

恶意软件扫描无效的情况

虽然恶意软件扫描提供全面的检测功能,但在某些情况下,由于固有的限制,它变得无效。 在决定在存储帐户上启用恶意软件扫描之前,仔细评估这些情况非常重要:

  • 分块数据:恶意软件扫描不能有效地检测包含分块数据的 Blob 中的恶意软件,例如,拆分为较小部分的文件。 此问题在将备份数据分块上传到存储帐户的备份服务中很常见。 扫描过程可能会错过恶意内容或错误地标记干净内容,从而导致漏报和误报。 为了降低这种风险,可以考虑在将数据分块之前或完全重新组装之后实施进一步的安全措施,例如扫描数据。
  • 加密的数据:恶意软件扫描不支持客户端加密的数据。 该服务无法解密此数据,这意味着这些加密 blob 中的任何恶意软件都无法被检测到。 如果需要加密,请确保在加密过程之前进行扫描,或者使用受支持的加密方法(例如客户管理的密钥 (CMK))进行静态加密。 在决定启用恶意软件扫描时,请考虑是否将其他受支持的文件上传到存储帐户。 此外,请评估攻击者是否可以利用此上传流来引入恶意软件。

Azure 存储与终结点环境之间的恶意软件检测差异

Defender for Storage 使用与 Defender for Endpoint 相同的反恶意软件引擎和最新的签名来扫描恶意软件。 但是,当文件上传到 Azure 存储时,它们缺少反恶意软件引擎依赖的某些元数据。 这种元数据的缺乏可能会导致 Azure 存储中的漏检率(即“漏报”)高于 Defender for Endpoint 识别的检测结果。

下面是缺少元数据的一些示例:

  • Web 标记 (MOTW):MOTW 是一项 Windows 安全功能,用于跟踪从 Internet 下载的文件。 但是,当文件上传到 Azure 存储时,不会保留此元数据。

  • 文件路径上下文:在标准操作系统上,文件路径可以提供用于威胁检测的其他上下文。 例如,尝试修改系统位置的文件(例如 C:\Windows\System32)将被标记为可疑,并受到进一步分析。 在 Azure 存储中,无法以相同的方式使用 Blob 中特定文件路径的上下文。

  • 行为数据:Defender for Storage 会在不运行文件的情况下分析文件的内容。 它会检查文件,并可模拟它们的执行以检查恶意软件。 但是,此方法可能无法检测某些类型的恶意软件,这些恶意软件仅在执行过程中才会显露其恶意性质。

访问和数据隐私

数据访问要求

恶意软件扫描服务需要访问你的数据来扫描恶意软件。 在服务启用期间,将会在 Azure 订阅中新建名为 StorageDataScanner 的数据扫描程序资源。 此资源分配有系统分配的托管标识,并被分配了存储 Blob 数据所有者角色,以访问和扫描你的数据。

如果将存储帐户“网络配置”设置为“从所选虚拟网络和 IP 地址启用公用网络访问”,则会将 StorageDataScanner 资源添加到存储帐户“网络”配置下的“资源实例”部分,以允许访问扫描数据。

数据隐私和区域性处理

  • 区域性处理:扫描发生在与你的存储帐户相同的 Azure 区域内,以符合数据驻留要求。

  • 数据处理:不会存储扫描的文件。 在某些情况下,可能会与 Microsoft Defender for Endpoint 共享文件元数据(例如 SHA-256 哈希),以便进一步分析。

处理可能的误报和漏报

误报

当系统错误地将良性文件标识为恶意文件时,会发生误报。 若要解决这些问题,请执行以下操作:

  1. 提交供分析

    • 使用示例提交门户来报告误报。

    • 提交时选择“Microsoft Defender for Storage”作为源。

  2. 阻止警报

    • 在 Defender for Cloud 中创建抑制规则,以防止特定的重复发生误报警报。

解决未检测到的恶意软件(漏报)

当系统无法检测恶意文件时,会发生漏报。 如果你怀疑发生这种情况,可以通过示例提交门户提交文件进行分析来报告未检测到的恶意软件。 请务必包含尽可能多的上下文,以解释你为什么认为该文件是恶意的。

注意

定期报告误报和漏报有助于随着时间的推移提高恶意软件检测系统的准确性。