CN101719208B - 对病毒文件自动提取特征的方法和装置 - Google Patents

对病毒文件自动提取特征的方法和装置 Download PDF

Info

Publication number
CN101719208B
CN101719208B CN2009102136414A CN200910213641A CN101719208B CN 101719208 B CN101719208 B CN 101719208B CN 2009102136414 A CN2009102136414 A CN 2009102136414A CN 200910213641 A CN200910213641 A CN 200910213641A CN 101719208 B CN101719208 B CN 101719208B
Authority
CN
China
Prior art keywords
virus
characteristic
fixed position
eigenwert
document
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
Application number
CN2009102136414A
Other languages
English (en)
Other versions
CN101719208A (zh
Inventor
彭宁
梅银明
包德荣
刘海峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kingsoft Internet Security Software Co Ltd
Conew Network Technology Beijing Co Ltd
Shell Internet Beijing Security Technology Co Ltd
Zhuhai Juntian Electronic Technology Co Ltd
Beijing Kingsoft Internet Science and Technology Co Ltd
Original Assignee
Zhuhai Juntian Electronic Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Zhuhai Juntian Electronic Technology Co Ltd filed Critical Zhuhai Juntian Electronic Technology Co Ltd
Priority to CN2009102136414A priority Critical patent/CN101719208B/zh
Publication of CN101719208A publication Critical patent/CN101719208A/zh
Application granted granted Critical
Publication of CN101719208B publication Critical patent/CN101719208B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及计算机杀毒软件领域,尤其涉及一种对病毒文件自动提取特征的方法和装置。对病毒文件自动提取特征的方法,在病毒文件中选取N个适合提取病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0。本发明方法和装置所提取的病毒特征大大提高了文件扫描的速度;而且可以用一个病毒特征匹配大量的相似或者相同的病毒文件。

Description

对病毒文件自动提取特征的方法和装置
技术领域
本发明涉及计算机杀毒软件领域,尤其涉及一种对病毒文件自动提取特征的方法和装置。
背景技术
随着互联网的快速发展,计算机病毒的数量呈爆发式的增长。目前,杀毒软件对病毒文件的主要识别方法为:首先,基于病毒文件的二进制数据,提取病毒特征;然后,在对文件进行病毒扫描时,通过匹配病毒特征的来识别病毒文件。面对日益庞大的病毒文件数量,手动对全部病毒文件提取病毒特征是不可能的,也就是说,对大部分病毒文件提取特征的工作需要自动化。现有的对病毒文件自动提取特征的技术大都具有以下不足:
(1)自动提取的病毒特征平均只能够识别少量的病毒文件,因为没有考虑同类病毒文件的相似性。面对日益庞大的病毒文件数量,这会导致生成大量的病毒特征。以计算整个文件的HASH值来作为病毒特征的方法为例,一条病毒特征只能识别一个病毒文件。庞大的病毒特征数量,在扫描文件时,还会导致特征匹配的速度变慢。
(2)用于生成病毒特征的二进制数据在病毒文件中的位置不固定。在对文件进行病毒扫描时,这会导致产生大量的磁盘IO操作,进而使自身扫描速度变慢,并且影响计算机上其他程序的正常运行。
发明内容
本发明的第一目的是克服现有技术中的不足,提供一种对病毒文件自动提取特征的方法,使用该方法提取的病毒特征可识别大量的病毒文件,而且使用该病毒特征进行文件识别时的扫描速度快。
本发明的第二目的是提供一种执行上述对病毒文件自动提取特征方法的装置。
为了实现上述第一目的,采用以下技术方案:对病毒文件自动提取特征的方法,在病毒文件中选取N个适合提取病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0。
进一步的技术方案是,
所述M值为2。
再进一步的技术方案是,
所述病毒特征还需要与非病毒文件原始特征集合中的原始特征进行比对,如果比对结果为一致,则以病毒文件中另外2个固定位置的位置ID号和这2个固定位置所对应的特征值作为病毒特征再进行比对,直到遇到比对结果不一致的病毒特征;所述非病毒文件的原始特征中包括该非病毒文件中所有N个固定位置的位置ID号和这N个固定位置所对应的特征值。
为了实现上述第二目的,采用以下技术方案:对病毒文件自动提取特征的装置包括服务器端和客户端;
服务端包括:
非病毒文件原始特征集合,其中包含大量非病毒文件的原始特征,原始特征中包括该非病毒文件中所有N个固定位置的位置ID号和这N个固定位置所对应的特征值;
特征碰撞检测模块,用于判断来自客户端的病毒特征是否与非病毒文件原始特征集合中的任意一个原始特征中的M个数组一致;
通信模块,用于实现服务端与客户端的信息交互。
客户端包括:
特征提取模块,在病毒文件中选取N个适合提取病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0;
通信模块,用于实现客户端与服务端的信息交互。
上述对病毒文件自动提取特征的方法和装置的原理是,以病毒文件中某些适合提取病毒特征的固定位置作为起点,计算从该起点开始长度为L的一段二进制数据的HASH值,将固定位置ID号和该固定位置的特征值作为一组特征,选取这样的特征两组(或者更多)作为病毒特征,这样提取的病毒特征与现有的计算整个病毒文件的HASH值相比,大大提高了文件扫描的速度;而且可以用一个病毒特征匹配大量的相似或者相同的病毒文件。
具体实施方式
本发明对病毒文件自动提取特征的方法是针对现有的病毒文件进行提取合适的病毒特征,以便于使用该特征进行查毒,该病毒特征一般要求其准确性和高效性。所说的准确性是指这种病毒特征应该为病毒文件所有,不应该涵盖非病毒文件。所说的高效性是指使用一个病毒特征最好能够匹配多个相同或相似的病毒文件。
本发明对病毒文件自动提取特征的方法是,在病毒文件中选取N个适合提取病毒特征的固定位置,每个固定位置分配一个位置ID号。这里所说的固定位置是指,基于对病毒文件的认知和经验而获知的病毒特征代码经常出现的位置,比如对于可执行文件来说,可以选择文件头、文件尾、文件中部、第一个节开始位置、PE头、资源开始位置等等,至于选几个这样的位置,具体选哪个位置并不需要硬性规定。也就是说N的取值只要大于或等于2即可。在为每个位置分配ID号时,可以根据优先级别分配ID号,比如说PE头位置为病毒代码最易出现的位置,那么就可以将PE头位置的ID号设为1,其他以此类推。这些固定位置选定以后,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为病毒特征,以M=2,所选的固定位置是ID1和ID3为例,病毒特征就是两个数组:(1,ID1位置对应的特征值)和(3,ID3位置对应的特征值);本申请文件中所说的特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;比如ID1位置所对应的特征值就是,以ID1位置为起点,取长度为L的一段二进制数据来计算的HASH值,L应大于零,最好L小于4k。M≥2且M≤N,M的最佳取值是2,因为,M的取值越大,病毒特征的数组越多,该病毒特征所能匹配的病毒数量也越少,病毒扫描的速度也会变慢。
为了确保采用上述方法提取的病毒特征的准确性,还可以对上述病毒特征与非病毒文件原始特征集合中的原始特征进行比对,如果比对结果为一致,则以病毒文件中另外M个(上例为2个)固定位置的位置ID号和这M个(上例为2个)固定位置所对应的特征值作为病毒特征再进行比对,直到遇到比对结果不一致的病毒特征;这里所说的非病毒文件的原始特征中包括该非病毒文件中所有N个固定位置的位置ID号和这N个固定位置所对应的特征值。
如果某个固定位置之后的文件长度小于L,则将不足部分补入任意一个预设的默认值。这个值之所以可以使任意值,是因为,作为非病毒文件的原始特征的提取方式和病毒文件的病毒特征提取方式完全相同,如果有非病毒文件的原始特征与所提取的病毒文件的特征相同,那么该非病毒文件的原始特征也是需要补入相同的默认值,并不影响比对结果。
下面以一个病毒可执行文件为例,介绍本发明方法的具体流程。假设N=5,M=2,L=512字节;文件头位置的位置ID为ID2,文件中部的位置ID为ID1,第一个节开始位置的位置ID为ID4,PE头的位置ID为ID5,资源开始位置的位置ID为ID3。需要说明的是,非病毒文件原始特征集合中的原始特征也是对其中的所有非病毒文件采用同样的位置划分方式,且位置ID的划分也必须是一致的,且L的取值也是一样的。即,非病毒文件原始特征集合中某原始特征是五个数组:(1,ID1位置对应的特征值)、(2,ID2位置对应的特征值)、…、(5,ID5位置对应的特征值)。
a.计算病毒文件在ID号为1的固定位置(即文件头位置)上的特征值,将ID号1和ID号为1的固定位置所对应的特征值作为病毒特征的第一特征值(两个数组中的第一个);假设P为第二特征值所在固定位置的ID号,设置P=2,并执行步骤b;
b.如果P大于N(即5),则跳转到步骤e,否则继续执行本步骤;计算病毒文件在ID号为P的固定位置上的特征值,将ID号P和ID号为P的固定位置所对应的特征值作为病毒特征的第二特征值(两个数组中的第二个);执行步骤c;
c.以当前第一特征值和第二特征值构成病毒特征;然后发送病毒特征到服务端,请求执行特征碰撞检测;服务端接收到请求后,只要有一个非病毒文件的原始特征中的两个数组与所述病毒特征一致(这里所说的一致是指与病毒特征中的两个数组均一致,每个数组一致包括ID号和该ID号所对应的固定位置上的特征值均一致),则判断该病毒特征是不可取的,将P的值加1,并跳回执行步骤b;如果没有非病毒文件的原始特征与所述病毒特征一致,则该病毒特征是可行的,执行步骤d;
d.提取特征成功,输出病毒特征提取结果,流程结束;
e.提取特征失败,流程结束。
在上述方法中,将病毒特征的两个数组中的一个固定,即ID为1的位置是确定要取的,这样便于程序执行,理论上讲,选用其他组合也可以,比如ID2和ID3,但这种变形可以通过改变对固定位置的ID编号设置来实现。
按照上述步骤,如果出现特征提取失败的情况(即跳转到步骤e),这是因为病毒文件上所有的病毒特征组合都会误报非病毒文件为病毒文件。为了应对这种情况,提高本发明装置与方法的处理能力,采用如下方案:则将该病毒文件的整个文件的HASH值作为病毒特征。
对病毒文件自动提取特征的装置包括服务器端和客户端;
服务端包括:
非病毒文件原始特征集合,其中包含大量非病毒文件的原始特征,原始特征中包括该非病毒文件中所有N个固定位置的位置ID号和这N个固定位置所对应的特征值;
特征碰撞检测模块,用于判断来自客户端的病毒特征是否与非病毒文件原始特征集合中的任意一个原始特征中的M个数组一致;
通信模块,用于实现服务端与客户端的信息交互。
客户端包括:
特征提取模块,在病毒文件中选取N个适合提取病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0;
通信模块,用于实现客户端与服务端的信息交互。
以上实施例仅用以说明而非限制本发明的技术方案。不脱离本发明精神和范围的任何修改或局部替换,应涵盖在本发明的权利要求范围当中。

Claims (8)

1.对非病毒文件自动提取特征的方法,其特征在于,在非病毒文件中选取N个适合提取非病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为非病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0;所述M值为2;所述非病毒特征还需要与病毒文件原始特征集合中的原始特征进行比对,如果比对结果为一致,则以非病毒文件中另外2个固定位置的位置ID号和这2个固定位置所对应的特征值作为非病毒特征再进行比对,直到遇到比对结果不一致的非病毒特征;所述病毒文件的原始特征中包括该病毒文件中所有N个固定位置的位置ID号和这N个固定位置所对应的特征值。
2.根据权利要求1所述的对非病毒文件自动提取特征的方法,其特征在于,如果某个固定位置之后的文件长度小于L,则将不足部分补入任意一个预设的默认值。
3.根据权利要求1所述的对非病毒文件自动提取特征的方法,其特征在于,具体步骤为:
a.计算非病毒文件在ID号为1的固定位置上的特征值,将ID号1和ID号为1的固定位置所对应的特征值作为非病毒特征的第一特征值;假设P为第二特征值所在固定位置的ID号,设置P=2,并执行步骤b;
b.如果P大于N,则跳转到步骤e,否则继续执行本步骤;计算非病毒文件在ID号为P的固定位置上的特征值,将ID号P和ID号为P的固定位置所对应的特征值作为非病毒特征的第二特征值;执行步骤c;
c.以当前第一特征值和第二特征值构成非病毒特征;然后发送非病毒特征到服务端,请求执行特征碰撞检测;服务端接收到请求后,只要有一个病毒文件的原始特征中的两个数组与所述非病毒特征一致,则判断该非病毒特征是不可取的,将P的值加1,并跳回执行步骤b;如果没有病毒文件的原始特征与所述非病毒特征一致,则该非病毒特征是可行的,执行步骤d;
d.提取特征成功,输出非病毒特征提取结果,流程结束;
e.提取特征失败,流程结束。
4.根据权利要求3所述的对非病毒文件自动提取特征的方法,其特征在于,具体步骤为:
如果提取特征失败,则将该非病毒文件的整个文件的HASH值作为非病毒特征。
5.根据权利要求1-4中任意一项所述的对非病毒文件自动提取特征的方法,其特征在于,所述L<4K。
6.对非病毒文件自动提取特征的装置,其特征在于,包括服务器端和客户端;
服务端包括:
病毒文件原始特征集合,其中包含大量病毒文件的原始特征,原始特征中包括该病毒文件中所有N个固定位置的位置ID号和这N个固定位置所对应的特征值;
特征碰撞检测模块,用于判断来自客户端的非病毒特征是否与病毒文件原始特征集合中的任意一个原始特征中的M个数组一致;
通信模块,用于实现服务端与客户端的信息交互;
客户端包括:
特征提取模块,在非病毒文件中选取N个适合提取非病毒特征的固定位置,每个固定位置分配一个位置ID号,以其中M个固定位置的位置ID号和这M个固定位置所对应的特征值作为非病毒特征;所述特征值是指以某个所述固定位置为起点,取长度为L的一段二进制数据来计算的HASH值;其中N≥2,M≥2且M≤N,L>0;
通信模块,用于实现客户端与服务端的信息交互。
7.根据权利要求6所述的对非病毒文件自动提取特征的装置,其特征在于,所述M值为2。
8.根据权利要求6所述的对非病毒文件自动提取特征的装置,其特征在于,所述L<4K。
CN2009102136414A 2009-12-07 2009-12-07 对病毒文件自动提取特征的方法和装置 Active CN101719208B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2009102136414A CN101719208B (zh) 2009-12-07 2009-12-07 对病毒文件自动提取特征的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2009102136414A CN101719208B (zh) 2009-12-07 2009-12-07 对病毒文件自动提取特征的方法和装置

Publications (2)

Publication Number Publication Date
CN101719208A CN101719208A (zh) 2010-06-02
CN101719208B true CN101719208B (zh) 2012-12-05

Family

ID=42433781

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009102136414A Active CN101719208B (zh) 2009-12-07 2009-12-07 对病毒文件自动提取特征的方法和装置

Country Status (1)

Country Link
CN (1) CN101719208B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9491193B2 (en) * 2013-06-27 2016-11-08 Secureage Technology, Inc. System and method for antivirus protection
CN103559443B (zh) * 2013-11-01 2017-07-14 北京奇虎科技有限公司 多核设备的病毒扫描方法和装置
CN103729593B (zh) * 2013-12-31 2017-04-12 安一恒通(北京)科技有限公司 一种文件安全性的识别方法和系统
CN103886258A (zh) * 2014-03-10 2014-06-25 珠海市君天电子科技有限公司 一种病毒检测方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017523A (zh) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 病毒扫描系统及其方法
CN101304426A (zh) * 2008-07-10 2008-11-12 腾讯科技(深圳)有限公司 一种可疑文件的识别上报方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017523A (zh) * 2006-04-14 2007-08-15 北京瑞星国际软件有限公司 病毒扫描系统及其方法
CN101304426A (zh) * 2008-07-10 2008-11-12 腾讯科技(深圳)有限公司 一种可疑文件的识别上报方法和装置

Also Published As

Publication number Publication date
CN101719208A (zh) 2010-06-02

Similar Documents

Publication Publication Date Title
CN102594809B (zh) 一种文件快速扫描方法和系统
CN101719208B (zh) 对病毒文件自动提取特征的方法和装置
CN105447113B (zh) 一种基于大数据的信息分析方法
CN106789849B (zh) Cc攻击识别方法、节点及系统
CN103034658A (zh) 一种数据查询和报表导出的方法及系统
CN101246535A (zh) 一种修复异常文件的方法、系统和装置
CN102609515A (zh) 一种文件快速扫描方法和系统
CN104036187A (zh) 计算机病毒类型确定方法及其系统
CN103067364A (zh) 病毒检测方法及设备
CN104978521A (zh) 一种实现恶意代码标注的方法及系统
CN102932391A (zh) P2sp系统中处理数据的方法、装置和系统
CN102737119A (zh) 统一资源定位符的查找方法、过滤方法和相关设备及系统
CN102609653A (zh) 一种文件快速扫描方法和系统
CN103020521A (zh) 木马扫描方法及系统
CN104661042A (zh) 一种传输流的传输方法、装置和系统
AU2014353667A1 (en) A method of generating a reference index data structure and method for finding a position of a data pattern in a reference data structure
CN104135737A (zh) 一种lte网络基站网元配置数据获取方法
KR102367859B1 (ko) 특징 벡터를 이용하여 데이터를 분류하는 장치 및 방법
CN103177022A (zh) 一种恶意文件搜索方法及装置
CN105141681A (zh) Rpki文件的同步方法及装置
CN103401933A (zh) 一种资源信息和对应资源文件批量上传的方法和系统
US20140156809A1 (en) Data downloading method, terminal, server, and system
CN102752275A (zh) 签名库的匹配路径生成方法及相关装置
CN102682237A (zh) 针对网络下载文件的判毒方法及系统
CN113810359B (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
ASS Succession or assignment of patent right

Owner name: BEIKE INTERNET (BEIJING) SECURITY TECHNOLOGY CO.,

Free format text: FORMER OWNER: ZHUHAI JUNTIAN ELECTRONICS TECHNOLOGY CO., LTD.

Effective date: 20140704

Owner name: BEIJING GOLDEN HILL NETWORK TECHNOLOGY CO., LTD. K

Effective date: 20140704

C41 Transfer of patent application or patent right or utility model
COR Change of bibliographic data

Free format text: CORRECT: ADDRESS; FROM: 519015 ZHUHAI, GUANGDONG PROVINCE TO: 100041 SHIJINGSHAN, BEIJING

TR01 Transfer of patent right

Effective date of registration: 20140704

Address after: 100041 Beijing, Shijingshan District Xing Xing street, building 30, No. 3, building 2, A-0071

Patentee after: SHELL INTERNET (BEIJING) SECURITY TECHNOLOGY Co.,Ltd.

Patentee after: BEIJING KINGSOFT NETWORK TECHNOLOGY Co.,Ltd.

Patentee after: BEIJING KINGSOFT INTERNET SECURITY SOFTWARE Co.,Ltd.

Patentee after: CONEW NETWORK TECHNOLOGY (BEIJING) Co.,Ltd.

Patentee after: ZHUHAI JUNTIAN ELECTRONIC TECHNOLOGY Co.,Ltd.

Address before: Jinshan computer Building No. 8 Jingshan Hill Road, Lane 519015 Lianshan Jida Zhuhai city in Guangdong Province

Patentee before: Zhuhai Juntian Electronic Technology Co.,Ltd.