著录项信息
专利名称 | 一种检查计算机病毒的方法和装置 |
申请号 | CN201110388584.0 | 申请日期 | 2011-11-29 |
法律状态 | 授权 | 申报国家 | 中国 |
公开/公告日 | 2013-06-05 | 公开/公告号 | CN103136475A |
优先权 | 暂无 | 优先权号 | 暂无 |
主分类号 | G06F21/56 | IPC分类号 | G;0;6;F;2;1;/;5;6查看分类表>
|
申请人 | 姚纪卫;朱季峰;姜向前 | 申请人地址 | 北京市昌平区回龙观镇龙博一区11号楼3单元202室
变更
专利地址、主体等相关变化,请及时变更,防止失效 |
权利人 | 姚纪卫,朱季峰,姜向前 | 当前权利人 | 姚纪卫,朱季峰,姜向前 |
发明人 | 姚纪卫 |
代理机构 | 暂无 | 代理人 | 暂无 |
摘要
本发明提供了一种检查计算机病毒的方法和装置,用以解决现有技术中检查计算机病毒的效率较低的问题。该方法包括:统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量;当数量大于预设值时输出用于提示被测程序包含计算机病毒的提示信息。采用本发明的技术方案,有助于高效地检测计算机病毒。
1.一种检查计算机病毒的方法,用于确定被测程序是否包含计算机病毒,其特征在于,所述方法包括:
统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量;具体为:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;
累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,将累加值作为所述数量;
当所述数量大于预设值时输出用于提示所述被测程序包含计算机病毒的提示信息。
2.根据权利要求1所述的方法,其特征在于,所述统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量,还可以为:
构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中,属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;
累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,并且,与所述预设API集合的预设子集中的操作系统API一并被调用的操作系统API所对应的权值计为
1,将累加值作为所述数量。
3.一种检查计算机病毒的装置,用于确定被测程序是否包含计算机病毒,其特征在于,所述装置包括:
统计模块,用于统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量;具体为:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,将累加值作为所述数量;
判断输出模块,用于根据所述数量进行判断,若所述数量大于预设值时输出用于提示所述被测程序包含计算机病毒的提示信息。
4.根据权利要求3所述的装置,其特征在于,所述统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量还可以为:
构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中,属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;
累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,并且,与所述预设API集合的预设子集中的操作系统API一并被调用的操作系统API所对应的权值计为
1,将累加值作为所述数量。
一种检查计算机病毒的方法和装置\n技术领域\n[0001] 本发明涉及计算机技术领域,特别地涉及一种检查计算机病毒的方法和装置。\n背景技术\n[0002] 随着计算机技术的发展,计算机病毒也在日益影响着计算机用户的数据安全或使用体验。为此很多计算机安装了防毒软件(或称杀毒软件、防火墙等)以抵抗计算机病毒。目前防毒软件多采用特征码识别的方式来检查病毒,通过检查病毒的特征码来确认当前扫描的文件中包含病毒,这种方式检查病毒的效率较低。\n[0003] 现有技术中,检查计算机病毒的效率较低,对于该问题,目前尚未提出有效解决方案。\n发明内容\n[0004] 本发明的主要目的是提供一种检查文件的方法和装置,以解决现有技术中检查计算机病毒的效率较低的问题。\n[0005] 为了实现上述目的,根据本发明的一个方面,提供了一种检查计算机病毒的方法。\n[0006] 本发明的检查计算机病毒的方法用于确定被测程序是否包含计算机病毒,该方法包括:统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量;当所述数量大于预设值时输出用于提示被测程序包含计算机病毒的提示信息。\n[0007] 进一步地,统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量,包括:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,将累加值作为所述数量。\n[0008] 进一步地,统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量,包括:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中,属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,并且,与所述预设API集合的预设子集中的操作系统API一并被调用的操作系统API所对应的权值计为1,将累加值作为所述数量。\n[0009] 根据本发明的另一方面,提供了一种检查计算机病毒的装置。\n[0010] 本发明的检查计算机病毒的装置用于确定被测程序是否包含计算机病毒,该装置包括:统计模块,用于统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量;判断输出模块,用于根据所述数量进行判断,若所述数量大于预设值时输出用于提示所述被测程序包含计算机病毒的提示信息。\n[0011] 进一步地,所述统计模块还用于:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,将累加值作为所述数量。\n[0012] 进一步地,所述统计模块还用于:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中,属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,并且,与所述预设API集合的预设子集中的操作系统API一并被调用的操作系统API所对应的权值计为1,将累加值作为所述数量。\n[0013] 根据本发明的技术方案,根据操作系统API的被调用情况来检查计算机病毒的方法,如果程序对于特定的操作系统API(即属于预设的API集合)的调用次数过多(大于预设值)时,确定该程序包含计算机病毒。这种方法无需涉及特征码的匹配中的大量计算,处理效率较高;并且由于病毒为了正常运行从而无法回避对于操作系统API的调用,所以计算机病毒的各种规避检查的手段对本实施例的方法失效,因此采用本实施例的方法还有助于有效地检查出计算机病毒。\n附图说明\n[0014] 说明书附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:\n[0015] 图1是根据本发明实施例的检查计算机病毒的方法的基本步骤的示意图;\n[0016] 图2是根据本发明实施例的检查计算机病毒的装置的基本结构示意图。\n具体实施方式\n[0017] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。\n[0018] 本发明实施例的检查计算机病毒的方法由防毒软件执行,可按图1所示步骤进行。\n图1是根据本发明实施例的检查计算机病毒的方法的基本步骤的示意图。如图1所示,本发明实施例的检查计算机病毒的方法主要包括如下步骤:\n[0019] 步骤S11:统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量。\n[0020] 步骤S12:当所述数量大于预设值时输出用于提示被测程序包含计算机病毒的提示信息。\n[0021] 以下对于上述步骤作进一步说明。\n[0022] 计算机病毒为了达到其自己的目的,例如破坏或窃取计算机中的数据,会使用一些特定的系统API,而往往还会使用较多种的这类特定系统API,而一些正常的程序因为完成的功能明显不同于病毒木马,因此对这类特定的系统API调用的频率会比较低。上述的“特定的系统API”具体是哪些API,可以通过经验总结而确定,例如可以针对多个已知是病毒的程序以及不含病毒的程序,分别统计它们调用的API的种类,以此找出规律,并确定上述“特定的系统API”并将这些预设为步骤S11中的API集合。\n[0023] 在统计上述已知是病毒的程序所调用的API或者步骤S11、S22中的被测程序所调用的API时,可以在构建的模拟环境中进行,以免破坏计算机系统。可采用目前很多防毒软件中应用的反病毒虚拟机,模拟一些操作系统特性,让程序可以在里面运行,然后就可以监控和统计其API调用情况。\n[0024] 具体地,可以先构建系统API表,该系统API表的每一表项包含一个操作系统API对应的权值,其中属于上述预设API集合的操作系统API对应的权值为1,反之对应的权值为0。\n然后,累加该系统API表中被被测程序调用过的操作系统API对应的权值,将累加值作为步骤S11中的数量。\n[0025] 病毒程序对于系统API的调用还会存在一个特点,就是会协同地调用两个API。即对于某些API,非病毒程序会单独调用它,而病毒程序会在调用另一个特定API之前或之后调用它。所以在步骤S11中的统计,可以考虑这种特点。\n[0026] 具体可以是,除了构建系统API表,以及累加系统API表中被被测程序调用过的操作系统API对应的权值,并且,与预设API集合的预设子集中的操作系统API一并被调用的操作系统API所对应的权值计为1,将累加值作为步骤S11中的数量。这里的预设子集中的操作系统API即为上述的特定API,具体是哪些API可以根据经验确定。\n[0027] 以下对于本实施例中的检查计算机病毒的装置做出说明。图2是根据本发明实施例的检查计算机病毒的装置的基本结构示意图。\n[0028] 如图2所示,本发明实施例中的检查计算机病毒的装置20用于确定被测程序是否包含计算机病毒,主要包括如下模块:统计模块21,用于统计被测程序调用的多个操作系统应用程序接口(API)中,属于预设API集合的操作系统API的数量;判断输出模块22,用于根据所述数量进行判断,若所述数量大于预设值时输出用于提示所述被测程序包含计算机病毒的提示信息。\n[0029] 统计模块21还可用于:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,将累加值作为所述数量。\n[0030] 统计模块21还可用于:构建系统API表,所述系统API表的每一表项包含一个操作系统API对应的权值,其中,属于所述预设API集合的操作系统API对应的权值为1,反之对应的权值为0;累加所述系统API表中被所述被测程序调用过的操作系统API对应的权值,并且,与所述预设API集合的预设子集中的操作系统API一并被调用的操作系统API所对应的权值计为1,将累加值作为所述数量。\n[0031] 本实施例提供了一种根据操作系统API的被调用情况来检查计算机病毒的方法。\n这种方法无需涉及特征码的匹配中的大量计算,处理效率较高;并且由于病毒为了正常运行从而无法回避对于操作系统API的调用,所以计算机病毒的各种规避检查的手段对本实施例的方法失效,因此采用本实施例的方法还有助于有效地检查出计算机病毒。\n[0032] 显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。\n[0033] 以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
法律信息
- 2017-07-04
- 2014-12-24
实质审查的生效
IPC(主分类): G06F 21/56
专利申请号: 201110388584.0
申请日: 2011.11.29
- 2013-06-05
引用专利(该专利引用了哪些专利)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 |
1
| |
2006-08-16
|
2005-02-07
| | |
2
| |
2006-07-12
|
2004-12-31
| | |
3
| |
2007-08-08
|
2007-02-14
| | |
4
| |
2011-04-27
|
2011-01-25
| | |
被引用专利(该专利被哪些专利引用)
序号 | 公开(公告)号 | 公开(公告)日 | 申请日 | 专利名称 | 申请人 | 该专利没有被任何外部专利所引用! |