交叉视图恶意软件检测制造技术

技术编号:15397028 阅读:75 留言:0更新日期:2017-05-19 11:32
在示例中,公开了一种用于检测恶意软件行为的交叉视图检测引擎。恶意软件可能试图通过尽可能长时间地留在易失性存储器中并且仅在必要时写入磁盘来试图避免检测。为了避免检测,所述恶意软件还可能在文件系统级提供伪驱动器,所述伪驱动器执行看似合法的假操作。固件级驱动器可以同时地执行多个恶意操作。所述交叉视图检测引擎通过以下方式检测这种行为:从所述文件系统级操作中解构调用追踪,并且从固件级操作中重构调用追踪。如果所述追踪不匹配,则可以将对象标记为可疑的。

Cross view malware detection

In the example, a cross view detection engine for detecting malware behavior is disclosed. Malicious software may try to avoid detection by leaving it in the volatile memory for as long as possible and writing it only when necessary. In order to avoid detection, the malware may also provide pseudo drivers at the file system level, which perform legitimate false operations. Firmware level drives can perform multiple malicious operations at the same time. The cross view detection engine detects such behavior by deconstructing call tracing from the file system level operation and reconstructing call tracking from firmware level operations. If the trace does not match, the object is flagged as suspect.

【技术实现步骤摘要】
【国外来华专利技术】交叉视图恶意软件检测相关申请的交叉引用本申请要求于2014年9月25日提交的题为“Cross-ViewMalwareDetection(交叉视图恶意软件检测)”的美国技术申请号14/496,860的优先权,所述申请通过引用结合在此。
本申请涉及计算机安全领域,并且更具体地涉及交叉视图恶意软件检测引擎。
技术介绍
安全性研究已经演化成了一方面安全性研究者与另一方面恶意软件作者之间的永久性军备竞赛。对于安全性研究者来说,他们主要关注检测并修复恶意软件,从而保护最终用户和企业免受恶意和伤害。相反,恶意软件作者关注避免检测,从而使得其恶意软件对象可以继续跨企业和网络传播。附图说明当与附图一起阅读时,将从以下详细描述中最充分地理解本公开。要强调的是,根据行业中的标准实践,各种特征并未按比例绘制,并且仅用于说明目的。实际上,为了讨论的清晰起见,可以任意地增大或者减小各种特征的尺寸。图1是根据本说明书的一个或多个示例的安全使能网络的框图。图2是根据本说明书的一个或多个示例的计算设备的框图。图3是根据本说明书的一个或多个示例的服务器的框图。图4是根据本说明书的一个或多个示例的交叉视图检测引擎的功能框图。图5是根据本说明书的一个或多个示例的一种由交叉视图检测引擎执行的方法的流程图。具体实施方式概述在示例中,公开了一种用于检测恶意软件行为的交叉视图检测引擎。恶意软件可能试图通过尽可能长时间地留在易失性存储器中并且仅在必要时写入磁盘来试图避免检测。为了避免检测,所述恶意软件还可能在文件系统级提供伪驱动器,所述伪驱动器执行看似合法的假操作。固件级驱动器可以同时地执行多个恶意操作。所述交叉视图检测引擎通过以下方式检测这种行为:从所述文件系统级操作中解构调用追踪(calltrace),并且从固件级操作中重构调用追踪。如果所述追踪不匹配,则可以将对象标记为可疑的本公开的示例实施例以下公开内容提供了用于实施本公开的不同特征的许多不同实施例或示例。以下描述了部件和安排的具体示例以便简化本公开。当然,这些仅是示例并且并不旨在是限制性的。进一步地,本公开在不同示例中可以重复参考标号和/或字母。这种重复是为了简单和清晰的目的,并且本身并不指定所讨论的各种实施例和/或配置之间的关系。不同实施例可以具有不同优点,并且不一定需要任何实施例的任何特定优点。安全性军备竞争的一种表现可见于由某些类别的恶意软件对象所执行的硬盘操作。在一个示例中,反病毒代理被安装在用户机中用于检测由可执行对象所进行的某些类别的写入操作。经验数据表明一般只有恶意软件才执行这些类型的写入操作。具体地,某些恶意软件对象的目标是在最终用户的机器上保持持久,比如跨越重新引导和计算机死机。因而,恶意软件对象简单地停留在非易失性存储器中是不够的。然而,在某些实施例中,停留在非易失性存储器是可执行对象逃避检测的最佳选项。因而,在一个实施例中,“rootkit”会尝试避免动态分析。例如,ZeroAccessrootkit使用两种技术来修改和存储磁盘上的永久性数据,而不被动态分析检测到。在第一种技术中,它使用低级API创建新的磁盘空间,它可以在所述新的磁盘空间上存储恶意的可执行文件。此空间对用户并对系统上运行的某些安全代理是不可见的。在第二种技术中,它创建内核模式驱动器。此驱动器直接调用文件系统API,从而绕开可能被反恶意软件代理监测的接口。此驱动器在文件系统中秘密地创建配置文件,并且在每当安全性软件请求对已感染文件进行读取时返回假数据。由于恶意可执行文件存在于内核空间中,它不需要使用受到基于系统调用的动态分析器监测的接口。在另一示例中,“TDSS”rootkit也通过将其恶意驱动器存储在原始磁盘扇区中并覆写主引导记录(MBR)来绕过文件系统分析。所述MBR在引导过程中加载来自所述原始磁盘扇区的恶意代码。这个读取在动态分析时可能不被检测到。因而,传统的反恶意软件引擎会难以检测到所述恶意软件对象。然而,恶意软件对象最终必须向磁盘写入以保持永久。因而,反恶意软件引擎的某些实施例检测并标记可疑的写入操作。这会使可执行对象经受额外监督,并可以最终导致将恶意软件对象正确地识别为恶意软件。继续讨论军备竞赛,某些恶意软件对象在“更高的”(更加抽象的)操作级假冒看起来合法的磁盘操作,而同时执行低级(不那么抽象的)磁盘操作,比如在不经过文件系统驱动器的情况下原始写入至桌面。计算机上运行的反恶意软件代理只可以看到看起来合法的磁盘操作在机器上保留恶意软件的永久副本。因而,反恶意软件代理会继续认为该磁盘不存在恶意软件,而事实上恶意软件对象已经成功地避开了检测。因此,提供交叉视图恶意软件检测的系统和方法是有益的,其中,提供跨实体检测引擎用于监测高级磁盘操作和低级磁盘操作两者。在这种背景下,“高级”磁盘操作是比如通过应用程序编程接口(API)、其文件系统驱动器、或提供对文件系统操作的抽象的其他合法途径执行的磁盘操作。“低级”磁盘操作是在文件系统驱动器、或其他合法抽象机制的级别以下发生的操作。应该注意的是,这些高级和第一操作示例仅举例提供,并且并不旨在是限制性的。在本说明书的某些实施例中,被视为低级操作和高级操作的操作之间会存在一些重叠。因而,在一个实施例中,低级操作与高级操作相比是在更低的抽象级执行的操作。因而,高级操作与低级操作之间的一种示例区分特征是它们不运行于完全相同的抽象级。在一个示例中,交叉视图在背景中监测引擎监测高级磁盘操作和低级磁盘操作两者。这可以例如通过将交叉视图检测引擎作为以提高的系统权限运行的背景进程来完成。在一个示例中,这些提高的系统权限可以仅比操作系统本身具有稍少的权限。在另一示例中,跨实体检测引擎被设置在固件中或极低级的软件中,从而使得它实际上以比操作系统更高的权限级别运行。本领域的实践者可以认识到,具体的交叉视图检测引擎的选择和设计、以及它所运行的权限级别是可以通过设计限制指定的设计决策。因此旨在交叉视图检测引擎的任何此类变化包括在本说明书中。在另一示例中,交叉视图检测引擎包括两个或更多个部件。一个部件是以本质上不受限制的权限运行的固件级驱动器,而第二部件是文件系统级驱动器,所述文件系统级驱动器可以通过操作系统挂钩与操作系统和文件系统交互,并且所述文件系统级驱动器可以对操作系统具有应用程序级权限或提高的系统权限。这两个部件合作检测恶意软件磁盘操作。在一个实施例中,可以假定,如果可执行对象同时执行“假的”高级磁盘操作,而同时还执行不与所述高级磁盘操作匹配的低级磁盘操作,可执行对象可以被安全地认定为恶意软件。就其本质而言,低级磁盘操作将不会固有地或本质地比得上高级命令。就设计而言,高级操作旨在比低级操作更加抽象。在一个示例中,可以通过调用标准数据库函数比如fprintf()来在更高抽象级别进行对磁盘的简单写入。标准数据库函数之后提供必要的低级操作,以完成磁盘写入操作。因而,高级磁盘操作和第一磁盘操作之一或另一方或两者将需要被转换成新的形势,从而使得可以有效地将其进行对比。在一个示例中,高级磁盘操作被减少至一系列调用追踪。调用追踪和调用图聚类在2010年8月27日公开的约里斯基纳伯(JorisKinable)和奥勒提斯科斯塔基斯(OrestisKostakis)所著的文章“M本文档来自技高网...
交叉视图恶意软件检测

【技术保护点】
一种计算装置,包括:存储器;以及一个或多个硬件和/或软件逻辑元件,包括交叉视图检测引擎,所述交叉视图检测引擎可操作用于:在第一抽象级上观察由所述存储器上的可执行对象所执行的第一操作;在第二抽象级上观察由所述存储器上的所述可执行对象所执行的基本上同时的第二操作;确定所述第一操作基本上不与所述第二操作匹配;并且对所述确定采取动作。

【技术特征摘要】
【国外来华专利技术】2014.09.25 US 14/496,8601.一种计算装置,包括:存储器;以及一个或多个硬件和/或软件逻辑元件,包括交叉视图检测引擎,所述交叉视图检测引擎可操作用于:在第一抽象级上观察由所述存储器上的可执行对象所执行的第一操作;在第二抽象级上观察由所述存储器上的所述可执行对象所执行的基本上同时的第二操作;确定所述第一操作基本上不与所述第二操作匹配;并且对所述确定采取动作。2.如权利要求1所述的计算装置,其中,所述第一抽象级是文件系统驱动器级。3.如权利要求1所述的计算装置,其中,所述第二抽象级是固件级。4.如权利要求1所述的计算装置,其中,所述第二抽象级是比所述第一抽象级低的抽象级。5.如权利要求1所述的计算装置,其中,所述第二操作是写入操作。6.如权利要求1所述的计算装置,其中,对所述确定采取动作包括将所述可执行对象指定为恶意软件。7.如权利要求1所述的计算装置,其中,对所述确定采取动作包括:将所述可执行对象指定为可疑的并将所述可执行对象报告给服务器。8.如权利要求1至7中任一项所述的计算装置,其中,确定所述第一操作基本上不与所述第二操作匹配包括:从所述第二操作中重构一个或多个调用追踪。9.如权利要求1至7中任一项所述的计算装置,其中,确定所述第一操作基本上不与所述第二操作匹配包括:从所述第一操作中解构一个或多个调用追踪。10.如权利要求1至7中任一项所述的计算装置,其中,确定所述第一操作基本上不与所述第二操作匹配包括:从所述第二操作中重构一个或多个调用追踪;从所述第一操作中解构一个或多个调用追踪;以及将所述重构的调用追踪与所述解构的调用追踪进行比较。11.如权利要求1至7中任一项所述的计算装置,其中,在所述第一抽象级上观察由所述存储器上的所述可执行对象所执行的所述第一操作包括:执行对系统级调用追踪的动态分析。12.如权利要求11所述的计算装置,其中,在所述第一抽象级上观察由所述存储器上的所述可执行对象所执行的所述第一操作进一步包括:对调用追踪的实时分析。13.如权利要求1至7中任一项所述的计算装置,其中,在第二抽象级上观察由所述存储器上的所述可执行对象所执行的所述基本上同时的第二操作包括:截取来自磁盘协议的磁盘访问信息。14.一种或多种其上存储有可执行指令的计算机可读取介质,所述指令用于提供交叉视图检测引...

【专利技术属性】
技术研发人员:S·亨特J·曼金J·齐默尔曼
申请(专利权)人:迈克菲股份有限公司
类型:发明
国别省市:美国,US

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

1