CN103150506B - 一种恶意程序检测的方法和装置 - Google Patents
一种恶意程序检测的方法和装置 Download PDFInfo
- Publication number
- CN103150506B CN103150506B CN201310052000.1A CN201310052000A CN103150506B CN 103150506 B CN103150506 B CN 103150506B CN 201310052000 A CN201310052000 A CN 201310052000A CN 103150506 B CN103150506 B CN 103150506B
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- program
- write operation
- virtual machine
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 33
- 238000001514 detection method Methods 0.000 claims description 26
- 241000700605 Viruses Species 0.000 claims description 11
- 238000000605 extraction Methods 0.000 claims description 3
- 230000006870 function Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000005192 partition Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 208000015181 infectious disease Diseases 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000009897 systematic effect Effects 0.000 description 1
- 230000003612 virological effect Effects 0.000 description 1
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种恶意程序检测的方法和装置,其中,所述的方法包括:启动虚拟机,在所述虚拟机中运行样本程序;获取所述样本程序在虚拟机中执行指定操作的信息,所述执行指定操作的信息包括所述执行指定操作的对象数据;检测所述对象数据是否存在预置的恶意特征数据;若检测到所述对象数据存在预置的恶意特征数据,则判定所述样本程序为恶意程序。本发明可以降低主机感染的风险,降低恶意程序的误报率,降低新型恶意程序的漏报率。
Description
技术领域
本发明涉及信息安全技术领域,具体涉及一种恶意程序检测的方法和装置。
背景技术
MBR(MasterBootRecord,磁盘的主引导记录)是位于磁盘的0磁头0磁道1扇区,有固定大小的一块存储区域,是计算机开机后访问磁盘所读取的首个区域。MBR一般包含三个部分:主引导程序、磁盘分区表、以及结束标志字。其中,主引导程序用来在计算机启动时检查分区表是否正确,并且在系统硬件完成自检后将控制权交给磁盘上的系统引导程序。MBR中的主引导程序具有相对于操作系统的独立性,这种独立性体现在计算机的启动过程中:一般的计算启动过程是计算机通电后执行自检,当确定以磁盘作为启动源后由基本输入输出系统将MBR读入内存,控制权交给其中的主引导程序,由主引导程序检查分区表,找到活动的分区,而后将控制权交给活动分区的系统引导程序,由系统引导程序加载操作系统。整个过程中主引导程序的加载和操作系统的加载是两个相对独立的过程,因此MBR中的主引导程序具有相对于操作系统的独立性,即MBR中的主引导程序先于操作系统加载,并且不依赖、也不属于操作系统。
有的恶意样本为了达到常驻系统的目的,常常需要将自己安装到系统底层的部分。有的样本会修改系统的引导区部分(例如MBR)而达到在操作系统之前启动,并感染操作系统的目的。
原有的此类样本的检测手段都是在样本执行完毕之后,调用系统的API函数读取磁盘指定位置的数据,和未感染数据进行比较进行判断。但由于操作系统已经被感染,木马可以篡改操作系统的磁盘读写函数,甚至直接篡改更加底层的BIOS当中的读写支持函数,让安全软件无法获取真实的磁盘数据。
因此,本领域技术人员迫切需要解决的问题之一在于,提出一种恶意程序检测的方法和装置,降低主机感染的风险,降低恶意程序的误报率,降低新型恶意程序的漏报率。
发明内容
鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的一种恶意程序检测的方法和相应的一种恶意程序检测的装置。
依据本发明的一个方面,提供了一种恶意程序检测的方法,包括:
启动虚拟机,在所述虚拟机中运行样本程序;
获取所述样本程序在虚拟机中执行指定操作的信息,所述执行指定操作的信息包括所述执行指定操作的对象数据;
检测所述对象数据是否存在预置的恶意特征数据;
若检测到所述对象数据存在预置的恶意特征数据,则判定所述样本程序为恶意程序。
可选地,所述的方法还包括:
检测所述对象数据是否存在预置的非恶意特征数据;
若检测到所述对象数据存在预置的非恶意特征数据,则判定所述样本程序为非恶意程序。
可选地,所述指定操作包括样本程序在虚拟机内针对磁盘的写操作,所述执行指定操作的对象数据为所述写操作对应的数据;所述执行指定操作的信息还包括,写操作对应的磁盘扇区号,写操作对应的数据写入的磁盘镜像文件的信息,写操作对应的数据在磁盘镜像文件中的位置信息,以及,磁盘镜像文件索引;所述获取样本程序在虚拟机中执行指定操作的信息的步骤包括:
获取所述写操作对应的磁盘扇区号;
获取所述写操作对应的数据;
将所述写操作对应的数据写入磁盘镜像文件,并记录所述写操作对应的数据在磁盘镜像文件当中的位置信息;
将所述磁盘扇区号和位置信息写入所述磁盘镜像文件的索引。
可选地,所述检测对象数据是否存在预置的恶意特征数据的步骤在所述样本程序在虚拟机中运行完毕后执行,具体包括:
针对指定的一个或多个扇区,判断在所述磁盘镜像文件的索引中是否存对应的磁盘扇区号,若是,则依据所述磁盘扇区号和位置信息在磁盘镜像文件中提取相应位置的写操作对应的数据,并存储至预设转储文件中;
检测所述预设转储文件中的数据是否存在预置的恶意特征数据。
可选地,所述检测对应的数据是否存在预置的恶意特征数据的步骤还包括:
读取所述磁盘镜像文件的索引到内存。
可选地,所述指定的一个或多个扇区为磁盘的主引导记录MBR相关扇区。
根据本发明的另一方面,提供了一种恶意程序检测的装置,包括:
样本程序运行模块,用于在所述虚拟机中运行样本程序;
获取模块,用于获取所述样本程序在虚拟机中执行指定操作的信息,所述执行指定操作的信息包括所述执行指定操作的对象数据;
恶意特征检测模块,用于检测所述对象数据是否存在预置的恶意特征数据;
恶意程序判定模块,用于若检测到所述对象数据存在预置的恶意特征数据,则判定所述样本程序为恶意程序。
可选地,所述的装置还包括:
非恶意特征检测模块,用于检测所述对象数据是否存在预置的非恶意特征数据;
非恶意程序判定模块,用于若检测到所述对象数据存在预置的非恶意特征数据,则判定所述样本程序为非恶意程序。
可选地,所述指定操作包括样本程序在虚拟机内针对磁盘的写操作,所述执行指定操作的对象数据为所述写操作对应的数据;所述执行指定操作的信息还包括,写操作对应的磁盘扇区号,写操作对应的数据写入的磁盘镜像文件的信息,写操作对应的数据在磁盘镜像文件中的位置信息,以及,磁盘镜像文件索引;所述获取模块包括:
磁盘扇区号获取子模块,用于获取所述写操作对应的磁盘扇区号;
数据子模块,用于获取所述写操作对应的数据;
记录子模块,用于将所述写操作对应的数据写入磁盘镜像文件,并记录所述写操作对应的数据在磁盘镜像文件当中的位置信息;
写入子模块,用于将所述磁盘扇区号和位置信息写入所述磁盘镜像文件的索引。
可选地,所述检测模块在所述样本程序在虚拟机中运行完毕后调用,所述检测模块具体包括:
判断子模块,用于针对指定的一个或多个扇区,判断在所述磁盘镜像文件的索引中是否存对应的磁盘扇区号;若存在,则调用提取子模块;
提取子模块,用于依据所述磁盘扇区号和位置信息在磁盘镜像文件中提取相应位置的写操作对应的数据,并存储至预设转储文件中;
数据检测子模块,用于检测所述预设转储文件中的数据是否存在预置的恶意特征数据。
可选地,所述检测模块还包括:
读取子模块,用于读取所述磁盘镜像文件的索引到内存。
可选地,所述指定的一个或多个扇区为磁盘的主引导记录MBR相关扇区。
根据本发明的一种恶意程序检测的方法和装置可以在虚拟机中运行样本程序,并在磁盘镜像文件中记录样本程序在虚拟机中运行时执行指定操作的信息,获取执行指定操作的信息并检测是否存在预置的恶意特征数据和/或预置的非恶意特征数据,以此判断为恶意程序或非恶意程序,由此解决了主机系统被感染的情况下检测结果不准确的问题取得了降低主机感染的风险,降低恶意程序的误报率,降低新型恶意程序的漏报率的有益效果。
上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了根据本发明一个实施例的一种恶意程序检测的方法实施例的步骤流程图;
图2示出了根据本发明一个实施例的一种恶意程序检测的装置实施例的结构框图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明实施例的核心构思之一在于,样本程序在虚拟机中运行,并在磁盘镜像文件中记录样本程序在虚拟机中运行时执行指定操作的信息,当所述样本程序运行完毕之后,获取执行指定操作的信息并检测是否存在预置的恶意特征数据和/或预置的非恶意特征数据,以此判断为恶意程序或非恶意程序,可降低主机感染的风险,降低恶意程序的误报率,降低新型恶意程序的漏报率。
参照图1,示出了根据本发明一个实施例的一种恶意程序检测的方法的步骤流程图,具体可以包括以下步骤:
步骤101,启动虚拟机,在所述虚拟机中运行样本程序;
在本发明实施例中,样本程序的运行环境为虚拟机,主机上的程序会启动虚拟机。当虚拟机启动后,虚拟机中的操作系统启动后会自动运行样本程序。
其中,有些样本程序可能为恶意的样本程序,恶意的样本程序为了达到常驻系统的目的,常常将自己安装到系统底层的部分。有的恶意的样本程序会修改系统的引导区部分(例如MBR)而达到在操作系统之前启动,并感染操作系统的目的。由于操作系统已经被感染,恶意样本程序就可以篡改系统的磁盘读写函数,甚至直接篡改更加底层的BIOS当中的读写支持函数,让安全软件无法获取真实的磁盘数据。
步骤102,获取所述样本程序在虚拟机中执行指定操作的信息,所述执行指定操作的信息包括所述执行指定操作的对象数据;
在本发明的一种优选实施例中,所述指定操作可以包括样本程序在虚拟机内针对磁盘的写操作,所述执行指定操作的对象数据为所述写操作对应的数据;所述执行指定操作的信息还包括,写操作对应的磁盘扇区号,写操作对应的数据写入的磁盘镜像文件的信息,写操作对应的数据在磁盘镜像文件中的位置信息,以及,磁盘镜像文件索引;所述步骤102可以包括如下子步骤:
子步骤S11,获取所述写操作对应的磁盘扇区号;
子步骤S12,获取所述写操作对应的数据;
子步骤S13,将所述写操作对应的数据写入磁盘镜像文件,并记录所述写操作对应的数据在磁盘镜像文件当中的位置信息;
子步骤S14,将所述磁盘扇区号和位置信息写入所述磁盘镜像文件的索引。
具体地,所述执行指定的操作可以为在虚拟机内针对磁盘的写操作,当虚拟机运行时,虚拟机引擎可以在虚拟机内部将样本程序对于磁盘的写操作转换如下的操作:
获取写操作在虚拟机磁盘中对应的磁盘扇区号N;获取写操作对应的数据,将对应的数据写入磁盘镜像文件,并记录此数据写在镜像文件当中的偏移量M;将在磁盘镜像文件中对应的磁盘扇区号N和镜像文件中数据的偏移量M写入磁盘镜像文件的索引当中。
除对磁盘的写操作外,所述执行指定的操作可以为在虚拟机内针对磁盘的读操作,磁盘的格式化,磁盘文件的复制、修改等磁盘数据相关的操作等,也可以在磁盘镜像文件中转储上述操作的对应的数据来判断是否是恶意程序。
步骤103,检测所述对象数据是否存在预置的恶意特征数据;
在具体实现中,将所述执行指定操作的对象数据与预置的恶意特征数据比对,判断是否存在匹配的数据来判断是否为恶意程序。
在本发明的一种优选实施例中,所述步骤103在所述样本程序在虚拟机中运行完毕后执行,具体可以包括如下子步骤:
子步骤S21,针对指定的一个或多个扇区,判断在所述磁盘镜像文件的索引中是否存对应的磁盘扇区号;若存在,则执行步骤S22;
子步骤S22,依据所述磁盘扇区号和位置信息在磁盘镜像文件中提取相应位置的写操作对应的数据,并转储至预设转储文件中;
子步骤S23,检测所述预设转储文件中的数据是否存在预置的恶意特征数据。
在具体实现中,当样本程序在虚拟机运行完毕后,虚拟机关闭,宿主机中处理其样本程序执行指定操作对应的磁盘镜像文件中的数据。
应用本发明实施例,假设磁盘镜像文件中指定的扇区有64个,具体获取所述执行指定操作的对象数据的步骤可以为:
A)对于磁盘镜像文件中的0-63扇区,分别与索引当中的扇区号N对比,当磁盘扇区号N存在于索引当中时,即表示该扇区被修改;
B)如果扇区被修改,记录扇区的数据在预设转储文件当中;
C)如此循环,直到64个扇区均被处理完毕,得到一个预设转储文件,检测所述预设转储文件中的数据是否存在预置的恶意特征数据。
在本发明的一种优选实施例中,所述步骤103还可以包括如下子步骤:
在执行子步骤S21之前,读取所述磁盘镜像文件的索引到内存。
优选地,还可以把磁盘镜像文件的索引读取到内存中,在所述内存中实现检测样本程序是否为恶意程序,可以提高检测样本程序的速度。
步骤104,若所述对象数据存在预置的恶意特征数据,则判定所述样本程序为恶意程序。
若运行样本程序后的磁盘的数据被修改了,说明样本程序有可能是恶意程序,需要进一步对转储的预设转储文件中的数据与预置的恶意特征数据进行比对,判断是否是恶意程序。
若检测对象数据存在预置的恶意特征码则该样本程序为恶意程序;若不存在预置的恶意特征码,则该样本程序为非恶意程序。
为了使本领域技术人员进一步了解本发明实施例,下面通过一个具体的示例还进行说明。
假设在主引导记录MBR中的病毒是Bootkit病毒,该病毒可利用存储于计算机本地或者远程的服务器的默认的主引导记录替换感染病毒的主引导记录。可以预先定义已知的针对硬盘的主引导记录的病毒的特征码。
举例而言,参照表一,所示为鬼影6病毒在主引导记录中的恶意特征码及对应的偏移位置。
表一:
偏移 | 0 1 2 3 4 5 6 7 8 9 A B C D E F |
00000000 | FA 31 C0 8E D0 BC F0 FF FB 50 07 50 1F FC BE 00 |
参照表二,所示为BMW木马在主引导记录中的恶意特征码及对应的偏移位置。
表二:
当对样本程序进行检测时发现存在上述恶意的特征码时,则可以判断该样本程序为恶意程序,可对该样本程序进行清除。
由于该检测的是MBR(基于特征码和启发式的检测),为确保MBR的干净,如有恶意程序修改了MBR,则需恢复默认干净的系统的MBR,否则病毒代码会从MBR里复活,将导致病毒重启后复活。
在本发明的另一优选实施例中,所述的方法还可以包括如下步骤:
检测所述对象数据是否存在预置的非恶意特征数据;
若检测到所述对象数据存在预置的非恶意特征数据,则判定所述样本程序为非恶意程序。
较佳地,检测样本程序还可以是通过检测对象数据是否存在预置的非恶意特征码来判断该样本程序是否为恶意程序,如果发现存在预置的非恶意特征码,则该样本程序为非恶意程序;若不存在预置的非恶意特征码,则该样本程序为恶意程序。
由于检测样本程序是否存在预置的非恶意特征数据的方法与检测样本程序是否存在预置的恶意特征数据的方法类似,故不在此赘述。
具体而言,对检测样本程序可以是通过检测样本程序是否存在预置的特征码来判断该样本程序是否为恶意程序,如果发现存在预置的恶意特征码,表示该样本程序为恶意程序,则可以通过恢复默认干净的系统来确保系统的安全;也可以是检测样本程序是否存在预置的非恶意特征码,表示该样本程序为非恶意程序,则可以允许该样本程序在系统中正常运行;如果发现对象数据不存在预置的恶意特征数据或预置的非恶意特征数据,则表示该样本程序为未知的样本程序,可以发送给相应的分析员进行分析,分析员会依据样本程序形成预置的恶意特征码或预置的非恶意特征码。
需要说明的是,对于样本程序的检测可以同时或单独检测是否存在预置的恶意特征数据及预置的非恶意特征数据,也可以是按照预设顺序进行检测,在本发明方案均是可以实现的,在实际中可以依据具体情况来使用不同的检测方案。
在本发明的一种优选实施例中,所述指定的一个或多个扇区可以为磁盘的主引导记录MBR相关扇区。
具体地,本发明实施例的磁盘镜像文件中的扇区可以是磁盘的主引导记录MBR相关扇区,因此可以检测主引导程序MBR,达到检测并发现恶意修改主引导程序MBR的恶意程序的目的。
当然,所述指定的一个或多个扇区也可以为磁盘的其他重要的扇区,可依据具体需求进行设置,本发明实施例中不对此做限制。
假设检测样本程序时指定扇区是主引导记录MBR,若检测发现是恶意程序,则可以将MBR中的恶意程序清除,此外,还可以将磁盘分区中的恶意驱动程序删除。其中,恶意驱动程序就在保存在磁盘上,因此直接通过磁盘操作命令进行删除即可。但磁盘中的恶意程序是位于主引导记录MBR中,由于主引导记录MBR位于硬盘的0磁头0磁道1扇区,大小为512字节,不属于任何一个操作系统,也不能用操作系统提供的磁盘操作命令来读取,因此,在对主引导记录MBR中的恶意程序进行清除时,可以通过重建主引导记录MBR等方式来实现。其中,进行主引导记录MBR的重建,可以调用已有的用于进行主引导记录MBR重建的应用程序。
例如TLD4样本程序,此样本程序会使用非常底层的操作系统调用来修改系统主引导区MBR,并通过篡改系统调用的方法来隐藏自身,在操作系统当中读取主引导区MBR数据只能得到合法的数据,从而无法探测出是否被恶意篡改。而在本发明实施例中的样本程序是在虚拟机当中运行,由于没有使用被篡改的操作系统的系统调用,被篡改后的数据能够被读出并处理。
综上所述,应用本发明实施例可以提高恶意程序的检出效果,具体地,可以是rootkit病毒或类似于rootkit的病毒的检出效果,并可以发现新型的恶意程序,即使恶意程序使用的感染方式是完全不为人所知的,本发明实施例相当于有一种硬件工具,可以直接读取磁盘上面的扇区,不依赖任何的被感染系统当中的部分(包括BIOS),因此检测这种非常顽固更改的能力很强。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
参照图2,示出了本发明的一种恶意程序检测的装置实施例的结构框图,具体可以包括如下模块:
样本程序运行模块201,用于在所述虚拟机中运行样本程序;
获取模块202,用于获取所述样本程序在虚拟机中执行指定操作的信息,所述执行指定操作的信息包括所述执行指定操作的对象数据;
在本发明的一种优选实施例中,所述指定操作包括样本程序在虚拟机内针对磁盘的写操作,所述执行指定操作的对象数据为所述写操作对应的数据;所述执行指定操作的信息还包括,写操作对应的磁盘扇区号,写操作对应的数据写入的磁盘镜像文件的信息,写操作对应的数据在磁盘镜像文件中的位置信息,以及,磁盘镜像文件索引;所述获取模块202可以包括如下子模块:
磁盘扇区号获取子模块,用于获取所述写操作对应的磁盘扇区号;
数据子模块,用于获取所述写操作对应的数据;
记录子模块,用于将所述写操作对应的数据写入磁盘镜像文件,并记录所述写操作对应的数据在磁盘镜像文件当中的位置信息;
写入子模块,用于将所述磁盘扇区号和位置信息写入所述磁盘镜像文件的索引。
恶意特征检测模块203,用于检测模块,用于检测所述对象数据是否存在预置的恶意特征数据;
在本发明的一种优选实施例中,所述检测模块在所述样本程序在虚拟机中运行完毕后调用,所述恶意特征检测模块203具体包括如下子模块:
判断子模块,用于针对指定的一个或多个扇区,判断在所述磁盘镜像文件的索引中是否存对应的磁盘扇区号;若存在,则调用提取子模块;
提取子模块,用于依据所述磁盘扇区号和位置信息在磁盘镜像文件中提取相应位置的写操作对应的数据,并存储至预设转储文件中;
数据检测子模块,用于检测所述预设转储文件中的数据是否存在预置的恶意特征数据。
在本发明的一种优选实施例中,所述恶意特征检测模块203还可以包括如下子模块:
读取子模块,用于读取所述磁盘镜像文件的索引到内存。
恶意程序判定模块204,用于若检测到所述对象数据存在预置的恶意特征数据,则判定所述样本程序为恶意程序;
在本发明的一种优选实施例中,所述的装置还可以包括如下模块:
非恶意特征检测模块,用于检测所述对象数据是否存在预置的非恶意特征数据;
非恶意程序判定模块,用于若检测到所述对象数据存在预置的非恶意特征数据,则判定所述样本程序为非恶意程序。
在本发明的一种优选实施例中,所述指定的一个或多个扇区为磁盘的主引导记录MBR相关扇区。
对于图2的装置实施例而言,由于其与图1的方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
在此提供的算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的恶意程序检测设备中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
Claims (8)
1.一种恶意程序检测的方法,包括:
预先定义已知的针对硬盘的主引导记录MBR的病毒的特征码;所述特征码包括预置的恶意特征数据和预置的非恶意特征数据;
启动虚拟机,在所述虚拟机中运行样本程序;
获取所述样本程序在虚拟机中执行指定操作的信息,所述执行指定操作的信息包括所述执行指定操作的对象数据;
所述指定操作包括样本程序在虚拟机内针对磁盘的写操作,所述执行指定操作的对象数据为所述写操作对应的数据;所述执行指定操作的信息还包括,写操作对应的磁盘扇区号,写操作对应的数据写入的磁盘镜像文件的信息,写操作对应的数据在磁盘镜像文件中的位置信息,以及,磁盘镜像文件索引;所述获取样本程序在虚拟机中执行指定操作的信息的步骤包括:
获取所述写操作对应的磁盘扇区号;
获取所述写操作对应的数据;
将所述写操作对应的数据写入磁盘镜像文件,并记录所述写操作对应的数据在磁盘镜像文件当中的位置信息;
将所述磁盘扇区号和位置信息写入所述磁盘镜像文件的索引;
检测所述对象数据是否存在预置的恶意特征数据;
所述检测对象数据是否存在预置的恶意特征数据的步骤在所述样本程序在虚拟机中运行完毕后执行,具体包括:
针对指定的一个或多个扇区,判断在所述磁盘镜像文件的索引中是否存对应的磁盘扇区号,若是,则依据所述磁盘扇区号和位置信息在磁盘镜像文件中提取相应位置的写操作对应的数据,并存储至预设转储文件中;
检测所述预设转储文件中的数据是否存在预置的恶意特征数据;
若检测到所述对象数据存在预置的恶意特征数据,则判定所述样本程序为恶意程序。
2.如权利要求1所述的方法,还包括:
检测所述对象数据是否存在预置的非恶意特征数据;
若检测到所述对象数据存在预置的非恶意特征数据,则判定所述样本程序为非恶意程序。
3.如权利要求1所述的方法,所述检测对象数据是否存在预置的恶意特征数据的步骤还包括:
读取所述磁盘镜像文件的索引到内存。
4.如权利要求1所述的方法,所述指定的一个或多个扇区为磁盘的主引导记录MBR相关扇区。
5.一种恶意程序检测的装置,包括:
样本程序运行模块,用于在虚拟机中运行样本程序;预先定义已知的针对硬盘的主引导记录MBR的病毒的特征码;所述特征码包括预置的恶意特征数据和预置的非恶意特征数据;
获取模块,用于获取所述样本程序在虚拟机中执行指定操作的信息,所述执行指定操作的信息包括所述执行指定操作的对象数据;
所述指定操作包括样本程序在虚拟机内针对磁盘的写操作,所述执行指定操作的对象数据为所述写操作对应的数据;所述执行指定操作的信息还包括,写操作对应的磁盘扇区号,写操作对应的数据写入的磁盘镜像文件的信息,写操作对应的数据在磁盘镜像文件中的位置信息,以及,磁盘镜像文件索引;所述获取模块包括:
磁盘扇区号获取子模块,用于获取所述写操作对应的磁盘扇区号;
数据子模块,用于获取所述写操作对应的数据;
记录子模块,用于将所述写操作对应的数据写入磁盘镜像文件,并记录所述写操作对应的数据在磁盘镜像文件当中的位置信息;
写入子模块,用于将所述磁盘扇区号和位置信息写入所述磁盘镜像文件的索引;
恶意特征检测模块,用于检测所述对象数据是否存在预置的恶意特征数据;
所述检测模块在所述样本程序在虚拟机中运行完毕后调用,所述恶意特征检测模块具体包括:
判断子模块,用于针对指定的一个或多个扇区,判断在所述磁盘镜像文件的索引中是否存对应的磁盘扇区号;若存在,则调用提取子模块;
提取子模块,用于依据所述磁盘扇区号和位置信息在磁盘镜像文件中提取相应位置的写操作对应的数据,并存储至预设转储文件中;
数据检测子模块,用于检测所述预设转储文件中的数据是否存在预置的恶意特征数据;
恶意程序判定模块,用于若检测到所述对象数据存在预置的恶意特征数据,则判定所述样本程序为恶意程序。
6.如权利要求5所述的装置,还包括:
非恶意特征检测模块,用于检测所述对象数据是否存在预置的非恶意特征数据;
非恶意程序判定模块,用于若检测到所述对象数据存在预置的非恶意特征数据,则判定所述样本程序为非恶意程序。
7.如权利要求5所述的装置,所述检测模块还包括:
读取子模块,用于读取所述磁盘镜像文件的索引到内存。
8.如权利要求5所述的装置,所述指定的一个或多个扇区为磁盘的主引导记录MBR相关扇区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310052000.1A CN103150506B (zh) | 2013-02-17 | 2013-02-17 | 一种恶意程序检测的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310052000.1A CN103150506B (zh) | 2013-02-17 | 2013-02-17 | 一种恶意程序检测的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103150506A CN103150506A (zh) | 2013-06-12 |
CN103150506B true CN103150506B (zh) | 2016-03-30 |
Family
ID=48548579
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310052000.1A Active CN103150506B (zh) | 2013-02-17 | 2013-02-17 | 一种恶意程序检测的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103150506B (zh) |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104348795B (zh) * | 2013-07-30 | 2019-09-20 | 深圳市腾讯计算机系统有限公司 | 通用网关接口业务入侵防护的方法及装置 |
CN103914654A (zh) * | 2013-12-25 | 2014-07-09 | 武汉安天信息技术有限责任公司 | 一种对Android ART运行时代码进行恶意代码检测的方法及系统 |
CN103778373B (zh) * | 2014-01-10 | 2017-02-08 | 深圳市深信服电子科技有限公司 | 病毒检测方法及装置 |
CN105320884A (zh) * | 2015-11-02 | 2016-02-10 | 南京安贤信息科技有限公司 | 虚拟机的安全防护方法及系统 |
CN105893845B (zh) * | 2016-04-05 | 2019-05-10 | 珠海豹趣科技有限公司 | 一种数据处理方法及装置 |
CN105912948B (zh) * | 2016-04-06 | 2019-03-15 | 珠海豹趣科技有限公司 | 一种数据保护方法及装置 |
CN107707509B (zh) | 2016-08-08 | 2020-09-29 | 阿里巴巴集团控股有限公司 | 识别及辅助识别虚假流量的方法、装置及系统 |
CN107016285B (zh) * | 2016-10-17 | 2019-11-05 | 深圳市安之天信息技术有限公司 | 一种利用移动介质传播恶意代码行为识别方法及系统 |
CN110287697A (zh) * | 2018-03-19 | 2019-09-27 | 阿里巴巴集团控股有限公司 | 行为识别、数据处理方法及装置 |
CN108768960B (zh) * | 2018-05-10 | 2021-07-06 | 腾讯科技(深圳)有限公司 | 病毒检测方法、装置、存储介质及计算机设备 |
CN110414220B (zh) * | 2019-06-28 | 2021-08-24 | 奇安信科技集团股份有限公司 | 沙箱内程序动态执行过程中的操作文件提取方法及装置 |
CN115061734A (zh) * | 2019-07-12 | 2022-09-16 | 华为技术有限公司 | 一种系统启动方法以及相关设备 |
CN110955885B (zh) * | 2019-11-28 | 2022-11-22 | 亚信科技(成都)有限公司 | 一种数据写入方法及装置 |
CN111680296A (zh) * | 2020-06-15 | 2020-09-18 | 杭州安恒信息技术股份有限公司 | 一种工业控制系统中恶意程序的识别方法、装置及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766778A (zh) * | 2004-10-29 | 2006-05-03 | 微软公司 | 用户可修改文件的有效白名单 |
EP1761836A2 (en) * | 2004-06-29 | 2007-03-14 | Intel Corporation | Method of improving computer security through sandboxing |
CN101593249A (zh) * | 2008-05-30 | 2009-12-02 | 成都市华为赛门铁克科技有限公司 | 一种可疑文件分析方法及系统 |
CN102147843A (zh) * | 2011-05-16 | 2011-08-10 | 湖南大学 | 一种基于内核不变量保护的rootkit入侵检测和系统恢复方法 |
CN102339371A (zh) * | 2011-09-14 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种检测恶意程序的方法、装置及虚拟机 |
CA2835954A1 (en) * | 2011-05-24 | 2012-11-29 | Palo Alto Networks, Inc. | Malware analysis system |
-
2013
- 2013-02-17 CN CN201310052000.1A patent/CN103150506B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1761836A2 (en) * | 2004-06-29 | 2007-03-14 | Intel Corporation | Method of improving computer security through sandboxing |
CN1766778A (zh) * | 2004-10-29 | 2006-05-03 | 微软公司 | 用户可修改文件的有效白名单 |
CN101593249A (zh) * | 2008-05-30 | 2009-12-02 | 成都市华为赛门铁克科技有限公司 | 一种可疑文件分析方法及系统 |
CN102147843A (zh) * | 2011-05-16 | 2011-08-10 | 湖南大学 | 一种基于内核不变量保护的rootkit入侵检测和系统恢复方法 |
CA2835954A1 (en) * | 2011-05-24 | 2012-11-29 | Palo Alto Networks, Inc. | Malware analysis system |
CN102339371A (zh) * | 2011-09-14 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种检测恶意程序的方法、装置及虚拟机 |
Also Published As
Publication number | Publication date |
---|---|
CN103150506A (zh) | 2013-06-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103150506B (zh) | 一种恶意程序检测的方法和装置 | |
US7631357B1 (en) | Detecting and removing rootkits from within an infected computing system | |
CN104008340B (zh) | 病毒查杀方法及装置 | |
US7962956B1 (en) | Evaluation of incremental backup copies for presence of malicious codes in computer systems | |
US6792556B1 (en) | Boot record recovery | |
US7565523B2 (en) | Apparatus and method for restoring master boot record infected with virus | |
US8424093B2 (en) | System and method for updating antivirus cache | |
US10713361B2 (en) | Anti-malware protection using volume filters | |
US8387147B2 (en) | Method and system for detecting and removing hidden pestware files | |
US8930761B2 (en) | Test case result processing | |
US20120159628A1 (en) | Malware detection apparatus, malware detection method and computer program product thereof | |
EP3220307B1 (en) | System and method of performing an antivirus scan of a file on a virtual machine | |
US8079032B2 (en) | Method and system for rendering harmless a locked pestware executable object | |
WO2012098018A1 (en) | Malware detection | |
US9116621B1 (en) | System and method of transfer of control between memory locations | |
CN102999725B (zh) | 恶意代码处理方法和系统 | |
CN103631603A (zh) | 软件清理方法和系统 | |
CN103077350B (zh) | 一种恶意代码的查杀方法和系统 | |
US20070056039A1 (en) | Memory filters to aid system remediation | |
CN103135947B (zh) | 一种显示Windows盘符的方法和装置 | |
US8281398B2 (en) | Reordering document content to avoid exploits | |
CN102902921B (zh) | 一种检测和清除计算机病毒的方法和装置 | |
JP6648307B2 (ja) | 電子装置、名簿エントリの重複排除方法及びコンピュータ読み取り可能な記憶媒体 | |
JP4955752B2 (ja) | 仮想ハードディスクへのファイル属性情報の安全な管理の拡張 | |
CN112486723B (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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220725 Address after: Room 801, 8th floor, No. 104, floors 1-19, building 2, yard 6, Jiuxianqiao Road, Chaoyang District, Beijing 100015 Patentee after: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Address before: 100088 room 112, block D, 28 new street, new street, Xicheng District, Beijing (Desheng Park) Patentee before: BEIJING QIHOO TECHNOLOGY Co.,Ltd. Patentee before: Qizhi software (Beijing) Co.,Ltd. |