CN107070928A - 一种应用层防火墙及其处理方法 - Google Patents
一种应用层防火墙及其处理方法 Download PDFInfo
- Publication number
- CN107070928A CN107070928A CN201710258458.0A CN201710258458A CN107070928A CN 107070928 A CN107070928 A CN 107070928A CN 201710258458 A CN201710258458 A CN 201710258458A CN 107070928 A CN107070928 A CN 107070928A
- Authority
- CN
- China
- Prior art keywords
- application layer
- application
- function
- packet
- layer data
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1466—Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种应用层防火墙的处理方法,检测网络侧发送的数据包是否包含应用层数据;若是,触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据;若否,触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。本发明还同时公开了一种应用层防火墙。
Description
技术领域
本发明涉及网络安全技术领域,尤其涉及一种应用层防火墙及其处理方法。
背景技术
防火墙(Firewall),也称防护墙,是由Gil Shwed于1993年发明并引入国际互联网(US5606668(A)1993-12-15),防火墙是一种位于内部网络与外部网络之间的网络安全系统。依照特定的规则,防火墙放行符合规则的传输信息,禁止不符合规则的传输信息通过。
传输控制协议洪水(Transmission Control Protocol Flood,TCP Flood)是一种利用传输控制协议(Transmission Control Protocol,TCP)/因特网互联协议(InternetProtocol,IP)的缺陷发起的攻击,其实质上是一种无意义的TCP包,通常都是同步序号(Synchronous,SYN)、确认(Acknowledgement,ACK)、结束(Finish,FIN)和复位(Reset,RST)这类的包,即TCP Flood不带有与应用层相关的数据信息,因此,TCP Flood在通过应用层防火墙时,无需对TCPFlood进行处理。然而,TCP Flood在通过应用层防火墙时,却引起应用层防火墙触发某些的功能,如:应用识别(Deep Packet Inspection,DPI)功能,即当到达应用层防火墙时,TCP Flood虽然不包含应用层数据,但依旧会触发应用识别功能,从而使应用层防火墙进行针对应用识别的初始化和数据创建的操作,从而增大应用层防火墙的开销。
由于增大应用层防火墙的开销,会影响其防御性能,因此,亟需寻找一种降低应用层防火墙开销的方法。
发明内容
有鉴于此,本发明实施例期望提供一种应用层防火墙及其处理方法,能够降低应用层防火墙的开销。
为达到上述目的,本发明的技术方案是这样实现的:
本发明实施例提供了一种应用层防火墙的处理方法,所述方法包括:
检测网络侧发送的数据包是否包含应用层数据;
若是,触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据;
若否,触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。
上述方案中,所述第一应用逻辑功能包括:端口识别功能和检测功能;
所述根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,包括:
根据所述端口识别功能识别非应用层数据中传输控制协议TCP首部的端口号,以根据所述端口号识别所述数据包的数据类型;
或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或因特网互联协议IP首部的可选字段信息。
上述方案中,所述根据所述第二应用逻辑功能处理所述应用层数据,包括:
获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;
或者,获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。
上述方案中,所述应用层数据包括:TCP/IP参考模型、或开放系统互联OSI参考模型中应用层所对应的数据。
本发明实施例还提供了一种应用层防火墙,所述应用层防火墙包括:
检测模块,用于检测网络侧发送的数据包是否包含应用层数据;
第一触发模块,用于确定数据包包含应用层数据时,触发应用层中的第一应用逻辑功能和第二应用逻辑功能;
第二触发模块,还用于确定数据包不包含应用层数据时,触发应用层中的第一应用逻辑功能;
第一处理模块,用于根据所述第一应用逻辑功能处理所述数据包中的非应用层数据;
第二处理模块,用于根据所述第二应用逻辑功能处理所述应用层数据。
上述方案中,所述第一应用逻辑功能包括:端口识别功能和检测功能;
所述第一处理模块包括:
识别子模块,用于根据所述端口识别功能识别非应用层数据中传输控制协议TCP首部的端口号,以根据所述端口号识别所述数据包的数据类型;
检测子模块,用于根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或因特网互联协议IP首部的可选字段信息。
上述方案中,所述第二处理模块包括:
第一处理子模块,用于获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;
第二处理子模块,用于获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。
上述方案中,所述应用层数据包括:TCP/IP参考模型、或OSI参考模型中应用层所对应的数据。
本发明实施例提供的应用层防火墙及其处理方法,检测网络侧发送的数据包是否包含应用层数据;若是,触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据;若否,触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。可见,本发明实施例将应用层防火墙中原有的应用层的功能,如应用识别功能和入侵防御功能,分别划分为第一应用逻辑功能和第二应用逻辑功能,根据数据包中是否包含应用层数据来确定是否触发第二应用逻辑功能,其有益效果包括如下两个方面:一方面,当接收到网络侧发送的不包含应用层数据的数据包,如TCP类攻击包时,只触发第一应用逻辑功能来响应该攻击类TCP包,避免了第二应用逻辑功能被触发,因此,避免了相应的初始化和数据创建等过程,从而降低了应用层防火墙的开销;另一方面,当接收到网络侧发送的具有应用层数据的数据包时,触发第一应用逻辑功能和第二应用逻辑功能响应该数据包,对该数据包进行端口识别、相应的初始化、数据创建、对应用进行识别、过滤和入侵防御等,从而达到应用应用层防火墙的防御效果。
附图说明
图1为一种应用层防火墙的网络系统示意图;
图2为本发明实施例公开的一种应用层防火墙的处理方法的实现流程示意图;
图3为本发明实施例公开的一种应用层防火墙的组成结构示意图;
图4为本发明实施例公开的另一种应用层防火墙的处理方法的实现流程示意图;
图5为一种数据包的格式示意图;
图6为一种数据包到达应用层防火墙时触发第一应用逻辑功能和第二应用逻辑功能的示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1为应用层防火墙的网络系统示意图,如图1所示,所述网络系统包括:内网中的服务器或主机、应用层防火墙和外网的客户端。
这里,所述内网中的服务器或主机,可以包括普通家庭用户、企业或政府机构等用户的服务器或主机,所述服务器可以包括:文件存储服务器、数据库服务器、邮件服务器、应用服务器、文件传输(File Transfer Protocol,FTP)服务器和万维网(Web)服务器等;所述主机可以包括台式电脑、个人笔记本电脑和掌上电脑等。其中,所述内网为应用层防火墙保护范围内的局域网,如家庭网、企业网和政府网等。
这里,所述应用层防火墙包括:应用在应用层的防火墙设备或具有应用层防火墙功能的设备,使用所述应用层防火墙可以允许符合规则的传输信息进入内网,禁止不符合规则的传输信息进入内网,以免该传输信息对内网中的服务器或主机造成不利影响。
这里,所述外网的客户端可以包括台式电脑、个人笔记本电脑和掌上电脑等。其中,所述外网为该应用层防火墙保护范围以外的网络。
应用层防火墙处于服务器与客户端之间,服务器处于受应用层防火墙保护的内网,客户端处于外网,客户端和服务器的信息交互均通过应用层防火墙。
图2为本发明实施例公开的一种应用层防火墙的处理方法的实现流程示意图,如图2所示,所述处理方法包括一下步骤:
步骤201:应用层防火墙检测网络侧发送的数据包是否包含应用层数据。
具体地,所述数据包包括TCP/IP参考模型、或开放式系统互联(Open SystemInterconnection,OSI)参考模型中数据链路层所对应的数据帧,其结构如图5所示。所述应用层数据为TCP/IP参考模型、或OSI参考模型中应用层所对应的数据,如图5所示。
所述应用层防火墙的处理方法应用于应用层防火墙,应用层防火墙是在TCP/IP参考模型或OSI参考模型的“应用层”上运作。应用层防火墙在开发阶段,通过软件或其它方式将应用层的功能,如应用识别功能和入侵防御功能划分为第一应用逻辑功能和第二应用逻辑功能。例如,通过软件方法,将应用层的应用识别功能或入侵防御功能分别划分为第一应用逻辑功能和第二应用逻辑功能,其中,第一应用逻辑功能用于处理所述数据包中非应用层数据,而第二应用逻辑功能用于处理所述数据包中应用层数据。值得注意的是,应用识别功能和入侵防御功能分别被划分为两个部分,即第一应用逻辑功能部分和第二应用逻辑部分,因此,应用识别功能和入侵防御功能的第一应用逻辑功能可用于处理所述数据包中非应用层数据,应用识别功能和入侵防御功能的第二应用逻辑功能可用于处理所述数据包中应用层数据。上述应用层功能仅仅是举例,而非穷举,包括但不仅限于上述应用层功能,如还可以有防病毒和数据过滤等功能。
进一步地,将所述检测网络侧发送的数据包是否包含应用层数据的方法,替换为检测网络侧发送的数据包是否包含连接信息,所述连接信息为OSI参考模型或TCP/IP参考模型中TCP首部的信息,包括:同步标识(Synchronous,SYN)和复位标识(Reset,RST),如图5所示。在OSI参考模型和TCP/IP参考模型中,所述SYN用于TCP协议中的三次握手,RST用于复位TCP连接。这里,所述RST等于1时,表示包含RST;SYN等于1时,表示包含SYN。举例来说,当RST=1,表明复位TCP连接,此时,说明数据包包含RST的连接信息,而数据包的数据段为空,也即该数据包不包含应用层数据。
步骤202:当确定数据包包含应用层数据时,应用层防火墙触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据。
进一步地,所述第一应用逻辑功能包括:端口识别功能和检测功能;所述根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,包括:根据所述端口识别功能识别非应用层数据中TCP首部的端口号,以根据所述端口号识别所述数据包的数据类型;或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或IP首部的可选字段信息,其中,TCP首部的可选字段位置如图5所示,IP首部的可选字段位置与TCP的类似,本发明实施例中未示出。
例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第一应用逻辑功能,如端口识别功能和检测功能被触发。然后,应用层防火墙根据所述端口识别功能识别数据包中非应用层数据的TCP首部的端口号,如TCP首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或IP首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(Time Stamp),其中,记录路径是让每个路由器都记下IP地址,时间戳让每个路由器都记下IP数据报经过每一个路由器的IP地址和当地时间。
进一步地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第二应用逻辑功能被触发。所述根据所述第二应用逻辑功能处理所述应用层数据,包括:获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;或者,获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。
例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中应用识别功能或入侵防御功能的第一应用逻辑被触发,同时第二应用逻辑功能也会被触发。假设,触发的是应用识别功能的第二应用逻辑功能,此时,应用层防火墙根据预设的规则获取所述应用层数据的特征信息,例如发送的数据包为迅雷下载数据,此时应用防火墙获取该数据包中应用层数据的特征信息,然后,在预设特征库中查找与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型,从而确定该数据包为迅雷下载数据,从而识别出该数据包的应用类型。或者,若发送的数据包为某敏感网服务器发送的数据包,该数据包可能包含病毒或木马之类的程序或应用,此时,应用层防火墙获取该数据包中应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,确定该数据包来源于该敏感网服务器发送的数据包,此时,应用层防火墙对应用层数据进行入侵防御处理,从而达到防御的效果。
因此,当包含应用层数据的数据包到达应用层防火墙时,应用层的第一应用逻辑功能和第二应用逻辑均被触发,如图6所示,为数据包到达应用层防火墙时触发第一应用逻辑功能和第二应用逻辑功能的示意图,其中,粗箭头线为不包含应用层数据的数据包,或包含连接信息的数据包;细箭头线为包含应用层数据的数据包,或不包含连接信息的数据包。举例来说,粗箭头线穿过了应用识别功能的第一应用逻辑功能,表示应用识别功能的第一应用逻辑功能响应该数据包;细箭头线穿过了应用识别功能的第一应用逻辑功能和第二应用逻辑功能,表示应用识别功能的第一应用逻辑功能和第二应用逻辑功能响应该数据包。
或者,应用层防火墙检测接收到的数据包不包含SYN和RST字段或标识中的一种或两种,此时,触发应用层中的第一应用逻辑功能和第二应用识别功能。如图6所示,不包含连接信息的数据包到达应用层防火墙时,第一应用逻辑功能和第二应用逻辑功能响应所述数据包。
步骤203:当确定数据包不包含应用层数据时,应用层防火墙触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。
具体地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包不包含应用层数据时,只触发应用层中应用识别功能或入侵防御功能的第一应用逻辑功能被触发,第一应用逻辑功能端口识别功能和检测功能;而应用层中的第二应用逻辑功能不被触发。因此,可以避免应用层防火墙的初始化、数据创建、数据/信息识别等过程,降低了应用层防火墙的开销。如图6所示,不包含应用层数据的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。
例如,当第一应用逻辑功能,如端口识别功能和检测功能被触发后,应用层防火墙根据所述端口识别功能识别数据包中非应用层数据的TCP首部的端口号,如TCP首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或IP首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(Time Stamp),其中,记录路径是让每个路由器都记下IP地址,时间戳是让每个路由器都记下IP数据报经过每一个路由器的IP地址和当地时间。
或者,应用层防火墙检测接收到的数据包内包含SYN和RST字段或标识中的一种或两种,此时,只触发应用层中的第一应用逻辑功能,不触发第二应用识别功能。如图6所示,包含连接信息的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。
为了实现上述方法,本发明实施例公开了一种应用层防火墙,如图3所示,图3为本发明实施例公开的一种应用层防火墙的组成结构示意图,所述应用层防火墙应用于应用层,将应用层的功能划分为第一应用逻辑功能和第二应用逻辑功能,包括:
检测模块301,用于检测网络侧发送的数据包是否包含应用层数据;
第一触发模块302,用于确定数据包包含应用层数据时,触发应用层中的第一应用逻辑功能和第二应用逻辑功能;
第二触发模块303,还用于确定数据包不包含应用层数据时,触发应用层中的第一应用逻辑功能;
第一处理模块304,用于根据所述第一应用逻辑功能处理所述数据包中的非应用层数据;
第二处理模块305,用于根据所述第二应用逻辑功能处理所述应用层数据。
进一步地,所述第一应用逻辑功能包括:端口识别功能和检测功能;
所述第一处理模块304包括:识别子模块3041,用于根据所述端口识别功能识别非应用层数据中传输控制协议TCP首部的端口号,以根据所述端口号识别所述数据包的数据类型;
检测子模块3042,用于根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或因特网互联协议IP首部的可选字段信息。
进一步地,所述第二处理模块305包括:第一处理子模块3051,用于获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;
第二处理子模块3052,用于获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。
进一步地,所述应用层数据包括:TCP/IP参考模型、或OSI参考模型中应用层所对应的数据。
由上述组成结构示意图组成的应用层防火墙,可以执行以下方法和步骤:
(1)检测模块301检测网络侧发送的数据包是否包含应用层数据。
具体地,所述数据包包括TCP/IP参考模型、或开放式系统互联(Open SystemInterconnection,OSI)参考模型中数据链路层所对应的数据帧,其结构如图5所示。所述应用层数据为TCP/IP参考模型、或OSI参考模型中应用层所对应的数据,如图5所示。
所述应用层防火墙的处理方法应用于应用层防火墙,应用层防火墙是在TCP/IP参考模型或OSI参考模型的“应用层”上运作。应用层防火墙在开发阶段,通过软件或其它方式将应用层的功能,如应用识别功能和入侵防御功能划分为第一应用逻辑功能和第二应用逻辑功能。例如,通过软件方法,将应用层的应用识别功能或入侵防御功能分别划分为第一应用逻辑功能和第二应用逻辑功能,其中,第一应用逻辑功能用于处理所述数据包中非应用层数据,而第二应用逻辑功能用于处理所述数据包中应用层数据。值得注意的是,应用识别功能和入侵防御功能分别被划分为两个部分,即第一应用逻辑功能部分和第二应用逻辑部分,因此,应用识别功能和入侵防御功能的第一应用逻辑功能可用于处理所述数据包中非应用层数据,应用识别功能和入侵防御功能的第二应用逻辑功能可用于处理所述数据包中应用层数据。上述应用层功能仅仅是举例,而非穷举,包括但不仅限于上述应用层功能,如还可以有防病毒和数据过滤等功能。
进一步地,将所述检测网络侧发送的数据包是否包含应用层数据的方法,替换为检测网络侧发送的数据包是否包含连接信息,所述连接信息为OSI参考模型或TCP/IP参考模型中TCP首部的信息,包括:同步标识(Synchronous,SYN)和复位标识(Reset,RST),如图5所示。在OSI参考模型和TCP/IP参考模型中,所述SYN用于TCP协议中的三次握手,RST用于复位TCP连接。这里,所述RST等于1时,表示包含RST;SYN等于1时,表示包含SYN。举例来说,当RST=1,表明复位TCP连接,此时,说明数据包包含RST的连接信息,而数据包的数据段为空,也即该数据包不包含应用层数据。
(2)当确定数据包包含应用层数据时,第一触发模块302触发应用层中的第一应用逻辑功能和第二应用逻辑功能,第一处理模块根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,第二处理模块305根据所述第二应用逻辑功能处理所述应用层数据。
进一步地,所述第一应用逻辑功能包括:端口识别功能和检测功能;所述根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,包括:根据所述端口识别功能识别非应用层数据中TCP首部的端口号,以根据所述端口号识别所述数据包的数据类型;或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或IP首部的可选字段信息,其中,TCP首部的可选字段位置如图5所示,IP首部的可选字段位置与TCP的类似,本发明实施例中未示出。
例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第一应用逻辑功能,如端口识别功能和检测功能被触发。然后,识别子模块3041根据所述端口识别功能识别数据包中非应用层数据的TCP首部的端口号,如TCP首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,检测子模块3042根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或IP首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(Time Stamp),其中,记录路径是让每个路由器都记下IP地址,时间戳是让每个路由器都记下IP数据报经过每一个路由器的IP地址和当地时间。
进一步地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中的第二应用逻辑功能被触发。所述第二处理模块305根据所述第二应用逻辑功能处理所述应用层数据,包括:第一处理子模块3051获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;或者,第二处理子模块3052获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。
例如,应用层防火墙接收到网络侧发送的数据包后,当确定数据包包含应用层数据时,应用层中应用识别功能或入侵防御功能的第一应用逻辑被触发,同时第二应用逻辑功能也会被触发。假设,触发的是应用识别功能的第二应用逻辑功能,此时,应用层防火墙根据预设的规则获取所述应用层数据的特征信息,例如发送的数据包为迅雷下载数据,此时应用防火墙获取该数据包中应用层数据的特征信息,然后,在预设特征库中查找与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型,从而确定该数据包为迅雷下载数据,从而识别出该数据包的应用类型。或者,若发送的数据包为某敏感网服务器发送的数据包,该数据包可能包含病毒或木马之类的程序或应用,此时,应用层防火墙获取该数据包中应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,确定该数据包来源于该敏感网服务器发送的数据包,此时,应用层防火墙对应用层数据进行入侵防御处理,从而达到防御的效果。
因此,当包含应用层数据的数据包到达应用层防火墙时,应用层的第一应用逻辑功能和第二应用逻辑均被触发,如图6所示。
或者,应用层防火墙检测接收到的数据包不包含SYN和RST字段或标识中的一种或两种,此时,触发应用层中的第一应用逻辑功能和第二应用识别功能。如图6所示,不包含连接信息的数据包到达应用层防火墙时,第一应用逻辑功能和第二应用逻辑功能响应所述数据包。
(3)当确定数据包不包含应用层数据时,第二触发模块303触发应用层中的第一应用逻辑功能,第一处理模块304根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。
具体地,应用层防火墙接收到网络侧发送的数据包后,当确定数据包不包含应用层数据时,第二触发模块303触发应用层中应用识别功能或入侵防御功能的第一应用逻辑功能被触发,第一应用逻辑功能端口识别功能和检测功能;而应用层中的第二应用逻辑功能不被触发。因此,可以避免应用层防火墙的初始化、数据创建、数据/信息识别等过程,降低了应用层防火墙的开销。如图6所示,不包含应用层数据的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。
例如,当第一应用逻辑功能,如端口识别功能和检测功能被触发后,第一处理模块304中的识别子模块3041根据所述端口识别功能识别数据包中非应用层数据的TCP首部的端口号,如TCP首部的端口号为21时,表示文件传输;端口号为23时,表示远程登录;端口号为25时,表示电子邮件。因此,根据所述端口号识别所述数据包的数据类型。或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或IP首部的可选字段信息,所述可选字段信息包括:记录路径和时间戳(Time Stamp),其中,记录路径是让每个路由器都记下IP地址,时间戳是让每个路由器都记下IP数据报经过每一个路由器的IP地址和当地时间。
或者,应用层防火墙检测接收到的数据包内包含SYN和RST字段或标识中的一种或两种,此时,只触发应用层中的第一应用逻辑功能,不触发第二应用识别功能。如图6所示,包含连接信息的数据包到达应用层防火墙时,只触发第一应用逻辑功能来响应所述数据包。
通过本发明实施例的技术方案,应用层防火墙应用于应用层,将应用层防火墙中原有的应用层的功能,如应用识别功能和入侵防御功能,分别划分为第一应用逻辑功能和第二应用逻辑功能,根据数据包中是否包含应用层数据来确定是否触发第二应用逻辑功能,其有益效果包括如下两个方面:一方面,当接收到网络侧发送的不包含应用层数据的数据包,如TCP类攻击包时,只触发第一应用逻辑功能来响应该攻击类TCP包,避免了第二应用逻辑功能被触发,因此,避免了相应的初始化和数据创建等过程,从而降低了应用层防火墙的开销;另一方面,当接收到网络侧发送的具有应用层数据的数据包时,触发第一应用逻辑功能和第二应用逻辑功能响应该数据包,对该数据包进行端口识别、相应的初始化、数据创建、对应用进行识别、过滤和入侵防御等,从而达到应用应用层防火墙的防御效果。
图4为本发明实施例公开的另一种应用层防火墙的处理方法的实现流程示意图,如图4所述,所述处理方法包括:
步骤401:接收终端用户发送的数据包。
步骤402:判断数据包是否包含应用层数据。
步骤403:确定数据包不包含应用层数据。
步骤404:触发应用识别功能的第一应用逻辑功能。
这里,第一应用逻辑功能包括端口识别、TCP首部option的检测和IP首部option的检测。
步骤405:根据应用层防火墙的特定规则,允许符合规则的数据包通过。
这里,若不符合规则,则禁止数据包通过。
步骤406:确定数据包包含应用层数据。
这里,如图5所示,TCP数据部分包含应用层数据
步骤407:触发应用识别功能的第一应用逻辑功能和第二应用逻辑功能。
步骤408:根据应用层防火墙的特定规则,允许符合规则的数据包通过。
这里,若不符合规则,则禁止数据包通过。
在实际应用中,所述检测模块301、第一触发模块302、第二触发模块303、第一处理模块304(包括:识别子模块3041和检测子模块3042)和第二处理模块305(包括:第一处理子模块3051和第二处理子模块305)均可由位于应用层防火墙的中央处理器(CPU)、微处理器(MPU)、数字信号处理器(DSP)、或现场可编程门阵列(FPGA)等实现。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。
Claims (8)
1.一种应用层防火墙的处理方法,其特征在于,所述方法包括:
检测网络侧发送的数据包是否包含应用层数据;
若是,触发应用层中的第一应用逻辑功能和第二应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,并根据所述第二应用逻辑功能处理所述应用层数据;
若否,触发应用层中的第一应用逻辑功能,根据所述第一应用逻辑功能处理所述数据包中的非应用层数据。
2.根据权利要求1所述的处理方法,其特征在于,所述第一应用逻辑功能包括:端口识别功能和检测功能;
所述根据所述第一应用逻辑功能处理所述数据包中的非应用层数据,包括:
根据所述端口识别功能识别非应用层数据中传输控制协议TCP首部的端口号,以根据所述端口号识别所述数据包的数据类型;
或者,根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或因特网互联协议IP首部的可选字段信息。
3.根据权利要求1所述的处理方法,其特征在于,所述根据所述第二应用逻辑功能处理所述应用层数据,包括:
获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;
或者,获取所述应用层数据的特征信息,确定所述特征信息与预设防御库中的预设防御信息匹配时,对所述应用层数据进行入侵防御处理。
4.根据权利要求1至4任一项所述的处理方法,其特征在于,所述应用层数据包括:TCP/IP参考模型、或开放系统互联OSI参考模型中应用层所对应的数据。
5.一种应用层防火墙,其特征在于,所述应用层防火墙包括:
检测模块,用于检测网络侧发送的数据包是否包含应用层数据;
第一触发模块,用于确定数据包包含应用层数据时,触发应用层中的第一应用逻辑功能和第二应用逻辑功能;
第二触发模块,还用于确定数据包不包含应用层数据时,触发应用层中的第一应用逻辑功能;
第一处理模块,用于根据所述第一应用逻辑功能处理所述数据包中的非应用层数据;
第二处理模块,用于根据所述第二应用逻辑功能处理所述应用层数据。
6.根据权利要求5所述的应用层防火墙,其特征在于,所述第一应用逻辑功能包括:端口识别功能和检测功能;
所述第一处理模块包括:
识别子模块,用于根据所述端口识别功能识别非应用层数据中传输控制协议TCP首部的端口号,以根据所述端口号识别所述数据包的数据类型;
检测子模块,用于根据所述检测功能检测可选字段信息,所述可选字段信息为非应用层数据中的TCP首部或因特网互联协议IP首部的信息。
7.根据权利要求5所述的应用层防火墙,其特征在于,所述第二处理模块包括:
第一处理子模块,用于获取所述应用层数据的特征信息,查找预设特征库中与所述特征信息匹配的预设特征信息,将所查找到的预设特征信息对应的应用类型确定为所述应用层数据的应用类型;
第二处理子模块,用于根据所述检测功能检测目标可选字段信息,所述目标可选字段信息为非应用层数据中的TCP首部或因特网互联协议IP首部的可选字段信息。
8.根据权利要求5至7任一项所述的应用层防火墙,其特征在于,所述应用层数据包括:TCP/IP参考模型、或OSI参考模型中应用层所对应的数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710258458.0A CN107070928B (zh) | 2017-04-19 | 2017-04-19 | 一种应用层防火墙及其处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710258458.0A CN107070928B (zh) | 2017-04-19 | 2017-04-19 | 一种应用层防火墙及其处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107070928A true CN107070928A (zh) | 2017-08-18 |
CN107070928B CN107070928B (zh) | 2020-08-21 |
Family
ID=59601283
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710258458.0A Active CN107070928B (zh) | 2017-04-19 | 2017-04-19 | 一种应用层防火墙及其处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107070928B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378395A (zh) * | 2008-10-10 | 2009-03-04 | 福建星网锐捷网络有限公司 | 一种防止拒绝访问攻击的方法及装置 |
CN101447996A (zh) * | 2008-12-31 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 分布式拒绝服务攻击防护方法、系统及设备 |
CN102857426A (zh) * | 2012-08-24 | 2013-01-02 | 北京网康科技有限公司 | 一种网络设备及其转发数据流的方法 |
CN103957185A (zh) * | 2013-12-16 | 2014-07-30 | 汉柏科技有限公司 | 一种实现应用层流量监控的防火墙控制方法 |
US9553845B1 (en) * | 2013-09-30 | 2017-01-24 | F5 Networks, Inc. | Methods for validating and testing firewalls and devices thereof |
-
2017
- 2017-04-19 CN CN201710258458.0A patent/CN107070928B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101378395A (zh) * | 2008-10-10 | 2009-03-04 | 福建星网锐捷网络有限公司 | 一种防止拒绝访问攻击的方法及装置 |
CN101447996A (zh) * | 2008-12-31 | 2009-06-03 | 成都市华为赛门铁克科技有限公司 | 分布式拒绝服务攻击防护方法、系统及设备 |
CN102857426A (zh) * | 2012-08-24 | 2013-01-02 | 北京网康科技有限公司 | 一种网络设备及其转发数据流的方法 |
US9553845B1 (en) * | 2013-09-30 | 2017-01-24 | F5 Networks, Inc. | Methods for validating and testing firewalls and devices thereof |
CN103957185A (zh) * | 2013-12-16 | 2014-07-30 | 汉柏科技有限公司 | 一种实现应用层流量监控的防火墙控制方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107070928B (zh) | 2020-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11777971B2 (en) | Bind shell attack detection | |
Pang et al. | The devil and packet trace anonymization | |
CN110166480B (zh) | 一种数据包的分析方法及装置 | |
JP4162210B2 (ja) | セッション追跡を利用する動的パケットフィルター | |
EP1966977B1 (en) | Method and system for secure communication between a public network and a local network | |
US7669240B2 (en) | Apparatus, method and program to detect and control deleterious code (virus) in computer network | |
US20140325596A1 (en) | Authentication of ip source addresses | |
JP2008011537A (ja) | ネットワークセキュリティデバイスにおけるパケット分類 | |
US11838318B2 (en) | Data plane with connection validation circuits | |
JP7388613B2 (ja) | パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体 | |
EP2009864A1 (en) | Method and apparatus for attack prevention | |
CN106911637A (zh) | 网络威胁处理方法和装置 | |
CN106657161A (zh) | 数据包过滤的实现方法和装置 | |
KR20190028597A (ko) | Fpga 기반 고속 스노트 룰과 야라 룰 매칭 방법 | |
CN113765849B (zh) | 一种异常网络流量检测方法和装置 | |
US20180270197A1 (en) | Intrusion prevention | |
CN109510805B (zh) | 一种基于安全基线模型的网络数据安全检测方法及系统 | |
CN107070928A (zh) | 一种应用层防火墙及其处理方法 | |
CN110519301A (zh) | 一种攻击检测方法及装置 | |
KR20190028596A (ko) | Fpga 기반 고속 스노트 룰과 야라 룰 매칭 장치 | |
US20050147037A1 (en) | Scan detection | |
US12058156B2 (en) | System and method for detecting and mitigating port scanning attacks | |
JP2004179999A (ja) | 侵入検知装置およびその方法 | |
Junior et al. | A User-friendly Approach to Write and Enforce Rules for Detecting Anomalous Network Traffic in IoT Environments | |
CN115499251B (zh) | 一种边缘IoT设备的异常流量及攻击检测方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |