CN104022998A - 网络传输数据病毒检测处理方法 - Google Patents

网络传输数据病毒检测处理方法 Download PDF

Info

Publication number
CN104022998A
CN104022998A CN201310066604.1A CN201310066604A CN104022998A CN 104022998 A CN104022998 A CN 104022998A CN 201310066604 A CN201310066604 A CN 201310066604A CN 104022998 A CN104022998 A CN 104022998A
Authority
CN
China
Prior art keywords
packet
queue
index
virus
zero
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.)
Granted
Application number
CN201310066604.1A
Other languages
English (en)
Other versions
CN104022998B (zh
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.)
Beijing net an Technology Limited by Share Ltd
Original Assignee
Beijing Rising Information Technology 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 Beijing Rising Information Technology Co Ltd filed Critical Beijing Rising Information Technology Co Ltd
Priority to CN201310066604.1A priority Critical patent/CN104022998B/zh
Publication of CN104022998A publication Critical patent/CN104022998A/zh
Application granted granted Critical
Publication of CN104022998B publication Critical patent/CN104022998B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种网络传输数据病毒检测处理方法。其通过零内存拷贝,利用虚存将传输文件的数据包从内核层映射到用户层;对应用层协议进行解析,还原出传输文件并交给查毒引擎检测,使得防毒墙系统与内核的耦合很小且保持稳定;其摒弃传统的代理连接技术,采用独特的扣包机制,在不改变原始连接任何特征的前提下,通过流引擎和文件引擎的双重检测,保证了对带毒传输文件及时和准确的阻断。

Description

网络传输数据病毒检测处理方法
技术领域
本发明涉及数据病毒检测处理技术领域,特别是涉及一种网络传输数据病毒检测处理方法。
背景技术
一般地,现有的对计算机病毒处理的病毒处理技术包括有两种:代理防火墙技术和反病毒引擎技术。
代理防火墙技术:
区别于包过滤防火墙只进行数据流特征匹配和过滤,代理防火墙通过代理连接取代客户端与服务器的直接通信,并且在应用层进行协议解析和文件还原,以进行更深入的安全分析和处理;
反病毒引擎技术:
反病毒引擎是通常指运行于操作系统(如Windows操作系统)上的查杀病毒方法,其阻截特洛伊木马和恶意软件等软件代码,一般只在于个人电脑上应用。
而防毒墙技术是融合了上述代理防火墙技术和反病毒引擎技术:其将反病毒引擎植入代理防火墙,在客户端与服务器之间通过代理机制,进行应用层协议解析,还原并缓存文件,还原文件经过反病毒引擎查杀后再转发给接收方。
由于防毒墙技术采用了代理连接的机制,代理连接与原始连接所使用的IP地址和TCP端口通常是不同的,这在有些应用场合下是不能接受的。
因此,人们通过在防毒墙技术中引入透明代理技术,通过类似NAT(NetworkAddress Translation,网络地址转换)的技术,保证代理连接与原始连接的IP地址和TCP端口一致。采用了透明代理技术的防毒墙称为透明代理防毒墙。
透明代理防毒墙的原理如图1所示(图1右下侧方框是防毒墙的框架结构):
如图1所示,在透明代理防毒墙系统中,客户端与服务器之间的原始连接被客户端与防毒墙系统之间的接管连接以及防毒墙系统与服务器之间的代理连接所取代。防毒墙系统的透明代理保证代理连接所使用的IP源地址和TCP源端口与原始连接一致;防毒墙系统的协议代理模块负责接管原始连接和发起代理连接,解析应用层协议,还原和缓存文件,并交给查毒引擎查杀。
但是,现有的透明代理防毒墙系统存在以下主要缺点:
1)透明代理防毒墙系统以一对连接(接管连接和代理连接)取代原始连接,在高吞吐环境(如千兆或万兆主干网)中,扩展性较差,通常无法满足性能需求;
2)透明代理的代理连接虽然保持了原始连接的IP地址和TCP端口,但在更精细的连接特征(比如TCP序号)上,仍然是不同的;
3)透明代理技术通常基于Linux内核的netfilter机制(一种由Rusty Russell提出的Linux2.4内核防火墙技术),采用类似NAT的地址转换技术,与内核高度耦合,实现复杂,出错率高,未知潜在错误多,内核版本升级时很难同步升级。在复杂网络环境中出现问题时,很难分离处故障的具体位置,开发和维护的成本都较高;
4)透明代理防毒墙系统要求TCP连接的双向数据包都经过防毒墙,否则会发生功能失效。但目前多数骨干网络都引入冗余机制,如果TCP连接的双向数据包流经不同的链路,则防毒墙无法正常工作,甚至会影响正常网络通信;
综上所述,现有的防毒墙技术还需要进一步改进,以满足实际需求。
发明内容
本发明提供了一种网络传输数据病毒检测处理方法,其在不改变原始连接任何特征的前提下,通过流引擎和文件引擎的双重检测,保证了对带有病毒的计算机传输文件及时和准确的阻断。
为实现本发明目的而提供的一种网络传输数据病毒检测处理方法,包括如下步骤:
步骤S100,在网卡的内核层中设置预设大小的常驻内存作为零拷贝内存,并配置为零拷贝sk_buff结构的栈式分配队列,同时在内核层设置与栈式分配队列的索引相应的接收队列和放走队列,对网络传输的收发数据包进行分配和释放;
步骤S200,通过虚存技术设置将所述零拷贝sk_buff结构的栈式分配队列、数据包接收队列和放走队列映射到用户层,在用户层以虚地址方式访问;
步骤S300,在网卡处理收包软中断时,网卡驱动接收传输的数据包,将其传输入栈到零拷贝sk_buff结构的栈式分配队列中,并将接收数据包结构中的索引写入栈到接收队列;
步骤S400,将步骤S300中接收到的网卡数据包的sk_buff结构的栈式分配队列、写入接收数据包的sk_buff结构的索引的接收队列、以及放走队列通过映射设备文件映射到应用层,得到相应的写入网卡数据包的镜像分配队列、镜像接收队列和镜像放走队列;
步骤S500,在用户层从镜像分配队列中读取相应的网卡数据包,将映射的网卡数据包解析还原,并将还原出的数据内容交给查毒引擎进行检测,将带有病毒的数据包丢弃,或者将无病毒的数据包转发,并出栈释放相应的索引。
较优地,作为一可实施例,所述步骤S100,在网卡的内核层中设置预设大小的常驻内存作为零拷贝内存,并配置为零拷贝sk_buff结构的栈式分配队列,同时在内核层设置与栈式分配队列的索引相应的接收队列和放走队列,对网络传输的收发数据包进行分配和释放;
包括如下步骤:
步骤S110,在网卡的内核层的低端内存中设置预设大小的常驻内存作为零拷贝内存;
步骤S120,将所述零拷贝内存分配为POOL_SIZE/2整数个物理页,每个物理页大小为4096字节,且设定为不允许换出到交换空间,并将每个物理页等分为2个半页,每个半页大小为2048字节,用于收发数据包;其中,POOL_SIZE/2为大于1的整数;
步骤S130,分配POOL_SIZE个sk_buff结构到零拷贝内存的POOL_SIZE个物理半页中,作为零拷贝sk_buff结构的零拷贝内存;
步骤S140,在零拷贝sk_buff结构中配置index域记录对应物理半页在零拷贝内存中的索引,使得每个索引一一对应绑定零拷贝sk_buff结构的零拷贝内存半页;
步骤S150,配置零拷贝sk_buff结构为栈式分配队列,在分配sk_buff结构时采用压栈操作,在释放sk_buff结构时采用出栈操作。
步骤S160,根据所述零拷贝内存的索引,在内核层中设置数据包接收队列和放走队列。
较优地,作为一可实施例,所述步骤S500,在用户层从镜像分配队列中读取相应的网卡数据包,将映射的网卡数据包解析还原,并将还原出的数据内容交给查毒引擎进行检测,将带有病毒的数据包丢弃,或者将无病毒的数据包转发,并出栈释放相应的索引;
包括如下步骤:
步骤S510,应用层从镜像接收队列里收取索引并读取数据包后,释放镜像接收队列中的索引,并将该索引写入镜像放走队列的尾部;
步骤S520,根据用户层虚存中的镜像接收队列得到零拷贝内存映射到用户层的数据包,解析TCP/IP协议栈并对TCP连接进行跟踪管理,转发数据包,解析应用层协议,还原出传输文件的片段;
步骤S530,在应用层对解析得到的数据包利用查毒引擎进行病毒检测,并根据对数据包检测结果和数据包次序判断,对网卡数据包及sk_buff结构的栈分配队列进行处理。
较优地,作为一可实施例,所述步骤S530中,在应用层对解析得到的数据包利用查毒引擎进行病毒检测,并根据对数据包检测结果和数据包次序判断,对网卡数据包及sk_buff结构的栈分配队列进行处理;
包括如下步骤:
步骤S531,在应用层对解析得到的数据包使用流引擎进行数据包的数据片段进行病毒特征检查,在发现传输文件带毒时,即时阻断连接,破坏传输文件并断开连接,并释放镜像放走队列中的索引;
步骤S532,如果数据包经过流引擎检测表明无病毒特征,且该数据包不是传输文件的最后一个数据包,则该数据包不必扣留而直接转发;如果数据包是传输文件的最后一个包,则表明传输文件还原完成,将还原的临时文件交给文件引擎做彻底的病毒检测,并扣留该传输文件的最后一个数据包直到文件引擎完成查毒;
步骤S533,文件引擎查毒完成后,如果确认文件无毒,则按照正常应用层转发流程,将该数据包的索引放入转发网卡镜像放走队列tail指向的位置,并且取消对该连接后续数据包的阻拦;转发网卡的内核层则在网卡软中断中,从内核放走队列的头部读取索引,并根据索引查找到对应的sk_buff结构,将数据包填入网卡的发包环形队列传送出去,按照出栈操作释放该sk_buff结构对应的索引;
步骤S534,如果文件引擎查毒完成后,如果确认文件带毒,则丢弃扣留的数据包,阻断对应的TCP连接,并且取消对该连接后续数据包的阻拦,直接进行出栈操作释放sk_buff结构对应的索引。
较优地,作为一可实施例,所述步骤S531中,即时阻断连接,破坏传输文件并断开连接,并释放镜像放走队列中的索引,包括如下步骤:
在丢弃数据包时,调用ioctl()函数传入该数据包的对应的镜像放走队列中的索引,在内核层找到该索引对应的sk_buff结构,直接释放,并进行出栈操作释放镜像放走队列中的索引。
较优地,作为一可实施例,所述步骤S532中,扣留该数据包直到文件引擎完成查毒,是通过ioctl()函数调用完成,包括如下步骤:
步骤S5321,在阻断数据包对应的TCP连接时,调用ioctl()函数传入该数据包的对应的镜像放走队列中的索引,在内核层中查找到该索引对应的sk_buff结构,根据sk_buff的数据包特征,伪造rst连接重置包发往收包方,达到阻断连接的目的,并将被扣数据包的TCP四元组添加到预先设置的阻拦特征哈希表中;
步骤S5322,在扣包期间阻拦连接上后续数据包时,调用ioctl()函数传入后续数据包的对应的镜像放走队列中的索引,在内核层中找到该索引对应的sk_buff结构,将sk_buff给出的连接特征中TCP四元组,与内核层中的阻拦特征哈希表进行比对,并在查找到与被扣数据包TCP四元组特征相同时,直接丢弃该后续数据包。
较优地,作为一可实施例,所述步骤S533中,取消对该连接后续数据包的阻拦,包括如下步骤:
在文件引擎查毒完成并允许连接上后续数据包时,调用ioctl()函数传入被扣数据包的对应的镜像放走队列中的索引,在内核层中找到该索引对应的sk_buff结构,根据sk_buff给出的连接特征的TCP四元组,在阻拦特征哈希表中匹配查找到并删除对应的被扣数据包的TCP四元组。
本发明的有益效果为:
本发明的网络传输数据病毒检测处理方法,具有以下有益效果:1)解决了防毒墙在高吞吐环境下的性能扩展问题,满足千万兆环境下的网络数据流查毒需求;2)实现了防毒墙的彻底透明,不改变原始TCP连接的任何特征,无需任何配置,即插即用,类似一根具备查毒功能的“导线”,称为“导线式防毒墙”;3)使得防毒墙系统与操作系统(如Linux系统)内核之间的耦合大大减小,简化了设备的升级和维护,最大程度利用操作系统内核的各种技术特征完成病毒数据处理。
附图说明
图1是现有技术的透明代理防毒墙原理示意图;
图2是本发明实施例零拷贝sk_buff结构的栈式分配队列示意图;
图3是本发明实施例网卡数据包收发包过程示意图;
图4是本发明实施例网卡数据包在内核层接收并映射到应用层示意图;
图5是本发明实施例的网络传输数据病毒检测处理方法工作过程示意图。
具体实施方式
下面结合说明书附图,对本发明实施例中的网络传输数据病毒检测处理方法的具体实施方式进行说明。
本发明实施例网络传输数据病毒检测处理方法,包括如下步骤:
步骤S100,在网卡的内核层中设置预设大小的常驻内存作为零拷贝内存,并配置为零拷贝sk_buff结构的栈式分配队列,同时在内核层设置与栈式分配队列的索引相应的接收队列和放走队列,对网络传输的收发数据包进行分配和释放。
在网卡的内核层中设置预设固定大小的常驻内存作为零拷贝内存,用于网卡收包队列的分配和释放。
本发明实施例中,作为一种可实施方式,所述步骤S100包括如下步骤:
步骤S110,在网卡的内核层的低端内存中设置预设大小的常驻内存作为零拷贝内存;
较佳地,作为一种可实施方式,在32位Linux内核中,896MB以下的物理内存为低端内存,在该32位Linux内核的低端内存中,设置预设大小的常驻内存作为零拷贝内存,该零拷贝内存用于网卡收发包队列的分配。
步骤S120,将所述零拷贝内存分配为POOL_SIZE/2整数个物理页(POOL_SIZE/2为大于1的整数),每个物理页大小为4096字节,且设定为不允许换出到交换空间,并将每个物理页等分为2个半页,每个半页大小为2048字节,用于收发数据包;
较佳地,作为一种可实施方式,在内核层的低端内存中分配POOL_SIZE/2整数个物理页,在图2中以方块表示。每个物理页大小为4096字节,且设定为不允许换出到交换空间。每个物理页等分为2个半页,每个半页大小为2048字节。在零拷贝内存中,每个半页被称为零拷贝半页,用于收取数据包。
步骤S130,分配POOL_SIZE个sk_buff结构到零拷贝内存的POOL_SIZE个物理半页中,作为零拷贝sk_buff结构的零拷贝内存;
sk_buff结构是现有操作系统(如Linux系统)内核层中网络数据包处理的核心数据结构,每个sk_buff结构对应并存储一个网络数据包。
步骤S140,在零拷贝sk_buff结构中配置index域记录对应物理半页在零拷贝内存中的索引,使得每个索引一一对应绑定零拷贝sk_buff结构的零拷贝内存半页;
由于相对于地址寻址方式,索引更容易在内核层与应用层之间传递和引用,本发明实施例中,较佳地,作为一种可实施方式,在零拷贝sk_buff结构中配置index域记录对应零拷贝内存中物理半页的索引。物理半页的索引是根据该物理半页在零拷贝内存中的偏移而配置,根据该物理半页的索引和零拷贝地址就可以确定零拷贝内存中任一物理半页的地址从而寻址到该物理半页而读写其中的内容。
本发明实施例中,零拷贝sk_buff结构与POOL_SIZE个零拷贝半页通过利用索引一一对应且绑定使用:每一个sk_buff结构都可以被分配给网卡驱动用于收发网络数据包,网络数据包的内容存放在对应的物理半页中。
步骤S150,配置零拷贝sk_buff结构为栈式分配队列,在分配sk_buff结构时采用出栈操作,在释放sk_buff结构时采用压栈操作;
如图2所示,为了便于零拷贝sk_buff结构的分配,作为一种可实施方式,本发明实施例中,利用栈结构技术进行内存分配和释放,将配置零拷贝sk_buff结构为栈式分配队列,栈头以top表示,分配sk_buff结构地采用出(pop)栈操作,在释放sk_buff结构时采用压(push)栈操作。
步骤S160,根据所述零拷贝内存的索引,在内核层中设置数据包接收队列和放走队列。
内核层接收队列是在内核中分配的与零拷贝物理半页数量相等的队列,队列通过head从头部读取,通过tail向尾部写入。队列的每一项都可以存放一个零拷贝半页的索引,这个索引相应于sk_buff结构中的index域,借助该索引,可以找到对应的sk_buff结构和零拷贝半页。
类似地,放走队列与接收队列结构完全相同,因此在本发明实施例中不再一一详细描述。
步骤S200,通过虚存技术设置将所述零拷贝sk_buff结构的栈式分配队列、数据包接收队列和放走队列映射到用户层,在用户层以虚地址方式访问。
本发明实施例中,通过虚存技术设置,将该零拷贝sk_buff结构的栈式分配队列、数据包接收队列和放走队列映射到用户层,使得查杀毒计算机病毒的进程可以直接通过该用户层中的虚存进行访问,从而避免内核空间与用户层的拷贝;
本发明实施例中,通过虚存映射方法将该零拷贝内存、数据包接收队列和放走队列映射到网卡的用户层,并在用户层以虚地址方式直接访问,同时将数据包在内核中直接转发,从而绕开内核TCP/IP协议栈,而且其不依赖于内核桥接技术的数据包转发,从而剥离了与内核的紧密耦合关系,避免数据包在内核与用户层之间的拷贝,提高数据包的处理效率。
本发明实施例中,根据所述零拷贝内存的索引,在内核层中设置数据包接收队列和放走队列,并通过虚存映射方法,同时将这两个队列映射到应用层。
本发明实施例中,称应用层的接收队列为镜像接收队列,称应用层的放走队列为镜像放走队列,称应用层的零拷贝sk_buff结构的栈式分配队列为镜像分配队列。
作为一种可实施方式,映射由图2底部的方块表示,这些区域表示零拷贝内存在用户层中的映射。
作为一种可实施方式,应用层访问镜像分配队列、镜像接收队列和镜像放走队列通过映射设备文件完成的,通过在内核层中为每个网卡添加了一个字符型虚拟设备,应用层则透过对应于该字符型虚拟设备的设备文件完成对镜像分配队列、镜像接收/放走队列的映射和访问操作。
通过虚存映射方法设置将网卡的内核层数据映射到网卡的用户层,并在用户层以虚地址方式访问,是一种现有技术,因此,在本发明实施例中,不再一一详细描述。
步骤S300,在网卡处理收包软中断时,网卡驱动接收传输的数据包,将其传输入栈到零拷贝sk_buff结构的栈式分配队列中,并将接收数据包结构中的索引写入栈到接收队列。
如图3所示,现有技术中,高性能网卡如千兆/万兆网卡中普遍采用硬件环形队列结构,通过在收包环形队列中预留多个sk_buff结构,持续接收数据包时,由网卡DMA(Direct Memory Access,直接内存存取)将数据包连续写入多个sk_buff结构;发包时可向发包环形队列加入若干sk_buff结构,由网卡DMA将数据包从网口连续发出。当预留的sk_buff结构被到来的数据包填充并交付处理流程时,补充预留的sk_buff结构;当网卡发包完毕时,数据包占用的sk_buff结构随即释放。现有技术中内核层调用函数skb_alloc()和skb_free()为网卡分配和释放sk_buff数据结构。而现有技术中,由skb_alloc()分配的sk_buff结构的地址是无法预测的。
本发明实施例中,为实现对网卡传输的数据包的计算机查杀毒处理,作为一种可实施方式,将现有技术中的skb_alloc()函数和skb_free()函数修改为modified_skb_alloc()函数和modified_skb_kfree()函数,使得sk_buff结构的分配和释放是在零拷贝sk_buff结构的栈式分配队列中进行的,而不是随机分配,如下所示:
这样,通过modified_skb_alloc()函数和modified_skb_kfree()函数,在网卡驱动NAPI(New API)软中断转发数据的过程中,将网卡分配和释放数据包强制入栈或出栈到本发明设置的零拷贝内存的零拷贝sk_buff结构的栈式分配队列中,而零拷贝内存的零拷贝sk_buff结构的栈式分配队列被映射到用户层,为实现用户层数据包控制查杀毒做好了准备。
图3中一对构成转发关系的网卡eth0和eth1,图中用虚线表明了2块网卡之间的转发关系。
作为一种可实施方式,构成转发关系的一对网卡eth0和eth1,在网卡分配过程中,在分配sk_buff结构到网卡eth0的收包环形队列的时,采用modified_skb_alloc()函数,直接将数据包所在的sk_buff结构中的零拷贝半页的索引(即所述的sk_buff的index域)放入网卡eth0的收包环形队列(接收队列)。
在接收网卡数据包的同时,本发明实施例中,将接收数据包的sk_buff结构中的索引(index)直接写入栈到内核层接收队列的尾部,如图4所示。
步骤S400,将步骤S300中接收到的网卡数据包的sk_buff结构的栈式分配队列、写入接收数据包的sk_buff结构的索引的接收队列、以及放走队列通过映射设备文件映射到应用层,得到相应的写入网卡数据包的镜像分配队列、镜像接收队列和镜像放走队列。
在接收数据包的sk_buff结构中的索引(index)写入内核接收队列的尾部后,应用层则从镜像接收队列的头部读取这些索引,并找到对应的镜像分配队列中sk_buff结构的零拷贝半页网卡数据包,如图4所示。
如图4所示,构成转发关系的一对网卡eth0和eth1,网卡分配(接收)和释放(发包)sk_buff结构在零拷贝内存中进行,直接将数据包所在的sk_buff结构中的零拷贝半页的索引(即所述的sk_buff的index域)放入图4中部的eth0的接收队列,从而绕开了内核的TCP/IP协议栈和socket机制。
如图4所示,通过eth0映射设备文件和eth1映射设备文件,将网卡的镜像分配队列、接收队列和放走队列映射到用户层,用户层查毒进程通过打开映射设备文件,将网卡镜像分配队列、接收队列和放走队列映射到查毒进程的虚存空间,进行直接访问。
作为一种可实施方式,当用户层进程和内核层同时访问接收队列或者放走队列时,可以通过虚存本身的镜像分配队列的head指针和内核层栈式分配队列的tail指针进行同步:内核层通过写指针tail访问接收队列,用户层进程通过读指针head访问镜像接收队列。
设eth0网卡上收取数据包并放入eth0接收队列tail指向的位置,则用户层进程通过head指针从镜像接收队列获取数据包对应的sk_buff结构和零拷贝半页的索引,并通过该索引访问镜像分配队列的数据包的具体内容。
步骤S500,在用户层从镜像分配队列中读取相应的网卡数据包,将映射的网卡数据包解析还原,并将还原出的数据内容交给查毒引擎进行检测,将带有病毒的数据包丢弃,或者将无病毒的数据包转发,并出栈释放相应的索引。
具体地,所述步骤S500包括如下步骤:
步骤S510,应用层从镜像接收队列里收取索引(index)并读取数据包后,释放镜像接收队列中的索引,并将该索引(index)写入镜像放走队列的尾部;
步骤S520,根据用户层虚存中的镜像接收队列得到零拷贝内存映射到用户层的数据包,解析TCP/IP协议栈并对TCP连接进行跟踪管理,转发数据包,解析应用层协议,还原出传输文件的片段;
本发明实施例中,绕开Linux内核的TCP/IP协议栈,在网卡处理收包软中断时,将所述零拷贝内存中的数据包直接映射给用户层,解析TCP/IP协议栈并对TCP连接进行跟踪管理,转发数据包,解析应用层协议,还原出传输文件并交给查毒引擎进行检测,其绕开正常的内核协议处理流程,直接将数据包送达应用层,与内核的耦合度基本降到零。
数据包经过以太层、IP层协议的解析,IP分片包的重组;TCP层协议的解析,TCP层连接的建立和维护,用于跟踪TCP连接和子连接(例如FTP数据连接),乱序包定序;应用协议层(例如HTTP/FTP/SMTP/POP3等协议)的解析,协议传输文件的还原和临时文件的保存,然后就可以将还原文件的片段交给流引擎进行病毒特征检测。
所述将数据包进行以太层、IP层协议的解析,IP分片包的重组;TCP层协议的解析,TCP层连接的建立和维护,用于跟踪TCP连接和子连接(例如FTP数据连接),乱序包定序;应用协议层(例如HTTP/FTP/SMTP/POP3等协议)的解析,协议传输文件的还原和临时文件的保存,是一种现有技术,因此,在本发明实施例中,不再一一详细描述。
步骤S530,在应用层对解析得到的数据包利用查毒引擎进行病毒检测,并根据对数据包检测结果和数据包次序判断,对网卡数据包及sk_buff结构的栈分配队列进行处理;
防毒墙最核心的功能是病毒阻断,即在发现传输文件数据包带有病毒时,破坏传输文件并断开连接。本发明实施例中,采用结合文件引擎和流引擎相结合的技术,进行查毒引擎查毒,即使用流引擎进行数据包片段进行病毒特征检查,并在文件对应的所有片段都经过检查后,还原出完整的文件,然后将还原文件将交给文件引擎,再对还原文件做病毒特征的检查。
作为一种可实施方式,由于网络文件传输通常分成若干数据包传送,本发明实施例的查毒引擎是文件引擎和流引擎的结合进行查毒,对每个数据包所携带的部分文件内容进行查毒。步骤S530中,在应用层对解析得到的数据包利用查毒引擎进行病毒检测处理,并根据对数据包检测结果和数据包次序判断,对网卡数据包及sk_buff结构的栈分配队列进行处理;包括如下步骤:
步骤S531,在应用层对解析得到的数据包使用流引擎进行数据包的数据片段进行病毒特征检查,在发现传输文件带毒时,即时阻断连接,破坏传输文件并断开连接,并释放镜像放走队列中的索引;
网络传输文件传输时分成若干数据包进行传送,对每个数据包所携带的部分文件内容,本发明实施例中,使用流引擎进行明文的病毒特征检查。
如果数据包被流引擎发现带有病毒特征,则需要丢弃数据包并阻断对应的TCP连接;
作为一种可实施方式,较佳地,在丢弃数据包时,调用ioctl()函数传入该数据包的对应的镜像放走队列中的索引,在内核层找到该索引对应的sk_buff结构,直接释放,并进行出栈操作释放镜像放走队列中的索引。
步骤S532,如果数据包经过流引擎检测表明无病毒特征,且该数据包不是传输文件的最后一个数据包,则该数据包不必扣留而直接转发;如果数据包是传输文件的最后一个包,则表明传输文件还原完成,将还原的临时文件交给文件引擎做彻底的病毒检测,并扣留该传输文件的最后一个数据包直到文件引擎完成查毒;
如果数据包是传输文件的最后一个数据包,则表明传输文件还原完成,需将还原的传输文件交给文件引擎做彻底的病毒检测,此地将该数据包扣留在查毒进程中直到文件引擎完成查毒。
本发明的网络传输数据病毒检测处理方法,摒弃传统的代理连接技术,用户层的查毒进程获取数据包后,当发现该包是正在传输的文件的最后一个包时,可以选择扣住该包而不转发,直到查毒引擎完成对传输文件的检测为止。在扣包期间,需要丢弃数据包所在TCP连接所在方向上的后续包和重发包。
由于文件引擎查毒的时间无法确定,依赖于传输文件的类型、大小、是否加壳等因素,如果文件引擎查毒时间过长且因最后一个数据包一直被扣留,则可能引起发包方对该数据包的重传,因此,更佳地,作为一种可实施方式,本发明实施例中,在扣包期间阻拦连接上的后续数据包,直接丢弃不予处理和转发。
作为一种可实施方式,较佳地,所述步骤S532中,扣留该数据包直到文件引擎完成查毒,是通过ioctl()函数调用完成,包括如下步骤:
步骤S5321,在阻断数据包对应的TCP连接时,调用ioctl()函数传入该数据包的对应的镜像放走队列中的索引,在内核层中查找到该索引对应的sk_buff结构,根据sk_buff的数据包特征,包括但不限于seq/ack_seq/时间戳/窗口等,伪造rst连接重置包发往收包方,达到阻断连接的目的,并将被扣数据包的TCP四元组添加到预先设置的阻拦特征哈希表中;
所述阻拦特征哈希表是预先设置的根据存储被扣数据包的TCP四元组(源IP地址、源端口、目的IP地址、目的端口)的连接特征的哈希表。
步骤S5322,在扣包期间阻拦连接上后续数据包时,调用ioctl()函数传入后续数据包的对应的镜像放走队列中的索引,在内核层中找到该索引对应的sk_buff结构,将sk_buff给出的连接特征,包括但不限于TCP四元组(源IP地址、源端口、目的IP地址、目的端口,源和目的同时隐含了被扣数据包的方向),与内核层中的阻拦特征哈希表进行比对,并在查找到与被扣数据包TCP四元组特征相同时,直接丢弃该后续数据包。
在扣包期间,当接收到后续数据包,并在内核层NAPI软中断中处理该后续数据包时,将连接特征中的TCP四元组(源IP地址、源端口、目的IP地址、目的端口,源和目的同时隐含了被扣数据包的方向),与内核层中的阻拦特征哈希表进行比对,一旦发现后续数据包连接特征的TCP四元组存在于阻拦特征哈希表中,就直接丢弃该数据包。
当文件对应的所有数据包都经过检查后,通过解压缩,脱壳(通过算法或虚拟机)等,还原出完整的文件,然后将还原文件将交给文件引擎,对还原文件做病毒特征的检查处理。
当文件对应的所有数据包都经过防毒墙时,防毒墙可以还原出完整的文件,此时还原文件将交给文件引擎,通过虚拟机做解压脱壳后再做病毒特征的检查。
流引擎(即基于流引擎的病毒扫描方法)对文件的数据片段进行病毒特征检查,以及对整个文件利用文件引擎(如瑞星反病毒引擎、瑞星杀毒软件引擎等)进行病毒特征检查,是本领域的现有技术,因此,在本发明实施例中,不再一一详细描述。
本发明实施例利用双引擎病毒阻断的效果是:流引擎发现病毒时可即时阻断连接,当文件引擎发现病毒时可将文件最后的数据包破坏掉,以破坏压缩或加壳的文件,同时断开连接。
步骤S533,文件引擎查毒完成后,如果确认文件无毒,则按照正常应用层转发流程,将该数据包的索引放入转发网卡镜像放走队列tail指向的位置,并且取消对该连接后续数据包的阻拦;转发网卡的内核层则在网卡软中断中,从内核放走队列的头部读取索引(index),并根据索引查找到对应的sk_buff结构,将数据包填入网卡的发包环形队列传送出去,按照出栈操作释放该sk_buff结构对应的索引。
在文件引擎查毒完成并允许连接上后续数据包时,调用ioctl()函数传入被扣数据包的对应的镜像放走队列中的索引,在内核层中找到该索引对应的sk_buff结构,根据sk_buff给出的连接特征,包括但不限于TCP四元组(指TCP连接的源IP地址、源端口、目的IP地址、目的端口),在阻拦特征哈希表中匹配查找到并删除对应的被扣数据包的TCP四元组,这样被扣数据包的连接特征的TCP四元组不再存在于阻拦特征哈希表中,从而使后续数据包不再被阻拦。
作为一种可实施方式,本发明实施例中,在网卡的软中断(如图3中的NAPI软中断)中,当网卡收到发送来的数据包时,则绕开正常的TCP/IP协议栈和桥接技术,根据配置的网卡间转发关系,直接调用转发网卡的发包函数hard_start_xmit()将从零拷贝内存中获取数据包转发到发包环形队列,转发出去。
这种内核中数据包的直接转发,与内核的耦合度基本为零,避开了内核桥接代码中对端口MAC地址的学习、对生成树协议的支持和经过netfilter规则链的开销,可以明显提升小包吞吐率和转发性能。
步骤S534,如果文件引擎查毒完成后,如果确认文件带毒,则丢弃扣留的数据包,阻断对应的TCP连接,并且取消对该连接后续数据包的阻拦,直接进行出栈操作释放sk_buff结构对应的索引。
本发明实施例通过零内存拷贝,利用虚存将内核层的传输文件的数据包映射到用户层,对TCP/IP协议栈进行解析,并对TCP连接进行跟踪管理,从而取代代理连接;对数据包进行转发,而不采用Linux内核的桥接技术;对应用层协议进行解析,还原出传输文件并交给查毒引擎检测,使得防毒墙系统与内核的耦合很小且保持稳定;其摒弃传统的代理连接技术,采用独特的扣包机制,在不改变原始连接任何特征的前提下,通过流引擎和文件引擎的双重检测,保证了对带毒传输文件及时和准确的阻断。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

Claims (9)

1.一种网络传输数据病毒检测处理方法,其特征在于,包括如下步骤:
步骤S100,在网卡的内核层中设置预设大小的常驻内存作为零拷贝内存,并配置为零拷贝sk_buff结构的栈式分配队列,同时在内核层设置与栈式分配队列的索引相应的接收队列和放走队列,对网络传输的收发数据包进行分配和释放;
步骤S200,通过虚存技术设置将所述零拷贝sk_buff结构的栈式分配队列、数据包接收队列和放走队列映射到用户层,在用户层以虚地址方式访问;
步骤S300,在网卡处理收包软中断时,网卡驱动接收传输的数据包,将其传输入栈到零拷贝sk_buff结构的栈式分配队列中,并将接收数据包结构中的索引写入栈到接收队列;
步骤S400,将步骤S300中接收到的网卡数据包的sk_buff结构的栈式分配队列、写入接收数据包的sk_buff结构的索引的接收队列、以及放走队列通过映射设备文件映射到应用层,得到相应的写入网卡数据包的镜像分配队列、镜像接收队列和镜像放走队列;
步骤S500,在用户层从镜像分配队列中读取相应的网卡数据包,将映射的网卡数据包解析还原,并将还原出的数据内容交给查毒引擎进行检测,将带有病毒的数据包丢弃,或者将无病毒的数据包转发,并出栈释放相应的索引。
2.根据权利要求1所述的网络传输数据病毒检测处理方法,其特征在于,所述步骤S100,在网卡的内核层中设置预设大小的常驻内存作为零拷贝内存,并配置为零拷贝sk_buff结构的栈式分配队列,同时在内核层设置与栈式分配队列的索引相应的接收队列和放走队列,对网络传输的收发数据包进行分配和释放;
包括如下步骤:
步骤S110,在网卡的内核层的低端内存中设置预设大小的常驻内存作为零拷贝内存;
步骤S120,将所述零拷贝内存分配为POOL_SIZE/2整数个物理页,每个物理页大小为4096字节,且设定为不允许换出到交换空间,并将每个物理页等分为2个半页,每个半页大小为2048字节,用于收发数据包;其中,POOL_SIZE/2为大于1的整数;
步骤S130,分配POOL_SIZE个sk_buff结构到零拷贝内存的POOL_SIZE个物理半页中,作为零拷贝sk_buff结构的零拷贝内存;
步骤S140,在零拷贝sk_buff结构中配置index域记录对应物理半页在零拷贝内存中的索引,使得每个索引一一对应绑定零拷贝sk_buff结构的零拷贝内存半页;
步骤S150,配置零拷贝sk_buff结构为栈式分配队列,在分配sk_buff结构时采用出栈操作,在释放sk_buff结构时采用压栈操作;
步骤S160,根据所述零拷贝内存的索引,在内核层中设置数据包接收队列和放走队列。
3.根据权利要求2所述的网络传输数据病毒检测处理方法,其特征在于,所述步骤S500,在用户层从镜像分配队列中读取相应的网卡数据包,将映射的网卡数据包解析还原,并将还原出的数据内容交给查毒引擎进行检测,将带有病毒的数据包丢弃,或者将无病毒的数据包转发,并出栈释放相应的索引;
包括如下步骤:
步骤S510,应用层从镜像接收队列里收取索引并读取数据包后,释放镜像接收队列中的索引,并将该索引写入镜像放走队列的尾部;
步骤S520,根据用户层虚存中的镜像接收队列得到零拷贝内存映射到用户层的数据包,解析TCP/IP协议栈并对TCP连接进行跟踪管理,转发数据包,解析应用层协议,还原出传输文件的片段;
步骤S530,在应用层对解析得到的数据包利用查毒引擎进行病毒检测,并根据对数据包检测结果和数据包次序判断,对网卡数据包及sk_buff结构的栈分配队列进行处理。
4.根据权利要求3所述的网络传输数据病毒检测处理方法,其特征在于,所述步骤S530中,在应用层对解析得到的数据包利用查毒引擎进行病毒检测,并根据对数据包检测结果和数据包次序判断,对网卡数据包及sk_buff结构的栈分配队列进行处理;
包括如下步骤:
步骤S531,在应用层对解析得到的数据包使用流引擎进行数据包的数据片段进行病毒特征检查,在发现传输文件带毒时,即时阻断连接,破坏传输文件并断开连接,并释放镜像放走队列中的索引;
步骤S532,如果数据包经过流引擎检测表明无病毒特征,且该数据包不是传输文件的最后一个数据包,则该数据包不必扣留而直接转发;如果数据包是传输文件的最后一个包,则表明传输文件还原完成,将还原的临时文件交给文件引擎做彻底的病毒检测,并扣留该传输文件的最后一个数据包直到文件引擎完成查毒;
步骤S533,文件引擎查毒完成后,如果确认文件无毒,则按照正常应用层转发流程,将该数据包的索引放入转发网卡镜像放走队列tail指向的位置,并且取消对该连接后续数据包的阻拦;转发网卡的内核层则在网卡软中断中,从内核放走队列的头部读取索引,并根据索引查找到对应的sk_buff结构,将数据包填入网卡的发包环形队列传送出去,按照出栈操作释放该sk_buff结构对应的索引;
步骤S534,如果文件引擎查毒完成后,如果确认文件带毒,则丢弃扣留的数据包,阻断对应的TCP连接,并且取消对该连接后续数据包的阻拦,直接进行出栈操作释放sk_buff结构对应的索引。
5.根据权利要求4所述的网络传输数据病毒检测处理方法,其特征在于,所述步骤S531中,即时阻断连接,破坏传输文件并断开连接,并释放镜像放走队列中的索引,包括如下步骤:
在丢弃数据包时,调用ioctl()函数传入该数据包的对应的镜像放走队列中的索引,在内核层找到该索引对应的sk_buff结构,直接释放,并进行出栈操作释放镜像放走队列中的索引。
6.根据权利要求4所述的网络传输数据病毒检测处理方法,其特征在于,所述步骤S532中,扣留该数据包直到文件引擎完成查毒,是通过ioctl()函数调用完成,包括如下步骤:
步骤S5321,在阻断数据包对应的TCP连接时,调用ioctl()函数传入该数据包的对应的镜像放走队列中的索引,在内核层中查找到该索引对应的sk_buff结构,根据sk_buff的数据包特征,伪造rst连接重置包发往收包方,达到阻断连接的目的,并将被扣数据包的TCP四元组添加到预先设置的阻拦特征哈希表中;
步骤S5322,在扣包期间阻拦连接上后续数据包时,调用ioctl()函数传入后续数据包的对应的镜像放走队列中的索引,在内核层中找到该索引对应的sk_buff结构,将sk_buff给出的连接特征中TCP四元组,与内核层中的阻拦特征哈希表进行比对,并在查找到与被扣数据包TCP四元组特征相同时,直接丢弃该后续数据包。
7.根据权利要求6所述的网络传输数据病毒检测处理方法,其特征在于,所述根据sk_buff的数据包特征,包括seq、ack_seq、时间戳、窗口特征。
8.根据权利要求4所述的网络传输数据病毒检测处理方法,其特征在于,所述步骤S533中,取消对该连接后续数据包的阻拦,包括如下步骤:
在文件引擎查毒完成并允许连接上后续数据包时,调用ioctl()函数传入被扣数据包的对应的镜像放走队列中的索引,在内核层中找到该索引对应的sk_buff结构,根据sk_buff给出的连接特征的TCP四元组,在阻拦特征哈希表中匹配查找到并删除对应的被扣数据包的TCP四元组。
9.根据权利要求6或8所述的网络传输数据病毒检测处理方法,其特征在于,所述TCP四元组为TCP连接的源IP地址、源端口、目的IP地址、目的端口。
CN201310066604.1A 2013-03-01 2013-03-01 网络传输数据病毒检测处理方法 Active CN104022998B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310066604.1A CN104022998B (zh) 2013-03-01 2013-03-01 网络传输数据病毒检测处理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310066604.1A CN104022998B (zh) 2013-03-01 2013-03-01 网络传输数据病毒检测处理方法

Publications (2)

Publication Number Publication Date
CN104022998A true CN104022998A (zh) 2014-09-03
CN104022998B CN104022998B (zh) 2016-12-28

Family

ID=51439569

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310066604.1A Active CN104022998B (zh) 2013-03-01 2013-03-01 网络传输数据病毒检测处理方法

Country Status (1)

Country Link
CN (1) CN104022998B (zh)

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610840A (zh) * 2015-12-31 2016-05-25 华为技术有限公司 数据接收方法、装置和网卡
CN105681417A (zh) * 2016-01-15 2016-06-15 重庆泛涵数码科技有限责任公司 计算机病毒隔离文件传输系统及方法
CN106375240A (zh) * 2016-09-18 2017-02-01 深圳震有科技股份有限公司 一种多网口间以太网报文转发方法及系统
CN107045610A (zh) * 2017-05-08 2017-08-15 广东欧珀移动通信有限公司 数据迁移方法、终端设备及计算机可读存储介质
CN108076070A (zh) * 2017-12-29 2018-05-25 哈尔滨工业大学 一种fasp协议阻断方法、装置及分析系统
CN110138797A (zh) * 2019-05-27 2019-08-16 北京知道创宇信息技术股份有限公司 一种报文处理方法及装置
CN111788816A (zh) * 2018-03-01 2020-10-16 恩德莱斯和豪瑟尔过程解决方案股份公司 在自动化系统中建立网络通信的方法
CN112287328A (zh) * 2020-10-29 2021-01-29 广东电力信息科技有限公司 一种便于办公的移动办公系统及方法
CN113542450A (zh) * 2021-07-21 2021-10-22 北京威努特技术有限公司 一种工控防火墙支持ftp穿越nat的实现方法及系统
CN113852859A (zh) * 2021-08-19 2021-12-28 北京臻观数智科技有限公司 一种针对非标格式视频流零拷贝脱壳的方法及系统
CN113872936A (zh) * 2021-08-26 2021-12-31 上海宝康电子控制工程有限公司 一种流模式网络安全检测方法及系统
CN114125030A (zh) * 2021-11-30 2022-03-01 北京天融信网络安全技术有限公司 连接跟踪方法、装置、电子设备和计算机可读存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1314638A (zh) * 2001-04-29 2001-09-26 北京瑞星科技股份有限公司 检测和清除已知及未知计算机病毒的方法、系统和介质
CN101052046A (zh) * 2007-05-22 2007-10-10 网御神州科技(北京)有限公司 一种用于防火墙的防病毒方法及装置
CN101540720A (zh) * 2008-06-06 2009-09-23 曙光信息产业(北京)有限公司 一种支持多类型网卡链路聚合的零拷贝方法
US20110087899A1 (en) * 2006-05-17 2011-04-14 Richard Fetik Firewall plus storage apparatus, method and system
CN102761535A (zh) * 2011-04-29 2012-10-31 北京瑞星信息技术有限公司 病毒监测方法和设备

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1314638A (zh) * 2001-04-29 2001-09-26 北京瑞星科技股份有限公司 检测和清除已知及未知计算机病毒的方法、系统和介质
US20110087899A1 (en) * 2006-05-17 2011-04-14 Richard Fetik Firewall plus storage apparatus, method and system
CN101052046A (zh) * 2007-05-22 2007-10-10 网御神州科技(北京)有限公司 一种用于防火墙的防病毒方法及装置
CN101540720A (zh) * 2008-06-06 2009-09-23 曙光信息产业(北京)有限公司 一种支持多类型网卡链路聚合的零拷贝方法
CN102761535A (zh) * 2011-04-29 2012-10-31 北京瑞星信息技术有限公司 病毒监测方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
魏巍: "计算机病毒与网络安全", 《第二十六届中国(天津)2012IT、网络、信息技术、电子、仪器仪表创新学术会议论文集》 *

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105610840A (zh) * 2015-12-31 2016-05-25 华为技术有限公司 数据接收方法、装置和网卡
CN105610840B (zh) * 2015-12-31 2018-09-11 华为技术有限公司 数据接收方法、装置和网卡
CN105681417A (zh) * 2016-01-15 2016-06-15 重庆泛涵数码科技有限责任公司 计算机病毒隔离文件传输系统及方法
CN105681417B (zh) * 2016-01-15 2018-08-14 重庆泛涵数码科技有限责任公司 计算机病毒隔离文件传输系统及方法
CN106375240B (zh) * 2016-09-18 2019-09-20 深圳震有科技股份有限公司 一种多网口间以太网报文转发方法及系统
CN106375240A (zh) * 2016-09-18 2017-02-01 深圳震有科技股份有限公司 一种多网口间以太网报文转发方法及系统
CN107045610A (zh) * 2017-05-08 2017-08-15 广东欧珀移动通信有限公司 数据迁移方法、终端设备及计算机可读存储介质
CN108076070A (zh) * 2017-12-29 2018-05-25 哈尔滨工业大学 一种fasp协议阻断方法、装置及分析系统
CN108076070B (zh) * 2017-12-29 2020-09-15 哈尔滨工业大学 一种fasp协议阻断方法、装置及分析系统
CN111788816A (zh) * 2018-03-01 2020-10-16 恩德莱斯和豪瑟尔过程解决方案股份公司 在自动化系统中建立网络通信的方法
CN111788816B (zh) * 2018-03-01 2023-06-13 恩德莱斯和豪瑟尔过程解决方案股份公司 在自动化系统中建立网络通信的方法
CN110138797A (zh) * 2019-05-27 2019-08-16 北京知道创宇信息技术股份有限公司 一种报文处理方法及装置
CN112287328A (zh) * 2020-10-29 2021-01-29 广东电力信息科技有限公司 一种便于办公的移动办公系统及方法
CN113542450A (zh) * 2021-07-21 2021-10-22 北京威努特技术有限公司 一种工控防火墙支持ftp穿越nat的实现方法及系统
CN113852859A (zh) * 2021-08-19 2021-12-28 北京臻观数智科技有限公司 一种针对非标格式视频流零拷贝脱壳的方法及系统
CN113872936A (zh) * 2021-08-26 2021-12-31 上海宝康电子控制工程有限公司 一种流模式网络安全检测方法及系统
CN114125030A (zh) * 2021-11-30 2022-03-01 北京天融信网络安全技术有限公司 连接跟踪方法、装置、电子设备和计算机可读存储介质

Also Published As

Publication number Publication date
CN104022998B (zh) 2016-12-28

Similar Documents

Publication Publication Date Title
CN104022998A (zh) 网络传输数据病毒检测处理方法
US7596144B2 (en) System-on-a-chip (SoC) device with integrated support for ethernet, TCP, iSCSI, RDMA, and network application acceleration
US7934141B2 (en) Data protocol
US11394768B2 (en) Network interface device
CN105579987B (zh) 通用pci express端口
US8713202B2 (en) Method and system for network configuration for virtual machines
US7535907B2 (en) TCP engine
US7903689B2 (en) Method and system for packet reassembly based on a reassembly header
US20060274787A1 (en) Adaptive cache design for MPT/MTT tables and TCP context
TWI382723B (zh) 傳輸資料封包時用於改善安全性之方法及裝置
US20060215691A1 (en) Network adaptor, communication system and communication method
US7715416B2 (en) Generalized serialization queue framework for protocol processing
US20100299459A1 (en) Reflecting bandwidth and priority in network attached storage i/o
US9866639B2 (en) Communication apparatus, information processor, communication method, and computer-readable storage medium
CN104579948A (zh) 一种报文分片处理方法及装置
US8050266B2 (en) Low impact network debugging
CN107979609B (zh) 后反应式防护方法及自主学习型防火墙系统
US7848331B2 (en) Multi-level packet classification
CN105791239A (zh) 一种tcp中间人处理方法
CN211183974U (zh) 基于tcp/ip卸载引擎的量子密钥分发片上系统
CN104184707B (zh) 双核心双出口星型网络的防毒方法、装置及系统
US20080002730A1 (en) Serialization queue framework for transmitting packets
KR100947324B1 (ko) Toe 장치 및 이를 이용한 패킷 전송 방법
KR20090005866A (ko) 패킷 송수신 방식을 개선한 네트워크 인터페이스 장치 및이를 포함하는 네트워크 장치
US20070297432A1 (en) Host-Controlled Network Interface Filtering Based on Active Services, Active Connections and Active Protocols

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1305

Applicant after: Beijing Rising Information Technology Co., Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1305

Applicant before: Beijing Rising Information Technology Co., Ltd.

COR Change of bibliographic data
C14 Grant of patent or utility model
GR01 Patent grant
CP03 Change of name, title or address
CP03 Change of name, title or address

Address after: 100190 Zhongguancun street, Haidian District, Beijing, No. 22, A1305, 13

Patentee after: Beijing net an Technology Limited by Share Ltd

Address before: 100190 Beijing City, Haidian District Zhongguancun Street Branch No. 22 building, room 1305

Patentee before: Beijing Rising Information Technology Co., Ltd