CN102694801B - 病毒检测方法、装置以及防火墙设备 - Google Patents
病毒检测方法、装置以及防火墙设备 Download PDFInfo
- Publication number
- CN102694801B CN102694801B CN201210157795.8A CN201210157795A CN102694801B CN 102694801 B CN102694801 B CN 102694801B CN 201210157795 A CN201210157795 A CN 201210157795A CN 102694801 B CN102694801 B CN 102694801B
- Authority
- CN
- China
- Prior art keywords
- attribute
- file
- macrodata
- described file
- information
- 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
Links
Landscapes
- Measuring Or Testing Involving Enzymes Or Micro-Organisms (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种病毒检测方法、装置以及防火墙设备,其中病毒检测方法包括:在文件传输过程中,从传输的数据包中获得所述文件的文件类型;根据所述文件类型获得所述文件的结构特征信息;根据所述文件的结构特征信息从传输的数据包中获得所述文件的宏数据;根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测。本发明实施例还提供了相应的病毒检测装置,以及包括上述病毒检测装置的防火墙设备。本发明实施例提供的病毒检测方法、装置以及防火墙设备,能够降低病毒检测的难度,提高检测效率的同时减少对系统资源的消耗。
Description
技术领域
本发明涉及网络安全技术,尤其涉及一种病毒检测方法、装置以及防火墙设备,属于网络技术领域。
背景技术
在网络越来越普及的今天,网络安全显得越发重要,防火墙作为网络安全中必不可少的设备,在网络安全防御系统中具有不可替代的地位,防火墙需要对进入互联网络的数据包进行检查,保证上述数据包的安全性。随着防火墙技术的进一步发展,下一代防火墙已经将功能扩大到网络的整个七层。
下一代防火墙可以实现反病毒(anti-virus,以下简称:AV)检测,通过获取网络中传输的各文件的文件数据,并根据从病毒文件中提取出来的威胁特征字符串对传输的文件进行全文模式匹配,如果匹配到了相同的威胁特征字符串,则认为对应的文件为威胁文件,则可以阻止上述威胁文件在网络中继续传输,以达到维护网络安全的目的。
在进行AV检测时,通常从病毒文件中提取出来的威胁特征字符串的数目较大,需要对所有的威胁特征字符串都进行一次模式匹配,而上述的模式匹配过程又是对各文件进行全文模式匹配,这将导致模式匹配消耗的系统资源过大,并影响整个防火墙的性能。
发明内容
本发明实施例提供一种病毒检测方法、装置以及防火墙设备,用于降低模式匹配在病毒检测过程中消耗的系统资源。
根据本发明实施例的一个方面,提供一种病毒检测方法,包括:
在文件传输过程中,从传输的数据包中获得所述文件的文件类型;
根据所述文件类型获得所述文件的结构特征信息;
根据所述文件的结构特征信息从传输的数据包中获得所述文件的宏数据;
根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测。
根据本发明实施例的另一个方面,提供一种病毒检测装置,包括:
第一获取模块,用于在文件传输过程中,从传输的数据包中获得所述文件的文件类型;
第二获取模块,用于根据所述文件类型获得所述文件的结构特征信息,并根据所述文件的结构特征信息获取所述文件的宏数据;
检测模块,用于根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测。
根据本发明实施例的又一个方面,提供一种防火墙设备,包括上述的病毒检测装置。
本发明提供的病毒检测方法、装置以及防火墙设备,其中在进行病毒检测时,提取待检测文件的宏数据,且进行待检测文件的宏数据进行病毒检测,能够降低病毒检测的难度,提高检测效率的同时减少对系统资源的消耗。另外,本发明上述实施例中是在文件传输过程中,直接地从传输的数据包中获取文件的文件类型,是一种基于流的病毒检测技术方案,不需要将传输整个文件的数据包对缓存下来再进行病毒检测,能够有效降低病毒检测对数据包传输过程的影响,提高用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中病毒检测方法的流程示意图;
图2为图1所示实施例中获取文件结构特征信息和宏数据的步骤流程图;
图3为本发明实施例中doc文件的物理结构图;
图4为本发明实施例中doc文件的逻辑结构图;
图5为图2所示实施例中查找宏数据的步骤流程图;
图6为图5所示实施例中查找文件类型属性的步骤流程图;
图7为本发明具体实施例中病毒检测的场景示意图;
图8为本发明具体实施例中病毒检测过程的流程示意图一;
图9为本发明具体实施例中病毒检测过程的流程示意图二;
图10为本发明实施例中病毒检测装置的结构示意图;
图11为图10所示实施例中第二获取模块的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
图1为本发明实施例中病毒检测方法的流程示意图,如图1所示,包括如下的步骤:
步骤101、在文件传输过程中,从传输的数据包中获得所述文件的文件类型;
步骤102、根据所述文件类型获得所述文件的结构特征信息;
步骤103、根据所述文件的结构特征信息从传输的数据包中获得所述文件的宏数据;
具体的,本发明实施例中的宏数据是指文件的各个宏所包括的具体数据信息;其中,宏是指能组织到一起作为一独立的命令使用的一系列word命令。
步骤104、根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测。
具体的,将文件的宏数据与宏病毒的威胁特征字符串进行匹配,如果匹配上,则认为该文件感染了病毒。其中,宏病毒是指一种寄存在文档或模板的宏中的计算机病毒。一旦打开这样的文档,其中的宏就会被执行,于是宏病毒就会被激活,转移到计算机上,并驻留在Normal模板上。从此以后,所有自动保存的文档都会“感染”上这种宏病毒,而且如果其他用户打开了感染病毒的文档,宏病毒又会转移到他的计算机上。
本发明上述实施例提供的技术方案,在进行病毒检测时,通过提取网络传输过程中的文件的宏数据,且仅对文件的宏数据进行病毒检测,从而能够降低病毒检测的难度,提高检测效率的同时减少对系统资源的消耗。例如现有技术中对office2003系列文件进行威胁检测时采用的是全文匹配模式,耗费了大量的系统资源且影响了病毒检测的性能,而实际的office2003系列文件中,其中使用者可以编辑的宏数据仅占整个文件的一部分,而其他的非宏数据是office2003系列文件所固有的,使用者不可编辑,可以不对其进行病毒检测,利用本发明实施例提供的技术方案,可以仅对office2003系列文件的宏数据进行病毒检测,能够有效提高检测效率并减少对系统资源的损耗。另外,本发明上述实施例中是在文件传输过程中,直接地从传输的数据包中获取文件的文件类型,是一种基于流的病毒检测技术方案,不需要将传输整个文件的数据包对缓存下来再进行病毒检测,能够有效降低病毒检测对数据包传输过程的影响,提高用户体验。
另外在office2003系列文件,如doc、xls和ppt等类型文件中,其物理结构和逻辑结构都相同,都包含有头结构体和属性块,属性块中包含有各种属性,区别仅在于不同类型文件的属性块内各属性的名称不同,本发明实施例提供的技术方案在各类office2003系列文件中均适用。
另外,如图2所示,本发明图1所示实施例中的步骤102和步骤103可以具体包括:
步骤1021、根据所述文件类型获取所述文件的逻辑结构信息和物理结构信息;
步骤1022、根据所述文件的逻辑结构信息和物理结构信息从传输的数据包中获得所述文件的宏数据。
本发明上述实施例中,其中网络中传输的文件的结构特征信息包括物理结构信息和逻辑结构信息,上述的物理结构信息和逻辑结构信息为文件的固有结构信息。以下以doc文件为例进行说明,图3为本发明实施例中doc文件的物理结构图,如图3所示,该doc文件包括头结构体OLE2、第一数据部分、第一属性块和第二数据部分,其中头结构OLE2由512个字节构成,第一属性块包括四个属性:属性1、属性2、属性3和属性4,每个属性由128个字节构成,且其中的属性1为根属性,也称为root属性,另外doc文件中还可以包括更多的类似属性块,只是仅在第一属性块中包括根属性,上述各属性块中除根类型的根属性外,还包括文件类型属性,该文件类型属性包括用于指向宏数据的物理偏移的变量,即宏数据的物理偏移信息,具体的,针对doc文件,各个属性块中的属性除包括根属性外,还可能包括Macros属性、VBA属性、PROJECT属性和_VBA_PROJECT,且仅在_VBA_PROJECT属性中会包括上述用于指向宏数据的物理偏移的变量。
图4为本发明实施例中doc文件的逻辑结构图,如图4所示,位于最上层的是头结构体OLE2,其大小为512个字节,且该头结构体OLE2中包括一个变量,根据doc文件内部算法的计算,可以根据上述OLE2中包括的变量获取到根属性的物理偏移信息,根据该物理偏移信息可以查找到根属性的位置。因此,在对doc文件的病毒检测过程中,当接收到其物理结构中的第一数据部分的数据包时,不做处理,直接放行,直到接收到包含该文件根属性的数据包,则会根据该文件的根属性获取该文件的宏数据。具体的,根属性中不包括指向宏数据的变量,而是包括三个指针,分别指向三个属性,如图4所示的属性A、属性B和属性C,属性A、属性B和属性C也可称为根属性的三个孩子节点,且该三个属性中必有一个属性位于其他属性块中,本实施例中,其中的属性A位于第二个属性块中,另外属性A中也会包括三个指针,分别指向其孩子节点,即属性D和属性E,还有一个指针的值为NULL,不指向任何属性,在上述的属性中D和属性E中也必然有一个属性位于其他属性块中,本实施例中,属性D位于第三属性块中,以此类推,通过指针能够将各个属性块都链接起来。另外,如图4所示,其中的属性B的三个指针分别指向属性F、属性G和属性H,属性C的三个指针分别指向属性I、属性J和属性K。
因此,本发明实施例中,可以首先找到root属性,然后按照指针连接到其他属性块,并在各个属性块中查找文件类型属性。在上述实施例中提到的doc文件,除包括root属性外,还可以包括Macros属性、VBA属性、PROJECT属性和_VBA_PROJECT属性,其中的_VBA_PROJECT属性为文件类型属性。
在逻辑上,Macros属性是与root属性位于同一个属性块中,或位于root属性的一个指针指向的下一个属性块中;VBA属性或PROJECT属性是与Macros属性位于同一个属性块中,或位于Macros属性的一个指针指向的下一个属性块中,而_VBA_PROJECT属性是与VBA属性或PROJECT属性位于同一个属性块中,或位于VBA属性或PROJECT属性的一个指针指向的下一个属性块中。因此,本发明实施例中,在查找到root属性后,必须先找到Macros属性,然后找到VBA属性或PROJECT属性,最后查找到文件类型属性_VBA_PROJECT属性,并从_VBA_PROJECT属性中获取用于指向宏数据的物理偏移信息的变量,最终获得宏数据以进行病毒检测。
对于在office2003系列文件,如doc、xls和ppt文件等,其物理结构和逻辑结构都相同,区别仅在于头结构体和各属性的名称不同,因此,对于office2003系列这类文件,如图5所示,上述步骤1022根据所述文件的逻辑结构信息和物理结构信息从传输的数据包中获得所述文件的宏数据可以包括:
步骤1023、从所述文件的头结构体中获取根属性的物理偏移信息,并根据所述根属性的物理偏移信息查找到根属性;
步骤1024、从所述根属性所在的属性块,以及与所述根属性通过指针链接的其他属性块中查找文件类型属性,所述文件类型属性中包括宏数据的物理偏移信息;
步骤1025、在获得宏数据部分的物理偏移地址信息后,根据所述宏数据的物理偏移信息获取宏数据。
而针对doc文件,如图6所示,其中从所述根属性所在的属性块,以及与所述根属性通过指针链接的其他属性块中查找文件类型属性可以具体为:
步骤1026、从所述根属性所在的属性块,以及与所述根属性的指针指向的下一个属性块中查找Macros属性;
步骤1027、从所述Macros属性所在的属性块,以及与所述Macros属性的指针指向的下一个属性块中查找VBA属性或PROJECT属性;
步骤1028、从所述VBA属性或PROJECT属性所在的属性块,以及与所述VBA属性或PROJECT属性的指针指向的下一个属性块中查找_VBA_PROJECT属性,所述_VBA_PROJECT属性为文件类型属性。
另外,本发明上述实施例中的根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测可以具体为:
将宏病毒的所有威胁特征字符串编译在病毒状态机中,并根据所述病毒状态机对所述文件的宏数据进行匹配处理。
图7为本发明具体实施例中病毒检测的场景示意图,如图7所示,其中防火墙设置在互联网和本地的计算机设备之间,或者是设置在互联网和本地企业的局域网之间。以下将以对office2003类型文件的检测过程为例进行详细描述,具体的检测过程如图8所示,可以包括如下的步骤:
步骤201、接收模块接收网络中传输的数据包;
该接收模块设置在防火墙中并用于接收传送到互联网的数据包,一个文件可以分成多个数据包进行传输。
步骤202、AV检测装置从传输的数据包中获取所述文件的文件类型,并判断其类型是否为office2003类型,若是,则执行步骤203,否则执行步骤206;
该AV检测装置设置在防火墙中,用于进行AV检测,其可以检测各种类型的文件数据,也可以只检测一种类型的文件数据,本实施例中的AV检测装置以只检测office2003类型的文件数据为例进行说明,对其他类型的文件,可以不进行病毒检测直接传输或终止传输,或为了确保安全,对其他类型文件的所有数据都根据所述病毒状态机进行匹配处理。本实施例以检测office2003类型的文件,对其他类型的文件不进行检测直接终止传输为例进行说明。
步骤203、根据office2003类型的文件的结构特征信息获取待检测文件中的宏数据;
步骤204、使用病毒状态机对获取到的宏数据进行匹配处理;
其中,病毒状态机中编译有宏病毒的所有威胁特征字符串。
步骤205、判断该文件是否感染了宏病毒,当宏数据与病毒状态机中的威胁特征字符串匹配成功时,确认该文件感染了宏病毒,进入步骤206,否则进入步骤207;
步骤206、终止传输该文件,结束对本次接收到的文件数据的AV检测。
步骤207、继续传输该文件的后续数据包。
具体的,针对office2003类型doc文件,本发明上述实施例的步骤203-步骤205所描述的提取宏数据并进行病毒检测具体可以包括如图9所示的步骤:
步骤301、接收网络中传输的数据包,从接收到的数据包中获得文件的头结构体OLE2,并从所述头结构体OLE2中提取计算根属性的物理偏移信息的变量值,并根据该变量值计算根属性的物理偏移信息;
步骤302、根据根属性的物理偏移信息获取包含根属性的数据包,当接收到包含根属性的数据包时,读取根属性所在的第一属性块;
实际操作中,对于根属性之前的数据包不做处理。
步骤303、判断根属性所在的属性块中是否含有“Macros”属性,若是则执行步骤309,否则执行步骤304,上述根属性所在的属性块也成为第一属性块。
由于在doc文件中,文件类型属性_VBA_PROJECT中包括宏数据的物理偏移信息,因此,本步骤首先是从所述根属性所在的属性块中查找“Macros”属性的名称。
步骤304、深度遍历root属性,查找root属性的指针所指向的下一个属性块;
具体的,如图3和图4所示的,第一属性块包括四个属性,其中一个属性为根属性,且root属性包括三个指针,分别指向另外的三个属性——属性A、属性B和属性C,该三个属性中,至少有一个属性位于其他属性块,例如是属性A位于第二个属性块中,则本步骤中是查找属性A所在的第二个属性块;
步骤305、判断属性A所在的第二个属性块中是否包含“Macros”属性,若该属性块中包含有“Macros”属性,则执行步骤309,否则执行步骤306;
步骤306、继续深度遍历,查找属性A的指针指向的下一个属性块;
例如,如图4所示的,属性A也包括有三个指针,分别指向属性D和属性E,另外指针值为NULL,如果属性D位于第三个属性块中,本步骤中查找查找属性D所在的第三个属性块;
步骤307、判断属性D所在的第三个属性块中是否包含“Macros”属性,若该属性块中存在名称为“Macros”的属性,若是则执行步骤309,否则执行步骤308;
步骤308、在未查找到“Macros”属性,或后续未查找到“VBA”属性和“PROJECT”属性之一,或后续未查找到“_VBA_PROJECT向属性时,可以基本确定该文件中不包括宏数据,可以对该文件后续部分放行;或者是为了确保安全,对后续的所有数据都根据所述病毒状态机进行匹配处理,结束对当前文件病毒检测;
步骤309、在查找到“Macros”属性后,查找“Macros”属性所在的属性块是否有“VBA”属性或“PROJECT”属性,如果有执行311,否则执行310;
步骤310、深度遍历“Macros有属性,从“Macros”属性的指针所指向的下一个属性块中查找是否存在“VBA”或“PROJECT”属性,如果是执行步骤311,否则执行步骤308;
步骤311、在“VBA”属性或“PROJECT”属性所在的属性快中查找是否有“_VBA_PROJECT配属性,如果是执行步骤313,否则执行步骤312;
步骤312、如果步骤311中未发现“_VBA_PROJECT配属性后,深度遍历“VBA历或“PROJECTO属性,查找“VBA”属性或“PROJECT”属性的指针所指向的下一个属性块是否有“_VBA_PROJECT配属性,如果是执行步骤313,否则执行步骤308;
步骤313、在查找到“_VBA_PROJECT配属性后,读取该属性结构体中用于计算宏数据的物理偏移信息的变量值;
步骤314、根据步骤313中读取的变量值计算宏数据的物理偏移信息,并根据宏数据的物理偏移信息,对宏数据之前的数据不做处理;
步骤315、在定位到宏数据之后,使用病毒状态机对宏数据进行模式匹配,并判断模式匹配是否成功,若是执行步骤316;否则,执行步骤317;
步骤316、在匹配成功,确认当前文件感染了宏病毒后,可以直接终止传输该文件的后续数据包,也可以进行杀毒等威胁处理后继续传输该文件的后续数据包;
步骤317、继续传输该文件的后续数据包。
本发明上述实施例提供的技术方案,在对offfice2003系列文件进行病毒检测时,通过提取网络传输过程中的文件的宏数据,且仅对文件的宏数据进行病毒检测,从而能够降低病毒检测的难度,提高检测效率的同时减少对系统资源的消耗。另外,本发明上述实施例中是在文件传输过程中,直接地从传输的数据包中获取文件的文件类型,是一种基于流的病毒检测技术方案,不需要将传输整个文件的数据包对缓存下来再进行病毒检测,能够有效降低病毒检测对数据包传输过程的影响,提高用户体验。
图10为本发明实施例中病毒检测装置的结构示意图,如图10所示,该装置包括第一获取模块11、第二获取模块12和检测模块13,其中:
第一获取模块11,用于在文件传输过程中,从传输的数据包中获得所述获取待检测文件的文件类型;
第二获取模块12,用于根据所述文件类型获得所述文件的结构特征信息,并根据所述文件的结构特征信息从传输的数据包中获得所述文件的宏数据;
检测模块13,用于根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测。
本发明上述实施例提供的技术方案,在进行病毒检测时,提取待检测文件的宏数据,且进行待检测文件的宏数据进行病毒检测,能够降低病毒检测的难度,提高检测效率的同时减少对系统资源的消耗。另外,本发明上述实施例中是在文件传输过程中,直接地从传输的数据包中获取文件的文件类型,是一种基于流的病毒检测技术方案,不需要将传输整个文件的数据包对缓存下来再进行病毒检测,能够有效降低病毒检测对数据包传输过程的影响,提高用户体验。
本发明上述实施例中,如图11所示,其中的第二获取模块12可以包括结构信息获取单元121和数据查找单元122,其中:
结构信息获取单元121,用于根据所述文件类型获取所述文件的逻辑结构信息和物理结构信息;
数据查找单元122,用于根据所述文件的逻辑结构信息和物理结构信息从传输的数据包中获得查找宏数据。
本发明上述实施例中的逻辑结构信息和物理结构信息为待检测文件的固有结构信息,具体的针对offfice2003文件,上述的数据查找单元包括第一查找子单元、第二查找子单元和宏数据获取子单元,其中:
第一查找子单元用于从所述文件的头结构体中获取根属性的物理偏移信息,并根据所述根属性的物理偏移信息查找到根属性;
第二查找子单元用于从所述根属性所在的属性块,以及与所述根属性通过指针链接的其他属性块中查找文件类型属性,所述文件类型属性中包括宏数据的物理偏移信息;
宏数据获取子单元用于在获得宏数据的物理偏移信息后,根据所述宏数据的物理偏移信息获取宏数据。
本发明上述实施例中的检测模块13具体用于将宏病毒的所有威胁特征字符串编译在病毒状态机中,并根据所述病毒状态机对文件的宏数据进行匹配处理。
本发明还提供了一种防火墙设备,该设备包括上述的病毒检测装置。在进行病毒检测时,提取待检测文件的宏数据,且进行待检测文件的宏数据进行病毒检测,能够降低病毒检测的难度,提高检测效率的同时减少对系统资源的消耗。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本发明所必须的。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (6)
1.一种病毒检测方法,其特征在于,包括:
在文件传输过程中,从传输的数据包中获得所述文件的文件类型;
根据所述文件类型获得所述文件的结构特征信息;
根据所述文件的结构特征信息从传输的数据包中获得所述文件的宏数据;
根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测;
其中,所述根据文件类型获得所述文件的结构特征信息包括:
根据所述文件类型获得所述文件的逻辑结构信息和物理结构信息;
所述根据文件的结构特征信息从传输的数据包中获得所述文件的宏数据包括:
根据所述文件的逻辑结构信息和物理结构信息从传输的数据包中获得所述文件的宏数据;
其中,所述根据文件的逻辑结构信息和物理结构信息从传输的数据包中获得所述文件的宏数据包括:
从所述文件的头结构体中获取根属性的物理偏移信息,并根据所述根属性的物理偏移信息查找到根属性;
从所述根属性所在的属性块,以及与所述根属性通过指针链接的其他属性块中查找文件类型属性,所述文件类型属性中包括宏数据的物理偏移信息;
根据所述宏数据的物理偏移信息获取宏数据。
2.根据权利要求1所述的病毒检测方法,其特征在于,所述从所述根属性所在的属性块,以及与所述根属性通过指针链接的其他属性块中查找文件类型属性包括:
从所述根属性所在的属性块,以及与所述根属性的指针指向的下一个属性块中查找Macros属性;
从所述Macros属性所在的属性块,以及与所述Macros属性的指针指向的下一个属性块中查找VBA属性或PROJECT属性;
从所述VBA属性或PROJECT属性所在的属性块,以及与所述VBA属性或PROJECT属性的指针指向的下一个属性块中查找_VBA_PROJECT属性,所述_VBA_PROJECT属性为文件类型属性。
3.根据权利要求1-2任一所述的病毒检测方法,其特征在于,所述根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测包括:
将宏病毒的所有威胁特征字符串编译在病毒状态机中,并根据所述病毒状态机对所述文件的宏数据进行匹配处理。
4.一种病毒检测装置,其特征在于,包括:
第一获取模块,用于在文件传输过程中,从传输的数据包中获得所述文件的文件类型;
第二获取模块,用于根据所述文件类型获得所述文件的结构特征信息,并根据所述文件的结构特征信息从传输的数据包中获得所述文件的宏数据;
检测模块,用于根据宏病毒的威胁特征字符串对所述文件的宏数据进行病毒检测;
其中,所述第二获取模块包括:
结构信息获取单元,用于根据所述文件类型获得所述文件的逻辑结构信息和物理结构信息;
数据查找单元,用于根据所述文件的逻辑结构信息和物理结构信息从传输的数据包中获得所述文件的宏数据;
其中,所述数据查找单元包括:
第一查找子单元,用于从所述文件的头结构体中获取根属性的物理偏移信息,并根据所述根属性的物理偏移信息查找到根属性;
第二查找子单元,用于从所述根属性所在的属性块,以及与所述根属性通过指针链接的其他属性块中查找文件类型属性,所述文件类型属性中包括宏数据的物理偏移信息;
宏数据获取子单元,用于根据所述宏数据的物理偏移信息获取宏数据。
5.根据权利要求4所述的病毒检测装置,其特征在于,所述检测模块具体用于将宏病毒的所有威胁特征字符串编译在病毒状态机中,并根据所述病毒状态机对所述文件的宏数据进行匹配处理。
6.一种防火墙设备,其特征在于,包括权利要求4-5任意一项所述的病毒检测装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210157795.8A CN102694801B (zh) | 2012-05-21 | 2012-05-21 | 病毒检测方法、装置以及防火墙设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210157795.8A CN102694801B (zh) | 2012-05-21 | 2012-05-21 | 病毒检测方法、装置以及防火墙设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102694801A CN102694801A (zh) | 2012-09-26 |
CN102694801B true CN102694801B (zh) | 2015-08-05 |
Family
ID=46860088
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210157795.8A Active CN102694801B (zh) | 2012-05-21 | 2012-05-21 | 病毒检测方法、装置以及防火墙设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102694801B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103246847B (zh) * | 2013-05-13 | 2016-03-23 | 腾讯科技(深圳)有限公司 | 一种宏病毒查杀的方法和装置 |
CN104424438B (zh) * | 2013-09-06 | 2018-03-16 | 华为技术有限公司 | 一种反病毒文件检测方法、装置及网络设备 |
CN103500309B (zh) * | 2013-09-26 | 2016-09-28 | 北京奇虎科技有限公司 | 一种宏病毒查杀的方法和装置 |
CN106934287B (zh) * | 2015-12-31 | 2020-02-11 | 北京金山安全软件有限公司 | 一种root病毒清理方法、装置及电子设备 |
CN106529290B (zh) * | 2016-10-11 | 2020-02-18 | 北京金山安全软件有限公司 | 一种恶意软件防护方法、装置以及电子设备 |
CN108234444A (zh) * | 2017-11-02 | 2018-06-29 | 广东天网安全信息科技有限公司 | 一种基于防火墙设备的病毒学习方法 |
CN108197472A (zh) * | 2017-12-20 | 2018-06-22 | 北京金山安全管理系统技术有限公司 | 宏处理方法、装置、存储介质及处理器 |
CN110830454B (zh) * | 2019-10-22 | 2020-11-17 | 远江盛邦(北京)网络安全科技股份有限公司 | 基于alg协议实现tcp协议栈信息泄露的安防设备检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766779A (zh) * | 2004-10-29 | 2006-05-03 | 微软公司 | 对文档进行标记的反病毒清单 |
CN101547126A (zh) * | 2008-03-27 | 2009-09-30 | 北京启明星辰信息技术股份有限公司 | 一种基于网络数据流的网络病毒检测方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7363506B2 (en) * | 2002-01-30 | 2008-04-22 | Cybersoft, Inc. | Software virus detection methods, apparatus and articles of manufacture |
-
2012
- 2012-05-21 CN CN201210157795.8A patent/CN102694801B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1766779A (zh) * | 2004-10-29 | 2006-05-03 | 微软公司 | 对文档进行标记的反病毒清单 |
CN101547126A (zh) * | 2008-03-27 | 2009-09-30 | 北京启明星辰信息技术股份有限公司 | 一种基于网络数据流的网络病毒检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102694801A (zh) | 2012-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102694801B (zh) | 病毒检测方法、装置以及防火墙设备 | |
US7941417B2 (en) | Processing structured electronic document streams using look-ahead automata | |
CN102841999B (zh) | 一种文件宏病毒的检测方法和装置 | |
CA2743273C (en) | Method and device for intercepting junk mail | |
KR101617696B1 (ko) | 데이터 정규표현식의 마이닝 방법 및 장치 | |
US11132409B2 (en) | Identifying client states | |
CN102870116B (zh) | 内容匹配方法和装置 | |
CN103853650A (zh) | 一种模糊测试的测试用例生成方法及装置 | |
CN105868169B (zh) | 一种数据采集装置、数据采集方法和系统 | |
CN107239492A (zh) | Xml文档转换为对象、对象转换为xml文档的方法及装置 | |
CN109800337B (zh) | 一种适用于大字母表的多模式正则匹配算法 | |
CN103746869B (zh) | 结合数据/掩码和正则表达式的多级深度包检测方法 | |
CN105335245B (zh) | 故障存储方法和装置、故障查找方法和装置 | |
KR102151858B1 (ko) | 링크드 데이터와 문자열 데이터를 이용한 온톨로지 인스턴스 확장 방법 및 시스템 | |
CN111078963B (zh) | Nfa到dfa的转换方法及装置 | |
US20060017557A1 (en) | Packet intrusion detection rule simplification apparatus and method, and packet intrusion detection apparatus and method using simplified intrusion detection rule | |
CN117061202A (zh) | 一种基于多源漏洞数据知识图谱的攻击链路生成方法 | |
CN105340227B (zh) | 开放流流表间信息传递的方法、控制器、交换机及系统 | |
CN105357177A (zh) | 一种数据包过滤规则集处理方法及数据包匹配方法 | |
CN110413212B (zh) | 识别待写入数据中的可简化内容的方法、设备和计算机程序产品 | |
CN114567688B (zh) | 一种基于fpga的协同网络协议解析方法和装置 | |
CN105824927B (zh) | 一种基于树状自动机的域名匹配方法 | |
CN104932982B (zh) | 一种消息访存的编译方法及相关装置 | |
CN103365705B (zh) | 消息队列处理方法和装置 | |
CN102262526B (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 |