基于深度学习的行为信号融合威胁检测
将深度学习的各种行为检测融合到决策模型中。该模型有助于检测许多复杂的攻击和恶意软件运动。例如,该模型发现了Bondat蠕虫的一种新变种,它试图将受影响的计算机变成感染网络的僵尸。Bondat利用感染网络入侵网站,甚至进行加密货币挖掘而闻名。这个新版本使用USB设备传播,在计算机上就可以实现无文件的持久性。接下来介绍捕获此攻击的检测技术。
强大的分类模型处理各种数据
在Microsoft Defender ATP处理的大量数据中识别和检测恶意活动需要智能自动化方法和AI。机器学习分类器处理大量历史数据,并应用自动提取的洞察力对每个新数据点进行恶意或良性评分。基于机器学习的模型可能会查看例如注册表活动并产生一个概率,这表明注册表写入与恶意活动相关联的概率。为了将所有内容捆绑在一起,行为被组织到虚拟进程树中,并且与每个进程树相关联的所有信号都被汇总并用于检测恶意活动。
对于虚拟过程树以及与这些树相关联的不同类型的信号,仍然有大量数据和嘈杂的信号需要筛选。由于每个信号都在流程树的上下文中发生,因此有必要在流程树中按执行的时间顺序融合这些信号。以这种方式排序的数据需要强大的模型来对恶意树和良性树进行分类。
我们的解决方案包括多个深度学习构建块,例如Convolutional Neural Networks(CNN)和Long Short-Term Memory Recurrent Neural Networks (LSTM-RNN)。神经网络可以获取在过程树中按时间顺序出现的行为信号,并将每批信号视为事件序列。这些序列可以由神经网络以高精度和检测范围进行收集和分类。
基于行为和基于机器学习的信号
Microsoft Defender ATP研究人员可以检测各种基于行为的信号。例如,信号可以用于在以下注册表项中创建条目:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run
机器启动后,添加到该位置的文件夹和可执行文件名将自动运行。这会在计算机上产生持久性,因此可以视为危害(IoC)的指标。但是,此IoC通常不足以生成检测,因为合法程序也使用此机制。
基于行为的信号的另一个示例是服务启动活动。使用合法工具(例如net.exe)通过命令行启动服务的程序不被视为可疑活动。但是,启动由同一进程树更早创建的服务以获得持久性是一个IoC。
另一方面,基于机器学习的模型在可能的攻击向量的不同枢轴上查看并生成信号。例如,对历史数据进行训练以区分良性和恶意命令行的机器学习模型将为每个处理的命令行生成分数。
考虑以下命令行:
cmd / c taskkill / f / im someprocess.exe
此行表示cmd.exe会引起taskill.exe终止具有特定名称的进程。虽然命令不一定是恶意的,但是机器学习模型可能能够识别正在终止的进程名称中的可疑模式,并得出是恶意攻击的概率,该概率与进程树中的其他信号聚合在一起。结果是每个虚拟进程树在特定时间段内发生一系列事件。
下一步是使用机器学习模型对事件序列进行分类。
数据建模
上一节中描述的事件序列可以几种不同的方式表示,然后输入到机器学习模型中。
第一种简单方法是构造所有可能事件的“字典”,并为字典中的每个事件分配唯一的标识符(索引)。这样,事件序列由向量表示,其中每个时隙构成事件序列中事件类型的出现次数(或其他相关度量)。
例如,如果系统中所有可能的事件都是X,Y和Z,则事件序列“ X,Z,X,X”由向量[3,0,1]表示,这意味着它包含三个事件类型表示X,没有类型Y的事件,以及类型Z的单个事件。这种表示方案被广泛称为“ bag-of-words ”,适用于传统的机器学习模型,并且已由机器使用了很长时间学习从业者。bag-of-words表示法的局限性在于,有关序列中事件顺序的任何信息都会丢失。
第二种表示方案是按时间顺序排列的。图1显示了一个典型的流程树:流程A在时间t1引发事件X,流程B在时间t2引发事件Z,D在时间t3引发X,并且E在时间t4引发X。现在,整个序列“ X,Z,X,X”(或用其字典索引替换事件的[1,3,1,1])被赋予机器学习模型。
图1.示例流程树
在威胁检测中,不同事件的发生顺序是准确检测恶意活动的重要信息。因此,希望采用保留事件顺序的表示方案,以及能够使用此类有序数据的机器学习模型。可以在下一部分描述的深度学习模型中找到此功能。
Deep CNN-BiLSTM
在情感分析和语音识别等自然语言处理的顺序任务中,深度学习已显示出巨大的希望。Microsoft Defender ATP使用深度学习来检测各种攻击者技术,包括恶意PowerShell。
对于信号序列的分类,我们使用结合了两种类型的构造块(层)的深度神经网络: Convolutional Neural Networks(CNN)和Bidirectional Long Short-Term Memory Recurrent Neural Networks (BiLSTM-RNN)。
CNN用于许多与空间输入有关的任务,例如图像,音频和自然语言。CNN的关键特性是能够将输入的宽视野压缩为高级功能。在图像分类中使用CNN时,高级功能表示网络可以识别的部分或整个对象。在我们的用例中,我们希望对过程树中的长信号序列建模,以为网络的下一层创建高级和本地化的功能。这些功能可以表示信号序列,这些信号序列一起出现在数据中,例如,创建并运行文件,或者保存文件并创建注册表项以在下次机器启动时运行文件。由于这种压缩和特征化,由CNN层创建的特征对于随后的LSTM层更易于理解。
LSTM深度学习层以句子分类,翻译,语音识别,情感分析和其他序列建模任务中的结果而闻名。双向LSTM结合了两层LSTM,它们以相反的方向处理序列。
已经证明,将两种类型的神经网络堆叠在一起的组合非常有效,并且可以对数百个及更多项目的长序列进行分类。最终模型是多个层的组合:一个嵌入层,两个CNN和一个BiLSTM。该模型的输入是数百个整数的序列,这些整数表示在一个时间单位内与单个过程树关联的信号。图2显示了模型的架构。
图2. CNN-BiLSTM模型
由于系统中可能的信号数量非常多,因此输入序列会通过嵌入层,该嵌入层将高维输入压缩为可由网络处理的低维向量。另外,相似的信号在低维空间中获得相似的矢量,这有助于最终分类。
网络的初始层创建越来越高级的功能,而最后一层执行序列分类。最后一层的输出是0到1之间的一个分数,表明信号序列被恶意攻击的可能性。该分数与其他模型结合使用,以预测过程树是否是恶意的。
捕捉真实的威胁
Microsoft Defender ATP的终结点检测和响应功能使用此Deep CNN-BiLSTM模型来捕获和发出有关实际威胁的警报。如前所述,该模型发现的一个值得注意的攻击是Bondat蠕虫的新变种,该蠕虫已通过USB设备在多个组织中传播。
图3. Bondat恶意软件攻击链
即使采用了一种效率低下的传播方法,随着用户继续使用受感染的USB设备,该恶意软件也可能在组织中持续存在。例如,在一个组织中的数百台机器中都观察到了该恶意软件。尽管我们在感染期间检测到了攻击,但这种攻击一直在蔓延,直到收集到所有恶意USB驱动器。图4显示了感染时间表。
图4. 5个月内单个组织内的相遇时间表显示了通过USB设备进行的重新感染
该攻击将丢弃JavaScript payload,这将使用wscript.exe直接在内存中运行。JavaScript有效负载使用随机生成的文件名来逃避检测。但是,反恶意软件扫描接口(AMSI)暴露了恶意脚本行为。
为了通过USB设备传播,恶意软件利用WMI通过调用“ SELECT * FROM Win32_DiskDrive”来查询计算机的磁盘。当找到“ / usb”的匹配项时(参见图5),它将JavaScript有效负载复制到USB设备,并在USB设备的根文件夹中创建一个批处理文件。所述批处理文件包含有效载荷的执行命令。作为其社会工程学技术的一部分,该技术诱使用户在可移动设备中运行恶意软件,它在USB上创建一个指向批处理文件的LNK文件。
图5.感染技术
该恶意软件会终止与防病毒软件或调试工具有关的进程。对于Microsoft Defender ATP客户,篡改保护可防止恶意软件执行此操作。值得注意的是,终止进程后,恶意软件会弹出一个窗口,该窗口模仿Windows错误消息,使其看起来像进程崩溃一样(请参见图6)。
图6.规避技术
该恶意软件通过实现Web客户端(MSXML)与远程命令和控制(C2)服务器通信。每个请求都使用随机生成的密钥用RC4加密,该密钥在“ PHPSESSID” cookie值内发送,以允许攻击者解密POST正文中的有效负载。
每个请求都会根据先前执行的命令的输出发送有关计算机及其状态的信息。响应将保存到磁盘,然后进行解析以提取HTML注释标签中的命令。有效负载中的前五个字符用作解密数据的密钥,并且使用eval()方法执行命令。图7和8显示了C2通信和HTML注释评估技术。
一旦由JavaScript引擎解析并评估了命令,便可以在受影响的计算机上执行任何代码,例如,下载其他有效负载,窃取敏感信息以及泄露被盗数据。对于此Bondat活动,该恶意软件运行硬币挖掘或协作式分布式拒绝服务(DDoS)攻击。
图7. C2通信
图8.评估技术(从html注释解析命令)
恶意软件的活动在整个攻击链中触发了多个信号。深度学习模型检查了这些信号及其发生的顺序,并确定流程树是恶意的,并发出警报:
- 持久性 —恶意软件将自身复制到“启动”文件夹中,并放置一个指向计算机启动时打开的恶意软件副本的.lnk文件。
- 重命名已知的操作系统工具-恶意软件将wscript.exe重命名为随机文件名
- 删除与合法工具具有相同文件名的文件-恶意软件通过删除与已知工具名称相似的文件来冒充合法系统工具
- ** 可疑命令行**-恶意软件尝试使用由wscript.exe生成的进程执行的命令行从先前位置删除自身
- 可疑的脚本内容-用于隐藏攻击者意图的模糊JavaScript负载
- 可疑的网络通信 -恶意软件连接到legitville [.] com域
结论
给定在不同时间发生的不同信号,对过程树进行建模是一项复杂的任务。它需要强大的模型,这些模型能够记住较长的序列,并且仍然能够很好地泛化以产生高质量的检测结果。Deep CNN-BiLSTM模型是一项强大的技术,可帮助Microsoft Defender ATP完成此任务。这种基于深度学习的解决方案使Microsoft Defender ATP能够检测到不断变化的威胁(如Bondat)。
