CN102682229B - 一种基于虚拟化技术的恶意代码行为检测方法 - Google Patents
一种基于虚拟化技术的恶意代码行为检测方法 Download PDFInfo
- Publication number
- CN102682229B CN102682229B CN201110058633.4A CN201110058633A CN102682229B CN 102682229 B CN102682229 B CN 102682229B CN 201110058633 A CN201110058633 A CN 201110058633A CN 102682229 B CN102682229 B CN 102682229B
- Authority
- CN
- China
- Prior art keywords
- code
- behavior
- virtual machine
- weights
- environment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Landscapes
- Storage Device Security (AREA)
Abstract
本发明涉及一种基于虚拟化技术的恶意代码行为检测方法,其具体技术方案是:首先,利用信任链传递的技术,搭建一个确定可信的检测平台环境;在搭建好的可信的检测平台环境中,利用虚拟化技术根据实际情况建立若干个虚拟机,并在每个虚拟机中部署相应的度量程序等,用于捕获代码行为,同时为每个虚拟机建立原始状态的快照,用于度量结束后的恢复;在检测环境中部署用于分析行为的检测程序和用于维护虚拟机的监控程序,以及调度程序等。本专利有效解决了传统静态恶意代码检测方法中对变体和未知代码检测能力弱,误判率高的缺点。
Description
技术领域
本发明涉及信息安全领域,尤其涉及一种利用虚拟化技术,通过允许代码执行后,分析代码所产生的行为来判断该代码是否为恶意代码的方法。
背景技术
信息化技术在推动业务信息化和网络化快速发展的同时,也给用户的业务信息系统带来了越来越严重的安全威胁,恶意代码攻击一直是倍受关注的安全问题,恶意代码识别技术也一直是信息安全研究的重点。
现行的计算机恶意代码检测方法,主要有基于恶意代码特征指令序列的静态检测方法和基于代码行为的动态判定方法两种。其中前者已经广泛地应用于各类杀毒软件当中,它利用获取待检测代码的固定位置的特征码与特征码库进行比对判断该代码是否为恶意代码。但是这种方法存在显著的缺陷,无法有效对变体或者未知的恶意代码进行判别,并存在较高的误判率;相比较而言,后者具有相当大的优越性。但是如何让恶意代码能够在执行后准确地释放其所包含的行为,并同时保证进行检测时的环境是可信的以图检测结果准确无误,则是该检测方法面临的一大难题。
虚拟化技术在一定程度上为这个问题提供了相对应的解决方案。基于硬件的虚拟化产品可以轻松地在一个宿主系统上虚拟出一个或多个系统环境,这些虚拟的系统环境与原先的宿主系统完全独立,虚拟系统中发生的变更,不会反映到真实的宿主系统中,同时快照技术(snapshot),可以方便地实现虚拟系统环境的恢复,使得系统被恶意代码篡改过后可以在很短的时间内恢复到一个原始的状态,同时此类产品还有一个特性,即虚拟系统内部的一些系统信息比如进程列表等是可以由外部程序监视和控制的,便于在真实的宿主环境中部署一个监视程序对虚拟系统进行控制,籍此加强检测结果的准确性和可靠性。
发明内容
本发明就是针对上述问题,在上述的技术基础上,提出的一种基于虚拟化技术的恶意代码行为检测方法,它有效解决了了传统静态恶意代码检测方法中对变体和未知代码检测能力弱,误判率高,以及恶意代码行为和检测环境可信的冲突等问题。
根据系统中工作任务不同,可将系统主要划分为两个模块,度量模块和分析模块。其中度量模块主要包括由一系列虚拟机所组成的虚拟运行环境以及部署在真实运行环境下的监控程序,分析模块则包括可信检测环境以及工作在其中的调度程序和分析程序。其中各组件的主要功能如下:
1、虚拟运行环境,由多个虚拟机组成,用于执行待检测代码。同时在每个虚拟机内部部署捕获程序,用以捕捉代码产生的行为;
2、监控程序,工作与真实运行环境,维护指定虚拟机内的进程列表,对虚拟机内部进程变化进行监视,用以提高分析的准确度;
3、调度程序,按照一定算法在虚拟机组中选择一个空闲的虚拟机,将待检测代码投放进该虚拟机,实现检测系统的自动化;
4、分析程序,用以分析在虚拟环境中捕获到的行为,并产生结果报告。
具体来讲,本发明的目的是通过以下技术方案来实现的。
1、首先,利用信任链传递的技术,搭建一个确定可信的检测平台环境;
2、在搭建好的可信的检测平台环境中,利用虚拟化技术根据实际情况建立若干个虚拟机,并在每个虚拟机中部署相应的度量程序等,用于捕获代码行为,同时为每个虚拟机建立原始状态的快照,用于度量结束后的恢复;
3、在检测环境中部署用于分析行为的检测程序和用于维护虚拟机的监控程序,以及调度程序等。
系统的工作流程如下:
首先由调度程序将待检测的代码投入由多个虚拟机组成的沙箱环境中,在该环境中,通过一定的选择算法选择一个空闲的虚拟机,该虚拟机作为一个单独的虚拟运行环境来执行此待检测代码,并同时捕获该代码所产生的行为,将捕获到的行为记录成行为审计日志,并将该日志交递给分析程序,分析程序在收到审计日志后,通过构造改进过的攻击树模型,对该行为审计日志进行分析。在本系统中,不同的行为对应不同的权值,该权值可以根据实际情况来自主设定。系统通过一定的算法,计算该日志所产生的总的恶意权值,最终给出一个被检测代码的恶意性报告。
附图说明
图1是本发明的系统总体设计图。
图2是本发明的模块划分图。
具体实施方式
下面结合附图和具体实施方式对本发明作进一步的说明。
实施例之一:
如图1所示,本发明的系统总体设计为一个可信检测环境和若干个虚拟机的集合。可信检测环境通过信任链传递技术实现,虚拟机实现了度量环境的隔离,每个虚拟机与可信检测环境可独立通信。
实施例之二:
如图2所示,本发明的模块主要分为两个,度量模块和分析模块。其中每个模块又由不同的组件所组成。每个组件负责不同的工作,各个组件之间相互协调,统一调度,最终完成其所组成的模块的主要工作。
实施例之三:
一段给定代码的完整检测过程:当给定的代码被提交给检测系统之后,系统将当前空闲的虚拟机资源进行整理排序,然后把代码投入排序队列中的首个虚拟机,使其在该虚拟机中执行。当待检测代码执行后,虚拟机中的度量程序将会关注该代码所产生的行为,主要集中在代码对文件系统的访问,注册表的访问和修改,敏感系统文件如boot.ini等文件的访问和修改,对其他进程的进程空间的访问等,并将这些行为按照主体-客体-操作类型的格式记做审计日志。行为度量完毕后,系统会把生成的审计日志递交给分析程序,然后将度量结束的虚拟机按照其原始状态的快照进行恢复以准备进行下一次检测。而当分析程序收到待分析的审计日志后,按照以下规则进行分析:
假设E是一段被分析的可执行代码,k1,k2,k3......kn为其度量得到的行为,单独行为所对应的权值为w1,w2,w3......wn,则可确定E的总权值为:
在进行分析的过程中,本系统引入了改造的攻击树的概念。我们定义了一个具有多层父子关系的树形结构,例如可执行代码A在运行期间,释放出或创建了新的可执行代码B,则认为A是B的父结点,B是A的子结点;同时B释放或创建了新的可执行代码C,则认为C是A的孙子结点,同时A是C的祖父结点。这种情况下,B和C产生的行为所需累加的权值,就同一在A的权值累加。通过该树形结构,可以有效提高分析的精度。在这种情况下,A的权值可以表示为:
W(A)=W(B)+W(C)
在获得了单个的恶意代码的权值后,就可以计算出相对应的恶意程序的权值。假设
S(E)={E1,E2,E3...En}
是恶意程序S所包含的可执行代码的集合,则恶意程序S对应的权值W(S)即为
即可根据此W(S)判断被检测的代码是否为恶意代码。
本技术领域中的相关技术人员应当熟悉到,以上所述实施例仅是用来说明本发明的目的,而并非用作对本发明的限定,只要在本发明的实质范围内,对上述实施例所做的变化、变型都将落在本发明的权利要求范围内。
Claims (1)
1.一种基于虚拟化技术的恶意代码行为检测方法,其特征在于,具体技术方案是:首先,利用信任链传递的技术,搭建一个确定可信的检测平台环境;在搭建好的可信的检测平台环境中,利用虚拟化技术根据实际情况建立若干个虚拟机,并在每个虚拟机中部署相应的度量程序,用于捕获代码行为,同时为每个虚拟机建立原始状态的快照,用于度量结束后的恢复;在检测环境中部署用于分析行为的检测程序和用于维护虚拟机的监控程序,以及调度程序;使用API HOOK和文件过滤驱动技术捕获代码对系统关键API的调用行为和对文件系统的操作行为,使其作为代码分析的依据;同时采用虚拟机的信任链传递技术,保证测试环境的可信;提供行为捕获工具,行为分析工具,以及分析数据传输工具;
系统工作时,首先由调度程序将待检测的代码投入由多个虚拟机组成的沙箱环境中,在该环境中,通过预设的选择算法选择一个空闲的虚拟机,该虚拟机作为一个单独的虚拟运行环境来执行此待检测代码,并同时捕获该代码所产生的行为,将捕获到的行为记录成行为审计日志,并将该日志交递给分析程序,分析程序在收到审计日志后,通过构造改进过的攻击树模型,对该行为审计日志进行分析;
其中,分析的过程包括:
假设E是一段被分析的可执行代码,k1,k2,k3……kn为其度量得到的行为,单独行为所对应的权值为w1,w2,w3……wn,则可确定E的总权值为:
定义一个具有多层父子关系的树形结构,可执行代码A在运行期间,释放出或创建了新的可执行代码B,则认为A是B的父结点,B是A的子结点;同时B释放或创建了新的可执行代码C,则认为C是A的孙子结点,同时A是C的祖父结点;这种情况下,B和C产生的行为所需累加的权值,就同一在A的权值累加;通过该树形结构,可以有效提高分析的精度;在这种情况下,A的权值可以表示为:
W(A)=W(B)+W(C)
在获得了单个的恶意代码的权值后,就可以计算出相对应的恶意程序的权值;假设
S(E)={E1,E2,E3...En}
是恶意程序S所包含的可执行代码的集合,则恶意程序S对应的权值W(S)即为
即可根据此W(S)判断被检测的代码是否为恶意代码。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110058633.4A CN102682229B (zh) | 2011-03-11 | 2011-03-11 | 一种基于虚拟化技术的恶意代码行为检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110058633.4A CN102682229B (zh) | 2011-03-11 | 2011-03-11 | 一种基于虚拟化技术的恶意代码行为检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102682229A CN102682229A (zh) | 2012-09-19 |
CN102682229B true CN102682229B (zh) | 2015-04-01 |
Family
ID=46814142
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110058633.4A Expired - Fee Related CN102682229B (zh) | 2011-03-11 | 2011-03-11 | 一种基于虚拟化技术的恶意代码行为检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102682229B (zh) |
Families Citing this family (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103377120B (zh) * | 2012-04-24 | 2017-06-30 | 财付通支付科技有限公司 | 一种应用程序测试方法及装置 |
CN103810427B (zh) * | 2014-02-20 | 2016-09-21 | 中国科学院信息工程研究所 | 一种恶意代码隐藏行为挖掘方法及系统 |
CN104063267B (zh) * | 2014-07-11 | 2017-11-14 | 孙强强 | 一种虚拟机流量监控方法及系统 |
EP3262554A4 (en) * | 2015-02-27 | 2018-10-17 | Hewlett-Packard Development Company, L.P. | Facilitating scanning of protected resources |
CN106156611A (zh) * | 2015-03-25 | 2016-11-23 | 北京奇虎科技有限公司 | 智能手机应用程序的动态分析方法及系统 |
CN104766011B (zh) * | 2015-03-26 | 2017-09-12 | 国家电网公司 | 基于主机特征的沙箱检测告警方法和系统 |
US9477837B1 (en) * | 2015-03-31 | 2016-10-25 | Juniper Networks, Inc. | Configuring a sandbox environment for malware testing |
CN105184164B (zh) * | 2015-09-08 | 2017-11-24 | 成都博元科技有限公司 | 一种数据处理方法 |
CN106611122A (zh) * | 2015-10-27 | 2017-05-03 | 国家电网公司 | 基于虚拟执行的未知恶意程序离线检测系统 |
US9984231B2 (en) * | 2015-11-11 | 2018-05-29 | Qualcomm Incorporated | Detecting program evasion of virtual machines or emulators |
CN105740705A (zh) * | 2015-12-28 | 2016-07-06 | 哈尔滨安天科技股份有限公司 | 一种基于lxc容器的主机防御方法及系统 |
CN107292168A (zh) * | 2016-03-30 | 2017-10-24 | 阿里巴巴集团控股有限公司 | 检测程序代码的方法及装置、服务器 |
CN108932429B (zh) * | 2017-05-27 | 2023-02-03 | 腾讯科技(深圳)有限公司 | 应用程序的分析方法、终端及存储介质 |
CN108304721A (zh) * | 2018-03-21 | 2018-07-20 | 河北师范大学 | 一种恶意代码检测系统 |
CN109472147A (zh) * | 2018-10-22 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种虚拟化平台的安全检测方法及装置 |
CN110135156B (zh) * | 2019-04-03 | 2020-10-09 | 浙江工业大学 | 一种基于沙盒动态行为识别可疑攻击代码的方法 |
CN110311901B (zh) * | 2019-06-21 | 2022-03-08 | 北京雅客云安全科技有限公司 | 一种基于容器技术的轻量级网络沙箱设置方法 |
CN112580025A (zh) * | 2019-09-30 | 2021-03-30 | 奇安信安全技术(珠海)有限公司 | 基于虚拟机的报毒方法及装置、存储介质、计算机设备 |
CN112269984B (zh) * | 2020-09-23 | 2023-07-11 | 江苏三台山数据应用研究院有限公司 | 一种保障源码安全的自动化代码审计平台系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042719A (zh) * | 2006-03-21 | 2007-09-26 | 联想(北京)有限公司 | 一种查杀rootkit的系统及方法 |
CN101246537A (zh) * | 2008-03-28 | 2008-08-20 | 兰雨晴 | 一种基于可信多任务操作系统实现可信计算的方法 |
EP2154626A2 (en) * | 2008-08-13 | 2010-02-17 | Fujitsu Ltd. | Anti-virus method, computer, and recording medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7797748B2 (en) * | 2007-12-12 | 2010-09-14 | Vmware, Inc. | On-access anti-virus mechanism for virtual machine architecture |
-
2011
- 2011-03-11 CN CN201110058633.4A patent/CN102682229B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101042719A (zh) * | 2006-03-21 | 2007-09-26 | 联想(北京)有限公司 | 一种查杀rootkit的系统及方法 |
CN101246537A (zh) * | 2008-03-28 | 2008-08-20 | 兰雨晴 | 一种基于可信多任务操作系统实现可信计算的方法 |
EP2154626A2 (en) * | 2008-08-13 | 2010-02-17 | Fujitsu Ltd. | Anti-virus method, computer, and recording medium |
Non-Patent Citations (1)
Title |
---|
基于本地虚拟化技术的隐藏进程检测;温研;《计算机应用》;20080731;第28卷(第7期);1769-1771 * |
Also Published As
Publication number | Publication date |
---|---|
CN102682229A (zh) | 2012-09-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102682229B (zh) | 一种基于虚拟化技术的恶意代码行为检测方法 | |
US9323652B2 (en) | Iterative bottleneck detector for executing applications | |
CN102622536B (zh) | 一种恶意代码捕获方法 | |
CN108469984B (zh) | 一种基于虚拟机自省函数级虚拟机内核动态检测系统与方法 | |
CN102508780B (zh) | 一种用于软件测试的交叉式动态法和装置 | |
CN108200030A (zh) | 恶意流量的检测方法、系统、装置及计算机可读存储介质 | |
CN102768638B (zh) | 基于状态转移图的软件行为可信性检测方法 | |
CN109933984B (zh) | 一种最佳聚类结果筛选方法、装置和电子设备 | |
Jéron et al. | Predictability of sequence patterns in discrete event systems | |
CN104615936B (zh) | 云平台vmm层行为监控方法 | |
CN110855503A (zh) | 一种基于网络协议层级依赖关系的故障定因方法和系统 | |
CN102541729A (zh) | 软件安全漏洞检测装置和方法 | |
CN106330599B (zh) | Android应用程序网络流量多线程采集系统及方法 | |
CN104699735A (zh) | 企业级数据中心的数据处理方法及装置 | |
CN113949652B (zh) | 基于人工智能的用户异常行为检测方法、装置及相关设备 | |
CN105159827A (zh) | 一种面向gui软件的可靠性加速测试方法 | |
CN116136950B (zh) | 芯片验证方法、装置、系统、电子设备及存储介质 | |
CN111783094A (zh) | 一种数据分析方法、装置、服务器及可读存储介质 | |
CN101226501A (zh) | 一种监控测试的方法和监控测试装置 | |
CN110457220A (zh) | 基于安卓系统的模拟器检测方法、智能终端及存储介质 | |
CN109240807A (zh) | 一种基于vmi的恶意程序检测系统和方法 | |
CN106155880B (zh) | 一种基于策略的自动化程序分析系统和方法 | |
CN111190813B (zh) | 基于自动化测试的安卓应用网络行为信息提取系统及方法 | |
CN104426708A (zh) | 一种安全检测服务执行方法及系统 | |
CN111460439B (zh) | 基于多环境的逃避行为检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: Lhasa City Industrial Park, doilungdegen District A District of Tibet Autonomous Region Health Road 851400 room No. 01 301-2 Patentee after: Tibet national road safety Polytron Technologies Inc Address before: 100089, B, building 608, block 2, No. 32 South Main Street, Beijing, Haidian District, six, Zhongguancun Patentee before: Beijing Guolu'an Information Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20150401 Termination date: 20210311 |
|
CF01 | Termination of patent right due to non-payment of annual fee |