CN112887405B - 一种入侵防御方法、系统及相关设备 - Google Patents
一种入侵防御方法、系统及相关设备 Download PDFInfo
- Publication number
- CN112887405B CN112887405B CN202110103884.3A CN202110103884A CN112887405B CN 112887405 B CN112887405 B CN 112887405B CN 202110103884 A CN202110103884 A CN 202110103884A CN 112887405 B CN112887405 B CN 112887405B
- Authority
- CN
- China
- Prior art keywords
- data
- http protocol
- rule
- detected
- field
- 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
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- 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/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种入侵防御方法、系统及相关设备,用于防御基于HTTP协议绕过IPS的攻击,提高了网络的安全性。本发明实施例方法包括:解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中所述键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为所述特征字段的字段值;判断所述键值对数据是否符合预设检出规则,若符合,则判定所述待检测的HTTP协议数据不符合安全规则。
Description
技术领域
本发明涉及入侵防御技术领域,尤其涉及一种入侵防御方法、系统及相关设备。
背景技术
由于HTTP(HyperText Transfer Protocol,超文本传输协议)协议的广泛性,HTTP协议广泛应用于不同的浏览器(如谷歌、火狐、IE等)、不同的web服务框架(如Nginx、Apache等)。然而,不同厂商的开发者由于自身的需求或者对协议的理解各自不同,针对HTTP的语义解析会有差异。
IPS(Intrusion Prevention System,入侵防御系统)在进行入侵防御时,也需要对HTTP协议报文进行识别检测。如果部署的IPS中使用的HTTP协议解析逻辑与待检测的协议数据的发送方设置的解析逻辑不一致,那么就很有可能识别不出来有害负载,导致这些攻击文本绕过IPS被转发到目的主机造成入侵。
因此,有必要提出新的入侵防御方法,以解决这类基于HTTP协议的绕过的问题。
发明内容
本发明实施例提供了一种入侵防御方法、系统及相关设备,用于防御基于HTTP协议绕过IPS的攻击,提高了网络的安全性。
本发明实施例第一方面提供了一种入侵防御方法,可包括:
解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中所述键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为所述特征字段的字段值;
判断所述键值对数据是否符合预设检出规则,若符合,则判定所述待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,所述预设检出规则包括如下规则中的一种或多种:
规则一:键值对数据中出现两个Transfer-Encoding字段;
规则二:键值对数据中出现两个Content-Length字段;
规则三:键值对数据中出现两个Content-Encoding字段;
规则四:键值对数据中出现两个Content-Type字段;
规则五:键值对数据中同时出现Content-Length字段和Transfer-Encoding字段;
规则六:key或者value值为空。
可选的,作为一种可能的实施方式,当所述键值对数据不符合预设检出规则时,本发明实施例中的入侵防御方法还可以包括:当Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对所述待检测的HTTP协议数据进行存储;
将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
可选的,作为一种可能的实施方式,在将存储的HTTP协议数据解析之前,本发明实施例中的入侵防御方法,本发明实施例中的入侵防御方法还可以包括:
判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致,若不一致,则判定所述待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,在将存储的HTTP协议数据解析之前,本发明实施例中的入侵防御方法还可以包括:
当Transfer-Encoding字段的字段值为chunked时,统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定所述待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,当所述待检测的HTTP协议数据为服务器发出的响应数据时,本发明实施例中的入侵防御方法还可以包括:
获取响应状态码,若所述响应状态码为204、304、100状态码中的一种,则判断Transfer-Encoding字段的字段值是否为chunked。
可选的,作为一种可能的实施方式,在解析待检测的HTTP协议数据的协议头部数据之前,本发明实施例中的入侵防御方法还可以包括:
判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;
若是HTTP 0.9之后的版本,则剔除间隔符之后,缓存并解析所述待检测的HTTP协议数据的协议头部数据;
若是HTTP 0.9版本,则存储所述待检测的HTTP协议数据,并判断所述待检测的HTTP协议数据中是否包含预设字段,若包含预设字段,则解析待检测的HTTP协议数据的协议头部数据中的键值对数据。
本发明实施例第二方面提供了一种入侵防御系统,可包括:
解析模块,用于解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中所述键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为所述特征字段的字段值;
第一处理模块,判断所述键值对数据是否符合预设检出规则,若符合,则判定所述待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,本发明实施例中的预设检出规则包括如下规则中的一种或多种:
规则一:键值对数据中出现两个Transfer-Encoding字段;
规则二:键值对数据中出现两个Content-Length字段;
规则三:键值对数据中出现两个Content-Encoding字段;
规则四:键值对数据中出现两个Content-Type字段;
规则五:键值对数据中同时出现Content-Length字段和Transfer-Encoding字段;
规则六:key或者value值为空。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
存储模块,当所述键值对数据不符合预设检出规则,Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对所述待检测的HTTP协议数据进行存储;
检测模块,将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
第二处理模块,在将目标数据发送至入侵检测系统进行检测之前,判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致,若不一致,则判定所述待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
第三处理模块,在将存储的HTTP协议数据解析之前,当Transfer-Encoding字段的字段值为chunked时,统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定所述待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
第四处理模块,当所述待检测的HTTP协议数据为服务器发出的响应数据时,获取响应状态码,若所述响应状态码为204、304、100状态码中的一种,则判断Transfer-Encoding字段的字段值是否为chunked。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:第五处理模块,在解析待检测的HTTP协议数据的协议头部数据之前,判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;若是HTTP 0.9之后的版本,则剔除间隔符之后,缓存并解析所述待检测的HTTP协议数据的协议头部数据;若是HTTP 0.9版本,则存储所述待检测的HTTP协议数据,并判断所述待检测的HTTP协议数据中是否包含预设字段,若包含预设字段,则解析待检测的HTTP协议数据的协议头部数据中的键值对数据。
本发明实施例第三方面提供了一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
本发明实施例第四方面提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面及第一方面中任意一种可能的实施方式中的步骤。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例中,入侵防御系统可以解析待检测的HTTP协议数据的协议头部数据中的键值对数据,并判断键值对数据是否符合预设检出规则,若符合,则判定待检测的HTTP协议数据不符合安全规则。相对于相关技术,本发明实施例可以对基于HTTP协议的绕过进行防御检测,提高了网络安全性。
附图说明
图1为本发明实施例中一种入侵防御方法的一个实施例示意图;
图2为服务器响应客户端的HTTP协议数据的协议头部数据示意图;
图3为本发明实施例中一种入侵防御方法的另一个实施例示意图;
图4为本发明实施例中一种入侵防御方法的另一个实施例示意图;
图5为本发明实施例中一种入侵防御方法的一个具体应用实施例示意图;
图6为本发明实施例中一种入侵防御系统的一个实施例示意图;
图7为本发明实施例中一种计算机装置的一个实施例示意图。
具体实施方式
本发明实施例提供了一种入侵防御方法、系统及相关设备,用于防御基于HTTP协议绕过IPS的攻击,提高了网络的安全性。
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的实施例能够以除了在这里图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例涉及绕过技术,其中绕过技术通常是指黑客使用某种手段逃逸防火墙现有的检测手段,从而渗透到靶机内部的技术。由于HTTP协议的广泛应用,基于HTTP协议绕过IPS(Intrusion Prevention System,入侵防御系统)发起恶意攻击的行为也越来越多。有鉴于此,本发明实施例提出一种入侵防御方法,解决基于HTTP协议绕过IPS的问题。
为了便于理解,下面对本发明实施例中的具体流程进行描述,请参阅图1,本发明实施例中一种入侵防御方法的一个实施例可包括:
S101、解析待检测的HTTP协议数据的协议头部数据中的键值对数据;
申请人注意到,HTTP协议数据的头部字段可能会因为字段混淆、字段分隔、字段重复、字段缺失、字段填充等方式绕过IPS(Intrusion Prevention System,入侵防御系统)。
为了解决上述任一种头部字段绕过问题,本发明实施例中的IPS可以解析待检测的HTTP协议数据的协议头部数据中的键值对数据,基于键值对数据进行入侵防御检测。其中,键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为特征字段的字段值。如图2所示,为服务器响应客户端的HTTP协议数据的协议头部数据示意图,其中,特征字段有Transfer-Encoding、Content-Length、Content-Encoding、Content-Type等,具体需要检测的特征字段可以根据业务需求进行合理的设置,此处不做限定。
S102、判断键值对数据是否符合预设检出规则,若符合,则判定待检测的HTTP协议数据不符合安全规则。
为了检测上述任一种头部字段绕过问题,可以预设检出规则对键值对数据进行检测,若符合预设检出规则,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,为了防止头部字段分隔绕过导致的网络安全问题,在解析头部字段时可以剔除头部各行间隔符(包含\t、\r、空格字符)。
示例性的,作为一种可能的实施方式,本发明实施例中的预设检出规则可以包括如下规则中的一种或多种:
规则一:键值对数据中出现两个Transfer-Encoding字段;(该规则用于防止传输类型错乱绕过,而且该情况违反RFC标准协议);
规则二:键值对数据中出现两个Content-Length字段;(该规则用于防止内容长度错乱绕过,而且该情况违反RFC标准协议);
规则三:键值对数据中出现两个Content-Encoding字段;(该规则用于防止压缩类型错乱绕过,而且该情况违反RFC标准协议);
规则四:键值对数据中出现两个Content-Type字段;(该规则用于防止文件类型错乱绕过,而且该情况违反RFC标准协议);
规则五:键值对数据中同时出现Content-Length字段和Transfer-Encoding字段(该规则用于防止对方使用chunked传输而声明了要用指定接收数据,从而导致绕过);
规则六:key或者value值为空(该规则用于检测格式异常)。
本发明实施例中,入侵防御系统可以解析待检测的HTTP协议数据的协议头部数据中的键值对数据,并判断键值对数据是否符合预设检出规则,若符合,则判定待检测的HTTP协议数据不符合安全规则。相对于相关技术,本发明实施例可以对基于HTTP协议的绕过进行防御检测,提高了网络安全性。
在上述图1所示的实施例的基础上,实际应用中还可能出现非标准端口绕过、头部首行方法绕过等,有必要进一步对这些绕过方式进行检测。请参阅图3,本发明实施例中一种入侵防御方法的另一个实施例可包括:
S301、判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;
实际应用中,在获取到应用层协议数据之后,IPS可以识别该应用层协议数据是否为HTTP协议数据,具体的识别方式可以根据头部数据的协议标识,为了防止非标准端口绕过导致的网络安全问题,也可以通过判断头部数据是否包含HTTP协议的特征字段(例如,GET、POST、PUT等主流HTTP方法中的字段)进行判断,具体此处不做限定。
由于本实施例中需要对HTTP协议数据的头部数据进行解析检测,而HTTP 0.9是没有区分头部数据。为此当判定获取到应用层协议数据为HTTP协议数据时,IPS需要判断待检测的HTTP协议数据的协议版本是否为HTTP0.9之后的版本。若是HTTP 0.9之后的版本,为了防止头部首行方法绕过,可以剔除头部首行间隔符之后,缓存并解析待检测的HTTP协议数据的协议头部数据;
若获取到应用层协议数据为HTTP 0.9版本,为了防止非标准端口绕过导致的网络安全问题,可以存储待检测的HTTP协议数据,并判断待检测的HTTP协议数据中是否包含预设字段(例如GET、POST、PUT等主流HTTP方法中的字段),若包含预设字段,则进行下一步S302。
S302、解析待检测的HTTP协议数据的协议头部数据中的键值对数据;
本实施例中S302中描述的内容与上述图1所示的实施例中的S101此处不做赘述。
S303、判断键值对数据是否符合预设检出规则;
若键值对数据符合预设检出规则,则判定待检测的HTTP协议数据不符合安全规则;若键值对数据不符合预设检出规则,可以执行下一步骤。
S304、当Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对待检测的HTTP协议数据进行存储;
在上述步骤的基础上,当Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,表示待检测的HTTP协议数据有效内容不为空,为了进一步对HTTP协议数据中的安全风险进行检测,可选的,本实施例中还可以对待检测的HTTP协议数据进行存储,以进一步进行检测。
S305、将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
在存储待检测的HTTP协议数据之后,可以将HTTP协议数据进行解析,解析之后的目标数据发送至入侵检测系统,依据预设的Snort(入侵检测)规则进行检测。
在上述实施例的基础上,实际应用中还可能出现chunk(分块)传输方法绕过、状态码绕过等,有必要进一步对这些绕过方式进行检测。请参阅图4,本发明实施例中一种入侵防御方法的另一个实施例可包括:
S401、判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;
S402、解析待检测的HTTP协议数据的协议头部数据中的键值对数据;
S403、判断键值对数据是否符合预设检出规则;
若符合,则判定待检测的HTTP协议数据不符合安全规则;
S404、当Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对待检测的HTTP协议数据进行存储;
本实施例中S401至S404中描述的内容与上述图3所示的实施例中的S301至S304类似,此处不做赘述。
S405、当Transfer-Encoding字段的字段值为chunked时,统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定待检测的HTTP协议数据不符合安全规则;
当键值对数据不符合预设检出规则时,为了防止chunk传输方法绕过导致的网络安全问题,IPS还可以判断Transfer-Encoding字段的字段值是否为chunked,若是,则统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定待检测的HTTP协议数据不符合安全规则。
S406、判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致;
当键值对数据不符合预设检出规则时,为了防止编码类型绕过导致的网络安全问题,IPS还可以判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致,若不一致,则判定待检测的HTTP协议数据不符合安全规则。
S407、将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
在存储待检测的HTTP协议数据之后,可以将HTTP协议数据进行解析,解析之后的目标数据发送至入侵检测系统,依据预设的Snort(入侵检测)规则进行检测。具体的Snort规则可以根据实际业务需求进行合理的设置,具体此处不做限定。
可以理解的是,在本申请的各种实施例中,上述各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
为了便于理解,请参阅图5,下面将结合具体的应用实施例对本发明实施例中的入侵防御方法进行描述。具体可以包括如下步骤:
步骤1:判断当前会话报文是否为http数据流;
本申请主要针对http数据流进行检测,在获取到应用层协议数据之后,IPS可以基于相关技术判断当前会话报文是否为http数据流,若是http数据流,跳入步骤2,若相关技术判定不是http数据流,则跳入A分支进行进一步识别。A分支:是否含有GET、POST、PUT等主流HTTP方法,若没有,放行。若有,该当前会话报文记录为HTTP流,并执行步骤2。
步骤2:判断当前会话报文是否为响应方向;
现有的HTTP协议报文可以分为请求还是响应方向,不同方向的报文的解析规则不同,为此需要进行分类解析。请求方向报文送入请求解析器,否则送入响应解析器。
步骤3:判断是否为HTTP 0.9报文;
HTTP 0.9是没有区分头部数据,HTTP 0.9之后的协议版本有区分头部数,在获取到待检测数据之后可以判断是否为HTTP 0.9报文,若是,则跳入B分支。若不是,则跳入主分支步骤4;
B分支:HTTP 0.9报文处理。做全量缓存,若缓存字节小于1024时,跳入分支B-1。否则送入Snort引擎做检出;
分支B-1:判断此是否存在HTTP头部普通字段(如Content-Length、Server等),若存在跳到HTTP 1.x解析器。否则送入Snort引擎做检出;
步骤4:若存在\t、\r、空格字符,则剔除HTTP首行的\t、\r、空格字符,并记录当前状态码;
步骤5:判断头部数据是否有“HTTP/1.X”类型的字段;
判断头部是否有“HTTP/1.X”类型的字段,若有,进行头部数据字段解析。否则进入B分支(HTTP 0.9解析器);
步骤6:头部数据字段解析,并存储得到key/value数据;
头部数据字段解析过程中,可以根据\n读取一行数据,剔除\t、\r、空格字符。
步骤7:根据key/value数据判断是否为绕过特征;
key/value数据满足以下规则之一的,可以做检出处理:
规则一:键值对数据中出现两个Transfer-Encoding字段;(该规则用于防止传输类型错乱绕过,而且该情况违反RFC标准协议);
规则二:键值对数据中出现两个Content-Length字段;(该规则用于防止内容长度错乱绕过,而且该情况违反RFC标准协议);
规则三:键值对数据中出现两个Content-Encoding字段;(该规则用于防止压缩类型错乱绕过,而且该情况违反RFC标准协议);
规则四:键值对数据中出现两个Content-Type字段;(该规则用于防止文件类型错乱绕过,而且该情况违反RFC标准协议);
规则五:键值对数据中同时出现Content-Length字段和Transfer-Encoding字段(该规则用于防止对方使用chunked传输而声明了要用指定接收数据,从而导致绕过);
规则六:key或者value值为空(该规则用于检测格式异常)。
步骤8:判断当前解析到的数据是否有两个\n;
若当前解析到的数据有两个\n,则头部解析结束,否则继续跳到步骤6;
步骤9:判断是否为“204/304/100状态码”;
当识别到204/304/10状态码时,表示服务器没有返回内容,需要对payload(有效数据)进行进一步识别。若没有识别到204/304/100状态码,则可以进入解码缓冲区(步骤11);
步骤10:判断payload是否有内容(Content-Length>0)或者是chunked传输;
判断payload是否有内容(Content-Length>0)或者是chunked传输,若是,进入下一步,否则放行报文;
步骤11:缓存报文;
报文的缓存分两种情况,分支一:chunk传输,如果是chunk传输,则记录此时chunk(chunk传输的chunk-size定义根据不同用户的业务需求自行调整)的个数,如果小chunk达到阈值(阈值根据不同用于的业务需求自行调整),则检出;否则继续缓存报文;
分支二:完整传输,缓存报文。
步骤12:缓存报文检测。
具体的处理过程可以是读取payload中的文件特征,若payload中的文件特征与Content-Type指定的文件类型不一致,则检出。若payload中的文件特征与Content-Type指定的文件类型一致,则送入Snort引擎做进一步检测。
本发明实施例中,入侵防御系统可以通过识别HTTP协议中的异常特征,来判断这类报文是否存在绕过行为从而实现拦截。相对于相关技术,本发明实施例可以对基于HTTP协议的绕过进行防御检测,提高了网络安全性。
请参阅图6,本发明实施例还提供了一种入侵防御系统,可包括:
解析模块601,用于解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为特征字段的字段值;
第一处理模块602,判断键值对数据是否符合预设检出规则,若符合,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,本发明实施例中的预设检出规则包括如下规则中的一种或多种:
规则一:键值对数据中出现两个Transfer-Encoding字段;
规则二:键值对数据中出现两个Content-Length字段;
规则三:键值对数据中出现两个Content-Encoding字段;
规则四:键值对数据中出现两个Content-Type字段;
规则五:键值对数据中同时出现Content-Length字段和Transfer-Encoding字段;
规则六:key或者value值为空。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
存储模块,当键值对数据不符合预设检出规则,Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对待检测的HTTP协议数据进行存储;
检测模块,将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
第二处理模块,在将目标数据发送至入侵检测系统进行检测之前,判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致,若不一致,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
第三处理模块,在将存储的HTTP协议数据解析之前,当Transfer-Encoding字段的字段值为chunked时,统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:
第四处理模块,当待检测的HTTP协议数据为服务器发出的响应数据时,获取响应状态码,若响应状态码为204、304、100状态码中的一种,则判断Transfer-Encoding字段的字段值是否为chunked。
可选的,作为一种可能的实施方式,本发明实施例中的入侵防御系统还可以包括:第五处理模块,在解析待检测的HTTP协议数据的协议头部数据之前,判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;若是HTTP 0.9之后的版本,则剔除间隔符之后,缓存并解析待检测的HTTP协议数据的协议头部数据;若是HTTP 0.9版本,则存储待检测的HTTP协议数据,并判断待检测的HTTP协议数据中是否包含预设字段,若包含预设字段,则解析待检测的HTTP协议数据的协议头部数据中的键值对数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
上面从模块化功能实体的角度对本发明实施例中的入侵防御系统进行了描述,请参阅图7,下面从硬件处理的角度对本发明实施例中的计算机装置进行描述:
该计算机装置1可以包括存储器11、处理器12和输入输出总线13。处理器11执行计算机程序时实现上述图1所示的入侵防御方法实施例中的步骤,例如图1所示的步骤101至102。或者,处理器执行计算机程序时实现上述各装置实施例中各模块或单元的功能。
本发明的一些实施例中,处理器具体用于实现如下步骤:
解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为特征字段的字段值;
判断键值对数据是否符合预设检出规则,若符合,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
当Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对待检测的HTTP协议数据进行存储;
将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致,若不一致,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
当Transfer-Encoding字段的字段值为chunked时,统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
获取响应状态码,若响应状态码为204、304、100状态码中的一种,则判断Transfer-Encoding字段的字段值是否为chunked。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;
若是HTTP 0.9之后的版本,则剔除间隔符之后,缓存并解析待检测的HTTP协议数据的协议头部数据;
若是HTTP 0.9版本,则存储待检测的HTTP协议数据,并判断待检测的HTTP协议数据中是否包含预设字段,若包含预设字段,则解析待检测的HTTP协议数据的协议头部数据中的键值对数据。
其中,存储器11至少包括一种类型的可读存储介质,可读存储介质包括闪存、硬盘、多媒体卡、卡型存储器(例如,SD或DX存储器等)、磁性存储器、磁盘、光盘等。存储器11在一些实施例中可以是计算机装置1的内部存储单元,例如该计算机装置1的硬盘。存储器11在另一些实施例中也可以是计算机装置1的外部存储设备,例如计算机装置1上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,存储器11还可以既包括计算机装置1的内部存储单元也包括外部存储设备。存储器11不仅可以用于存储安装于计算机装置1的应用软件及各类数据,例如计算机程序01的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
处理器12在一些实施例中可以是一中央处理器(Central Processing Unit,CPU)、控制器、微控制器、微处理器或其他数据处理芯片,用于运行存储器11中存储的程序代码或处理数据,例如执行计算机程序01等。
该输入输出总线13可以是外设部件互连标准(peripheral componentinterconnect,简称PCI)总线或扩展工业标准结构(extended industry standardarchitecture,简称EISA)总线等。该总线可以分为地址总线、数据总线、控制总线等。
进一步地,计算机装置还可以包括有线或无线网络接口14,网络接口14可选的可以包括有线接口和/或无线接口(如WI-FI接口、蓝牙接口等),通常用于在该计算机装置1与其他电子设备之间建立通信连接。
可选地,该计算机装置1还可以包括用户接口,用户接口可以包括显示器(Display)、输入单元比如键盘(Keyboard),可选的,用户接口还可以包括标准的有线接口、无线接口。可选的,在一些实施例中,显示器可以是LED显示器、液晶显示器、触控式液晶显示器以及OLED(Organic Light-Emitting Diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在计算机装置1中处理的信息以及用于显示可视化的用户界面。
图7仅示出了具有组件11-14以及计算机程序01的计算机装置1,本领域技术人员可以理解的是,图7示出的结构并不构成对计算机装置1的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
本发明还提供了一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,可以实现如下步骤:
解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为特征字段的字段值;
判断键值对数据是否符合预设检出规则,若符合,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
当Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对待检测的HTTP协议数据进行存储;
将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致,若不一致,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
当Transfer-Encoding字段的字段值为chunked时,统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定待检测的HTTP协议数据不符合安全规则。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
获取响应状态码,若响应状态码为204、304、100状态码中的一种,则判断Transfer-Encoding字段的字段值是否为chunked。
可选的,作为一种可能的实施方式,处理器还可以用于实现如下步骤:
判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;
若是HTTP 0.9之后的版本,则剔除间隔符之后,缓存并解析待检测的HTTP协议数据的协议头部数据;
若是HTTP 0.9版本,则存储待检测的HTTP协议数据,并判断待检测的HTTP协议数据中是否包含预设字段,若包含预设字段,则解析待检测的HTTP协议数据的协议头部数据中的键值对数据。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式用于防御基于HTTP协议绕过IPS的攻击,提高了网络的安全性。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式用于防御基于HTTP协议绕过IPS的攻击,提高了网络的安全性。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (9)
1.一种入侵防御方法,其特征在于,包括:
解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中所述键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为所述特征字段的字段值;
判断所述键值对数据是否符合预设检出规则,若符合,则判定所述待检测的HTTP协议数据不符合安全规则;
其中所述预设检出规则包括如下规则中的一种或多种:
规则一:键值对数据中出现两个Transfer-Encoding字段;
规则二:键值对数据中出现两个Content-Length字段;
规则三:键值对数据中出现两个Content-Encoding字段;
规则四:键值对数据中出现两个Content-Type字段;
规则五:键值对数据中同时出现Content-Length字段和Transfer-Encoding字段;
规则六:key或者value值为空。
2.根据权利要求1所述的方法,其特征在于,当所述键值对数据不符合预设检出规则时,所述方法还包括:
当Content-Length字段的字段值大于零,或者Transfer-Encoding字段的字段值为chunked时,则对所述待检测的HTTP协议数据进行存储;
将存储的HTTP协议数据解析之后的目标数据发送至入侵检测系统进行检测。
3.根据权利要求2所述的方法,其特征在于,在将目标数据发送至入侵检测系统进行检测之前,所述方法还包括:
判断存储的HTTP协议数据的编码类型值是否与Content-Type字段的字段值一致,若不一致,则判定所述待检测的HTTP协议数据不符合安全规则。
4.根据权利要求2所述的方法,其特征在于,在将存储的HTTP协议数据解析之前,所述方法还包括:
当Transfer-Encoding字段的字段值为chunked时,统计chunked编码传输的分块个数,若分块个数不小于预设阈值,则判定所述待检测的HTTP协议数据不符合安全规则。
5.根据权利要求2所述的方法,其特征在于,当所述待检测的HTTP协议数据为服务器发出的响应数据时,所述方法还包括:
获取响应状态码,若所述响应状态码为204、304、100状态码中的一种,则判断Transfer-Encoding字段的字段值是否为chunked。
6.根据权利要求2至4中任一项所述的方法,其特征在于,在解析待检测的HTTP协议数据的协议头部数据之前,所述方法还包括:
判断待检测的HTTP协议数据的协议版本是否为HTTP 0.9之后的版本;
若是HTTP 0.9之后的版本,则剔除间隔符之后,缓存并解析所述待检测的HTTP协议数据的协议头部数据;
若是HTTP 0.9版本,则存储所述待检测的HTTP协议数据,并判断所述待检测的HTTP协议数据中是否包含预设字段,若包含预设字段,则解析待检测的HTTP协议数据的协议头部数据中的键值对数据。
7.一种入侵防御系统,其特征在于,包括:
解析模块,用于解析待检测的HTTP协议数据的协议头部数据中的键值对数据,其中所述键值对数据中key值为HTTP协议数据的协议头部数据中的特征字段,value为所述特征字段的字段值;
第一处理模块,判断所述键值对数据是否符合预设检出规则,若符合,则判定所述待检测的HTTP协议数据不符合安全规则;
其中所述预设检出规则包括如下规则中的一种或多种:
规则一:键值对数据中出现两个Transfer-Encoding字段;
规则二:键值对数据中出现两个Content-Length字段;
规则三:键值对数据中出现两个Content-Encoding字段;
规则四:键值对数据中出现两个Content-Type字段;
规则五:键值对数据中同时出现Content-Length字段和Transfer-Encoding字段;
规则六:key或者value值为空。
8.一种计算机装置,其特征在于,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至6中任意一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至6中任意一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103884.3A CN112887405B (zh) | 2021-01-26 | 2021-01-26 | 一种入侵防御方法、系统及相关设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110103884.3A CN112887405B (zh) | 2021-01-26 | 2021-01-26 | 一种入侵防御方法、系统及相关设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112887405A CN112887405A (zh) | 2021-06-01 |
CN112887405B true CN112887405B (zh) | 2022-09-30 |
Family
ID=76051906
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110103884.3A Active CN112887405B (zh) | 2021-01-26 | 2021-01-26 | 一种入侵防御方法、系统及相关设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112887405B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113542286B (zh) * | 2021-07-20 | 2023-09-12 | 北京辰极智程信息技术股份有限公司 | 一种计算机网络安全入侵智能检测系统 |
CN114338106B (zh) * | 2021-12-16 | 2023-02-21 | 北京中科网威信息技术有限公司 | 网络传输协议入侵检测方法、系统、电子设备和存储介质 |
CN114363061A (zh) * | 2021-12-31 | 2022-04-15 | 深信服科技股份有限公司 | 一种异常流量检测方法、系统、存储介质和终端 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361701A (zh) * | 2018-12-07 | 2019-02-19 | 北京知道创宇信息技术有限公司 | 网络安全检测方法、装置及服务器 |
CN111371776A (zh) * | 2020-02-28 | 2020-07-03 | 北京邮电大学 | Http请求数据的异常检测方法、装置、服务器及存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11277383B2 (en) * | 2015-11-17 | 2022-03-15 | Zscaler, Inc. | Cloud-based intrusion prevention system |
CN106506630B (zh) * | 2016-10-27 | 2019-12-10 | 中国科学院信息工程研究所 | 一种基于http内容一致性的恶意网络行为发现方法 |
CN111182002A (zh) * | 2020-02-19 | 2020-05-19 | 北京亚鸿世纪科技发展有限公司 | 基于http首个问答包聚类分析的僵尸网络检测装置 |
CN111600863B (zh) * | 2020-05-08 | 2022-09-13 | 杭州安恒信息技术股份有限公司 | 网络入侵检测方法、装置、系统和存储介质 |
-
2021
- 2021-01-26 CN CN202110103884.3A patent/CN112887405B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109361701A (zh) * | 2018-12-07 | 2019-02-19 | 北京知道创宇信息技术有限公司 | 网络安全检测方法、装置及服务器 |
CN111371776A (zh) * | 2020-02-28 | 2020-07-03 | 北京邮电大学 | Http请求数据的异常检测方法、装置、服务器及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112887405A (zh) | 2021-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112887405B (zh) | 一种入侵防御方法、系统及相关设备 | |
CN109951500B (zh) | 网络攻击检测方法及装置 | |
KR101005927B1 (ko) | 웹 어플리케이션 공격 탐지 방법 | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
CN111277587A (zh) | 基于行为分析的恶意加密流量检测方法及系统 | |
CN102624706B (zh) | 一种dns隐蔽信道的检测方法 | |
CN106470214B (zh) | 攻击检测方法和装置 | |
CN110708215A (zh) | 深度包检测规则库生成方法、装置、网络设备及存储介质 | |
CN107426202B (zh) | 一种自动化测试waf拦截规则的方法 | |
CN107979581B (zh) | 僵尸特征的检测方法和装置 | |
CN115398860A (zh) | 一种会话检测方法、装置、检测设备及计算机存储介质 | |
CN110311925B (zh) | DDoS反射型攻击的检测方法及装置、计算机设备与可读介质 | |
CN111314328A (zh) | 网络攻击防护方法、装置、存储介质及电子设备 | |
CN106911640A (zh) | 网络威胁处理方法和装置 | |
CN105577705A (zh) | 针对iec60870-5-104协议的安全防护方法及系统 | |
CN115017502A (zh) | 一种流量处理方法、及防护系统 | |
CN112953957B (zh) | 一种入侵防御方法、系统及相关设备 | |
CN110933094A (zh) | 一种网络安全设备及其smb漏洞检测方法、装置和介质 | |
CN112565290B (zh) | 一种入侵防御方法、系统及相关设备 | |
JP2004054330A (ja) | 不正コマンド・データ検知方式、不正コマンド・データ検知方法および不正コマンド・データ検知プログラム | |
CN112202717B (zh) | 一种http请求的处理方法、装置、服务器及存储介质 | |
CN111654474B (zh) | 一种安全检测的方法和装置 | |
CN111079144B (zh) | 一种病毒传播行为检测方法及装置 | |
CN114285769A (zh) | 共享上网检测方法、装置、设备及存储介质 | |
CN112600816B (zh) | 一种入侵防御方法、系统及相关设备 |
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 |