《双核心双出口星型网络的防毒方法、装置及系统.pdf》由会员分享,可在线阅读,更多相关《双核心双出口星型网络的防毒方法、装置及系统.pdf(32页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104184707A43申请公布日20141203CN104184707A21申请号201310196442322申请日20130524H04L29/06200601H04L12/44200601H04L29/0820060171申请人北京瑞星信息技术有限公司地址100190北京市海淀区中关村大街22号中科大厦1305室72发明人张量张亚庆74专利代理机构广州华进联合专利商标代理有限公司44224代理人陈振54发明名称双核心双出口星型网络的防毒方法、装置及系统57摘要本发明公开了一种双核心双出口星型网络的防毒方法、装置及系统。其中方法包括在双核心双出口星型网络的两侧链路上分别。
2、部署一台防毒墙,两侧防毒墙各自利用扣包方法检测和阻断病毒,并且彼此直连。在TCP连接的双向数据流各自通过单侧防毒墙的情形下,两侧防毒墙根据传输协议类型进行必要的信息同步,使得对端防毒墙能够获知带毒文件的网络位置,或者在FTP协议下跟踪子连接。从而使得防毒墙在只捕获单向数据流时,不仅能做到病毒阻断,而且能报告带毒文件的精确网络位置。双侧防毒墙之间的同步链路为松散耦合,不存在单点失效的风险,不破坏双核心双出口星型网络的冗余特性。51INTCL权利要求书3页说明书21页附图7页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书21页附图7页10申请公布号CN104184707ACN。
3、104184707A1/3页21一种双核心双出口星型网络的防毒方法,其特征在于,包括以下步骤S100,在双核心双出口星型网络的双链路上各自部署一台防毒墙,双侧防毒墙之间彼此直连,两台防毒墙各自采用扣包方法查杀和阻断病毒;S200,TCP连接的双向数据流经过防毒墙时,防毒墙各自独立地采用扣包方法查杀并阻断数据流中带毒文件的传输;TCP连接的单向数据流经过一侧防毒墙时,该侧防毒墙根据传输协议类型将同步信息同步到对端防毒墙;S300,任一侧防毒墙根据对端防毒墙同步过来的同步信息,辅助进行子连接跟踪,并各自独立地对经过的TCP连接的单向数据流采用扣包方法进行病毒查杀,在发现病毒时报告带毒文件的精确网络。
4、位置。2根据权利要求1所述的双核心双出口星型网络的防毒方法,其特征在于两侧防毒墙中各自设定用于发送和/或接收同步信息的网卡;所述两侧防毒墙之间通过双绞线进行物理直连。3根据权利要求1所述的双核心双出口星型网络的防毒方法,其特征在于,所述S200,包括以下步骤S210,两侧防毒墙同时判断TCP连接双向数据流是否经过同侧防毒墙,如果是则执行步骤S220,否则执行步骤S230;S220,防毒墙捕获并解析TCP连接的双向数据流,直接利用扣包方法对带毒数据流进行查杀和阻断后结束返回;S230,一侧防毒墙捕获经过的TCP连接的单向数据流,根据传输协议类型判断是否需要同步所述同步信息到对端防毒墙;并在判断出。
5、需要同步所述同步信息到对端防毒墙时,提取出子连接协商信息或者传输文件的网络位置信息作为同步信息通过防毒墙间同步链路发送给对端防毒墙。4根据权利要求3所述的双核心双出口星型网络的防毒方法,其特征在于,所述S230,包括以下步骤S231,判断TCP连接的单向数据流的传输协议类型;S232,当判断出所述传输协议为HTTP传输协议时,本侧防毒墙从TCP连接的单向数据流中捕获到GET信息作为同步信息,通过防毒墙间同步链路将所述GET信息发送给对端防毒墙;S233,当判断出所述传输协议为SMTP或者POP3传输协议时,本侧防毒墙不提取同步信息,也不发送同步信息到对端防毒墙,两侧防毒墙各自从邮件本身中提取网。
6、络位置信息;S234,当判断出所述传输协议为FTP传输协议时,本侧防毒墙以PORT、STOR、RETR、CWD和227应答作为同步信息,通过防毒墙间同步链路将所述PORT、STOR、RETR、CWD和227应答发送给对端防毒墙。5根据权利要求4所述的双核心双出口星型网络的防毒方法,其特征在于,所述S300,包括以下步骤S310,判断所述TCP连接的单向数据流的传输协议类型;S320,当判断出所述传输协议为HTTP传输协议时,本侧防毒墙对经过的单方向数据流利用扣包方法查杀和阻断病毒,并利用对端同步过来的GET请求中的URL信息对所查杀的病毒报告精确的网络位置;权利要求书CN104184707A2。
7、/3页3当所述传输协议为SMTP或者POP3传输协议时,本侧防毒墙对经过的单向数据流直接利用扣包方法查杀和阻断病毒,并独立地从邮件本身中解析出网络位置信息;当所述传输协议为FTP传输协议时,根据FTP文件传输模式和类型,本侧防毒墙选择利用对端同步信息中的PORT命令或227应答获知FTP数据连接的协商信息并跟踪数据连接,利用扣包方法查杀和阻断病毒,选择利用对端同步信息中的CWD、RETR和STOR命令获取带毒文件的网络位置信息。6根据权利要求5所述的双核心双出口星型网络的防毒方法,其特征在于,所述当所述传输协议为FTP传输协议时,根据FTP文件传输模式和类型,本侧防毒墙选择利用对端同步信息中的。
8、PORT命令或227应答获知FTP数据连接的协商信息并跟踪数据连接,利用扣包方法查杀和阻断病毒,选择利用对端同步信息中的CWD、RETR和STOR命令获取带毒文件的网络位置信息,包括以下步骤S321,判断所述FTP文件传输模式和类型;S322,当判断出所述FTP文件传输为主动连接文件上传时,上传方向的防毒墙直接对上传文件采用扣包进行病毒的查杀和阻断;并独立地获得子连接协商信息和文件路径信息;S323,当判断出所述FTP文件传输为主动连接文件下载时,下载方向的防毒墙利用对端同步的子连接协商信息和文件路径信息对下载文件采用扣包方法进行病毒的查杀和阻断;S324,当判断出所述FTP文件传输为被动连接。
9、文件上传时,上传方向的防毒墙利用对端同步的子连接协商信息采用扣包方法进行病毒的查杀和阻断,并独立地获得文件路径信息;S325,当判断出所述FTP文件传输为被动连接文件下载时,下载方向的防毒墙独立地获得子连接协商信息,采用扣包方法进行病毒的查杀和阻断,并获得对端同步过来的文件路径信息。7根据权利要求1至6中任意一项所述的双核心双出口星型网络的防毒方法,其特征在于两台防毒墙处于松散耦合关系,同步信息的丢失或者任一台防毒墙的宕机不会影响对端防毒墙的数据包转发和病毒阻断。8一种双核心双出口星型网络的防毒装置,其特征在于,在双侧链路上各部署一台防毒墙,两侧防毒墙之间通过同步链路连接,其中双核心网络与外部。
10、网络的交互流量通过防毒墙进行传输;所述同步链路物理连接两侧防毒墙,传输两侧防毒墙之间的同步信息;两侧防毒墙用于查杀双核心双出口星型网络传输的数据流中的病毒。9根据权利要求8所述的双核心双出口星型网络的防毒装置,其特征在于,所述两侧防毒墙由相同的模块组成,所述防毒墙包括配置模块、数据流捕获模块、半连接判断模块、扣包查毒模块、信息同步模块、单向数据流处理模块和病毒报告模块;所述配置模块用于配置两台防毒墙之间互相连通的同步链路;所述数据流捕获模块,用于捕获经过防毒墙的数据流;权利要求书CN104184707A3/3页4所述半连接判断模块,用于判断防毒墙是否只捕获TCP连接的单向数据流,当防毒墙捕获T。
11、CP连接的双向数据流时,则利用扣包查毒模块直接对数据流查杀病毒处理;当防毒墙只捕获TCP连接的单向的数据流时,则利用信息同步模块对数据流进行处理;所述扣包查毒模块,用于对防毒墙所捕获的数据流中的病毒进行查杀,当半连接判断模块对数据流捕获模块所捕获的数据流进行判断后,防毒墙捕获TCP连接的双向数据流时,直接对数据流捕获模块捕获的双向数据流中的病毒进行查杀;所述信息同步模块,用于判断所接收的单向数据流是否需要发送同步信息到对端防毒墙,当需要发送同步信息到对端防毒墙时,则发送同步信息,并通同步链路发送给对端防毒墙,否则直接利用单向数据流处理模块对单向数据流进行处理;所述单向数据流处理模块,用于选择利。
12、用同步信息配合扣包查毒模块对防毒墙捕获的TCP连接的单向数据流进行子连接定位,病毒的查杀和阻断,并确定传输文件的网络位置信息;所述病毒报告模块,用于在有病毒事件发生时,报告病毒事件,并同时报告带毒文件的网络位置。10根据权利要求9所述的双核心双出口星型网络的防毒装置,其特征在于所述防毒墙捕获双向数据流时,扣包查毒模块对数据流查杀病毒后,如果发现带毒文件,病毒报告模块报告病毒事件,同时报告带毒文件的网络位置;所述防毒墙捕获单向数据流时,扣包查毒模块对数据流查杀病毒后,如果发现带毒文件,病毒报告模块报告病毒事件,根据单向数据流处理模块确定的网络位置信息,同时报告带毒文件的网络位置。11一种双核心双。
13、出口星型网络的防毒系统,包括服务器和客户端,其特征在于,还包括如权利要求810任一项所述的防毒装置。权利要求书CN104184707A1/21页5双核心双出口星型网络的防毒方法、装置及系统技术领域0001本发明涉及网络技术领域,特别是涉及一种双核心双出口星型网络的防毒方法、装置及系统。背景技术0002目前大型园区网普遍采用双核心双出口星型结构,双核心双出口星型网络的实质是冗余配置。0003如图1所示,在核心层中,核心路由器RA和RB互为热备,并分别通过链路1和链路2连接上层网络;在汇聚层中,汇聚路由器分别与每个核心路由器建立连接,如R1通过链路3和链路4连接核心路由器RA和RB。这种连接方式能。
14、够保障与上层网络的连通性不会因单点失效(比如RA崩溃)而中断。双核心星型结构除链路冗余外,还承担负载均衡的功能。核心路由器RA和RB相对于汇聚层路由器是等距的,通过路由协议,如OSPF协议的等价多路径负载均衡,或者策略路由,主机101368访问上层网络的出流量(黑色虚线表示),既可以选择路径R1,RA,也可以选择路径R1,RB,从而使得双核心设备和出口带宽得到充分利用。同理,从上层网络返回到101368的流量,也可以选择路径RA,R1或RB,R1。0004目前,一般采用透明代理防毒墙对网络传输中的病毒进行过滤,以保证网络安全。0005透明代理防毒墙的原理如图2所示(图2右下侧方框是防毒墙的框架。
15、结构),在透明代理防毒墙系统中,客户端与服务器之间的原始连接被客户端与防毒墙系统之间的接管连接以及防毒墙系统与服务器之间的代理连接所取代。防毒墙系统的透明代理保证代理连接所使用的IP源地址和TCP源端口与原始连接一致;防毒墙系统的协议代理模块负责接管原始连接和发起代理连接,解析应用层协议,还原和缓存文件,并交给查毒引擎查杀。0006透明代理防毒墙功能有效性的必要条件是代理TCP连接的双向流量都必须通过同一台防毒墙,否则透明代理防毒墙会发生功能失效,甚至导致网络中断。0007在图1中,对于在路由器RA出口链路1上布置的防毒墙,如果101368访问上层网络的流量经过RA,但由于多链路负载均衡的原因。
16、,上层网络返回101368的流量可能经过RB一侧,就会发生防毒墙功能失效。0008因此,如何实现在双核心双出口星型网络中,防毒墙只捕获TCP连接单向数据流的前提下,仍能做到病毒阻断,并报告带毒文件的网络位置信息是个亟待解决的问题。发明内容0009本发明提供了一种双核心双出口星型网络的防毒方法、装置及系统,在双核心双出口星型网络中,防毒墙只捕获TCP连接单个方向流量的前提下,仍能做到病毒阻断,并报告带毒文件的网络位置。0010为实现本发明目的而提供的一种双核心双出口星型网络的防毒方法,包括如下步骤0011S100,在双核心双出口星型网络的双链路上各自部署一台防毒墙,双侧防毒墙之说明书CN1041。
17、84707A2/21页6间彼此直连,两台防毒墙各自采用扣包方法查杀和阻断病毒;0012S200,TCP连接的双向数据流经过防毒墙时,防毒墙各自独立地采用扣包方法查杀并阻断数据流中带毒文件的传输;TCP连接的单向数据流经过一侧防毒墙时,该侧防毒墙根据传输协议类型将同步信息同步到对端防毒墙;0013S300,任一侧防毒墙根据对端防毒墙同步过来的同步信息,辅助进行子连接跟踪,并各自独立地对经过的TCP连接的单向数据流采用扣包方法进行病毒查杀,在发现病毒时报告带毒文件的精确网络位置。0014较佳地,作为一种可实施方式,两侧防毒墙中各自设定用于发送和/或接收同步信息的网卡;所述两侧防毒墙之间通过双绞线进。
18、行物理直连。0015较佳地,作为一种可实施方式,所述S200包括以下步骤0016S210,两侧防毒墙同时判断TCP连接双向数据流是否经过同侧防毒墙,如果是则执行步骤S220,否则执行步骤S230;0017S220,防毒墙捕获并解析TCP连接的双向数据流,直接利用扣包方法对带毒数据流进行查杀和阻断后结束返回;0018S230,一侧防毒墙捕获经过的TCP连接的单向数据流,根据传输协议类型判断是否需要同步所述同步信息到对端防毒墙;并在判断出需要同步所述同步信息到对端防毒墙时,提取出子连接协商信息或者传输文件的网络位置信息作为同步信息通过防毒墙间同步链路发送给对端防毒墙。0019较佳地,作为一种可实施。
19、方式,所述S230,包括以下步骤0020S231,判断TCP连接的单向数据流的传输协议类型;0021S232,当判断出所述传输协议为HTTP传输协议时,本侧防毒墙从TCP连接的单向数据流中捕获到GET信息作为同步信息,通过防毒墙间同步链路将所述GET信息发送给对端防毒墙;0022S233,当判断出所述传输协议为SMTP或者POP3传输协议时,本侧防毒墙不提取同步信息,也不发送同步信息到对端防毒墙,两侧防毒墙各自从邮件本身中提取网络位置信息;0023S234,当判断出所述传输协议为FTP传输协议时,本侧防毒墙以PORT、STOR、RETR、CWD和227应答作为同步信息,通过防毒墙间同步链路将所。
20、述PORT、STOR、RETR、CWD和227应答发送给对端防毒墙。0024较佳地,作为一种可实施方式,所述S300包括以下步骤0025S310,判断所述TCP连接的单向数据流的传输协议类型;0026S320,当判断出所述传输协议为HTTP传输协议时,本侧防毒墙对经过的单方向数据流利用扣包方法查杀和阻断病毒,并利用对端同步过来的GET请求中的URL信息对所查杀的病毒报告精确的网络位置;0027当所述传输协议为SMTP或者POP3传输协议时,本侧防毒墙对经过的单向数据流直接利用扣包方法查杀和阻断病毒,并独立地从邮件本身中解析出网络位置信息;0028当所述传输协议为FTP传输协议时,根据FTP文件。
21、传输模式和类型,本侧防毒墙选择利用对端同步信息中的PORT命令或227应答获知FTP数据连接的协商信息并跟踪数据连接,利用扣包方法查杀和阻断病毒,选择利用对端同步信息中的CWD、RETR和STOR命令获说明书CN104184707A3/21页7取带毒文件的网络位置信息。0029较佳地,作为一种可实施方式,所述当所述传输协议为FTP传输协议时,根据FTP文件传输模式和类型,本侧防毒墙选择利用对端同步信息中的PORT命令或227应答获知FTP数据连接的协商信息并跟踪数据连接,利用扣包方法查杀和阻断病毒,选择利用对端同步信息中的CWD、RETR和STOR命令获取带毒文件的网络位置信息,包括以下步骤0。
22、030S321,判断所述FTP文件传输模式和类型;0031S322,当判断出所述FTP文件传输为主动连接文件上传时,上传方向的防毒墙直接对上传文件采用扣包进行病毒的查杀和阻断;并独立地获得子连接协商信息和文件路径信息;0032S323,当判断出所述FTP文件传输为主动连接文件下载时,下载方向的防毒墙利用对端同步的子连接协商信息和文件路径信息对下载文件采用扣包方法进行病毒的查杀和阻断;0033S324,当判断出所述FTP文件传输为被动连接文件上传时,上传方向的防毒墙利用对端同步的子连接协商信息采用扣包方法进行病毒的查杀和阻断,并独立地获得文件路径信息;0034S325,当判断出所述FTP文件传输。
23、为被动连接文件下载时,下载方向的防毒墙独立地获得子连接协商信息,采用扣包方法进行病毒的查杀和阻断,并获得对端同步过来的文件路径信息。0035较佳地,两台防毒墙处于松散耦合关系,同步信息的丢失或者任一台防毒墙的宕机不会影响对端防毒墙的数据包转发和病毒阻断。0036基于同一发明构思的一种双核心双出口星型网络的防毒装置在双侧链路上各部署一台防毒墙,两侧防毒墙之间通过同步链路连接,其中0037双核心网络与外部网络的交互流量通过防毒墙进行传输;0038所述同步链路物理连接两侧防毒墙,传输两侧防毒墙之间的同步信息;0039两侧防毒墙用于查杀双核心双出口星型网络传输的数据流中的病毒。0040较佳地,作为一种。
24、可实施方式,所述两侧防毒墙由相同的模块组成,所述防毒墙包括0041配置模块、数据流捕获模块、半连接判断模块、扣包查毒模块、信息同步模块、单向数据流处理模块和病毒报告模块;0042所述配置模块用于配置两台防毒墙之间互相连通的同步链路;0043所述数据流捕获模块,用于捕获经过防毒墙的数据流;0044所述半连接判断模块,用于判断防毒墙是否只捕获TCP连接的单向数据流,当防毒墙捕获TCP连接的双向数据流时,则利用扣包查毒模块直接对数据流查杀病毒处理;当防毒墙只捕获TCP连接的单向的数据流时,则利用信息同步模块对数据流进行处理;0045所述扣包查毒模块,用于对防毒墙所捕获的数据流中的病毒进行查杀,当半连。
25、接判断模块对数据流捕获模块所捕获的数据流进行判断后,防毒墙捕获TCP连接的双向数据流时,直接对数据流捕获模块捕获的双向数据流中的病毒进行查杀;0046所述信息同步模块,用于判断所接收的单向数据流是否需要发送同步信息到对端防毒墙,当需要发送同步信息到对端防毒墙时,则发送同步信息,并通同步链路发送给对端说明书CN104184707A4/21页8防毒墙,否则直接利用单向数据流处理模块对单向数据流进行处理;0047所述单向数据流处理模块,用于选择利用同步信息配合扣包查毒模块对防毒墙捕获的TCP连接的单向数据流进行子连接定位,病毒的查杀和阻断,并确定传输文件的网络位置信息;0048所述病毒报告模块,用于。
26、在有病毒事件发生时,报告病毒事件,并同时报告带毒文件的网络位置。0049较佳地,作为一种可实施方式,所述防毒墙捕获双向数据流时,扣包查毒模块对数据流查杀病毒后,如果发现带毒文件,病毒报告模块报告病毒事件,同时报告带毒文件的网络位置;0050所述防毒墙捕获单向数据流时,扣包查毒模块对数据流查杀病毒后,如果发现带毒文件,病毒报告模块报告病毒事件,根据单向数据流处理模块确定的网络位置信息,同时报告带毒文件的网络位置。0051基于同一发明构思的一种双核心双出口星型网络的防毒系统,包括服务器和客户端,以及所述双核心双出口星型网络的防毒装置。0052本发明的有益效果包括0053本发明提供的一种双核心双出口。
27、星型网络的查毒方法、装置及系统。通过设置在双核心双出口星型网络出口处双侧链路上的两台防毒墙之间发送同步信息,防毒墙从所捕获的TCP连接单向数据流中还原出传输文件,并确定所述传输文件的网络位置信息,并利用扣包方法对防毒墙捕获的数据流病毒查杀和阻断,使防毒墙在只捕获TCP连接单向数据流的前提下,仍能做到病毒阻断,在报告病毒事件时同时报告带毒文件的网络位置,而且防毒墙本身不对用户网络拓扑和路由策略施加任何限制,不破坏双核心双出口星型结构的冗余特性,双出口链路上的防毒墙呈松散耦合关系,在对端宕机时不会失效。附图说明0054图1为现有技术双核心双出口星型网络示意图;0055图2为现有技术透明代理防毒墙原。
28、理示意图;0056图3为本发明一种双核心双出口星型网络的查毒方法的一具体实施例的流程示意图;0057图4为本发明一种双核心双出口星型网络的查毒方法的一具体实施例的使用HTTP协议传输文件的示意图;0058图5是扣包查毒方法的零拷贝SK_BUFF结构的栈式分配队列示意图;0059图6是扣包查毒方法的网卡数据包收发包过程示意图;0060图7是扣包查毒方法的网卡数据包在内核层接收并映射到应用层示意图;0061图8为本发明一种双核心双出口星型网络的查毒方法的一具体实施例的使用SMTP协议传输文件的示意图0062图9为本发明一种双核心双出口星型网络的查毒方法的一具体实施例的使用POP3协议传输文件的示意。
29、图0063图10为本发明一种双核心双出口星型网络的查毒方法的一具体实施例的使用FTP协议传输文件的示意图;说明书CN104184707A5/21页90064图11为本发明一种双核心双出口星型网络的查毒装置的一具体实施例的防毒墙构成示意图。具体实施方式0065为使本发明双核心双出口星型网络的查毒方法及装置的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明做进一步详细说明,但是,应当说明的是,以下所描述的具体实施例仅用于说明本发明,但不是限定本发明的范围。0066本实施例的双核心双出口星型网络查毒方法,如图3所示,包括如下步骤0067S100,在双核心双出口星型网络的双链路上各自部。
30、署一台防毒墙,双侧防毒墙之间彼此直连,两台防毒墙各自采用扣包方法查杀和阻断病毒;0068S200,TCP连接的双向数据流经过防毒墙时,防毒墙各自独立地采用扣包方法查杀并阻断数据流中带毒文件的传输;TCP连接的单向数据流经过一侧防毒墙时,该侧防毒墙根据传输协议类型将同步信息同步到对端防毒墙;0069S300,任一侧防毒墙根据对端防毒墙同步过来的同步信息,辅助进行子连接跟踪对子连接并各自独立地对流经的TCP连接的单向数据流采用扣包方法进行病毒查杀,在发现病毒时报告带毒文件的精确网络位置。0070下面对上述步骤做详细说明0071步骤S100,在双核心双出口星型网络的双链路上各自部署一台防毒墙,双侧防。
31、毒墙之间彼此直连,两台防毒墙各自采用扣包方法查杀和阻断病毒。0072如图1所示,在双核心双出口星型网络核心路由器RA和RB的出口处分别部署一台防毒墙。0073此处需要说明的是,所述两台防毒墙的结构及功能完全相同,两台防毒墙根据TCP连接的双向数据流是否经过同侧防毒墙而决定是否同步信息到对端防毒墙。在两台防毒墙中设置发送、接收同步信息的网卡并进行物理直连。0074较佳地,作为一种可实施方式,两侧防毒墙之间通过双绞线直连的一对网卡构成同步链路,网卡均处于混杂模式,可监听所有收到的数据包。0075同步方法的实质是将带有同步信息的原始数据包通过本侧同步网卡拷贝一份并直接发往对端。0076对端在收到同步。
32、的数据包后,使用数据包中的TCP首部的四元组信息定位相应的TCP连接数据结构,再根据具体的应用层解析出所需要的子连接协商信息或者传输文件网络位置信息。0077需要说明的是,所述同步链路用于在两台防毒墙之间完成信息的传递,本实施例中通过双绞线直连的方式实现,当然也可以采用本领域技术人员所熟知的其他方式实现同步链路。0078此处防毒墙采用扣包方法查杀并阻断病毒,取缔了传统的透明代理查毒手段。采用扣包方法的防毒墙并不接管原始连接,也不建立代理连接;而是作为数据流的观察者,在文件传输到达最后一个数据包时,在TCP层扣留该数据包和后续重传包,直到病毒传统引擎完成对文件的病毒扫描,再根据扫描结果决定被扣数。
33、据包的转发或丢弃,以及连接的继续或阻断。这种基于TCP层直接扣包而不是代理连接的杀毒技术,使得防毒墙类似于一根说明书CN104184707A6/21页10可以阻断病毒的导线,除了病毒扫描引入的延迟,或者阻断带毒连接外,不改变原始连接的任何特征。0079较佳地,作为一种可实施方式,步骤S200,TCP连接的双向数据流经过防毒墙时,防毒墙各自独立地采用扣包方法查杀并阻断数据流中带毒文件的传输;TCP连接的单向数据流经过一侧防毒墙时,该侧防毒墙根据传输协议类型将同步信息同步到对端防毒墙,包括以下步骤0080S210,两侧防毒墙同时判断TCP连接双向数据流是否经过同侧防毒墙,如果是则执行步骤S220,。
34、否则执行步骤S230;0081如图4所示,客户端101368访问位于1010157上的WEB站点的主页面INDEXHTML,则客户端和服务器之间要完成TCP连接的三次握手,在建立TCP连接的三次握手过程中,防毒墙作为数据流的观察者,可以判断TCP连接的双向数据流是否经过同侧防毒墙。所述防毒墙在TCP连接握手阶段捕获解析并判断双向数据流是否通过同侧防毒墙为成熟技术,作为本技术领域人员可以根据介绍实现,此处不再赘述。0082此处需要说明的是,在TCP的3次握手阶段之后,防毒墙就能够判断出TCP连接双向数据流的走向。如果单侧防毒墙只看到SYN包和第3个ACK包,或者只看到SYNACK包,就表明TCP。
35、连接双向数据流分别流经两侧链路。0083S220,防毒墙捕获并解析TCP连接的双向数据流,直接利用扣包方法对带毒数据流进行查杀和阻断后结束返回;0084此处需要说明的是,在双核心双出口星型网络中,对于布置在核心路由器出口处的防毒墙,在TCP连接双向数据流都经过同一防毒墙时,该防毒墙正常工作,可以完成查毒的工作。对本发明实施例双核心双出口星型网络查毒方法也是如此,当TCP连接双向数据流都经过同一防毒墙时,该防毒墙直接利用扣包方法对捕获解析出的双向数据流查杀并阻断病毒后结束返回,在报告病毒事件时,同时能报告带毒文件的网络位置。0085S230,一侧防毒墙捕获经过的TCP连接的单向数据流,根据传输协。
36、议类型判断是否需要同步所述同步信息到对端防毒墙;并在判断出需要同步所述同步信息到对端防毒墙时,提取出子连接协商信息或者传输文件的网络位置信息作为同步信息通过防毒墙间同步链路发送给对端防毒墙;0086此处需要说明的是,需要同步的信息是用来确定传输文件网络位置的信息的网络位置信息或者辅助子连接跟踪的自连接跟踪信息,要同步的数据包数量很少,占用的带宽和资源相当有限。如在使用HTTP协议进行文件传输时的客户端发出的GET请求数据包。0087较佳地,作为一种可实施方式,所述S230,一侧防毒墙捕获经过的TCP连接的单向数据流,根据传输协议类型判断是否需要同步所述同步信息到对端防毒墙;并在判断出需要同步所。
37、述同步信息到对端防毒墙时,提取出子连接协商信息或者传输文件的网络位置信息作为同步信息通过防毒墙间同步链路发送给对端防毒墙,包括以下步骤0088S231,判断TCP连接的单向数据流的传输协议类型;0089S232,当判断出所述传输协议为HTTP传输协议时,本侧防毒墙从TCP连接的单向数据流中捕获到GET信息作为同步信息,通过防毒墙间同步链路将所述GET信息发送给对端防毒墙;0090S233,当判断出所述传输协议为SMTP或者POP3传输协议时,本侧防毒墙不提取同说明书CN104184707A107/21页11步信息,也不发送同步信息到对端防毒墙,两侧防毒墙各自从邮件本身中提取网络位置信息;009。
38、1S234,当判断出所述传输协议为FTP传输协议时,本侧防毒墙以PORT、STOR、RETR、CWD和227应答作为同步信息,通过防毒墙间同步链路将所述PORT、STOR、RETR、CWD和227应答发送给对端防毒墙。0092较佳地,作为一种可实施方式,本实施例中,一侧防毒墙通过网卡发送同步信息给对端防毒墙,同步信息经过两台防毒墙之间直连的双绞线到达对端。0093此处需要说明的是,一侧防毒墙发送同步信息给对端防毒墙,对端防毒墙不返回确认信息,同步信息丢失不影响TCP数据流在两侧防毒墙的正常转发。因此,设置在双核心双出口星型网络两出口处的两台防毒墙呈松散耦合关系,一侧防毒墙宕机或者同步信息丢失时。
39、不影响对端防毒墙的数据包转发。0094较佳地,作为一种可实施方式,步骤S300,任一侧防毒墙根据对端防毒墙同步过来的同步信息,辅助进行子连接跟踪,并各自独立地对经过的TCP连接的单向数据流采用扣包方法进行病毒查杀,在发现病毒时报告带毒文件的精确网络位置,包括以下步骤0095S310,判断所述TCP连接的单向数据流的传输协议类型;0096S320,当判断出所述传输协议为HTTP传输协议时,本侧防毒墙对经过的单方向数据流利用扣包方法查杀和阻断病毒,并利用对端同步过来的GET请求中的URL信息对所查杀的病毒报告精确的网络位置;0097当所述传输协议为SMTP或者POP3传输协议时,本侧防毒墙对经过的。
40、单向数据流直接利用扣包方法查杀和阻断病毒,并独立地从邮件本身中解析出网络位置信息;0098此处需要说明的是,所述网络位置信息为邮件的发件人或收件人。0099当所述传输协议为FTP传输协议时,根据FTP文件传输模式和类型,本侧防毒墙选择利用对端同步信息中的PORT命令或227应答获知FTP数据连接的协商信息并跟踪数据连接,利用扣包方法查杀和阻断病毒,选择利用对端同步信息中的CWD、RETR和STOR命令获取带毒文件的网络位置信息。0100较佳地,作为一种可实施方式,所述当所述传输协议为FTP传输协议时,根据FTP文件传输模式和类型,本侧防毒墙选择利用对端同步信息中的PORT命令或227应答获知F。
41、TP数据连接的协商信息并跟踪数据连接,利用扣包方法查杀和阻断病毒,选择利用对端同步信息中的CWD、RETR和STOR命令获取带毒文件的网络位置信息,包括以下步骤0101S321,判断所述FTP文件传输模式和类型;0102S322,当判断出所述FTP文件传输为主动连接文件上传时,上传方向的防毒墙直接对上传文件采用扣包进行病毒的查杀和阻断;并独立地获得子连接协商信息和文件路径信息;0103S323,当判断出所述FTP文件传输为主动连接文件下载时,下载方向的防毒墙利用对端同步的子连接协商信息和文件路径信息对下载文件采用扣包方法进行病毒的查杀和阻断;0104S324,当判断出所述FTP文件传输为被动连。
42、接文件上传时,上传方向的防毒墙利用对端同步的子连接协商信息采用扣包方法进行病毒的查杀和阻断,并独立地获得文件路径信息;说明书CN104184707A118/21页120105S325,当判断出所述FTP文件传输为被动连接文件下载时,下载方向的防毒墙独立地获得子连接协商信息,采用扣包方法进行病毒的查杀和阻断,并获得对端同步过来的文件路径信息。0106此处需要说明的是,所述文件路径信息即为FTP文件传输中上传或下载的文件的网络位置。0107较佳地,作为一种可实施方式,所述任一防毒墙根据对端防毒墙同步过来的子连接协商信息,辅助进行子连接跟踪以对子连接进行病毒查杀;或者根据同步过来的网络位置信息,在发。
43、现病毒时报告带毒文件的精确网络位置,包括以下操作0108防毒墙通过TCP四元组将通过同步链路发送过来的同步信息与所述TCP连接单向数据流置入同一个TCP连接数据结构中处理,从而识别负责文件传输的子连接,以及文件网络位置信息。0109由上所述可得,在双核心双出口星型网络中,本发明实施例可以在防毒墙只捕获单向数据流的情况下完成对数据流的查毒,实现病毒扫描和阻断,并能确定数据流的网络位置。对于未列举的更多协议,也可以如法炮制。0110下面详细说明本发明中的扣包查毒方法,其可以参见本申请人申请号2013100666041的网络传输数据病毒检测处理方法发明专利申请文件。0111网络传输数据病毒检测处理方。
44、法,包括如下步骤0112步骤A100,在网卡的内核层中设置预设大小的常驻内存作为零拷贝内存,并配置为零拷贝SK_BUFF结构的栈式分配队列,同时在内核层设置与栈式分配队列的索引相应的接收队列和放走队列,对网络传输的收发数据包进行分配和释放。0113在网卡的内核层中设置预设固定大小的常驻内存作为零拷贝内存,用于网卡收包队列的分配和释放。0114本发明实施例中,作为一种可实施方式,所述步骤A100包括如下步骤0115步骤A110,在网卡的内核层的低端内存中设置预设大小的常驻内存作为零拷贝内存;0116较佳地,作为一种可实施方式,在32位LINUX内核中,896MB以下的物理内存为低端内存,在该32。
45、位LINUX内核的低端内存中,设置预设大小的常驻内存作为零拷贝内存,该零拷贝内存用于网卡收发包队列的分配。0117步骤A120,将所述零拷贝内存分配为POOL_SIZE/2整数个物理页(POOL_SIZE/2为大于1的整数),每个物理页大小为4096字节,且设定为不允许换出到交换空间,并将每个物理页等分为2个半页,每个半页大小为2048字节,用于收发数据包;0118较佳地,作为一种可实施方式,在内核层的低端内存中分配POOL_SIZE/2整数个物理页,在图5中以方块表示。每个物理页大小为4096字节,且设定为不允许换出到交换空间。每个物理页等分为2个半页,每个半页大小为2048字节。在零拷贝内。
46、存中,每个半页被称为零拷贝半页,用于收取数据包。0119步骤A130,分配POOL_SIZE个SK_BUFF结构到零拷贝内存的POOL_SIZE个物理半页中,作为零拷贝SK_BUFF结构的零拷贝内存;0120SK_BUFF结构是现有操作系统(如LINUX系统)内核层中网络数据包处理的核心数据结构,每个SK_BUFF结构对应并存储一个网络数据包。说明书CN104184707A129/21页130121步骤A140,在零拷贝SK_BUFF结构中配置INDEX域记录对应物理半页在零拷贝内存中的索引,使得每个索引一一对应绑定零拷贝SK_BUFF结构的零拷贝内存半页;0122由于相对于地址寻址方式,索引。
47、更容易在内核层与应用层之间传递和引用,本发明实施例中,较佳地,作为一种可实施方式,在零拷贝SK_BUFF结构中配置INDEX域记录对应零拷贝内存中物理半页的索引。物理半页的索引是根据该物理半页在零拷贝内存中的偏移而配置,根据该物理半页的索引和零拷贝地址就可以确定零拷贝内存中任一物理半页的地址从而寻址到该物理半页而读写其中的内容。0123本发明实施例中,零拷贝SK_BUFF结构与POOL_SIZE个零拷贝半页通过利用索引一一对应且绑定使用每一个SK_BUFF结构都可以被分配给网卡驱动用于收发网络数据包,网络数据包的内容存放在对应的物理半页中。0124步骤A150,配置零拷贝SK_BUFF结构为栈。
48、式分配队列,在分配SK_BUFF结构时采用出栈操作,在释放SK_BUFF结构时采用压栈操作;0125如图5所示,为了便于零拷贝SK_BUFF结构的分配,作为一种可实施方式,本发明实施例中,利用栈结构技术进行内存分配和释放,将配置零拷贝SK_BUFF结构为栈式分配队列,栈头以TOP表示,分配SK_BUFF结构地采用出(POP)栈操作,在释放SK_BUFF结构时采用压(PUSH)栈操作。0126步骤A160,根据所述零拷贝内存的索引,在内核层中设置数据包接收队列和放走队列。0127内核层接收队列是在内核中分配的与零拷贝物理半页数量相等的队列,队列通过HEAD从头部读取,通过TAIL向尾部写入。队列。
49、的每一项都可以存放一个零拷贝半页的索引,这个索引相应于SK_BUFF结构中的INDEX域,借助该索引,可以找到对应的SK_BUFF结构和零拷贝半页。0128类似地,放走队列与接收队列结构完全相同,因此在本发明实施例中不再一一详细描述。0129步骤A200,通过虚存技术设置将所述零拷贝SK_BUFF结构的栈式分配队列、数据包接收队列和放走队列映射到用户层,在用户层以虚地址方式访问。0130本发明实施例中,通过虚存技术设置,将该零拷贝SK_BUFF结构的栈式分配队列、数据包接收队列和放走队列映射到用户层,使得查杀毒计算机病毒的进程可以直接通过该用户层中的虚存进行访问,从而避免内核空间与用户层的拷贝。
50、;0131本发明实施例中,通过虚存映射方法将该零拷贝内存、数据包接收队列和放走队列映射到网卡的用户层,并在用户层以虚地址方式直接访问,同时将数据包在内核中直接转发,从而绕开内核TCP/IP协议栈,而且其不依赖于内核桥接技术的数据包转发,从而剥离了与内核的紧密耦合关系,避免数据包在内核与用户层之间的拷贝,提高数据包的处理效率。0132本发明实施例中,根据所述零拷贝内存的索引,在内核层中设置数据包接收队列和放走队列,并通过虚存映射方法,同时将这两个队列映射到应用层。0133本发明实施例中,称应用层的接收队列为镜像接收队列,称应用层的放走队列为镜像放走队列,称应用层的零拷贝SK_BUFF结构的栈式分。