一种面向云环境的环境敏感型恶意软件分析检测方法和系统与流程

文档序号:14750433发布日期:2018-06-22 12:41阅读:180来源:国知局

本发明属于虚拟化及系统安全技术领域,涉及一种面向云环境的恶意软件分析检测方法,特别涉及一种面向云环境的环境敏感型恶意软件分析检测方法和系统。



背景技术:

随着计算机技术的快速发展,特别是互联网的高速发展,计算机和网络的应用给人们的生活带来了诸多便利。如今人们使用网络进行各种日常活动,例如社交,购物,生活缴费,公司贸易等等,这使得网络上存在着大量的用户隐私信息,网络安全问题越来越多地受到研究人员的关注。在诸多网络安全威胁中,恶意软件无疑是危害最大的,影响最广的问题,这也成为网络安全领域研究的焦点。

恶意软件是一种被设计用来对目标计算机造成破坏或者占用目标计算机资源的软件。它常被封装或伪装到合法软件中,在某些情况下通过E-mail或可移动存储介质等方式向其他计算机传播。恶意软件在未明确提示用户或未经用户许可的情况下,于目标计算机或其他终端上安装运行,其一般具有下述行为的一种或多种:强制安装、浏览器劫持、窃取、修改用户数据、恶意收集用户信息、恶意卸载、恶意捆绑及其他侵犯用户知情权、选择权的恶意行为等。这些行为将严重侵犯用户合法权益,甚至将为用户带来巨大的经济或其他形式的利益损失。一般来说,恶意软件包括病毒,蠕虫,木马,间谍软件僵尸程序,Rootkit等。

随着云计算技术的快速发展,云服务的应用越来越广泛,云已经从新兴技术发展成为当今的热点技术。近年来,恶意软件逐渐成为了云环境建设的重大威胁。这些恶意软件不仅可以恶意占用物理机资源,导致系统性能下降,同时也攻击云上的其它租户,甚至具有从平台窃取其他云租户隐私信息的潜在能力。越来越多的高敏感性的和高商业价值的数据被迁移到云端,这使得研究人员更加关注云环境下的恶意软件检测。

随着网络安全对抗的不断升级,具备更强对抗能力的环境敏感型恶意软件正在迅速增长。这种恶意软件可以有效地识别当前的运行环境,当发现运行环境为沙箱、模拟器、调试器等分析环境时停止执行恶意行为,从而有效地躲避自动化分析工具的检测分析。根据赛门铁克公司的安全威胁报告(Symantec.https://www.symantec.com/security-center/threat-report.)显示,目前在新增的恶意软件中,有20%恶意软件是具有环境敏感性的,环境敏感型恶意软件数量正以每周10~15个的速度增长。如何对云环境和网络中的各种环境敏感型恶意软件进行有效检测,成为当今系统安全亟待解决的重要问题。目前已有的恶意软件检测没有针对环境敏感型恶意软件的检测方法,其实现方式也没有使用虚拟化技术,适用范围小,可拓展性差。因此,有必要提出一种面向云环境的环境敏感型恶意软件分析检测方法。



技术实现要素:

针对环境敏感型恶意软件的分析和检测问题,本发明提出了一种面向云环境的环境敏感型恶意软件分析检测方法和系统。

本发明可以提取云平台客户机中的一个可疑程序到多环境分析平台中进行分析,例如沙箱环境、虚拟机环境、调试器环境和Hypervisor环境等。本发明从多样化的环境中提取出该可疑程序的行为特征,比较行为之间的差异性,进而做出判断。为了分析客户虚拟机中运行的可疑程序,本发明利用了虚拟化技术,在用户无感知的前提下,从客户虚拟机将可疑程序提取出来,租户不会意识到整个提取和检测过程。通过比较可疑程序行为准则,确定该可疑程序是否是环境敏感型恶意软件。

本发明采用的技术方案如下:

一种面向云环境的环境敏感型恶意软件分析检测方法,其步骤包括:

1)充分利用虚拟化技术,在用户无感知的前提下,从客户虚拟机中提取可疑程序;

2)将可疑程序置于多种操作环境中执行,如沙箱环境、虚拟机环境、调试器环境和Hypervisor环境等,使环境敏感型恶意软件触发回避行为,同时记录其行为序列;

3)对可疑程序在多种操作环境下的行为序列进行分析,比较其行为序列的相似性,最终确定该可疑程序是否是环境敏感型恶意软件。

本发明的系统架构由两部分组成。一部分是云服务节点,为租户提供服务。该节点包含虚拟化管理平台(VMM)中的一个恶意软件的无感知提取模块。无感知提取模块可以在用户无感知的前提下,提取在客户虚拟机中运行的可疑程序,并将其传输到多个操作环境中执行,同时记录行为序列。

另一部分是多环境分析平台,其中包括沙盒环境,虚拟机环境,Hypervisor环境和调试环境等。它包含一个环境敏感性检测模块,可以比较和分析多中操作环境中提取的行为规则,最终本发明通过比较其行为序列的相似性,判断该可疑程序是否是环境敏感型恶意软件。

更进一步,部署多环境分析平台的目的是识别可疑程序的行为偏差。也就是说,如果一个可疑程序是环境敏感的,那么在特定的环境中,该程序的行为与其他环境下的相比具有明显差异。

更进一步,本发明对多环境分析平台中使用的虚拟机监控程序进行了功能性修改,使得它不仅可以在用户无感知的前提下监控和提取基于虚拟化技术的可疑程序,还可以避免被恶意软件检测到监控模块的存在,提高检测结果的准确性。

更进一步,无感知提取可以通过一些虚拟化技术来实现,例如在虚拟机(VM)环境和调试环境中插入一个内核模块进行监控和程序提取;对于沙箱环境,它拥有自己的客户端监视组件,因此可以直接使用。

一种云服务节点,其包括:

无感知提取模块,位于虚拟化管理平台中,用于在用户无感知的前提下从客户虚拟机中提取可疑程序;

传输模块,用于将提取的可疑程序传输至多环境分析平台。

一种多环境分析平台,其包括:

接收模块,用于从所述云服务节点的传输模块接收可疑程序;

多环境执行模块,用于将可疑程序置于多种操作环境中执行,使环境敏感型恶意软件触发回避行为,同时记录其行为序列;

环境敏感性检测模块,用于对可疑程序在多种操作环境下的行为序列进行分析,比较其行为序列的相似性,根据相似性判定该可疑程序是否为环境敏感型恶意软件。

一种面向云环境的环境敏感型恶意软件分析检测系统,其包括上面所述的云服务节点和多环境分析平台。

本发明的有益效果:

1)本发明的重点在于检测环境敏感型恶意软件,与普通的恶意软件相比,环境敏感型恶意软件可以识别操作系统和虚拟机、沙箱、模拟器、调试器等分析环境,并在不同的环境下执行不同的恶意行为,例如在云环境、沙箱环境和调试环境下隐藏恶意行为,这种特性大大增加了检测的难度。目前已有的检测方法不能很好的检测此类恶意软件,而本发明则弥补了当前检测方法的不足。

2)本发明充分地利用虚拟化技术,在用户无感知的前提下,从客户虚拟机中提取可疑程序。由于引入了虚拟化技术,一方面实现了检测的透明化,另一方面也防止了环境敏感型恶意软件发现检测模块的存在,提升检测的正确性和有效性。

3)本发明使用多环境分析平台,即在多种不同的操作环境下执行可疑程序,记录其行为序列。然后比对可疑程序在不同操作环境下的行为差异,如果该程序在特定的操作环境下的行为与其他环境下的行为有明显差异,则认为改程序是具有环境敏感性的,即环境敏感型恶意软件。

4)由于本发明是面向云环境的,所以本发明提出的检测方法具有很好的可拓展性和可移植性。

综上,本发明提出的一种面向云环境的环境敏感型恶意软件分析检测方法,能够在用户无感知的前提下,有效地自动化分析和检测环境敏感型恶意软件。

附图说明

图1为本发明中分析检测系统的架构图。

图2为本发明中无感知提取模块的架构图。

图3为本发明的实施例流程示意图。

具体实施方案

下面将结合附图,对本发明的技术方案进行清晰且完整地描述,可以理解的是,所描述的实施例仅是本发明的一部分,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有创造性劳动的前提下所获得的其他实施例均属于本发明的保护范围。

本发明的具体系统架构如图1所示。实现本发明的一种具体实施方式如下,一种面向云环境的环境敏感型恶意软件分析检测方法,其步骤如下:

1)利用虚拟化技术搭建云环境,启动客户机操作系统,如Windows7 32位操作系统;

2)在客户虚拟机放置可疑程序;

3)在虚拟化管理平台(VMM)中实现无感知提取模块,在用户无感知的前提下,从客户虚拟机中提取可疑程序;

4)将可疑程序放置到多环境分析平台中进行分析,记录可疑程序的行为序列文件;

5)通过环境敏感性检测模块比较可疑程序在不同执行环境下的行为序列相似性,如果可疑程序在某种特定执行环境下的行为明显区别于其他的环境,则认为该可疑程序是环境敏感型恶意软件,否则该程序不是环境敏感型恶意软件。

为了能够分析客户机操作系统中的一个可疑程序,本发明需要将该可疑程序从客户机操作系统(OS)中提取出来。此时需要注意的是,由于可疑程序正运行在客户虚拟机中,所以常规的方法,比如FTP等等,会产生异常的网络流量,有可能会被环境敏感型恶意软件感知察觉,常规的方法不适用本发明的场景。

因此,本发明需要利用虚拟化技术来提取可疑程序,并且确保客户虚拟机中的恶意软件将不能察觉整个提取和检测过程,即充分利用虚拟化技术在云平台中实现无感知提取模块。该无感知提取模块的实现细节如图2所示。

有必要指出是,客户机操作系统中的内核模块没有HOOK操作,可以被虚拟化管理平台(VMM)完全隐藏和保护。因此,可疑程序很难在虚拟机内检测到无感知提取模块的存在。例如,如果该系统是Windows 7,可以通过监视虚拟化管理平台中的NtQuerySystemInformation功能来隐藏模块。当恶意软件调用该函数来查询系统中的模块时,虚拟化管理平台将拦截它并返回伪造的模块信息混淆恶意软件,这样就可以成功实现对该内核模块的隐藏。

为了更好地理解该无感知提取模块,基于图2介绍该模块的实施细节:

(1)当一个可疑程序将在客户机操作系统中运行时,提取模块可以捕获此行为。然后无感知提取模块会注入一个事件(图2中的Event inject)以通知客户机操作系统中的内核模块。

(2)客户机操作系统中的内核模块从无感知提取模块接收到通知,然后找到可疑程序的可执行文件,并将其复制到缓冲区(图2中的CopyFile)。

(3)客户机操作系统中的内核模块调用VMCALL指令引起VM-Exit操作。现在,无感知提取模块获取二进制可执行文件。

(4)无感知提取模块注意到Dom0中的内核模块(图2中的Notify)。

(5)Dom0中的内核模块通过超级调用(图2中的Hypercalls)读取无感知提取模块。

(6)可执行文件保存在Dom0中(图2中的WriteFile)。

(7)使用套接字操作将可执行文件从Dom0传送到多环境分析平台。在这里,由于在Dom0中提取的可疑程序只是一个静态可执行文件,并且不能察觉网络行为,所以选择使用套接字操作来完成此功能。

通过上述方式,该模块可以实现无感知地从客户操作系统中提取可疑程序的功能。

下面说明如何比较可疑程序在不同执行环境下的行为序列文件的相似性。

令X={x1,x2,x3,….xn},Y={y1,y2,y3,….ym},其中x1~xn,y1~ym每一项都代表一个行为或者操作,所以集合X就代表了某个可疑程序在一个特定执行环境下的行为集合。同理,集合Y代表了相同的可疑程序在另一个执行环境下的行为集合。也就是说,通过计算不同行为集合的相似性就是对不同环境下的行为序列相似性进行比较。

本实施例中,计算行为集合相似性的方法如下所示:

表达式(1)是基于杰卡德相似系数(Jaccard similarity coefficient)实现的,它代表了行为集合X和行为集合Y之间的相似性。因此,Similarity(X,Y)就表示行为序列的相似性。

可以清楚的看到,Similarity(X,Y)取值位于0到1之间,所以集合X和集合Y的偏离分数就可以简单的定义为:

Dis(X,Y)=1-Similarity(X,Y) (2)

同样的,在表达式(2)中,可以得出Dis(X,Y)的取值范围为[0,1],且当Dis值越接近0表明行为间的偏离程度越小,越接近1表明行为间的偏离程度越大,即在合理的取值范围内,Dis值越小,行为序列的相似性越高,反之则说明行为序列间偏差较大,相似性低。

本发明通过定义阈值t来判断可以程序是否具有环境敏感性。当Dis(X,Y)大于t时,表明可疑程序在不同执行环境中的行为差异较小,不具有环境敏感性;当Dis(X,Y)大于t时,表明该可疑程序在不同执行环境中行为差异明显,即该程序是环境敏感型恶意软件。

本发明使用开源的虚拟化软件Xen-4.4.0(L.Foundation,“The xen project.”x http://www.xenproject.org/,2017-03-04)构建云服务节点。多种环境分析平台中所使用的虚拟化技术也基于Xen-4.4.0。同时,本发明使用Windbg和Ollydbg部署调试环境,并使用VMware Workstations 12部署VM环境。同时我们选择Windows 7SP1(32位)作为实验中所有分析环境的操作系统,并使用Cuckoo(”Cuckoo sandbox.”x http://www.cuckoosandbox.org)构建沙盒环境。实施例的流程图如图3所示。

为了评估本发明的有效性,实验中选择了BareCloud(D.Kirat,G.Vigna,and C.Kruegel,“Barecloud:Bare-metal analysis-based evasive malware detection,”Malware Detection,2014)的实验结果作为比较。BareCloud被开发于2015年,与本发明的出发点类似,该系统用于检测环境敏感型恶意软件。

在评估实验中,本发明与BareCloud系统作比较,评估了本发明在大规模的测试时,所具备的可用性和可靠性。本实验使用了可在公共领域免费下载的VXHeaven Virus Collection(V.H.V.Collection,“Vx heavens.”http://vx.nextlux.org,2017-03-04)数据库。共选择了21771个恶意软件样本,随机地平均分成三组,即每组数据集包含7257个样本。这些样本都是PE文件格式且基于Win32的。注意,由于该实验中没有这个数据集的数据标注,所以无法提供检测的精度和召回率。

相同的数据集运行于本发明和BareCloud系统,记录每个系统给出的判断结果。实验结果如表1所示,可以清楚地看到,本发明与BareCloud系统相比,在三组实验中,每组分别比BareCloud系统多检测到了176个,139个和197个样本。通过手动反向分析,可以确认这些恶意软件样本是环境敏感型恶意软件。实验结果证明本发明可以有效地检测环境敏感型恶意软件,相比于已有的检测系统,本发明具有更高的检测率和可用性。

表1.本发明与BareCloud系统检测有效性对比

本发明另一实施例提供一种云服务节点,其包括:

无感知提取模块,位于虚拟化管理平台中,用于在用户无感知的前提下从客户虚拟机中提取可疑程序;

传输模块,用于将提取的可疑程序传输至多环境分析平台。

本发明另一实施例提供一种多环境分析平台,其包括:

接收模块,用于从所述云服务节点的传输模块接收可疑程序;

多环境执行模块,用于将可疑程序置于多种操作环境中执行,使环境敏感型恶意软件触发回避行为,同时记录其行为序列;

环境敏感性检测模块,用于对可疑程序在多种操作环境下的行为序列进行分析,比较其行为序列的相似性,根据相似性判定该可疑程序是否为环境敏感型恶意软件。

本发明另一实施例提供一种面向云环境的环境敏感型恶意软件分析检测系统,其包括上面所述的云服务节点和多环境分析平台。

以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求书所述为准。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1