一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种网络病毒检测方法及网络设备与流程

2022-02-21 09:00:20 来源:中国专利 TAG:


1.本技术涉及网络病毒检测领域,尤其涉及一种网络病毒检测方法及网络设备。


背景技术:

2.网络病毒是一种通过网络传播的病毒,在传播过程中,网络病毒会破坏网络设备,例如,破坏服务器、交换机以及路由设备等。一般的,在客户端利用网络设备进行数据传输时,病毒文件会混合在正常文件中进入网络设备。因此,选择在网络设备中进行病毒查杀是一种可行的网络病毒检测方法。
3.目前,网络病毒检测的过程一般如下:网络设备获取正在传输的文件,并对文件进行缓存,缓存后计算完整缓存文件的哈希值,将该哈希值与病毒库中存储的网络病毒的哈希值进行匹配,如果得到与该哈希值相匹配的网络病毒的哈希值,则确认该缓存文件为病毒文件。
4.但是,对完整文件进行缓存并进行哈希计算,一方面,会大量占用网络设备的内存,对存储造成压力。另一方面,完整文件的哈希计算会增加网络设备cpu(central processing unit,中央处理器)的压力。由于网络病毒与正常文件的比例较小,对完整文件进行缓存及哈希计算,会导致病毒检测的效率低下。


技术实现要素:

5.本技术实施例提供了一种网络病毒检测方法及网络设备,以解决传统网络病毒检测方法缓存完整病毒文件造成的病毒检测效率低下的问题。
6.第一方面,本技术实施例提供一种网络病毒检测方法,包括:获取通过网络设备进行传输的待传输文件,以及,获取待传输文件的目标字节片段;将目标字节片段通过布隆过滤器进行过滤,以进行网络病毒的预检测;布隆过滤器是根据多个病毒文件的字节片段构建的,且布隆过滤器存储在预设病毒库中;如果过滤结果显示存在与目标字节片段相匹配的病毒文件的字节片段,缓存待传输文件;缓存后计算待传输文件的哈希值;将哈希值与参考哈希值进行匹配;参考哈希值存储在预设病毒库中;如果存在与哈希值相匹配的参考哈希值,则确认待传输文件为病毒文件。
7.在一种实现方式中,获取待传输文件的目标字节片段的步骤包括:在待传输文件开始传输时,缓存目标字节片段;目标字节片段为待传输文件首个报文的前n个字节,n小于等于首个报文的总长度。
8.在一种实现方式中,获取网络设备间进行传输的传输文件的步骤包括:获取网络设备传输数据流;在传输数据流中,识别出在通过网络设备进行传输的待传输文件。
9.在一种实现方式中,缓存后计算待传输文件的哈希值的步骤前,方法还包括:
计算待传输文件的文件大小;如果预设病毒库中存在与待传输文件的文件大小相匹配的预设病毒文件,则继续计算待传输文件的哈希值;如果预设病毒库中不存在与待传输文件的文件大小相匹配的预设病毒文件,则确认待传输文件不是病毒文件。
10.在一种实现方式中,如果预设病毒库中存在与待传输文件的文件大小相匹配的预设病毒文件,则继续计算待传输文件的哈希值的步骤后,还包括:在预设病毒库中,根据预设病毒文件的文件大小与哈希值的对应关系,获取与待传输文件的文件大小相匹配的预设病毒文件的哈希值,以作为参考哈希值。
11.在一种实现方式中,方法还包括:构建预设病毒库;计算预设病毒文件的文件大小及哈希值;将文件大小存入预设病毒库;对所有文件大小进行范围划分,以形成不同的文件大小范围;按照文件大小范围,将不同文件大小范围对应的哈希值存入预设病毒库中,以建立文件大小与哈希值的对应关系。
12.在一种实现方式中,方法还包括:获取预设病毒文件的字节片段存入预设病毒库;预设病毒文件的字节片段,与目标字节片段长度相等。
13.在一种实现方式中,如果过滤结果显示不存在与目标字节片段相匹配的病毒文件的字节片段,则确认待传输文件不是病毒文件。
14.在一种实现方式中,如果不存在与哈希值相匹配的参考哈希值,则确认待传输文件不是病毒文件。
15.第二方面,本技术实施例还提供一种网络设备,包括存储器和处理器,存储器用于存储程序指令,处理器用于通过运行程序指令,以执行下述步骤:获取通过网络设备进行传输的待传输文件,以及,获取待传输文件的目标字节片段;将目标字节片段通过布隆过滤器进行过滤,以进行网络病毒的预检测;布隆过滤器是根据多个病毒文件的字节片段构建的,且布隆过滤器存储在预设病毒库中;如果过滤结果显示存在与目标字节片段相匹配的病毒文件的字节片段,缓存待传输文件;缓存后计算待传输文件的哈希值;将哈希值与参考哈希值进行匹配;参考哈希值存储在预设病毒库中;如果存在与哈希值相匹配的参考哈希值,则确认待传输文件为病毒文件。
16.由以上技术方案可知,本技术实施例提供了一种网络病毒检测方法及网络设备,所述方法包括:获取通过网络设备进行传输的待传输文件,获取待传输文件的目标字节片段;将目标字节片段通过布隆过滤器进行过滤,以进行网络病毒的预检测;布隆过滤器是根据多个病毒文件的字节片段构建的,且布隆过滤器存储在预设病毒库中;如果过滤结果显示存在与目标字节片段相匹配的病毒文件的字节片段,缓存待传输文件;缓存后计算待传
输文件的哈希值;将哈希值与参考哈希值进行匹配;参考哈希值存储在预设病毒库中;如果存在与哈希值相匹配的参考哈希值,则确认待传输文件为病毒文件。本技术实施例提供的方法可以及时对待传输文件进行病毒的预检测,节约网络设备的内存同时能够减轻网络设备cpu的压力,减少无效哈希。
附图说明
17.为了更清楚地说明本技术的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
18.图1为本技术实施例提供的网络病毒检测方法流程示意图;图2为本技术实施例提供的网络病毒检测方法的又一种流程示意图;图3为本技术实施例提供的构建预设病毒库的流程示意图。
具体实施方式
19.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
20.需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
21.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
22.网络病毒(network virus):广义上认为,可以通过网络传播,同时破坏某些网络组件(服务器、客户端、交换和路由设备)的病毒就是网络病毒。狭义上认为,局限于网络范围的病毒就是网络病毒,即网络病毒应该是充分利用网络协议及网络体系结构作为其传播途径或机制,同时网络病毒的破坏也应是针对网络的。
23.布隆过滤器(bloom filter)是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间优于一般算法。
24.哈希(hash),是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值,这种转换是一种压缩映射。简单的说就是一种将任意长度的消息压缩到某一固定长度的消息摘要的函数。
25.md5信息摘要算法(message-digest algorithm,md5):一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输完整一致。md5算法的原理可简要的叙述为:md5码以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组,经过了一系列的处理后,算法的输出由四个32位分组组成,将这四个32位分组级联后将生成一个128位散列值。
26.网络病毒是一种通过网络传播的病毒,在传播过程中,网络病毒会破坏网络设备,例如,破坏服务器、交换机以及路由设备等。以交换机、防火墙为例,交换机及防火墙能够帮
助计算机网络于其内、外网之间构建一道相对隔绝的保护屏障,以保护用户资料与信息安全性。因此,在网络设备处进行病毒查杀可以快速的发现病毒。网络设备的网络流量中,一般包括传输的文件,例如,通过文件传输协议(file transfer protocol,ftp)进行传输的文件,或者邮件的附件等。病毒文件一般会隐匿在传输的文件中,通过网络设备进入客户端,对客户端及网络设备等进行攻击。网络设备的网络流量中,除传输的文件外,还可能包括信息搜索、听音乐以及看视频等,上述活动会使得网络流量的数据体量较大。在客户端利用网络设备进行数据传输时,病毒文件会混合在正常文件中进入网络设备。因此,选择在网络设备中进行病毒查杀是一种可行的网络病毒检测方法。
27.目前,网络病毒检测的过程一般如下:网络设备获取正在进行传输的文件,并对文件进行缓存,缓存后计算完整缓存文件的哈希值,将该哈希值与病毒库中存储的网络病毒的哈希值进行匹配,如果得到与该哈希值相匹配的网络病毒的哈希值,则确认该缓存文件为病毒文件。
28.但是,网络流量中的所有的传输文件数据体量庞大,并且其中包括的病毒文件很少,如果对完整的传输文件逐一进行缓存并进行哈希计算,一方面,会大量占用网络设备的内存,对存储造成压力。另一方面,完整文件的哈希计算会增加网络设备cpu(central processing unit,中央处理器)的压力。由于网络病毒与正常文件的比例较小,对完整文件进行哈希计算,无效哈希操作过多,会导致病毒检测的效率低下。
29.下面结合附图对本技术实施例提供的网络病毒检测方法进行示例性说明。
30.为了减轻文件缓存的压力以及网络设备cpu的消耗,本技术实施例提供一种网络病毒检测方法。参见图1,为本技术实施例提供的网络病毒检测方法流程示意图,如图1所示,本技术实施例提供的网络病毒检测方法包括以下步骤:s1:获取通过网络设备进行传输的待传输文件,以及,获取待传输文件的目标字节片段;其中,网络设备可以为交换机或者防火墙等,客户端与外网之间设置有交换机或者防火墙,在客户端需要与外网进行数据传输时,待传输文件会通过该网络设备进入客户端。因此,在网络设备对待传输文件开始传输时,获取待传输文件的目标字节片段,可以及时对该待传输文件进行病毒查验,确定待传输文件是否为病毒文件,如果不是病毒文件,可以不继续对该传输文件进行查验,如果可能为病毒文件,可以进一步对该传输文件进行查验。
31.获取通过网络设备进行传输的待传输文件的步骤可以包括:s101:获取网络设备传输数据流;s102:在传输数据流中,识别出在通过网络设备进行传输的待传输文件。
32.网络设备的传输数据流中包括众多的数据,例如信息搜索、听音乐、看视频以及传输文件等,由于病毒文件会隐匿在传输文件中,因此可以在网络设备的传输数据流中,识别出待传输文件,并对待传输文件进行病毒查验。例如,从报文中识别出http文件传输。
33.进一步的,获取待传输文件的目标字节片段的步骤可以包括:s103:在待传输文件开始传输时,缓存目标字节片段;目标字节片段为待传输文件首个报文的前n个字节,n小于等于首个报文的总长度。
34.在待传输文件开始传输时就进行目标字节片段的获取,并且目标字节片段是待传
输文件首个报文的前n个字节,可以第一时间进行病毒的预检测。
35.在一些实现方式中,n的数值可以为1000。由于一个报文的长度一般为1440字节,且报文中可能存在一些与病毒查验无关的头文件等,所以目标字节片段的长度可以选择为1000,这样,既避免了目标字节片段过短可能引发的误判断,也避免了目标字节片段过长可能导致的病毒查验效率低的问题。n的具体数值可以根据实际情况进行设计,本技术实施例不做具体限定。
36.进一步的,根据目标字节片段进行病毒查验的步骤如下:s2:将目标字节片段通过布隆过滤器进行过滤,以进行网络病毒的预检测;布隆过滤器是根据多个病毒文件的字节片段构建的,且布隆过滤器存储在预设病毒库中。
37.其中,本技术实施例提供的布隆过滤器是由大量的病毒文件的字节片段构建的,布隆过滤器能够快速的对目标字节片段及病毒文件的字节片段进行过滤,得出过滤结果,过滤结果可以显示预设病毒库中是否存在与目标字节片段相匹配的病毒文件的字节片段。
38.如果过滤结果显示存在与目标字节片段相匹配的病毒文件的字节片段,可以确定待传输文件可能为病毒文件,需要进一步进行查验。如果过滤结果显示不存在与目标字节片段相匹配的病毒文件的字节片段,则确认待传输文件不是病毒文件,该待传输文件的后续传输过程不再需要关注,后续的报文可以直接通过。就不再需要缓存待传输文件,减轻了网络设备的存储压力,减少了内存的无效占用。
39.s3:如果过滤结果显示存在与目标字节片段相匹配的病毒文件的字节片段,缓存待传输文件。
40.对待传输文件进行完整缓存后,可以进一步对待传输文件进行病毒查验。
41.s4:缓存后计算待传输文件的哈希值。
42.利用哈希值进行病毒文件的查验,是一种非常准确的病毒查验方法。在计算哈希值的具体选择上,可以是计算待传输文件的md5值,使用md5进行匹配,非常精确,病毒查验准确率高。
43.s5:将哈希值与参考哈希值进行匹配;参考哈希值存储在预设病毒库中。
44.其中,参考哈希值可以是预设病毒文件的哈希值,将待传输文件的哈希值与参考哈希值进行匹配,可以用于判断待传输文件是否为病毒文件。
45.s6:如果存在与哈希值相匹配的参考哈希值,则确认待传输文件为病毒文件。
46.如果预设病毒库中,存在与待传输文件的哈希值相匹配的预设病毒文件的哈希值,可以说明待传输文件与该预设病毒文件是相同的文件,也即,该待传输文件为病毒文件。
47.相应的,如果不存在与哈希值相匹配的参考哈希值,则确认待传输文件不是病毒文件。
48.在一些实现方式中,参见图2,为本技术实施例提供的网络病毒检测方法的又一种流程示意图。如图2所示,在对完整的待传输文件进行哈希值计算之前,本技术实施例提供的网路病毒检测方法,还可以包括以下步骤:s7:计算待传输文件的文件大小;s8:如果预设病毒库中存在与待传输文件的文件大小相匹配的预设病毒文件,则继续计算待传输文件的哈希值。
49.其中,文件大小也可以用于判断一个待传输文件是否为病毒文件,如果待传输文件的文件大小与预设病毒文件的文件大小相同,或者待传输文件的文件大小,落入预设病毒文件的文件大小组成的文件大小集合中,那么可以确定该待传输文件可能为病毒文件,可以继续进行哈希值的计算与匹配。
50.如果待传输文件的文件大小与预设病毒文件的文件大小不同,或者待传输文件的文件大小,也未落入预设病毒文件的文件大小组成的文件大小集合中,也就是说,预设病毒库中不存在与待传输文件的文件大小相匹配的预设病毒文件,则确认该待传输文件不是病毒文件,该待传输文件的后续传输过程不再需要关注,后续的报文可以直接通过。此时不再计算哈希值可以缓解网络设备cpu的压力。
51.如果预设病毒库中存在与待传输文件的文件大小相匹配的预设病毒文件,则继续计算待传输文件的哈希值的步骤后,还可以包括步骤:s9:在预设病毒库中,根据预设病毒文件的文件大小与哈希值的对应关系,获取与待传输文件的文件大小相匹配的预设病毒文件的哈希值,以作为参考哈希值。
52.预设病毒库中可能存有几万个、甚至几十万个预设病毒文件,那么相应的,也就有几万个、几十万个哈希值,如果直接将待传输文件的哈希值与预设病毒库中所有的哈希值进行匹配,会导致网络设备cpu消耗过大,导致哈希值匹配的效率过低,因此可以采用与参考哈希值进行匹配的方法,参考哈希值是所有预设病毒文件的哈希值的其中一部分,可能是几十个或者几百个,数据体量远小于所有预设病毒文件的哈希值,可以提高哈希值匹配的效率。
53.其中预设病毒文件的文件大小与哈希值的对应关系将在下文中详述,此处不再赘述。
54.在一些实现方式中,本技术实施例提供的网络病毒检测方法,还包括构建预设病毒库。参见图3,为本技术实施例提供的构建预设病毒库的流程示意图,如图3所示,构建预设病毒库的具体步骤如下:s10:构建预设病毒库;s11:计算预设病毒文件的文件大小及哈希值;s12:将文件大小存入预设病毒库;s13:对所有文件大小进行范围划分,以形成不同的文件大小范围;s14:按照文件大小范围,将不同文件大小范围对应的哈希值存入预设病毒库中,以建立文件大小与哈希值的对应关系;s15:获取预设病毒文件的字节片段存入预设病毒库;预设病毒文件的字节片段,与目标字节片段长度相等。
55.预设病毒库是根据已知的网络病毒、以及已知网络病毒的相关参数构建的数据库。具体的,预设病毒库中可以存储预设病毒文件、用于对待传输文件进行检测的预设病毒文件的文件大小及哈希值、根据预设病毒文件的字节片段构建的布隆过滤器等。
56.文件大小与哈希值的对应关系示例如下:例如,预设病毒文件的大小处于0k-500m之间,不同的文件大小散列在0k-500m之间,那么可以将文件大小进行如下的范围划分:第一范围:0k-100k;第二范围:101k-500k;第三范围:501k-1m;第四范围:1m-100m;第五范围:100m-200m;第六范围:200m-300m;第七范围:300m-400m;第八范围:400m-500m。不同范围之
间是不重叠的,且预设病毒文件的文件大小与预设病毒文件的哈希值之间是对应的,因此每一范围都可以挂靠有相应的预设病毒文件的哈希值(参考哈希值)。
57.在进行文件大小范围划分时,具体可以划分成k个范围,k的具体数值可以根据实际情况进行设计,本技术实施例对此不做具体限定。
58.如果待传输文件的文件大小落入第一范围内,那么在进行待传输文件哈希值匹配时,只需将待传输文件的哈希值,与挂靠在第一范围的预设病毒文件的哈希值进行匹配即可。
59.在一些实现方式中,在选取预设病毒文件的字节片段时,选取的字节片段可以与目标字节片段相对应,也即,字节片段也是预设病毒文件的n个字节,具体可以为前n个字节,或者去除部分头文件的后的前n个字节,这样,可以保证对目标字节片段进行匹配的准确性,不会造成误判断。
60.预设病毒文件的字节片段与目标字节片段长度相等,也就是说,当目标字节片段的长度为1000字节时,对预设病毒文件选取的字节片段的长度也为1000字节。
61.由以上技术方案可知,本技术实施例提供的网络病毒检测方法,可以应用在网络设备中,可以及时对待传输文件进行病毒的预检测,预检测后如果待传输文件可能为病毒文件,再对待传输文件进行完整缓存,这样,可以节约网络设备的内存。对预检测后的完整待传输文件进行文件大小的匹配,如果文件大小匹配,再进行完整文件的哈希计算,能够减轻网络设备cpu的压力,减少无效哈希。
62.根据上述实施例,本技术实施例还可以提供一种网络设备,可以包括存储器和处理器,存储器用于存储程序指令,处理器用于通过运行程序指令,以执行下述步骤:获取通过网络设备进行传输的待传输文件,以及,获取待传输文件的目标字节片段;将目标字节片段通过布隆过滤器进行过滤,以进行网络病毒的预检测;布隆过滤器是根据多个病毒文件的字节片段构建的,且布隆过滤器存储在预设病毒库中;如果过滤结果显示存在与目标字节片段相匹配的病毒文件的字节片段,缓存待传输文件;缓存后计算待传输文件的哈希值;将哈希值与参考哈希值进行匹配;参考哈希值存储在预设病毒库中;如果存在与哈希值相匹配的参考哈希值,则确认待传输文件为病毒文件。
63.在一些实现方式中,本技术实施例提供的网络设备可以为交换机或者防火墙等。
64.本技术实施例提供的网络设备在进行网络病毒检测时,可以迅速进行网络病毒的查验,占用内存少,cpu压力小。
65.由以上技术方案可知,本技术实施例提供了一种网络病毒检测方法及网络设备,所述方法包括:获取通过网络设备进行传输的待传输文件,获取待传输文件的目标字节片段;将目标字节片段通过布隆过滤器进行过滤,以进行网络病毒的预检测;布隆过滤器是根据多个病毒文件的字节片段构建的,且布隆过滤器存储在预设病毒库中;如果过滤结果显示存在与目标字节片段相匹配的病毒文件的字节片段,缓存待传输文件;缓存后计算待传输文件的哈希值;将哈希值与参考哈希值进行匹配;参考哈希值存储在预设病毒库中;如果存在与哈希值相匹配的参考哈希值,则确认待传输文件为病毒文件。本技术实施例提供的
方法可以及时对待传输文件进行病毒的预检测,节约网络设备的内存同时能够减轻网络设备cpu的压力,减少无效哈希。
66.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
67.本说明书中各个实施例之间相同相似的部分互相参见即可。尤其,对于实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
68.以上所述的本发明实施方式并不构成对本发明保护范围的限定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献