CN102893580A - 反病毒方法和装置及防火墙设备 - Google Patents

反病毒方法和装置及防火墙设备 Download PDF

Info

Publication number
CN102893580A
CN102893580A CN2012800010017A CN201280001001A CN102893580A CN 102893580 A CN102893580 A CN 102893580A CN 2012800010017 A CN2012800010017 A CN 2012800010017A CN 201280001001 A CN201280001001 A CN 201280001001A CN 102893580 A CN102893580 A CN 102893580A
Authority
CN
China
Prior art keywords
packet
load data
file
formation
decompression
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.)
Pending
Application number
CN2012800010017A
Other languages
English (en)
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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies 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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Publication of CN102893580A publication Critical patent/CN102893580A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明提供一种反病毒方法和装置及防火墙设备,该方法包括第一线程接收网络传输的属于同一个数据流的各数据包,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中;第二线程从第一队列的起始位置读取至少一个数据包的载荷数据,根据读取的载荷数据确认该第一队列中的载荷数据是否是压缩文件的文件内容;若确认该第一队列中的载荷数据是压缩文件的文件内容,则识别该压缩文件的压缩格式;从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法从该第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行解压缩处理;分别对每次解压缩处理后得到文件内容进行反病毒检测。

Description

反病毒方法和装置及防火墙设备
技术领域
本发明涉及计算机技术,尤其涉及一种反病毒(Anti-Virus;简称:AV)方法和装置及防火墙设备。
背景技术
由于人们越来越依赖网络,因此,网络安全也越来越重要。目前,防火墙设备成为了网络安全中必不可少的设备。其中,防火墙设备是指一种用来加强网络之间访问控制、防止外部网络用户以非法手段通过外部网络进入内部网络来访问内部网络资源、保护内部网络操作环境的特殊网络互连设备。
现有技术中,防火墙设备提供AV检测的功能,用于对网络中传输的文件进行威胁检测,以判断该文件中是否存在病毒。另外,该AV检测的主要原理是:首先判断网络上传输的文件是否是压缩格式,如果所传输的文件是压缩文件,在已缓存了承载该文件的所有数据包的载荷数据后,根据缓存的各数据包的载荷数据重组生成整个压缩文件,然后对该压缩文件进行解压缩处理,并对解压缩后的文件进行病毒扫描。
但是,由于在AV检测中,当文件的文件类型为压缩格式时,需要先将承载压缩格式的文件的全部数据包的载荷部分缓存,并根据缓存的各数据包的载荷部分重组生成整个压缩文件之后,才可以对生成的压缩文件进行解压缩处理,然后对解压缩得到非压缩文件进行病毒扫描。也就是说病毒扫描需要在得到了非压缩文件之后才能执行,造成了AV检测处理性能较低的问题。
发明内容
本发明提供一种反病毒方法和装置及防火墙设备,用以解决现有技术的对于压缩格式的文件进行AV检测造成的处理性能较低的问题。
第一方面提供一种反病毒方法,包括:
第一线程接收网络传输的属于同一个数据流的各数据包,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中;
第二线程从所述第一队列的起始位置读取至少一个数据包的载荷数据,根据读取的载荷数据,确认所述第一队列中的载荷数据是否是压缩文件的文件内容;
所述第二线程若确认所述第一队列中的载荷数据是压缩文件的文件内容,则识别所述压缩文件的压缩格式;
所述第二线程从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从所述第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行解压缩处理;分别对每次解压缩处理后得到文件内容进行反病毒检测。
在第一方面的第一种可能的实现方式中,所述第二线程从所述第一队列的起始位置读取至少一个数据包的载荷数据,包括:
第二线程在达到预设条件时,从所述第一队列的起始位置读取至少一个数据包的载荷数据,所述预设条件包括所述第二线程空闲、且所述第一队列中存在至少预定数量的数据包的载荷数据。
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第二种可能的实现方式中,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中之前,还包括:
获取所述数据包的包头部分中预定特征字段的内容,将获取的所述预定特征字段的内容与预先设定的值进行比较,若一致,确认所述数据包承载有文件内容。
结合第一方面或第一方面的第一种可能实现方式,在第一方面的第三种可能的实现方式中,所述根据读取的载荷数据,确认所述第一队列中的载荷数据是否是压缩文件的文件内容,包括:
所述第二线程判断读取的载荷数据的指定位置中是否包含文件名;
若包含文件名,则判断预定压缩文件后缀集合中是否包含所述文件名的后缀,若压缩文件后缀集合中包含所述文件名的后缀,则确定第一队列中的载荷数据是压缩文件的文件内容。
结合第一方面,在第一方面的第四种可能的实现方式中,所述分别对每次读取的载荷数据进行解压缩处理,包括:
根据所述查询到的解压缩算法和文件的结构参数信息,分对每次读取的载荷数据进行解压缩处理;
所述结构参数信息的获取方式包括:
根据首包的标识从所述第一队列中读取首包的载荷数据,从读取的载荷数据中获取文件头中携带的结构参数信息,所述首包的标识是将所述数据包的载荷数据顺次缓存在所述第一队列之前,对所述数据包进行协议解析时获得的。
结合第一方面,在第一方面的第五种可能的实现方式中,所述分别对每次解压缩处理后得到文件内容进行反病毒检测之后,还包括:
所述第二线程将每次反病毒检测的检测结果顺次缓存在第二队列中;
第三线程根据所述第二队列中的检测结果,判断所述数据流中所传输的文件是否是病毒文件。
第二方面提供一种反病毒装置,包括:第一执行模块、第二执行模块和缓存模块,其中,所述第一执行模块包括:
接收单元,用于接收网络传输的属于同一个数据流的各数据包;
缓存单元,用于将接收单元接收的各数据包中,承载有文件内容的数据包的载荷数据顺次缓存在所述缓存模块中的第一队列中;
所述第二执行模块包括:
读取单元,用于在达到预设条件时,从所述第一队列的起始位置读取至少一个数据包的载荷数据;
确认单元,用于根据读取单元读取的载荷数据,确认所述第一队列中的载荷数据是否是压缩文件的文件内容;
识别单元,用于若所述确认单元确认所述第一队列中的载荷数据是压缩文件的文件内容,则识别所述压缩文件的压缩格式;
解压缩单元,用于从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从所述第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行解压缩处理;
检测单元,用于分别对解压缩单元每次解压缩处理后得到文件内容进行反病毒检测。
在第二方面的第一种可能的实现方式中,所述缓存单元具体用于获取所述数据包的包头部分中预定特征字段的内容;将获取的所述预定特征字段的内容与预先设定的值进行比较,若一致,则确认所述数据包承载有文件内容,将承载有文件内容的数据包的载荷数据顺次缓存在所述第一队列中。
结合第二方面或第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述确认单元具体用于判断读取的数据的指定位置中是否包含文件名;
若包含文件名,则判断预定压缩文件后缀集合中是否包含所述文件名的后缀,若压缩文件后缀集合中包含所述文件名的后缀,则确定第一队列中的载荷数据是压缩文件的文件内容。
结合第二方面,在第二方面的第三种可能的实现方式中,所述解压缩单元具体用于从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从所述第一队列中逐个读出各数据包的载荷数据,根据所述查询到的解压缩算法和文件的结构参数信息,分别对每次读取的载荷数据进行解压缩处理;
所述结构参数信息的获取方式包括:
根据首包的标识从所述第一队列中读取首包的载荷数据,从读取的载荷数据中获取文件头中携带的结构参数信息,所述首包的标识是将所述数据包的载荷数据顺次缓存在所述第一队列之前,对所述数据包进行协议解析时获得的。
结合第二方面或第二方面的第二种可能实现方式,在第二方面的第四种可能的实现方式中,所述第二执行模块还用于将每次反病毒检测的检测结果顺次缓存在所述缓存模块中的第二队列中;
则所述装置还包括:
第三执行模块,用于根据所述第二队列中的检测结果,判断所述数据流中所传输的文件是否是病毒文件。
第三方面提供一种防火墙设备,包括:存储器,用于存储指令;
处理器,与所述存储器耦合,所述处理器被配置为执行存储在所述存储器中的指令,且所述处理器被配置为用于执行如权利要求1至7任一所述的文件的反病毒检测方法。
本发明的技术效果是:第一线程接收网络传输的属于同一个数据流的各数据包,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中,第二线程从第一队列的起始位置读取至少一个数据包的载荷数据,并根据读取的载荷数据,在确认该第一队列中的载荷数据是压缩文件的文件内容,则识别该压缩文件的压缩格式,再从压缩格式与解压缩算法的映射关系中,查询与识别出的解压缩算法,最后,利用查询到的解压缩算法,从该第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行加压缩处理,分别对每次解压缩处理后得到的文件内容进行反病毒检测,由于可以多线程协同处理以及分别对每次读取的载荷数据进行解压缩处理,并分别对每次解压缩处理后得到的文件内容进行反病毒检测,因此有效地降低了缓存量,并提高了AV检测的处理性能。
附图说明
图1a为本发明反病毒方法的一个实施例的流程图;
图1b为本发明反病毒方法的另一个实施例的流程图;
图1c为本发明反病毒方法的又一个实施例的流程图;
图1d为本发明反病毒方法的还一个实施例的流程图;
图1e为本发明的反病毒方法的再一个实施例的流程图;
图1f为本发明的反病毒方法的另一个实施例的流程图;
图2为本发明实施例提供的反病毒方法所基于的组织结构示意图;
图3为本发明反病毒方法的又一个实施例的流程图;
图4为本发明反病毒装置的一个实施例的结构示意图;
图5为本发明反病毒装置的另一个实施例的结构示意图。
具体实施方式
图1a为本发明反病毒方法的一个实施例的流程图,如图1a所示,本实施例的方法包括:
步骤101、第一线程接收网络传输的属于同一个数据流的各数据包,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中。
需要说明的是,每个数据包都有源端口,目的端口,源IP地址,目的IP地址,协议类型等信息,这些信息被称为五元组,如果多个数据包的五元组都相同,就认为这些数据包是属于同一个数据流。
数据包可以承载多种数据,如网管配置信息,各网元设备间的请求消息和反馈消息等。第一线程对每个数据包,判断数据包承载的是否是文件内容,若承载的是文件内容,则将该数据包的载荷数据顺次缓存在第一队列中。
可选地,第一线程通过如下方式判断数据包承载的是否是文件内容:
获取数据包的包头部分中预定特征字段(例如,content-type)的内容,将获取的所述预定特征字段的内容与预先设定的值(例如,txt、doc或xls)进行比较,若比较一致,则确认所述数据包承载的是文件内容,否则,确认所述数据包承载的不是文件内容。
另外,还需要说明的是,在将载荷数据缓存到第一队列时,还建立了一个数据结构,用于存储各个数据包存在第一队列中的起始地址和偏移量等,从而便于后续逐包进行解压时,能够以每个数据包的载荷数据为单位,依次读取各个数据包的载荷数据。
步骤102、第二线程从该第一队列的起始位置读取至少一个数据包的载荷数据,根据读取的载荷数据,确认该第一队列中的载荷数据是否是压缩文件的文件内容。
步骤103、第二线程若确认该第一队列中的载荷数据是压缩文件的文件内容,则识别该压缩文件的压缩格式。
步骤104、第二线程从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从该第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行压缩处理;并分别对每次解压缩处理后得到文件内容进行反病毒检测。
在本实施例中,第一线程接收网络传输的属于同一个数据流的各数据包,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中,第二线程从第一队列的起始位置读取至少一个数据包的载荷数据,并根据读取的载荷数据,在确认该第一队列中的载荷数据是压缩文件的文件内容,则识别该压缩文件的压缩格式,再从压缩格式与解压缩算法的映射关系中,查询与识别出的解压缩算法,最后,利用查询到的解压缩算法,从该第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行加压缩处理,分别对每次解压缩处理后得到的文件内容进行反病毒检测,由于可以多线程协同处理以及分别对每次读取的载荷数据进行解压缩处理,并分别对每次解压缩处理后得到的文件内容进行反病毒检测,因此有效地降低了缓存量,并提高了AV检测的处理性能。
进一步的,图1b为本发明反病毒方法的另一个实施例的流程图,在上述图1a所示实施例的基础上,步骤102的一种具体实现方式为:
第二线程在达到预设条件时,从所述第一队列的起始位置读取至少一个数据包的载荷数据,根据读取的载荷数据,确认该第一队列中的载荷数据是否是压缩文件的文件内容。
可选地,该预设条件包括:该第二线程空闲,且该第一队列中存在至少预设数量的数据包的载荷数据。通过这种方式,可以达到使第二线程一次读取多于一个数据包的载荷数据,从而提高读取效率这种更佳的效果。
更进一步的,图1c为本发明反病毒方法的又一个实施例的流程图,在上述图1a或图1b所示实施例的基础上,步骤101的一种具体实现方式为:
步骤101a、第一线程接收网络传输的属于同一个数据流的各数据包;
步骤101b、获取该数据包的包头部分中预定特征字段的内容,将获取的该预定特征字段的内容与预先设定的值进行比较,若一致,确认该数据包承载有文件内容;
步骤101c、将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中。
更进一步的,图1d为本发明反病毒方法的还一个实施例的流程图,在上述图1a或图1b所示实施例的基础上,步骤102的还一种具体实现方式为:
步骤102a、第二线程从该第一队列的起始位置读取至少一个数据包的载荷数据;
可选地,第二线程在达到预设条件时,从所述第一队列的起始位置读取至少一个数据包的载荷数据。
步骤102b、第二线程判断读取的载荷数据的指定位置中是否包含文件名;若包含文件名,则判断预定压缩文件后缀集合中是否包含该文件名的后缀,若压缩文件后缀集合中包含所述文件名的后缀,则确定第一队列中的载荷数据是压缩文件的文件内容。
在本实例中,例如,预定压缩文件后缀名集合S的实例S={rar,gz,zip},若第二线程读取的文件名为test.txt,由于该文件名中的后缀txt不在集合S中,因此确认第一队列中的载荷数据不是压缩文件的文件内容;若第二线程读取的文件名为test.rar,由于该文件名中的后缀rar在集合S中,因此确认第一队列中的载荷数据是压缩文件的文件内容。
另外,可选地,识别该压缩文件的压缩格式的一种具体实现方式为:
将该文件名的后缀对应的压缩格式,作为该压缩文件的压缩格式。例如,若文件名为test.rar,则其压缩格式为rar对应的RAR(Roshal ARchive)格式。
还需要说明的是,本实施例的压缩格式支持流解压。具体的,在本实施例中,可以预先存储有压缩格式和支持流解压的映射关系,如果查询获取到该压缩格式对应的支持流解压,则说明该文件的压缩格式支持流解压;如果查询获取到的该压缩格式没有对应的支持流解压,则说明该文件的压缩格式不支持流解压。
更进一步的,图1e为本发明的反病毒方法的再一个实施例的流程图,在上述图1a所示实施例的基础上,步骤104的一种具体实现方式为:
步骤104a、第二线程从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;
步骤104b、第二线程根据首包的标识从该第一队列中读取首包的载荷数据,从读取的载荷数据中获取文件头的参数信息,该首包的标识是将该数据包的载荷数据顺次缓存在该第一队列之前,对该数据包进行协议解析时获得的;
其中,该结构参数信息包括:如文件开始处的物理偏移值和文件的大小、图表对象的存储方式等等。
步骤104c、第二线程利用查询到的解压缩算法,从该第一队列中逐个读出各数据包的载荷数据,根据该查询到的解压缩算法和文件的结构参数信息,分别对每次读取的载荷数据进行解压缩处理;
步骤104d、第二线程分别对每次解压缩处理后得到文件内容进行反病毒检测。
在本实施例中,在同一个数据流中,该数据流的首数据包的载荷数据中承载有的文件内容为文件头,从而通过数据包的协议,对该文件头进行解析,从而获取到参数信息,以便于根据该参数信息和解压缩算法,逐包进行解压缩处理。
更进一步的,图1f为本发明的反病毒方法的另一个实施例的流程图,在上述图1a所示实施例的基础上,步骤104之后,该方法还可以进一步包括:
步骤105、该第二线程将每次反病毒检测的检测结果顺次缓存在第二队列中;
步骤106、第三线程根据该第二队列中的检测结果,判断该数据流中所传输的文件是否是病毒文件。
例如,可以采用两次判断来确认数据流中所传输的文件是否是病毒文件,其中,第一次判断是指第二线程在分别对每个数据包进行反病毒检测时,若载荷数据同时出现了特征a、特征b和特征c,则认为该载荷数据存在威胁,在第二队列中该数据包的检测结果中写入威胁标识(以1来表示),否则在第二队列中该数据包的检测结果中写入安全标识(以0来表示);第二次判断是指第三线程根据第二序列中威胁标识和安全标识的数量、分布情况,判断是否符合预设的验证条件,该验证条件中包含威胁标识的数量、比例、分布特征等参数,若符合预设的验证条件,则确认该数据流中所传输的文件是病毒文件,否则确认该数据流中所传输的文件不是病毒文件。
需要说明的是,上述图1b至图1f所示的实施例还可以进行组合使用。
图2为本发明实施例提供的反病毒方法所基于的组织结构示意图,如图2所示,多个线程协作工作,具体包括:预处理线程11(如上述所示的第一线程)、数据包队列12(如上述所述的第一队列)、结果队列13(如上述所述的第二队列)、AV检测线程14(如上述所述的第二线程)和结果响应线程15(如上述所述的第三线程)。
图3为本发明反病毒方法的又一个实施例的流程图,在上述图2所示实施的基础上,如图3所示,本实施例的方法包括:
步骤201、预处理线程接收网络传输的属于同一个数据流的各数据包。
步骤202、预处理线程对每个数据包,判断该数据包的协议类型是否属于预定的需要进行AV检测的协议类型;若是,则执行步骤203;若否,则结束。
步骤203、预处理线程判断该数据包承载的是否是文件内容;若是,则执行步骤204;若否,则结束。
具体判断该数据包承载的是否是文件内容的方式请参照附图1c步骤101的相关描述,在这里不再重复。
步骤204、预处理线程将该数据包的载荷数据顺次缓存在数据包队列中。
步骤205、AV检测线程在达到预设条件时,从该数据包队列的起始位置读取至少一个数据包的载荷数据。
其中,所述预设条件包括但不限于:所述AV检测线程空闲、且所述第一队列中存在至少预定数量的数据包的载荷数据。
步骤206、AV检测线程判断读取的载荷数据的指定位置中是否包含文件名;若包含文件名,则判断预定压缩文件后缀集合中是否包含该文件名的后缀,若压缩文件后缀集合中包含该文件名的后缀,则确定数据包队列中的载荷数据是压缩文件的文件内容。
步骤207、AV检测线程识别该压缩文件的压缩格式。
可选地,将文件名的后缀对应的压缩格式,作为该压缩文件的压缩格式。
步骤208、AV检测线程从压缩格式和解压缩算法的映射关系中,查询与识别出压缩格式对应的解压缩算法;利用查询到的解压缩算法和获取到的参数信息,从该数据包队列中逐个读出个数据包的载荷数据,逐包进行解压缩处理;分别对每次解压缩处理后得到文件内容进行反病毒检测。
在本实施例中,结构参数信息的获取过程参照附图1e的相关描述,在这里不再重复。
步骤209、AV检测线程将每次反病毒检测的检测结果顺次缓存在结果队列中。
步骤210、结果响应线程根据该结果队列中的检测结果,判断该数据流中所传输的文件是否是病毒文件。
在本实施例中,具体的AV检测线程获取检测结果,并将检测结果放入到结果队列中。另外,结果响应线程从结果队列13读取检测结果,并对该检测结果进行威胁确认及响应处理。
在本实施例中,通过对预处理线程接收到的网络传输的属于同一个数据流的每个数据包,在判断出该数据包承载的是文件内容,则将该数据包的载荷数据顺次缓存在数据包队列中;另外,当AV检测线程在达到预设条件时,从该数据包队列的起始位置读取至少一个数据包的载荷数据,根据读取的载荷数据,在确认出该数据包队列中的载荷数据是压缩文件的文件内容,则识别该压缩文件的压缩格式,从该压缩格式和解压缩算法的映射关系中,查询与识别出该压缩格式对应的解压缩算法,利用查询到的解压缩算法和参数信息,从数据包队列中逐个读出各数据包的载荷数据,逐包进行解压缩处理;再分别对每次解压缩处理后得到文件内容进行反病毒检测,最后结果响应线程根据该结果队列中的检测结果,判断该数据流中所传输的文件是否是病毒文件,从而实现多线程来处理压缩文件并进行AV检测,并有效地提高了AV检测性能,网络的处理性能以及用户的体验度。
图4为本发明反病毒装置的一个实施例的结构示意图,如图4所示,本实施例的装置包括:第一执行模块21、第二执行模块22和缓存模块23;其中,第一执行模块21包括:接收单元211和缓存单元212;第二执行模块22包括:读取单元221、确认单元222、识别单元223、解压缩单元224和检测单元225。具体的,接收单元211用于接收网络传输的属于同一个数据流的各数据包;缓存单元212用于将接收单元211接收到的各数据包中,承载有文件内容的数据包的载荷数据顺次缓存在缓存模块23中的第一队列中;读取单元221用于在达到预设条件时,从该第一队列的起始位置读取至少一个数据包的载荷数据;确认单元222用于根据读取单元221读取的载荷数据,确认该第一队列中的载荷数据是否是压缩文件的文件内容;识别单元223用于若该确认单元222确认该第一队列中的载荷数据是压缩文件的文件内容,则识别该压缩文件的压缩格式;解压缩单元224用于从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从该第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行解压缩处理;检测单元225用于分别对解压缩单元224每次解压缩处理后得到文件内容进行反病毒检测。
本实施例中的反病毒装置可以执行图1a所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。
在本实施例中,第一线程接收网络传输的属于同一个数据流的各数据包,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中,第二线程从第一队列的起始位置读取至少一个数据包的载荷数据,并根据读取的载荷数据,在确认该第一队列中的载荷数据是压缩文件的文件内容,则识别该压缩文件的压缩格式,再从压缩格式与解压缩算法的映射关系中,查询与识别出的解压缩算法,最后,利用查询到的解压缩算法,从该第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行加压缩处理,分别对每次解压缩处理后得到的文件内容进行反病毒检测,由于可以多线程协同处理以及分别对每次读取的载荷数据进行解压缩处理,并分别对每次解压缩处理后得到的文件内容进行反病毒检测,因此有效地降低了缓存量,并提高了AV检测的处理性能。
图5为本发明反病毒装置的另一个实施例的结构示意图,如图5所示,在上述图4所示实施例的基础上,缓存单元212具体用于获取该数据包的包头部分中预定特征字段的内容;将获取的该预定特征字段内容与预先设定的值进行比较,若一致,则确认该数据包承载有文件内容,将承载有文件内容的数据包的载荷数据顺次缓存在该第一队列中。
进一步的,确认单元222具体用于判断读取的数据的指定位置中是否包含文件名;若包含文件名,则判断预定压缩文件后缀集合中是否包含该文件名的后缀,若压缩文件后缀集合中包含该文件名的后缀,则确定第一队列中的载荷数据是压缩文件的文件内容。
更进一步的,解压缩单元224具体用于从压缩格式与及解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从第一队列中逐个读出各数据包的载荷数据,根据该查询到的解压缩算法和文件的结构参数信息,分别每次读取的载荷数据进行解压缩处理。
该结构参数信息的获取方式包括:
根据首包的标识从该第一队列中读取首包的载荷数据,从读取的载荷数据中获取文件头中携带的结构参数信息,该首包的标识是将该数据包的载荷数据顺次缓存在该第一队列之前,对该数据包进行协议解析时获得的。
其中,该参数信息包括:文件开始处的物理偏移值和文件的大小。
更进一步的,第二执行模块22还用于将每次反病毒检测的检测结果顺次缓存在缓存模块23中的第二队列中;
则该装置还包括:
第三执行模块24,用于根据该第二队列中的检测结果,判断该数据流中该传输的文件是否是病毒文件。
本实施例中的反病毒装置可以执行图1a至图1f任一所示方法实施例的技术方案,或者执行图3所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。
本发明还提供了一种防火墙设备,包括存储器和处理器,其中,存储器用于存储指令;处理器,与存储器耦合,该处理器被配置为执行存储在该存储器中的指令,且给处理器被配置为用于执行图11a至图1f任一所示方法实施例的技术方案,或者执行或图3所示方法实施例的技术方案,其实现原理相类似,此处不再赘述。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (12)

1.一种反病毒方法,其特征在于,包括:
第一线程接收网络传输的属于同一个数据流的各数据包,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中;
第二线程从所述第一队列的起始位置读取至少一个数据包的载荷数据,根据读取的载荷数据,确认所述第一队列中的载荷数据是否是压缩文件的文件内容;
所述第二线程若确认所述第一队列中的载荷数据是压缩文件的文件内容,则识别所述压缩文件的压缩格式;
所述第二线程从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从所述第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行解压缩处理;分别对每次解压缩处理后得到文件内容进行反病毒检测。
2.根据权利要求1所述的反病毒方法,其特征在于,所述第二线程从所述第一队列的起始位置读取至少一个数据包的载荷数据,包括:
第二线程在达到预设条件时,从所述第一队列的起始位置读取至少一个数据包的载荷数据,所述预设条件包括所述第二线程空闲、且所述第一队列中存在至少预定数量的数据包的载荷数据。
3.根据权利要求1或2所述的反病毒方法,其特征在于,将其中承载有文件内容的数据包的载荷数据顺次缓存在第一队列中之前,还包括:
获取所述数据包的包头部分中预定特征字段的内容,将获取的所述预定特征字段的内容与预先设定的值进行比较,若一致,确认所述数据包承载有文件内容。
4.根据权利要求1或2所述的反病毒方法,其特征在于,所述根据读取的载荷数据,确认所述第一队列中的载荷数据是否是压缩文件的文件内容,包括:
所述第二线程判断读取的载荷数据的指定位置中是否包含文件名;
若包含文件名,则判断预定压缩文件后缀集合中是否包含所述文件名的后缀,若压缩文件后缀集合中包含所述文件名的后缀,则确定第一队列中的载荷数据是压缩文件的文件内容。
5.根据权利要求1所述的反病毒方法,其特征在于,所述分别对每次读取的载荷数据进行解压缩处理,包括:
根据所述查询到的解压缩算法和文件的结构参数信息,分别对每次读取的载荷数据进行解压缩处理;
所述结构参数信息的获取方式包括:
根据首包的标识从所述第一队列中读取首包的载荷数据,从读取的载荷数据中获取文件头中携带的结构参数信息,所述首包的标识是将所述数据包的载荷数据顺次缓存在所述第一队列之前,对所述数据包进行协议解析时获得的。
6.根据权利要求1所述的反病毒方法,其特征在于,所述分别对每次解压缩处理后得到文件内容进行反病毒检测之后,还包括:
所述第二线程将每次反病毒检测的检测结果顺次缓存在第二队列中;
第三线程根据所述第二队列中的检测结果,判断所述数据流中所传输的文件是否是病毒文件。
7.一种反病毒装置,其特征在于,包括:第一执行模块、第二执行模块和缓存模块,其中,所述第一执行模块包括:
接收单元,用于接收网络传输的属于同一个数据流的各数据包;
缓存单元,用于将接收单元接收的各数据包中,承载有文件内容的数据包的载荷数据顺次缓存在所述缓存模块中的第一队列中;
所述第二执行模块包括:
读取单元,用于在达到预设条件时,从所述第一队列的起始位置读取至少一个数据包的载荷数据;
确认单元,用于根据读取单元读取的载荷数据,确认所述第一队列中的载荷数据是否是压缩文件的文件内容;
识别单元,用于若所述确认单元确认所述第一队列中的载荷数据是压缩文件的文件内容,则识别所述压缩文件的压缩格式;
解压缩单元,用于从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从所述第一队列中逐个读出各数据包的载荷数据,分别对每次读取的载荷数据进行解压缩处理;
检测单元,用于分别对解压缩单元每次解压缩处理后得到文件内容进行反病毒检测。
8.根据权利要求7所述的反病毒装置,其特征在于,所述缓存单元具体用于获取所述数据包的包头部分中预定特征字段的内容;将获取的所述预定特征字段的内容与预先设定的值进行比较,若一致,则确认所述数据包承载有文件内容,将承载有文件内容的数据包的载荷数据顺次缓存在所述第一队列中。
9.根据权利要求7或8所述的反病毒装置,其特征在于,
所述确认单元具体用于判断读取的数据的指定位置中是否包含文件名;
若包含文件名,则判断预定压缩文件后缀集合中是否包含所述文件名的后缀,若压缩文件后缀集合中包含所述文件名的后缀,则确定第一队列中的载荷数据是压缩文件的文件内容。
10.根据权利要求7所述的反病毒装置,其特征在于,所述解压缩单元具体用于从压缩格式与解压缩算法的映射关系中,查询与识别出的压缩格式对应的解压缩算法;利用查询到的解压缩算法,从所述第一队列中逐个读出各数据包的载荷数据,根据所述查询到的解压缩算法和文件的结构参数信息,分对每次读取的载荷数据进行解压缩处理;
所述结构参数信息的获取方式包括:
根据首包的标识从所述第一队列中读取首包的载荷数据,从读取的载荷数据中获取文件头中携带的结构参数信息,所述首包的标识是将所述数据包的载荷数据顺次缓存在所述第一队列之前,对所述数据包进行协议解析时获得的。
11.根据权利要求7或8所述的反病毒装置,其特征在于,所述第二执行模块还用于将每次反病毒检测的检测结果顺次缓存在所述缓存模块中的第二队列中;
则所述装置还包括:
第三执行模块,用于根据所述第二队列中的检测结果,判断所述数据流中所传输的文件是否是病毒文件。
12.一种防火墙设备,其特征在于,包括:存储器,用于存储指令;
处理器,与所述存储器耦合,所述处理器被配置为执行存储在所述存储器中的指令,且所述处理器被配置为用于执行如权利要求1至6任一所述的反病毒方法。
CN2012800010017A 2012-07-04 2012-07-04 反病毒方法和装置及防火墙设备 Pending CN102893580A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2012/078181 WO2014005303A1 (zh) 2012-07-04 2012-07-04 反病毒方法和装置及防火墙设备

Publications (1)

Publication Number Publication Date
CN102893580A true CN102893580A (zh) 2013-01-23

Family

ID=47535607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2012800010017A Pending CN102893580A (zh) 2012-07-04 2012-07-04 反病毒方法和装置及防火墙设备

Country Status (4)

Country Link
US (1) US20140331306A1 (zh)
EP (1) EP2797278A4 (zh)
CN (1) CN102893580A (zh)
WO (1) WO2014005303A1 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015032221A1 (zh) * 2013-09-06 2015-03-12 华为技术有限公司 一种反病毒文件检测方法、装置及网络设备
CN109800182A (zh) * 2019-01-18 2019-05-24 深圳忆联信息系统有限公司 一种降低写放大的数据存储处理方法及其系统
CN111552670A (zh) * 2020-04-30 2020-08-18 福建天晴在线互动科技有限公司 一种可拓展支持压缩文件和解压文件的方法及其系统
CN113794676A (zh) * 2021-07-26 2021-12-14 奇安信科技集团股份有限公司 文件过滤方法、装置、电子设备、程序产品及存储介质
CN114257432A (zh) * 2021-12-13 2022-03-29 北京天融信网络安全技术有限公司 一种网络攻击检测方法及装置

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9860274B2 (en) 2006-09-13 2018-01-02 Sophos Limited Policy management
US11093624B2 (en) 2017-09-12 2021-08-17 Sophos Limited Providing process data to a data recorder

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101252576A (zh) * 2008-03-13 2008-08-27 苏州爱迪比科技有限公司 利用dfa在网关处进行基于网络流的病毒检测方法
CN101547126A (zh) * 2008-03-27 2009-09-30 北京启明星辰信息技术股份有限公司 一种基于网络数据流的网络病毒检测方法及装置
CN101710375A (zh) * 2009-12-16 2010-05-19 珠海市君天电子科技有限公司 反病毒软件中的反病毒装置及其反病毒方法
US7802303B1 (en) * 2006-06-30 2010-09-21 Trend Micro Incorporated Real-time in-line detection of malicious code in data streams

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8463928B2 (en) * 2009-10-27 2013-06-11 Verisign, Inc. Efficient multiple filter packet statistics generation

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802303B1 (en) * 2006-06-30 2010-09-21 Trend Micro Incorporated Real-time in-line detection of malicious code in data streams
CN101252576A (zh) * 2008-03-13 2008-08-27 苏州爱迪比科技有限公司 利用dfa在网关处进行基于网络流的病毒检测方法
CN101547126A (zh) * 2008-03-27 2009-09-30 北京启明星辰信息技术股份有限公司 一种基于网络数据流的网络病毒检测方法及装置
CN101710375A (zh) * 2009-12-16 2010-05-19 珠海市君天电子科技有限公司 反病毒软件中的反病毒装置及其反病毒方法

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015032221A1 (zh) * 2013-09-06 2015-03-12 华为技术有限公司 一种反病毒文件检测方法、装置及网络设备
CN109800182A (zh) * 2019-01-18 2019-05-24 深圳忆联信息系统有限公司 一种降低写放大的数据存储处理方法及其系统
CN111552670A (zh) * 2020-04-30 2020-08-18 福建天晴在线互动科技有限公司 一种可拓展支持压缩文件和解压文件的方法及其系统
CN113794676A (zh) * 2021-07-26 2021-12-14 奇安信科技集团股份有限公司 文件过滤方法、装置、电子设备、程序产品及存储介质
CN114257432A (zh) * 2021-12-13 2022-03-29 北京天融信网络安全技术有限公司 一种网络攻击检测方法及装置

Also Published As

Publication number Publication date
WO2014005303A1 (zh) 2014-01-09
EP2797278A1 (en) 2014-10-29
US20140331306A1 (en) 2014-11-06
EP2797278A4 (en) 2015-02-25

Similar Documents

Publication Publication Date Title
CN102893580A (zh) 反病毒方法和装置及防火墙设备
CN104396220B (zh) 用于安全内容检索的方法和设备
US7596809B2 (en) System security approaches using multiple processing units
CA2898053C (en) Deep packet inspection method, device, and coprocessor
US8881276B2 (en) Dynamically generated whitelist for high throughput intrusion prevention system (IPS) functionality
US8301904B1 (en) System, method, and computer program product for automatically identifying potentially unwanted data as unwanted
JP4554675B2 (ja) 通信制御装置及び通信制御システム
US9614866B2 (en) System, method and computer program product for sending information extracted from a potentially unwanted data sample to generate a signature
US8448232B1 (en) System, method, and computer program product for preventing communication of unwanted network traffic by holding only a last portion of the network traffic
CN112565299B (zh) 用于网络设备的安全分析的、基于内容的优化和预先获取机制
US8677508B2 (en) Confidential information leakage prevention system, confidential information leakage prevention method and confidential information leakage prevention program
WO2006123420A1 (ja) データ処理システム
WO2022267343A1 (zh) 漏洞检测方法、设备及可读存储介质
US11570201B2 (en) System and method for detecting and blocking malicious attacks on a network
US20130246352A1 (en) System, method, and computer program product for generating a file signature based on file characteristics
CN112261094A (zh) 一种报文处理方法及代理服务器
WO2015032221A1 (zh) 一种反病毒文件检测方法、装置及网络设备
US10791135B2 (en) Inspection of network traffic in a security device at object level
US20150019631A1 (en) Server-based system, method, and computer program product for scanning data on a client using only a subset of the data
CN103067465B (zh) 文件分享方法及系统
KR102014741B1 (ko) Fpga 기반 고속 스노트 룰과 야라 룰 매칭 방법
US8438637B1 (en) System, method, and computer program product for performing an analysis on a plurality of portions of potentially unwanted data each requested from a different device
US8645949B2 (en) System, method, and computer program product for scanning data utilizing one of a plurality of virtual machines of a device
CN110661892B (zh) 一种域名配置信息处理方法及装置
KR101308086B1 (ko) 향상된 심층 패킷 조사를 수행하기 위한 방법 및 장치

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130123