感染文件检测方法、服务器、处理方法、装置和检测系统与流程

文档序号:12887530阅读:270来源:国知局
感染文件检测方法、服务器、处理方法、装置和检测系统与流程

本发明涉及计算机技术领域,具体涉及一种感染文件的检测方法、处理方法、检测服务器、处理装置和检测系统。



背景技术:

随着智能终端在功能上的不断发展,各种各样基于智能终端开发的应用程序出现在市面中,以供用户下载安装,满足用户的各种需求。应用程序安装后,在其安装目录下会有很多安装文件,但是不排除应用程序被感染(病毒感染或篡改)的可能,而且一旦其中一个文件被感染,导致该应用程序无法使用或者应用程序使用过程中的安全性低。例如,有些安装文件被感染后,会导致应用程序打不开或者一打开就报错;有些带有用户信息的文件被感染,则用户再次输入用户信息时就会被窃取,使用安全性降低。

所以,急需一种如何确定应用程序中的安装文件是否被感染的方法或设备。



技术实现要素:

鉴于上述问题,提出了本发明以便提供一种克服上述问题或者至少部分地解决上述问题的感染文件的检测方法、处理方法和相应的检测服务器、处理装置和检测系统。

依据本发明的一个方面,提供了一种感染文件的检测方法,包括:

根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;其中,感染库中保存的每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值;

如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染。

可选地,根据感染库中该条记录中的白文件的内容特征值查询下载库中的记录;其中,下载库中保存的每条记录包括:白文件的内容特征值和白文件本身;

如果从下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录,则生成下载相应白文件本身的下载地址,向客户端返回待检测文件被感染的通知并将所述下载地址和白文件的内容特征值返回给客户端。

可选地,下载库中保存的每条记录还包括:白文件的大小信息;

该方法还包括:将白文件的大小信息与所述下载地址和白文件的内容特征值一起返回给客户端。

可选地,如果根据待检测文件的文件特征值和内容特征值查询感染库,未查询到匹配的记录,则将待检测文件的文件特征值和内容特征值作为一条记录保存到日志库中。

可选地,获取日志库中的一条记录,根据该记录中的文件特征值查询白文件样本库的记录,如果查询到匹配的记录,进一步将日志库中的该记录中的内容特征值与白文件样本库中所述匹配的记录中的白文件的内容特征值进行对比;其中,白文件样本库中的每条记录包括:文件特征值、白文件的内容特征值和白文件本身;

如果两者不相同,则确定日志库中的该记录对应的待检测文件为被感染后的黑文件,将该待检测文件对应的文件特征值和内容特征值以及相应白文件的内容特征值作为一条记录导入感染库中,将相应白文件的内容特征值和白文件本身作为一条记录导入下载库中。

可选地,所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

所述文件的微特征通过如下方式获得:从文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为所述文件的微特征;其中n为自然数。

可选地,从文件中随机截取n段数据进一步包括:

根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从文件中随机截取n段数据。

可选地,所述文件内容特征值包括:md5值,和/或,sha1值。

根据本发明的另一方面,提供了一种感染文件的处理方法,包括:

获取待检测文件的文件特征值和内容特征值,并发送到服务器;

接收服务器返回的待检测文件被感染的通知,以及接收服务器返回的下载地址和白文件的内容特征值;

根据所述下载地址下载对应文件,并通过比对下载的对应文件的内容特征值与所述白文件的内容特征值,对下载的对应文件进行校验。

可选地,接收服务器返回的白文件的大小信息;

通过比对下载的对应文件的大小信息与服务器返回的白文件的大小信息,对下载的对应文件进行进一步校验。

可选地,所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

所述待检测文件的微特征值通过如下方式获得:从待检测文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

可选地,从待检测文件中随机截取n段数据进一步包括:

根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从待检测文件中随机截取n段数据。

根据本发明的又一方面,提供了一种感染文件的检测服务器,包括:

感染库,适于保存感染文件记录,其每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值;

搜索检测模块,适于根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染。

可选地,还包括:

下载库,适于保存白文件记录,其每条记录包括:白文件的内容特征值和白文件本身;

所述搜索检测模块,还适于根据感染库中该条记录中的白文件的内容特征值查询下载库中的记录;如果从下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录,则生成下载相应白文件本身的下载地址,向客户端返回待检测文件被感染的通知并将所述下载地址和白文件的内容特征值返回给客户端。

可选地,所述下载库中保存的每条记录还包括:白文件的大小信息;

所述搜索检测模块,还适于将白文件的大小信息与所述下载地址和白文件的内容特征值一起返回给客户端。

可选地,还包括:日志库;

所述搜索检测模块,还适于当根据待检测文件的文件特征值和内容特征值查询感染库,未查询到匹配的记录时,将待检测文件的文件特征值和内容特征值作为一条记录保存到日志库中。

可选地,还包括:

白文件样本库,适于保存全量白文件记录,其每条记录包括:文件特征值、白文件的内容特征值和白文件本身;

日志处理模块,适于获取日志库中的一条记录,根据该记录中的文件特征值查询白文件样本库的记录,如果查询到匹配的记录,进一步将日志库中的该记录中的内容特征值与白文件样本库中所述匹配记录中的白文件的内容特征值进行对比;如果两者不相同,则确定日志库中的该记录对应的待检测文件为被感染后的黑文件,将该待检测文件对应的文件特征值和内容特征值以及相应白文件的内容特征值作为一条记录导入感染库中,将相应白文件的内容特征值和白文件本身作为一条记录导入下载库中。

可选地,该服务器还包括:后端引擎模块,适于计算文件特征值;

所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

当所述文件特征值包括文件的微特征时,所述后端引擎模块,适于从文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为所述文件的微特征;其中n为自然数。

可选地,所述后端引擎模块,进一步适于根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从文件中随机截取n段数据。

可选地,所述文件内容特征值包括:md5值,和/或,sha1值。

根据本发明的再一方面,提供了一种感染文件的处理装置,包括:

特征值获取模块,适于获取待检测文件的文件特征值和内容特征值;

交互模块,适于将检测文件的文件特征值和内容特征值发送到服务器,接收服务器返回的待检测文件被感染的通知,以及接收服务器返回的下载地址和白文件的内容特征值;

文件下载单元,适于根据所述下载地址下载对应文件,并通过比对下载的对应文件的内容特征值与所述白文件的内容特征值,对下载的对应文件进行校验。

可选地,所述交互模块,还适于接收服务器返回的白文件的大小信息;

所述文件下载单元,进一步适于通过比对下载的对应文件的大小信息与服务器返回的白文件的大小信息,对下载的对应文件进行进一步校验。

可选地,所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

当文件特征值包括文件的微特征时,所述特征值获取模块,适于从待检测文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

可选地,所述特征值获取模块,进一步适于根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从待检测文件中随机截取n段数据。

根据本发明的再一方面,提供了一种感染文件检测系统,其中,该系统包括:如前所述的服务器,以及如前所述的装置。

根据本发明的技术方案,根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;其中,感染库中保存的每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值;如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染,当确定文件被感染后可以及时通知用户,以便用户进行相应的处理。可见,通过本发明的技术方案,可以及时有效地确定待检测文件是否被感染,进一步将可以感染信息及时通知给用户,以便用户及时进行相应的处理。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:

图1示出了根据本发明一个实施例的一种感染文件的检测方法的流程示意图;

图2示出了根据本发明一个实施例的一种感染文件的处理方法的流程示意图;

图3示出了根据本发明一个实施例的一种感染文件的检测服务器的结构示意图;

图4示出了根据本发明另一个实施例的一种感染文件的检测服务器的结构示意图;

图5示出了根据本发明一个实施例的一种感染文件的处理装置的结构示意图;

图6示出了根据本发明一个实施例的一种感染文件的检测系统的结构示意图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的一种感染文件的检测方法的流程示意图,从服务器侧说明本发明的技术方案。如图1所示,该方法包括:

步骤s110,根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;其中,感染库中保存的每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值。

本实施例中的黑文件是被感染的文件,白文件是未被感染的文件。

本实施例中的待检测文件可以是应用程序安装目录下的安装文件,例如,dll文件等。这里的文件特征值是指文件被感染前和被感染后都不会变化的特征值;内容特征值是随着指文件内容变化而变化的特征值。也就是说,当文件被感染的时候,其文件内容会发生变化,那么其内容特征值是会发生变化的,但是不管文件内容如何变化,其文件特征值都是不变的。这里的文件特征值可以是文件的数字签名或微特征,其中微特征将在下文中具体说明;内容特征值可以是md5值或者sha1值。

本实施例中的感染库中存储的记录是在先被感染的文件的文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值。例如,用户1的文件a.dll被感染了,就会记录到该感染库中,当用户2的a.dll也被感染后,就可以通过查询感染库中的记录而得知用户2的a.dll是否被感染,而无需再进行一次检测。

步骤s120,如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染。

如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,说明该文件在感染库中有记录,则可以确定该文件已经被感染。这里的感染可以是被病毒感染,也可以是内容被篡改。

当确定待检测的文件被感染后,可以向用户发送预警信息,通知用户该文件被感染,用户就可以该预警信息进行相应的处理,例如,卸载后,重新下载。

可见,通过本发明的技术方案,可以及时有效地确定待检测文件是否被感染,进一步将可以感染信息及时通知给用户,以便用户及时进行相应的处理。

因为应用程序中的一个安装文件被感染,会导致应用程序无法正常使用,一旦出现这种情况,通常的处理方法是用户卸载该应用程序,并重新下载整个应用程序。但是这种方式,一方面下载过程耗时,特别是较大的应用程序;另一方面,如果用户无法连接wifi时,只能消耗流量进行下载,导致用户的流量数据的浪费;上述两种情形都会降低用户体验。

为了解决上述问题,在本发明的一个实施例中,图1所示的还包括:根据感染库中该条记录中的白文件的内容特征值查询下载库中的记录;其中,下载库中保存的每条记录包括:白文件的内容特征值和白文件本身;如果从下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录,则生成下载相应白文件本身的下载地址,向客户端返回待检测文件被感染的通知并将下载地址和白文件的内容特征值返回给客户端。

本实施例中,因为感染库中的每条记录都不仅包括黑文件的内容特征值,还包括对应的白文件的内容特征值,一旦待检测的文件确定被感染,则根据对应的白文件的内容特征值查询下载库中的记录。当在下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录后,不仅要向客户端发送通知,还返回该待检测文件的下载地址和白文件的内容特征值。

本实施例中的下载地址是在下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录后生成该待检测文件的下载地址。用户只需根据该下载地址下载该待检测文件即可,而无需下载整个应用程序,耗时较短,也不会消耗过多的流量数据,增强用户体验。

本实施例中的白文件的内容特征值可以作为校验值。因为不排除用户使用该下载地址下载该待检测的文件对应的白文件的过程中,该正在下载的白文件也被感染,所以为了保证下载的白文件的有效性,防止白文件又变成黑文件,在下载该白文件后,计算该白文件的内容特征值,与服务器返回给客户端的白文件的内容特征值进行比较,如果一致,则说明下载的白文件是正常的,如果不一致,则说明下载的白文件是异常的,可能也被感染了。

为了进一步确保用户使用下载地址下载的白文件的有效性,防止其下载的时候被感染导致的应用程序无法使用的问题,在本发明的一个实施例中,上述的下载库中保存的每条记录还包括:白文件的大小信息。

则上述该方法还包括:将白文件的大小信息与下载地址和白文件的内容特征值一起返回给客户端。

本实施例中的白文件的大小信息也可以作为校验值。在下载该白文件后,在进行内容特征值校验的基础上,计算该白文件的大小信息,与服务器返回给客户端的白文件的大小信息进行比较,即进行双重校验,如果均一致,则说明下载的白文件是正常的,如果其中任意一个值不一致,则说明下载的白文件是异常的,可能也被感染了。

在上述查询感染库的方案中,可能会出现查询不到结果的情况,但是这并不能说明待检测的文件就是没有被感染的。所以,为了进一步对待检测的文件进行检测,在本发明的一个实施例中,图1所示的方法还包括:如果根据待检测文件的文件特征值和内容特征值查询感染库,未查询到匹配的记录,则将待检测文件的文件特征值和内容特征值作为一条记录保存到日志库中。

进一步地,上述的方法还包括:

获取日志库中的一条记录,根据该记录中的文件特征值查询白文件样本库的记录,如果查询到匹配的记录,进一步将日志库中的该记录中的内容特征值与白文件样本库中匹配的记录中的白文件的内容特征值进行对比;其中,白文件样本库中的每条记录包括:文件特征值、白文件的内容特征值和白文件本身。

如果两者相同,则确定日志库中该条记录对应的文件是白文件。

如果两者不相同,则确定日志库中的该记录对应的待检测文件为被感染后的黑文件,将该待检测文件对应的文件特征值和内容特征值以及相应白文件的内容特征值作为一条记录导入感染库中,将相应白文件的内容特征值和白文件本身作为一条记录导入下载库中,更新感染库中的记录和下载库中的记录,当再次出现相同的被感染的待检测文件时,可以及时有效的检测出来。

在本发明的一个实施例中,上述的文件特征值包括:文件的数字签名,和/或,文件的微特征。

本实施例中的文件数字签名,可以通过数字签名证书来获得文件的数字签名,作为文件的唯一标识,且无论文件的内容如何改变,数字签名是无法改变的。

本实施例中的文件的微特征通过如下方式获得:从文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

本实施例中的将该n个哈希值拼接在一起得到一个字符串作为文件的微特征,可以是将计算的n个哈希值以预先设定的规则进行拼接,例如,按照截取数据的顺序、倒序、或者预设顺序进行拼接。

具体地,上述的从文件中随机截取n段数据进一步包括:根据被感染的样本文件确定文件的易被感染位置,以及避开易被感染位置从文件中随机截取n段数据。因为截取的n段数据是不易被感染的,所以当文件被感染后,计算出来的文件的微特征也是不会改变的。

例如,一个a.dll文件,分析大量被感染的样本文件,获得大部分病毒在感染样本文件时会感染文件的哪些位置。然后打开这个a.dll文件,加载到内存里之后,避开经过上述分许后获得的位置,随机截取五段数据,计算出一个哈希字符串xxx-xxx-xxx-xxx-xxx,每一段计算出一个唯一值,并按着截取顺序连接起来,作为a.dll文件的微特征。

根据上述的文件的数字签名,和/或,文件的微特征去表示唯一的文件,保证将该文件在感染前和感染后对应起来。

在本发明的一个实施例中,上述的文件内容特征值包括:md5值,和/或,sha1值。

图2示出了根据本发明一个实施例的一种感染文件的处理方法的流程示意图,从客户端侧说明本发明的技术方案。如图2所示,该方法包括:

步骤s210,获取待检测文件的文件特征值和内容特征值,并发送到服务器。

本实施例中的获取待检测文件的文件特征值和内容特征值的方法同服务器侧的获取方法一致。

步骤s220,接收服务器返回的待检测文件被感染的通知,以及接收服务器返回的下载地址和白文件的内容特征值。

当服务器检测到待检测的文件被感染后,会返回一个通知,以告知用户;以及该待检测文件的白文件对应的下载地址,以便用户进行下载;还会返回白文件的内容特征值,以便对下载的该待检测文件的白文件进行校验。

步骤s230,根据下载地址下载对应文件,并通过比对下载的对应文件的内容特征值与白文件的内容特征值,对下载的对应文件进行校验。

也就是说,用户通过本技术方案,只需待检测文件对应的白文件即可,无需下载整个应用程序,耗时较短,也不会消耗过多的流量数据,增强用户体验。

可见,通过上述的技术方案,用户不仅可以及时有效地得知待检测文件是否被感染,还可以通过返回的下载地址下载待检测文件的白文件并进行校验,相比较下载整个应用程序,耗时较短,增强用户体验。

在本发明的一个实施例中,图2所示的方法还包括:接收服务器返回的白文件的大小信息;通过比对下载的对应文件的大小信息与服务器返回的白文件的大小信息,对下载的对应文件进行进一步校验。

针对校验,上文已有详细说明,在此不再赘述。

在本发明的一个实施例中,上述的文件特征值包括:文件的数字签名,和/或,文件的微特征。

其中,待检测文件的微特征值通过如下方式获得:从待检测文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

进一步地,上述的从待检测文件中随机截取n段数据进一步包括:根据被感染的样本文件确定文件的易被感染位置,以及避开易被感染位置从待检测文件中随机截取n段数据。

图3示出了根据本发明一个实施例的一种感染文件的检测服务器的结构示意图。如图3所示,该感染文件的检测服务器300包括:

感染库310,适于保存感染文件记录,其每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值。

搜索检测模块320,适于根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染。

本实施例中的黑文件是被感染的文件,白文件是未被感染的文件。

本实施例中的待检测文件可以是应用程序安装目录下的安装文件,例如,dll文件等。这里的文件特征值是指文件被感染前和被感染后都不会变化的特征值;内容特征值是随着指文件内容变化而变化的特征值。也就是说,当文件被感染的时候,其文件内容会发生变化,那么其内容特征值是会发生变化的,但是不管文件内容如何变化,其文件特征值都是不变的。这里的文件特征值可以是文件的数字签名或微特征,其中微特征将在下文中具体说明;内容特征值可以是md5值或者sha1值。

本实施例中的感染库中存储的记录是在先被感染的文件的文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值。例如,用户1的文件a.dll被感染了,就会记录到该感染库中,当用户2的a.dll也被感染后,就可以通过查询感染库中的记录而得知用户2的a.dll是否被感染,而无需再进行一次检测。

如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,说明该文件在感染库中有记录,则可以确定该文件已经被感染。这里的感染可以是被病毒感染,也可以是内容被篡改。

当确定待检测的文件被感染后,可以向用户发送预警信息,通知用户该文件被感染,用户就可以该预警信息进行相应的处理,例如,卸载后,重新下载。

可见,通过本发明的技术方案,可以及时有效地确定待检测文件是否被感染,进一步将可以感染信息及时通知给用户,以便用户进行相应的处理。

因为应用程序中的一个安装文件被感染,会导致应用程序无法正常使用,一旦出现这种情况,通常的处理方法是用户卸载该应用程序,并重新下载整个应用程序。但是这种方式,一方面下载过程耗时,特别是较大的应用程序;另一方面,如果用户无法连接wifi时,只能消耗流量进行下载,导致用户的流量数据的浪费;降低用户体验。

为了解决上述问题,图4示出了根据本发明另一个实施例的一种感染文件的检测服务器的结构示意图。如图4所示,该感染文件的检测服务器400包括:感染库410、搜索检测模块420、下载库430、日志库440、白文件样本库450、日志处理模块460、后端引擎模块470。其中,感染库410、搜索检测模块420与图3所示的感染库310、搜索检测模块320具有对应相同的功能,相同的部分在此不再赘述。

下载库430,适于保存白文件记录,其每条记录包括:白文件的内容特征值和白文件本身。

搜索检测模块420,还适于根据感染库中该条记录中的白文件的内容特征值查询下载库430中的记录;如果从下载库430中查询到包括感染库中该条记录中的白文件的内容特征值的记录,则生成下载相应白文件本身的下载地址,向客户端返回待检测文件被感染的通知并将下载地址和白文件的内容特征值返回给客户端。

本实施例中,因为感染库中的每条记录都不仅包括黑文件的内容特征值,还包括对应的白文件的内容特征值,一旦待检测的文件确定被感染,则根据对应的白文件的内容特征值查询下载库中的记录。当在下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录后,不仅要向客户端发送通知,还返回该待检测文件的下载地址和白文件的内容特征值。

本实施例中的下载地址是在下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录后生成该待检测文件的下载地址。用户只需根据该下载地址下载该待检测文件即可,而无需下载整个应用程序,耗时较短,也不会消耗过多的流量数据,增强用户体验。

本实施例中的白文件的内容特征值可以作为校验值。因为不排除用户使用该下载地址下载该待检测的文件对应的白文件的过程中,该正在下载的白文件也被感染,所以为了保证下载的白文件的有效性,防止白文件又变成黑文件,在下载该白文件后,计算该白文件的内容特征值,与服务器返回给客户端的白文件的内容特征值进行比较,如果一致,则说明下载的白文件是正常的,如果不一致,则说明下载的白文件是异常的,可能也被感染了。

为了进一步确保用户使用下载地址下载的白文件的有效性,防止其下载的时候被感染导致的应用程序无法使用的问题,在本发明的一个实施例中,下载库430中保存的每条记录还包括:白文件的大小信息。

搜索检测模块420,还适于将白文件的大小信息与下载地址和白文件的内容特征值一起返回给客户端。

本实施例中的白文件的大小信息也可以作为校验值。在下载该白文件后,在进行内容特征值校验的基础上,计算该白文件的大小信息,与服务器返回给客户端的白文件的大小信息进行比较,即进行双重校验,如果均一致,则说明下载的白文件是正常的,如果其中任意一个值不一致,则说明下载的白文件是异常的,可能也被感染了。

在上述查询感染库的方案中,可能会出现查询不到结果的情况,但是这并不能说明待检测的文件就是没有被感染的。所以,为了进一步对待检测的文件进行检测,在本发明的一个实施例中,图4所示的服务器还包括:日志库440。

搜索检测模块420,还适于当根据待检测文件的文件特征值和内容特征值查询感染库,未查询到匹配的记录时,将待检测文件的文件特征值和内容特征值作为一条记录保存到日志库中。

进一步地,图4所示的服务器还包括:

白文件样本库450,适于保存全量白文件记录,其每条记录包括:文件特征值、白文件的内容特征值和白文件本身。

日志处理模块460,适于获取日志库430中的一条记录,根据该记录中的文件特征值查询白文件样本库的记录,如果查询到匹配的记录,进一步将日志库中的该记录中的内容特征值与白文件样本库440中匹配记录中的白文件的内容特征值进行对比。如果两者相同,则确定日志库中该条记录对应的文件是白文件;如果两者不相同,则确定日志库中的该记录对应的待检测文件为被感染后的黑文件,将该待检测文件对应的文件特征值和内容特征值以及相应白文件的内容特征值作为一条记录导入感染库中,将相应白文件的内容特征值和白文件本身作为一条记录导入下载库430中,更新感染库中的记录和下载库中的记录,当再次出现相同的被感染的待检测文件时,可以及时有效的检测出来。

在本发明的一个实施例中,图4所示的服务器还包括:后端引擎模块470,适于计算文件特征值。

文件特征值包括:文件的数字签名,和/或,文件的微特征。

本实施例中的文件数字签名,可以通过数字签名证书来获得文件的数字签名,作为文件的唯一标识,且无论文件的内容如何改变,数字签名是无法改变的。

当文件特征值包括文件的微特征时,后端引擎模块470,适于从文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

本实施例中的将该n个哈希值拼接在一起得到一个字符串作为文件的微特征,可以是将计算的n个哈希值以预先设定的规则进行拼接,例如,按照截取数据的顺序、倒序、或者预设顺序进行拼接。

具体地,后端引擎模块470,进一步适于根据被感染的样本文件确定文件的易被感染位置,以及避开易被感染位置从文件中随机截取n段数据。

因为截取的n段数据是不易被感染的,所以当文件被感染后,计算出来的文件的微特征也是不会改变的。例如,一个a.dll文件,分析大量被感染的样本文件,获得大部分病毒在感染样本文件时会感染文件的哪些位置。然后打开这个a.dll文件,加载到内存里之后,避开经过上述分许后获得的位置,随机截取五段数据,计算出一个哈希字符串xxx-xxx-xxx-xxx-xxx,每一段计算出一个唯一值,并按着截取顺序连接起来,作为a.dll文件的微特征。

根据上述的文件的数字签名,和/或,文件的微特征去表示唯一的文件,保证将该文件在感染前和感染后对应起来。

在本发明的一个实施例中,文件内容特征值包括:md5值,和/或,sha1值。

图5示出了根据本发明一个实施例的一种感染文件的处理装置的结构示意图。如图5所示,该感染文件的处理装置500包括:

特征值获取模块510,适于获取待检测文件的文件特征值和内容特征值。

本实施例中的获取待检测文件的文件特征值和内容特征值的方法同服务器侧的获取方法一致。

交互模块520,适于将检测文件的文件特征值和内容特征值发送到服务器,接收服务器返回的待检测文件被感染的通知,以及接收服务器返回的下载地址和白文件的内容特征值。

当服务器检测到待检测的文件被感染后,会返回一个通知,以告知用户;以及该待检测文件的白文件对应的下载地址,以便用户进行下载;还会返回白文件的内容特征值,以便对下载的该待检测文件的白文件进行校验。

文件下载单元530,适于根据下载地址下载对应文件,并通过比对下载的对应文件的内容特征值与白文件的内容特征值,对下载的对应文件进行校验。

也就是说,用户通过本技术方案,只需待检测文件对应的白文件即可,无需下载整个应用程序,耗时较短,也不会消耗过多的流量数据,增强用户体验。

可见,通过上述的技术方案,用户不仅可以及时有效地得知待检测文件是否被感染,还可以通过返回的下载地址下载待检测文件的白文件并进行校验,相比较下载整个应用程序,耗时较短,增强用户体验。

在本发明的一个实施例中,交互模块520,还适于接收服务器返回的白文件的大小信息。

文件下载单元530,进一步适于通过比对下载的对应文件的大小信息与服务器返回的白文件的大小信息,对下载的对应文件进行进一步校验。

在本发明的一个实施例中,文件特征值包括:文件的数字签名,和/或,文件的微特征。

当文件特征值包括文件的微特征时,特征值获取模块510,适于从待检测文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

具体地,特征值获取模块510,进一步适于根据被感染的样本文件确定文件的易被感染位置,以及避开易被感染位置从待检测文件中随机截取n段数据。

图6示出了根据本发明一个实施例的一种感染文件的检测系统的结构示意图。如图6所示,该感染文件检测系统600包括:如图3或图4所示的感染文件的检测服务器610,以及如图5所示的感染文件的处理装置620。

需要说明的是图6所示的系统的各实施例与图3或图4所示的服务器的各实施例以及图5所示的感染文件的处理装置的各实施例对应相同,上文已有详细说明,在此不再赘述。

综上所述,根据本发明的技术方案,根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;其中,感染库中保存的每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值;如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染,当确定文件被感染后可以及时通知用户,以便用户进行相应的处理。可见,通过本发明的技术方案,可以及时有效地确定待检测文件是否被感染,进一步将可以感染信息及时通知给用户,以便用户及时进行相应的处理。

需要说明的是:

在此提供的算法和显示不与任何特定计算机、虚拟装置或者其它设备固有相关。各种通用装置也可以与基于在此的示教一起使用。根据上面的描述,构造这类装置所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。

在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。

类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的感染文件的检测服务器、处理装置和检测系统中的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形式提供。

应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。

本发明公开了a1、一种感染文件的检测方法,包括:

根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;其中,感染库中保存的每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值;

如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染。

a2、如a1所述的方法,还包括:

根据感染库中该条记录中的白文件的内容特征值查询下载库中的记录;其中,下载库中保存的每条记录包括:白文件的内容特征值和白文件本身;

如果从下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录,则生成下载相应白文件本身的下载地址,向客户端返回待检测文件被感染的通知并将所述下载地址和白文件的内容特征值返回给客户端。

a3、如a2所述的方法,其中,

下载库中保存的每条记录还包括:白文件的大小信息;

该方法还包括:将白文件的大小信息与所述下载地址和白文件的内容特征值一起返回给客户端。

a4、如a1所述的方法,还包括:

如果根据待检测文件的文件特征值和内容特征值查询感染库,未查询到匹配的记录,则将待检测文件的文件特征值和内容特征值作为一条记录保存到日志库中。

a5、如a4所述的方法,还包括:

获取日志库中的一条记录,根据该记录中的文件特征值查询白文件样本库的记录,如果查询到匹配的记录,进一步将日志库中的该记录中的内容特征值与白文件样本库中所述匹配的记录中的白文件的内容特征值进行对比;其中,白文件样本库中的每条记录包括:文件特征值、白文件的内容特征值和白文件本身;

如果两者不相同,则确定日志库中的该记录对应的待检测文件为被感染后的黑文件,将该待检测文件对应的文件特征值和内容特征值以及相应白文件的内容特征值作为一条记录导入感染库中,将相应白文件的内容特征值和白文件本身作为一条记录导入下载库中。

a6、如a1-a5中任一项所述的方法,其中,

所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

所述文件的微特征通过如下方式获得:从文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为所述文件的微特征;其中n为自然数。

a7、如a6所述的方法,其中,从文件中随机截取n段数据进一步包括:

根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从文件中随机截取n段数据。

a8、如a1-a7中任一项所述的方法,其中,

所述文件内容特征值包括:md5值,和/或,sha1值。

本发明还公开了b9、一种感染文件的处理方法,包括:

获取待检测文件的文件特征值和内容特征值,并发送到服务器;

接收服务器返回的待检测文件被感染的通知,以及接收服务器返回的下载地址和白文件的内容特征值;

根据所述下载地址下载对应文件,并通过比对下载的对应文件的内容特征值与所述白文件的内容特征值,对下载的对应文件进行校验。

b10、如b9所述的方法,还包括:

接收服务器返回的白文件的大小信息;

通过比对下载的对应文件的大小信息与服务器返回的白文件的大小信息,对下载的对应文件进行进一步校验。

b11、如b9所述的方法,其中,所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

所述待检测文件的微特征值通过如下方式获得:从待检测文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

b12、如b11所述的方法,其中从待检测文件中随机截取n段数据进一步包括:

根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从待检测文件中随机截取n段数据。

本发明公开了c13、一种感染文件的检测服务器,包括:

感染库,适于保存感染文件记录,其每条记录包括:文件特征值、被感染后的黑文件的内容特征值和未被感染的白文件的内容特征值;

搜索检测模块,适于根据客户端发送的待检测文件的文件特征值和内容特征值查询感染库中的记录;如果待检测文件的文件特征值和内容特征值分别与感染库中的一条记录中的文件特征值和黑文件的内容特征值匹配,则确定该文件被感染。

c14、如c13所述的检测服务器,还包括:

下载库,适于保存白文件记录,其每条记录包括:白文件的内容特征值和白文件本身;

所述搜索检测模块,还适于根据感染库中该条记录中的白文件的内容特征值查询下载库中的记录;如果从下载库中查询到包括感染库中该条记录中的白文件的内容特征值的记录,则生成下载相应白文件本身的下载地址,向客户端返回待检测文件被感染的通知并将所述下载地址和白文件的内容特征值返回给客户端。

c15、如c14所述的检测服务器,其中,

所述下载库中保存的每条记录还包括:白文件的大小信息;

所述搜索检测模块,还适于将白文件的大小信息与所述下载地址和白文件的内容特征值一起返回给客户端。

c16、如c13所述的检测服务器,还包括:日志库;

所述搜索检测模块,还适于当根据待检测文件的文件特征值和内容特征值查询感染库,未查询到匹配的记录时,将待检测文件的文件特征值和内容特征值作为一条记录保存到日志库中。

c17、如c16所述的检测服务器,还包括:

白文件样本库,适于保存全量白文件记录,其每条记录包括:文件特征值、白文件的内容特征值和白文件本身;

日志处理模块,适于获取日志库中的一条记录,根据该记录中的文件特征值查询白文件样本库的记录,如果查询到匹配的记录,进一步将日志库中的该记录中的内容特征值与白文件样本库中所述匹配记录中的白文件的内容特征值进行对比;如果两者不相同,则确定日志库中的该记录对应的待检测文件为被感染后的黑文件,将该待检测文件对应的文件特征值和内容特征值以及相应白文件的内容特征值作为一条记录导入感染库中,将相应白文件的内容特征值和白文件本身作为一条记录导入下载库中。

c18、如c13-c17中任一项所述的检测服务器,其中,该服务器还包括:后端引擎模块,适于计算文件特征值;

所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

当所述文件特征值包括文件的微特征时,所述后端引擎模块,适于从文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为所述文件的微特征;其中n为自然数。

c19、如c18所述的检测服务器,其中,所述后端引擎模块,进一步适于根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从文件中随机截取n段数据。

c20、如c13-c19中任一项所述的检测服务器,其中,

所述文件内容特征值包括:md5值,和/或,sha1值。

本发明还公开了d21、一种感染文件的处理装置,包括:

特征值获取模块,适于获取待检测文件的文件特征值和内容特征值;

交互模块,适于将检测文件的文件特征值和内容特征值发送到服务器,接收服务器返回的待检测文件被感染的通知,以及接收服务器返回的下载地址和白文件的内容特征值;

文件下载单元,适于根据所述下载地址下载对应文件,并通过比对下载的对应文件的内容特征值与所述白文件的内容特征值,对下载的对应文件进行校验。

d22、如d21所述的处理装置,其中,

所述交互模块,还适于接收服务器返回的白文件的大小信息;

所述文件下载单元,进一步适于通过比对下载的对应文件的大小信息与服务器返回的白文件的大小信息,对下载的对应文件进行进一步校验。

d23、如d21所述的处理装置,其中,所述文件特征值包括:文件的数字签名,和/或,文件的微特征;

当文件特征值包括文件的微特征时,所述特征值获取模块,适于从待检测文件中随机截取n段数据;对该n段数据分别进行哈希计算得到n个哈希值;将该n个哈希值拼接在一起得到一个字符串作为文件的微特征;其中n为自然数。

d24、如d23所述的处理装置,其中,

所述特征值获取模块,进一步适于根据被感染的样本文件确定文件的易被感染位置,以及避开所述易被感染位置从待检测文件中随机截取n段数据。

本发明还公开了f25、一种感染文件检测系统,其中,该系统包括:如c13-c20中任一项所述的检测服务器,以及如d21-d24中任一项所述的处理装置。

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