Windows Defender ATP机器学习技术:检测未知入侵活动

本文详细介绍了Windows Defender ATP如何利用机器学习技术检测未知入侵活动,包括行为数据分析、进程行为树、特征工程及上下文增强,有效识别PowerShell恶意脚本、代码注入和多态文档等高级威胁。

Windows Defender Advanced Threat Protection 的机器学习:检测未知的入侵活动

本文章是 Windows Security 博客“Windows Defender ATP machine learning: Detecting new and unusual breach activity”(2017 年 8 月 3 日美国时间发布)的翻译版本。

微软积极投资于下一代安全技术,利用其庞大的数据集聚合能力,构建能够从数据中学习的智能系统。机器学习(ML)系统能够发现日常大量事件中隐藏的威胁,以及传统传感器无法响应的未知微小异常。

结合专家分析,基于机器学习的 Windows Defender Antivirus 恶意软件防护已得到改进,能够近乎实时地检测未知的多态恶意软件。Windows Defender Advanced Threat Protection(Windows Defender ATP)的高级攻击检测功能也得到了增强。例如,它能够检测隐藏在内存中、伪装成常用工具或应用程序触发事件的 Apex 攻击等。

本文介绍了将 Windows Defender ATP 进化为能够检测企业网络中各种安全违规的优秀解决方案的机器学习技术。

Windows Defender ATP 的传感器与智能安全图

Windows Defender ATP 使用内置于 Windows 10 的端点传感器实施有效的入侵后检测*。该端点传感器不使用传统签名,而是收集行为事件流。例如,它可以检测进程连接到 Web 服务器、应用程序关闭或启动等行为。

  • 如 6 月所宣布,Fall Creators Update 中,Windows Defender ATP 与其他 Windows 威胁防护堆栈紧密集成,转变为涵盖入侵前和入侵后的全面保护解决方案。这使得企业不仅能够检测和处理设备及网络威胁,还能预防威胁。

Windows Defender ATP 的检测功能由传感器数据与 Microsoft 智能安全图的组合触发。例如,在上述情况下,可以利用传感器数据以及 Web 服务器的各种信息(如 IP 地址声誉、同一服务器上站点的 Windows Defender SmartScreen 声誉等)。还可以扩展图形以显示文件普及度、具有类似网络活动的文件以及其他共同行为。此外,通过参考 Intelligent Security Graph 的上下文信息,可以做出更可靠的判断。

基于传感器和图形数据,进行从特定恶意行为的精确检测到更复杂的启发式分析的广泛检测。例如,可以检测与特定黑客工具相关的命令行参数的使用、从不可靠网站下载和执行二进制文件等。利用成熟的机器学习功能,还可以检测更隐蔽、难以发现的入侵活动。

机器学习的作用

人类分析师擅长基于专业知识发现警告违规活动的启发式方法,但在创建启发式规则时可以考虑的信号数量有限。相比之下,机器学习可以考虑数千个信号,从而应用分析师创建的启发式方法,更细致地分析数据。在实际警报分析中,机器学习技术比人工创建的启发式方法准确率高出 20% 以上。

此外,通过结合其他常见工件,可以泛化各种数据以检测尚未知晓的新威胁。微软的机器学习模型优化了 Windows Defender ATP 的大量数据和计算资源,用于多种用途。

专用分类器的使用

Windows Defender ATP 的机器学习系统由多个模型和分类器组成,这些组合起来进行检测决策。这使得能够识别恶意进程、恶意脚本、社会工程、Microsoft Office 漏洞利用、勒索软件攻击(英文)等恶意实体和活动。

微软的机器学习模型结合了最先进的特征工程和广泛的机器学习算法。使用神经网络(英文)进行基于一系列对象、加权特性及个体特性关系的高级预测。决策树(英文)则通过多个决策树修正错误并进行高精度预测。

一些模型针对广泛的行为数据,而其他模型设计为特定区域专用的分类器,如注册表或内存活动。所有机器学习模型逐步判断目标行为是否恶意。基于模型得出的数值分数计算攻击可能性,并决定是否生成警报。

上下文信息的提供

通常,机器学习模型仅提供有限的上下文信息,例如警报生成的原因。这有助于安全运营人员评估事件的严重性并采取适当措施。此外,它还用作后续调查的指南。

大多数机器学习模型提供的上下文是概要级别的。前述模型可以通知组织是否面临恶意进程,但无法通知是否为社会工程攻击或文档漏洞利用。Windows Defender ATP 提供的机器学习模型和上下文信息非常优秀,因此安全运营人员可以获得更多工件,准确掌握事件的影响范围。除了持久性机制或连接到特定 IP 地址的信息外,Windows Defender ATP 还指示导致警报的特定分类器,同时阐明导致警报的概要级别行为,从而提供有意义的信息。

图 1 中,机器学习警报检测到可疑文件,并显示进程行为(特别是内存活动)以及分类器将文件判断为“可疑”的文件结构信号。基于此信息,可以针对内存活动进行针对性调查,检测漏洞利用的发生、跨进程注入或两者。

监督学习与特征工程

微软使用无监督学习方法识别网络上的异常,如可疑用户活动。然而,大多数机器学习算法由监督学习模型组成。

监督学习模型或分类器基于真实类别(“标签”)示例创建,旨在为未知文件、邮件、进程、事件及任何类型的实体生成并分配正确标签。评估监督分类器时,检查其处理未知实体的性能。

机器学习系统使用作用于特征的算法来判断现实世界实体,如邮件(是否为垃圾邮件)或图像(是猫、狗还是其他)。因此,应用机器学习方法需要通过称为特征工程的过程将实体转换为特征。例如,垃圾邮件的特征可能指来自同一发件人的相同内容邮件的数量。

特征工程基于领域专家的理解进行。或者,类似于近年普及的深度学习方法,利用大量原始数据和计算能力的过程学习适当表示。例如,深度学习使用数十亿封邮件学习垃圾邮件的概念。Windows Defender ATP 的机器学习采用特征工程方法(专家工程与深度学习)。

将机器学习应用于网络安全并不简单,因为攻击者会精心伪装特性以逃避检测。因此,需要多方面的应对方法。首先,构建基于攻击者难以改变的行为特性的机器学习模型。例如,即使是可以轻松更改静态属性以逃避检测的多种恶意软件,也无法改变利用某些持久性机制的特性。其次,始终用新数据重新训练机器学习模型,使其基于最新活动进行泛化。第三,采用一系列评估系统验证机器学习模型的警报,发现潜在错误,从而保持高精度。

进程行为树:捕获软件行为

如何将各种软件行为转换为机器学习算法可以处理的特征?

定义软件进程行为的因素不仅包括进程自身的动作,还包括子孙进程及相关进程的动作等。特别是恶意进程的许多执行动作是由注入恶意代码的其他进程执行的,因此此类信息非常重要。

Windows Defender ATP 的机器学习采用进程行为树,封装了通过进程创建或内存添加关联的进程及其子孙进程显示的所有动作和行为。图 2 是恶意软件执行的进程行为树示例。

用行为数据训练机器学习模型可以从一系列训练示例中发现其他问题。Windows Defender ATP 使用来自不同来源和类型的数百万恶意文件(如 PE、文档、脚本等)。此外,收集非文件活动的训练示例,如受损网站部署的攻击手法、内存中或无文件威胁的行为等。基于世界上存在且隐藏在普通机器正常活动中的恶意行为构建训练集,并添加从恶意工件的受控引爆中获得的数据。Windows Defender ATP 传感器无需签名即可提供所有必要的数据和洞察。

机器学习模型的训练过程通常将标记数据分为训练集和测试集,选择从训练数据最好地预测测试数据的模型。在网络安全领域,这种随机分割数据可能不足。Windows Defender ATP 旨在保护免受 Apex 攻击,积极利用可泛化的模型。例如,按接收时间和恶意软件家族对标记数据进行分区,选择性能最高的模型以检测未知恶意软件家族或持久性定向(APT)攻击。

除检测信息外,还利用 Microsoft 智能安全图提供的上下文数据增强进程行为树。当 Windows Defender ATP 标记打开连接到远程主机的命令行 shell 的 PE 文件的进程树时,会收集包含各种上下文的信号,加强观察结果。这些信号包括文件普及度、主机普及度、文件是否存在于 Office 365 中等上下文。Windows Defender ATP 分类器考虑这些内容以决定是否生成警报。

可疑 PowerShell 活动、代码注入与恶意文档的检测

机器学习技术使 Windows Defender ATP 能够检测各种高级攻击。本节说明如何利用机器学习技术检测执行恶意代码的 PowerShell 脚本、代码注入、多态文档等。

PowerShell 活动

攻击者可能使用称为 PowerShell 的 Windows 脚本编写工具发起攻击,而无需使用恶意二进制文件,因为恶意二进制文件容易被基于签名的传感器检测。由于脚本易于携带恶意负载且易于以各种形式修改,攻击者经常使用 PowerShell。Windows Defender ATP 的机器学习无需签名即可检测可疑的 PowerShell 行为,如 Kovter(英文)恶意软件攻击中所见。

代码注入与内存中攻击

Kovter 使用内存中或无文件攻击手法(英文)以保持高隐蔽性。这是攻击者用于绕过基于签名的扫描器并在取证中不留证据的手法。为留在内存中,它使用 PowerShell 脚本将恶意代码注入其他进程。

Windows Defender ATP 传感器可视化各种内存事件,如 Kovter 的代码注入。机器学习处理这些事件以检测 Kovter 活动或类似活动,并标记为异常或恶意。

嵌入恶意代码的文档

Windows Defender ATP 的机器学习检测嵌入恶意宏的文档,这些宏触发 PowerShell 和 Microsoft Word 的可疑行为。它从仅在运行时发生的行为信号检测此攻击。而大多数基于签名的技术无法阻止使用标准进程(如 PowerShell.exe 或 Winword.exe)的攻击。文档本身通常也易于进行多态修改。

Windows Defender ATP 的机器学习通过标记内存注入活动等可疑行为,还可以检测称为 Chanitor 的恶意软件(英文)(又名 Hancitor)中使用的可疑文档。检测到的信息包含足够上下文以理解标记原因。与其他恶意文档一样,Chanitor 文档也能绕过基于签名的解决方案。

总结:基于强大行为数据的机器学习入侵检测

行为数据对于强大且全面地检测恶意网络活动至关重要。Windows Defender ATP 从内置于 Windows 10 的传感器接收此数据。随后,将这些行为事件转换为进程行为树等强大机器学习技术可用的组件和特征。此外,通过 Microsoft 智能安全图为行为数据添加重要的上下文信息,并应用机器学习算法,从而以最先进的方法检测持久性定向攻击(APT)及相关网络攻击。

有关 Windows Defender ATP 的详细信息,请参阅 Windows Defender ATP 的功能以及企业安全堆栈中入侵后检测方法的重要性(英文)。Fall Creators Update(英文)中发布的功能在公共预览中向所有用户提供。

Windows Defender ATP 内置于 Windows 10 Enterprise 核心,可免费试用。

Shay Kels、Christian Seifert
Windows Defender ATP Research

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计