恶意软件序列检测制造技术

技术编号:25608990 阅读:51 留言:0更新日期:2020-09-12 00:03
本申请所描述的实施方式公开了一种用于检测多个事件中恶意软件的存在的恶意软件序列检测系统。恶意软件序列检测的一种实现包括:接收多个事件的序列,通过以下操作来检测所述多个事件的序列中恶意软件命令序列的存在:将多个事件的序列划分为多个子序列,对所述多个子序列中的一个或多个子序列执行按序子序列学习,并基于按序子序列的输出,生成所述多个子序列中的一个或多个子序列是恶意软件的概率。

【技术实现步骤摘要】
【国外来华专利技术】恶意软件序列检测
技术介绍
互联网的覆盖范围和规模已经促进了那些试图非法和/或不道德地牟利的人的寄生产业。非法牟利的常见策略是用恶意代码或软件(恶意软件(malware))来感染用户的计算机,这些恶意代码或软件可用于获取密码、发送垃圾邮件、获取联系人列表、加入僵尸网络等等。恶意软件是计算机安全中一个持续且不断增长的问题。恶意软件通常会诱使用户采取某些措施,从而利用代码漏洞和/或将其安装到用户的计算机系统上。恶意软件(使某软件能够以负面意图运行一系列操作)会导致严重的生产水平问题。此外,恶意软件的事件序列在整个操作序列中可能是不连续的,因此不容易检测到。类似地,恶意软件的事件序列可能由彼此独立运行的多个进程来实现。
技术实现思路
本文所描述的实施方式公开了一种用于检测多个事件中恶意软件的存在的恶意软件序列检测系统。恶意软件序列检测的一种实现包括:接收多个事件的序列;通过以下操作来检测所述多个事件的序列中恶意软件命令序列的存在:将多个事件的序列划分为多个子序列,对所述多个子序列中的一个或多个子序列执行按序子序列学习,并基于所述按序子序列的输出,生成所述多个子序列中的一个或多个子序列是恶意软件的概率。提供本概括部分以便用简化的形式介绍将在以下的详细描述中进一步描述的概念选择。本概括部分并不是旨在标识本专利技术的关键或本质特征,也不是用于限定本专利技术的保护范围。本文还描述和叙述了其它实现方式。附图说明可以通过参考在说明书的其余部分中描述的附图,来实现对本技术的性质和优点的进一步理解。图1示出了用于提供恶意软件序列检测的系统的示例性实现。图2示出了用于提供本文所公开的恶意软件序列检测的示例性操作。图3示出了用于提供本文所公开的恶意软件序列检测的替代示例操作。图4示出了与本文所公开的恶意软件序列检测系统一起使用的长短时存储器(LSTM)模型的示例性实现。图5示出了与本文所公开的恶意软件序列检测系统一起使用的最大池化层学习模型的示例性实现。图6示出了与本文所公开的恶意软件序列检测系统一起使用的修改的语言模型的示例性实现。图7示出了使用按序子序列学习的本文所公开的恶意软件序列检测系统的替代实现。图8示出了进一步使用信息前学习的恶意软件序列检测系统的示例性实现。图9示出了进一步使用参数学习的恶意软件序列检测系统的示例性实现。图10示出了可用于实现所描述的技术的示例性系统。具体实施方式恶意性软件(或恶意软件)是计算机安全中持续存在且不断增长的问题。恶意软件是一种使软件能够以负面意图运行一系列操作的行为,可能导致严重的生产水平问题。如本文所使用的,术语“恶意软件”包括旨在损坏、破坏或禁用计算机和计算机系统或者对计算机用户或计算机用户的数据造成损害的恶意文件、进程、程序、指令、数据和/或软件。通过将某些代码片段嵌入在常规软件中,它可以成功地运行期望的命令,而不会被防病毒软件检测到。但是,由于某些命令必须以与恶意软件的功能相关的某种顺序运行,或者与某种其它顺序的恶意软件指令结合使用才能使该恶意软件生效,因此如果可以在安全的环境中执行软件并且在仿真过程中可以检测到恶意行为,则可以进行防御。但是,检测仿真中是否存在恶意软件的任务可能很困难。类似地,在诸如膝上型计算机、桌面型计算机、移动设备等等之类的计算环境中检测恶意软件的存在,在该环境中,针对恶意软件的存在来评估由诸如处理器、I/O设备等等之类的各种组件生成的事件序列也可能很困难。随着在恶意软件中观察到的数量和细微变化不断增加,简单地尝试一些检测规则集会很快就过时。但是,任何变体的基本事实是其依赖于它需要运行的命令的序列。虽然这些命令可以在执行过程中分散开来,但它们不能被消除或总是进行重新排序。它们的按序发生的性质对于这些要运行的变体而言仍然非常重要。本文所描述的技术公开了一种用于通过检测一系列与恶意软件有关的事件来检测恶意软件的存在的系统。本文所公开的恶意软件序列检测系统,可以在运行在计算系统上的本机操作系统、虚拟机、云计算系统、系统仿真等等上实现。在一些情况下,恶意软件可能源自从互联网下载、附加到电子邮件或者存储在便携式拇指驱动器或硬盘驱动器上的文件。在其它情况下,恶意软件可以是注入到正在运行的进程中的一系列执行代码。在其它情况下,恶意软件可以是一组面向良性回归编程(ROP)指令或命令,这些指令或命令以某种方式进行运行以执行恶意活动。在所公开的恶意软件序列检测系统的一种实现中,由恶意软件序列检测系统分析的事件序列可以是恶意软件文件中的指令序列。替代地,该事件序列可以是多个进程对操作系统的调用序列。例如,可以通过本文所公开的恶意软件序列检测系统来分析由具有不同功能的多个不同进程进行的命令或调用序列的总语料库,以判断是否存在恶意软件。因此,例如,本文所公开的恶意软件序列检测系统分析的各个事件可以包括进程创建事件、联网事件、注册表激活事件等等。在一种实现方式中,本文所公开的恶意软件序列检测系统包括多个计算机可执行指令,这些指令可以直接对文件事件序列或处理事件序列进行操作,以了解文件在本质上是恶意的可能性。具体而言,恶意软件序列检测系统检测事件序列、这些事件中的一个或多个事件的同时出现、以及其顺序,以便判断它们是否属于恶意软件文件或进程的一部分。部分地,恶意软件序列检测系统可以用于停止恶意文件或进程的执行,从而防止对受感染计算机系统造成额外危害。图1示出了包括用于提供对恶意软件事件序列的检测的恶意软件序列检测系统102的示例实现100。具体而言,恶意软件序列检测系统102可以通过分析由一个或多个事件源(例如,可以是虚拟机(VM)的事件源A150、可以包括在本机操作系统上运行的多个可执行文件的事件源B152、可以是试图诱使恶意软件执行恶意行为而不在完整的操作系统上运行它的仿真器的事件源C154等等)生成的事件数据,来提供恶意软件序列检测。事件源150、152、154中的每一个可以经由诸如互联网之类的网络,与恶意软件序列检测系统102进行通信。在一些实现中,恶意软件序列检测系统可以被配置为与事件源150、152、154中的一个或多个,就其对事件数据140的分析结果进行通信。可以使用先前从事件源150、152、154收集的数据154,来训练恶意软件序列检测系统102。在所示出的实施方式中,在云环境中实施恶意软件序列检测系统102,其中在该环境下,可以在一个服务器上或者以分布式方式在几个服务器上实施恶意软件序列检测系统102的各个组件。替代地,可以在诸如计算设备160之类的计算设备上实现恶意软件序列检测系统102,如下面进一步讨论的。恶意软件序列检测系统102可以经由网络104通信地连接到事件源150、152、154。此外,恶意软件序列检测系统102还可以通信地连接到各种客户端(例如,客户端(客户端A)112)。例如,恶意软件序列检测系统102可以经由网络104或经由诸如虚拟专用网(VPN)之类的专用网络(没有示出)连接到客户端112。客户端112可以是受事件源150、152、15本文档来自技高网...

【技术保护点】
1.一种包括一个或多个有形计算机可读存储介质的物理制品,所述有形计算机可读存储介质对计算机可执行指令进行编码以用于在计算机系统上执行计算机进程以提供恶意软件序列检测,所述计算机进程包括:/n接收多个事件的序列;以及/n通过以下操作来检测所述多个事件的序列中恶意软件命令序列的存在:/n将所述多个事件的序列划分为多个子序列,/n对所述多个子序列中的一个或多个子序列执行按序子序列学习,以及/n基于所述按序子序列学习的输出,生成所述多个子序列中的一个或多个子序列是恶意软件的概率Pn。/n

【技术特征摘要】
【国外来华专利技术】20180125 US 15/879,5931.一种包括一个或多个有形计算机可读存储介质的物理制品,所述有形计算机可读存储介质对计算机可执行指令进行编码以用于在计算机系统上执行计算机进程以提供恶意软件序列检测,所述计算机进程包括:
接收多个事件的序列;以及
通过以下操作来检测所述多个事件的序列中恶意软件命令序列的存在:
将所述多个事件的序列划分为多个子序列,
对所述多个子序列中的一个或多个子序列执行按序子序列学习,以及
基于所述按序子序列学习的输出,生成所述多个子序列中的一个或多个子序列是恶意软件的概率Pn。


2.根据权利要求1所述的物理制品,其中,对所述多个子序列中的所述一个或多个子序列执行按序子序列学习包括:对所述多个子序列中的所述一个或多个子序列执行卷积学习。


3.根据权利要求2所述的物理制品,其中,对所述多个子序列中的所述一个或多个子序列执行按序子序列学习包括:对所述多个子序列中的所述一个或多个子序列执行递归学习。


4.根据权利要求1所述的物理制品,其中,所述计算机进程还包括前知学习(PIL)处理,所述PIL处理包括:
对所述多个子序列中的一个或多个子序列的所述按序子序列学习的输出执行sigmoid运算;
将所述多个子序列中的所述一个或多个子序列中的每个子序列的所述sigmoid运算的所述输出连接到所述多个子序列中的所述一个或多个子序列;以及
重新组合所述多个子序列的所连接的一个或多个子序列以形成输出向量(E’)。


5.根据权利要求4所述的物理制品,其中,所述PIL处理还包括:
将所述sigmoid运算的所述输出与阈值进行比较;以及
响应于确定所述sigmoid运算的所述输出高于所述阈值,生成针对接收器的通知,并且终止对后续子序列的进一步处理。


6.根据权利要求4所述的物理制品,其中,所述计算机进程还包括:
使用堆叠的LSTM层和最大池化层来处理所述输出向量(E’);
生成所述多个事件的序列为恶意软件的概率Pm;以及
基于所述概率Pm的值来确定终止对文件或进程的执行。


7.根据权利要求1所述的物理制品,其中,所述计算机进程还包括:
接收与所述多个事件中的每个事件相关联的一个或多个参数;
使用与所述多个事件中的每个事件相关联的所述一个或多个参数来生成多个参数向量;以及
对所述多个参数向量执行参数学习操作。


8.在计算环境中,至少部分地在至少一个处理器上执行的一种方法,所述方法包括:
通过以下操作来检测多个事件的序列中恶意软件命令序列的存在:
将所述多个事件的序列划分为...

【专利技术属性】
技术研发人员:R·阿格拉瓦尔J·W·斯托克斯三世K·塞尔瓦拉杰A·M·马里内斯库
申请(专利权)人:微软技术许可有限责任公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1