CN109361674A - 旁路接入的流式数据检测方法、装置以及电子设备 - Google Patents
旁路接入的流式数据检测方法、装置以及电子设备 Download PDFInfo
- Publication number
- CN109361674A CN109361674A CN201811272299.0A CN201811272299A CN109361674A CN 109361674 A CN109361674 A CN 109361674A CN 201811272299 A CN201811272299 A CN 201811272299A CN 109361674 A CN109361674 A CN 109361674A
- Authority
- CN
- China
- Prior art keywords
- detected
- http
- variable
- network flow
- network
- 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
- 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/1425—Traffic logging, e.g. anomaly detection
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
-
- 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/50—Network services
- H04L67/56—Provisioning of proxy services
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)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种旁路接入的流式数据检测方法、装置以及电子设备,涉及数据检测技术领域,应用于服务器中的检测模块,所述检测模块的接入位置为所述服务器中的网络引擎的旁路,所述方法包括:获取待检测HTTP网络流量;利用HTTP协议对所述待检测HTTP网络流量进行解析,得到流式数据,其中,所述流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量;利用预设规则列表对所述完成状态变量和所述中间状态变量进行检测,得到所述待检测HTTP网络流量的检测结果,其中,所述检测结果用于表示所述待检测HTTP网络流量是否具有网络入侵性,解决了现有技术中存在的网络安全防护工作的效率较低的技术问题。
Description
技术领域
本发明涉及数据检测技术领域,尤其是涉及一种旁路接入的流式数据检测方法、装置以及电子设备。
背景技术
目前,万维网应用防火墙(Web Application Firewall,简称WAF)是设置在网站全球广域网(World Wide Web,简称WEB)业务系统前端的一种包特征检测与阻断系统,用于保护后端WEB业务系统不受非法攻击者的恶意扫描和漏洞攻击。
但是,现有的网络安全防护应用中,代理引擎需要等待数据检测模块得出最终完成的检测结果后才可以继续执行后续工作,执行相应的动作,因而整个网络安全防护工作的效率较低。
发明内容
有鉴于此,本发明的目的在于提供一种旁路接入的流式数据检测方法、装置以及电子设备,以解决现有技术中存在的网络安全防护工作的效率较低的技术问题。
第一方面,本发明实施例提供了一种旁路接入的流式数据检测方法,应用于服务器中的检测模块,所述检测模块的接入位置为所述服务器中的网络引擎的旁路,所述方法包括:
获取待检测超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)网络流量;
利用HTTP协议对所述待检测HTTP网络流量进行解析,得到流式数据,其中,所述流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量;
利用预设规则列表对所述完成状态变量和所述中间状态变量进行检测,得到所述待检测HTTP网络流量的检测结果,其中,所述检测结果用于表示所述待检测HTTP网络流量是否具有网络入侵性。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,获取待检测HTTP网络流量,包括:
接收所述网络引擎传输的HTTP网络流量,并从所述HTTP网络流量中获取待检测HTTP网络流量,其中,所述待检测HTTP网络流量为所述网络引擎无法确定不具有网络入侵性的流量。
结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,还包括:
基于预设匹配变量、预设匹配对象、预设匹配动作、预设匹配方法中的至少一种确定匹配规则;
基于所述匹配规则设置预设规则列表。
结合第一方面,本发明实施例提供了第一方面的第三种可能的实施方式,其中,利用预设规则列表对所述完成状态变量和所述中间状态变量进行检测,得到所述待检测HTTP网络流量的检测结果,包括:
将所述完成状态变量和所述中间状态变量,与所述预设规则列表中的数据进行匹配,其中,所述数据包括所述预设匹配对象。
若所述完成状态变量或所述中间状态变量,与所述预设规则列表中的数据匹配成功,则确定所述待检测HTTP网络流量的检测结果为不具有网络入侵性;
若所述完成状态变量与所述预设规则列表中的数据匹配失败,则确定所述待检测HTTP网络流量的检测结果为具有网络入侵性。
结合第一方面,本发明实施例提供了第一方面的第四种可能的实施方式,其中,还包括:
若所述中间状态变量与所述预设规则列表中的数据匹配失败,则利用HTTP协议继续对所述中间状态变量进行解析,得到解析完成的新完成的状态变量;
将所述新完成的状态变量与所述预设规则列表中的数据进行匹配,得到匹配结果;
若所述匹配结果为所述新完成的状态变量与所述预设规则列表中的数据匹配成功,则确定所述待检测HTTP网络流量的检测结果为不具有网络入侵性;
若所述匹配结果为所述新完成的状态变量与所述预设规则列表中的数据匹配失败,则确定所述待检测HTTP网络流量的检测结果为具有网络入侵性。
结合第一方面,本发明实施例提供了第一方面的第五种可能的实施方式,其中,还包括:
在得到所述待检测HTTP网络流量的检测结果后,将所述检测结果传输至所述网络引擎,以使所述网络引擎在所述检测结果为具有网络入侵性时,对所述待检测HTTP网络流量进行拦截。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,还包括:
在将所述检测结果传输至所述网络引擎后,将本地内部的所述待检测HTTP网络流量、所述完成状态变量以及所述中间状态变量进行删除。
第二方面,本发明实施例还提供一种旁路接入的流式数据检测装置,应用于服务器中的检测模块,所述检测模块的接入位置为所述服务器中的网络引擎的旁路,所述装置包括:
获取模块,用于获取待检测HTTP网络流量;
解析模块,用于利用HTTP协议对所述待检测HTTP网络流量进行解析,得到流式数据,其中,所述流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量;
检测模块,用于利用预设规则列表对所述完成状态变量和所述中间状态变量进行检测,得到所述待检测HTTP网络流量的检测结果,其中,所述检测结果用于表示所述待检测HTTP网络流量是否具有网络入侵性。
第三方面,本发明实施例还提供一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述如第一方面所述的方法的步骤。
第四方面,本发明实施例还提供一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行如第一方面所述的方法。
本发明实施例提供的技术方案带来了以下有益效果:本发明实施例提供的旁路接入的流式数据检测方法、装置以及电子设备。该方法应用于服务器中的检测模块,该检测模块的接入位置为服务器中的网络引擎的旁路,该方法包括:首先,获取待检测HTTP网络流量,然后,利用HTTP协议对待检测HTTP网络流量进行解析从而得到流式数据,其中,流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量,之后,利用预设规则列表对完成状态变量和中间状态变量进行检测从而得到待检测HTTP网络流量的检测结果,其中,检测结果用于表示待检测HTTP网络流量是否具有网络入侵性,因此,通过将检测模块设置于网络引擎的旁路,使HTTP网络流量到达网络引擎时,网络引擎与检测模块两者便能够并行工作,代理引擎不必须要等待检测模块的结果,以此提高工作效率,而且,将网络引擎与检测模块分离也使得网络引擎的各方面性能得到了提高,再者,检测模块从网络引擎处获取待检测HTTP网络流量并经过解析过程后,能够对解析完成的完成状态变量和未解析完成的中间状态变量进行检测,通过流式数据的检测过程,使代理引擎无需再等待检测模块完全处理完成的最终完整结果便进行后续的动作,也能够提高整体工作的效率,从而解决了现有技术中存在的网络安全防护工作的效率较低的技术问题。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出了本发明实施例一所提供的旁路接入的流式数据检测方法的流程图;
图2示出了本发明实施例一所提供的服务器的结构示意图;
图3示出了本发明实施例二所提供的旁路接入的流式数据检测方法的流程图;
图4示出了本发明实施例二所提供的检测模块与代理引擎的结构示意图;
图5示出了本发明实施例三所提供的一种旁路接入的流式数据检测装置的结构示意图;
图6示出了本发明实施例四所提供的一种电子设备的结构示意图。
图标:3-旁路接入的流式数据检测装置;31-获取模块;32-解析模块;33-检测模块;4-电子设备;41-存储器;42-处理器;43-总线;44-通信接口。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,现有的网络安全防护应用中,代理引擎需要等待数据检测模块得出最终完成的检测结果后才可以继续执行后续工作,执行相应的动作,因而整个网络安全防护工作的效率较低,基于此,本发明实施例提供的一种旁路接入的流式数据检测方法、装置以及电子设备,可以解决现有技术中存在的网络安全防护工作的效率较低的技术问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种旁路接入的流式数据检测方法、装置以及电子设备进行详细介绍。
实施例一:
本发明实施例提供的一种旁路接入的流式数据检测方法,应用于服务器中的检测模块,如图1所示,检测模块的接入位置为服务器中的网络引擎的旁路,如图2所示,旁路接入的流式数据检测方法包括:
S11:获取待检测HTTP网络流量。
如图1所示,服务器中的网络引擎接收到具有入侵目的的客户端(即攻击者)传输的超文本传输协议(Hyper Text Transfer Protocol,简称HTTP)网络流量,检测模块便从该网络引擎中获取待检测HTTP网络流量,其中的待检测HTTP网络流量为网络引擎认为接收到的HTTP网络流量中的疑似具有攻击性的流量。而网络引擎认为HTTP网络流量中的正常流量(即非待检测HTTP网络流量)便直接从网络引擎处传输至后端服务器的流量处理部分(即被攻击者)。其中,网络引擎也可以为代理引擎。
S12:利用HTTP协议对待检测HTTP网络流量进行解析,得到流式数据,其中,流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量。
具体的,检测模块根据HTTP协议解析HTTP网络流量,从中得到检测模块感兴趣的变量。具体的,根据HTTP协议中HTTP报文的格式,以此为依据,生成检测模块中的预设规则列表需要的变量,其中很可能出现无法一次性将整个数据解析完成的情况,从而生成未解析完成的中间状态变量,当然也会获得解析完成的完成状态变量。
S13:利用预设规则列表对完成状态变量和中间状态变量进行检测,得到待检测HTTP网络流量的检测结果,其中,检测结果用于表示待检测HTTP网络流量是否具有网络入侵性。
然后,解析完成的完成状态变量和未解析完成的中间状态变量便进入预设规则表中的规则入口。针对刚刚解析到的变量(其中数据可能不全,因此包括解析完成的完成状态变量和未解析完成的中间状态变量),按照预设规则列表中规则的顺序,依次执行表中的规则,每条规则得到一个执行结果,即检测结果,得到确定的检测结果的变量在下一次获得更多数据的时候不会再执行,而得到不确定的检测结果的变量在下一次获得更多数据的时候会接着这次结果继续执行规则。
因此,将代理引擎(即上述的网络引擎)与检测模块分离,将检测模块旁挂到代理引擎上,数据到达代理引擎时,代理引擎拷贝一份数据至检测模块,两者并行工作,各司其职。因此,可以增强代理引擎的性能,同时提高代理引擎正常运行的保障性。
现有的网络安全防护应用中,检测请求或响应报文中攻击特征的检测模块都是以串接的形式存在于代理引擎中,检测模块如果发生不可预测的错误便会导致整个代理引擎的无法正常工作。此外,由于是串接的形式,代理引擎需要等待数据检测模块得出检测结果后才可以继续执行代理工作,执行相应的动作,这种模式中,检测模块必须完整的接收到整个完整的数据后才能对数据中是否存在攻击特征进行检测,因而整个代理和检测的效率较低。
本实施例中,将检测模块设置于代理引擎的旁路,代理引擎将到达代理引擎中的旁路检测模块感兴趣的部分数据传输至旁路的检测模块,该检测模块便可以按照数据输入的顺序每次处理一个数据块,得到一个处理结果,判定请求为攻击、非攻击或中间结果。这种方法使得代理引擎不需要等待检测模块的结果,代理引擎和检测模块可并行工作,检测模块得出检测结果后,将检测结果告知代理模块即可,从而提高了整体的性能。此外,通过将代理和检测分离,使得代理引擎的各方面性能得到了提高。
实施例二:
本发明实施例提供的一种旁路接入的流式数据检测方法,应用于服务器中的检测模块,检测模块的接入位置为服务器中的网络引擎的旁路,如图3所示,旁路接入的流式数据检测方法包括:
S21:接收网络引擎传输的HTTP网络流量,并从HTTP网络流量中获取待检测HTTP网络流量,其中,待检测HTTP网络流量为网络引擎无法确定不具有网络入侵性的流量。
在实际应用中,代理引擎(即网络引擎)获取客户端到服务器的HTTP网络流量,代理引擎拷贝HTTP流量数据并将其传送至检测模块。检测模块便能够接收网络引擎传输的HTTP网络流量,并从HTTP网络流量中获取待检测HTTP网络流量。其中,待检测HTTP网络流量为疑似具有入侵性的流量,即网络引擎无法确定不具有网络入侵性的流量。
S22:利用HTTP协议对待检测HTTP网络流量进行解析,得到流式数据,其中,流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量。
本步骤可以由变量生成单元来执行,变量生成单元用于根据HTTP协议的格式解析出检测模块需要的变量,其中变量的完整解析可能要分多次完成,因此,变量生成单元解析待检测HTTP网络流量后,生成的流式数据包括解析完成的完成状态变量和未解析完成的中间状态变量。
S23:基于预设匹配变量、预设匹配对象、预设匹配动作、预设匹配方法中的至少一种确定匹配规则。
作为本实施例的优选实施方式,加载后续的检测过程执行的匹配规则,该匹配规则中包括预设匹配变量、预设匹配对象、预设匹配动作、预设匹配方法方式等。
S24:基于匹配规则设置预设规则列表。
本步骤中,配置生成预设规则列表,表中每个规则主要包括变量、匹配方法、动作三个部分。具体的,根据配置的固定格式,即变量、匹配方法、动作,解析每一条规则,由规则构成规则表。因此,规则加载单元中包含了一张全局规则表,表中存放解析配置生成的规则。从配置中按变量、匹配(其中包括匹配方法和匹配对象)、动作的格式解析出规则的三元素,这三个元素构成预设规则列表中一条规则的记录。
S25:将完成状态变量和中间状态变量,与预设规则列表中的数据进行匹配,其中,数据包括预设匹配对象。判断A:完成状态变量与预设规则列表中的数据匹配是否成功。若是,则执行步骤26;若否,则执行步骤27。判断B:中间状态变量与预设规则列表中的数据匹配是否成功。若是,则执行步骤26;若否,则执行步骤28。
根据步骤S22中得到的流式数据的变量,遍历预设规则列表中所有对该变量感兴趣的规则,调用预设规则列表中预先设置好的匹配方法来检测变量与预设匹配对象是否匹配。
S26:确定待检测HTTP网络流量的检测结果为不具有网络入侵性。
如果变量是已被完整解析完成而生成的完成状态变量,则生成规则匹配或不匹配的确定的检测结果。其中,检测结果用于表示待检测HTTP网络流量是否具有网络入侵性。
进一步,如果匹配成功,且该匹配的变量是已被完整解析完成而生成的完成状态变量,则将匹配成功的结果作为当前规则的执行检测结果,确定待检测HTTP网络流量的检测结果为不具有网络入侵性,并将其记录到规则表中。
需要说明的是,变量的多次解析对应规则的多次执行,只有变量被完整解析的完成状态,执行对变量感兴趣的规则后才会得到最终的执行检测结果。
S27:确定待检测HTTP网络流量的检测结果为具有网络入侵性。
如果变量是已被完整解析完成而生成的完成状态变量,则生成规则匹配或不匹配的确定的检测结果。其中,检测结果用于表示待检测HTTP网络流量是否具有网络入侵性。
进一步的是,如果匹配失败,且该匹配的变量是已被完整解析完成而生成的完成状态变量,则将匹配失败的结果作为当前规则的执行检测结果,确定待检测HTTP网络流量的检测结果为具有网络入侵性,并将其记录到规则表中。
在实际应用中,变量的多次解析对应规则的多次执行,只有变量被完整解析的完成状态,执行对变量感兴趣的规则后才会得到最终的执行检测结果。
作为本实施例的另一种实施方式,步骤S25至S27可以由规则执行单元来执行,规则执行单元可以用于根据变量生成单元生成的变量,遍历规则加载单元生成的规则表中的规则,凡是对当前变量感兴趣的规则,调用预先设置好的匹配方法检测变量与匹配对象是否匹配。若变量解析完整且变量与匹配对象匹配,则规则执行的最终结果为匹配成功;若变量解析完整且变量与匹配对象不匹配,则规则执行的最终结果为匹配失败;若变量尚未被完整解析完成,则规则执行的结果为中间状态检测结果,表示需要等待变量解析完成后才能得到规则执行的最终结果,但若其中已经得到匹配成功的结果,则得到规则执行的最终结果为匹配成功,若其中还没有得到匹配成功的结果,则规则执行的结果还为中间状态检测结果,仍然表示需要等待变量解析完成后才能得到规则执行的最终结果,即执行步骤S28至步骤S31。
S28:利用HTTP协议继续对中间状态变量进行解析,得到解析完成的新完成的状态变量。
如果变量是未获取完整解析而生成的未解析完成的中间状态变量,且在变量检测过程中没有出现匹配成功的检测结果,则生成规则执行中的中间状态检测结果,将中间状态检测结果作为当前规则的执行检测结果,记录到规则表中。
然后,重复步骤S22与S25,即边通过生成变量边执行规则,上一次没有解析完成完整的变量可以转到步骤S22继续解析,循环往复,直到通过规则全部得到检测结果。若变量已被完整解析完成生成完成状态的变量,则进行步骤S25,否则继续进行步骤S22,继而完成处于中间状态检测结果的规则的执行。
因此,步骤中与步骤S22相似,具体的,利用HTTP协议继续对中间状态变量进行解析,得到解析完成的新完成的状态变量。
S29:将新完成的状态变量与预设规则列表中的数据进行匹配,得到匹配结果。判断匹配结果是否为成功。若是,则进行步骤S30;若否,则进行步骤S31。
本步骤与步骤S25相似,遍历预设规则列表中所有对变量感兴趣的规则,调用预设规则列表中预先设置好的匹配方法来检测变量与预设匹配对象是否匹配。
S30:确定待检测HTTP网络流量的检测结果为不具有网络入侵性。
同样的,本步骤与步骤S26相似,若变量是已被完整解析完成而生成的完成状态变量,则生成规则匹配成功或匹配失败的确定的检测结果。其中,检测结果用于表示待检测HTTP网络流量是否具有网络入侵性。进一步,如果匹配成功,且该匹配的变量是已被完整解析完成而生成的完成状态变量,则将匹配成功的结果作为当前规则的执行检测结果,确定待检测HTTP网络流量的检测结果为不具有网络入侵性,并将其记录到规则表中。
S31:确定待检测HTTP网络流量的检测结果为具有网络入侵性。
如果匹配失败,且该匹配的变量是已被完整解析完成而生成的完成状态变量,则将匹配失败的结果作为当前规则的执行检测结果,确定待检测HTTP网络流量的检测结果为具有网络入侵性,并将其记录到规则表中。
需要说明的是,变量的多次解析对应规则的多次执行,只有变量被完整解析的完成状态,执行对变量感兴趣的规则后才会得到最终的执行检测结果。
S32:将检测结果传输至网络引擎,以使网络引擎在检测结果为具有网络入侵性时,对待检测HTTP网络流量进行拦截。
优选的,将通过步骤S25至S31得到的检测结果,即预设规则列表中规则的执行结果传输至网络引擎(即代理引擎),由代理引擎依据所有规则的执行检测结果决定阻断或放行HTTP网络流量对应的请求,具体的,代理引擎根据所有规则的最终检测状态,决定拒绝客户端的请求或者向后端服务器转发客户端的请求。即将控制权交还给代理引擎,由代理引擎根据规则表中所有规则的执行检测结果,向客户端返回相应的响应。
因此,规则执行的最终检测结果的判定控制位于代理引擎中,代理引擎根据检测模块中所有规则表中的规则的执行检测结果,决定最终对客户端的请求返回什么样的响应,即阻断或放行客户端的用户请求。
S33:将本地内部的待检测HTTP网络流量、完成状态变量以及中间状态变量进行删除。
本实施例中,如图4所示,检测模块执行规则加载、变量生成、规则执行等过程,代理引擎执行规则检测最终结果的判定过程。将检测模块由传统的在服务器中串接到代理引擎的模式,变为旁挂在代理引擎上的模式,即从旁路接入至代理引擎的模式,在增强代理引擎功能性的同时,代理引擎无需等待检测模块的最终执行结果,从而提高了整体性能。
例如,代理引擎将到达代理引擎的数据拷贝一份,传送至旁路检测模块,旁路检测模块中维持一块固定大小的内存,用来存放每次到达检测模块的数据。检测模块解析新到达的数据以生成对应的变量,标志某个变量的数据可能分多次存储到内存中,当检测引擎解析生成一个变量后,设定一个标识,如“1”表示该变量已被完整解析,“0”表示该变量的数据尚未完全到达检测模块,同时遍历加载规则时生成的规则表中的规则,执行对该变量感兴趣的规则,规则执行完成后将规则执行信息(其中包括规则执行匹配结果、规则中的动作、规则执行中间状态等)以及规则产生结果的次序构成一条规则执行记录存入到规则执行结果的记录表中。其中,若变量与规则的检测条件匹配成功,则规则执行结果标记为“1”(即该变量已被完整解析),规则的结果次序为当前已得到确定结果的规则的总数,清空当前内存中的数据,若表示变量是否解析完成的标识显示为“0”(即该变量的数据尚未完全到达检测模块),则下次解析跳过该变量的剩余数据,否则直接进行下一个变量的解析;若变量与规则的检测条件匹配失败且表示变量是否解析完成的表示为“1”,则规则执行最终结果为匹配失败,规则的结果次序为当前已得到确定结果的规则的总数,清空当前内存中的数据,下次解析新数据时直接解析为新变量;若变量与规则的检测条件匹配失败且表示变量是否解析完成的表示为“0”,则规则执行结果为中间状态检测结果,规则的结果次序为0,清空当前内存中的数据,记录下当前执行的中间状态(如已经匹配到某个位置等),下次解析仍继续将新数据首先解析为该变量。代理引擎不需要等待检测模块的结果,可与检测模块可并行工作,通过规则执行结果的记录表决定给客户端什么样的响应。如此,提高了整体性能的同时,提高了代理引擎的正常运行保障性。
实施例三:
本发明实施例提供的一种旁路接入的流式数据检测装置,应用于服务器中的检测模块,检测模块的接入位置为服务器中的网络引擎的旁路,如图5所示,旁路接入的流式数据检测装置3包括:获取模块31、解析模块32以及检测模块33。
其中,获取模块用于获取待检测HTTP网络流量。解析模块用于利用HTTP协议对待检测HTTP网络流量进行解析,得到流式数据,其中,流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量。
此外,检测模块用于利用预设规则列表对完成状态变量和中间状态变量进行检测,得到待检测HTTP网络流量的检测结果,其中,检测结果用于表示待检测HTTP网络流量是否具有网络入侵性。
实施例四:
本发明实施例提供的一种电子设备,如图6所示,电子设备4包括存储器41、处理器42,所述存储器中存储有可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述实施例一或实施例二提供的方法的步骤。
参见图6,电子设备还包括:总线43和通信接口44,处理器42、通信接口44和存储器41通过总线43连接;处理器42用于执行存储器41中存储的可执行模块,例如计算机程序。
其中,存储器41可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口44(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线43可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器41用于存储程序,所述处理器42在接收到执行指令后,执行所述程序,前述本发明任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器42中,或者由处理器42实现。
作为一个优选方案,处理器42可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器42中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器42可以是通用处理器,包括中央处理器(Central ProcessingUnit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器41,处理器42读取存储器41中的信息,结合其硬件完成上述方法的步骤。
实施例五:
本发明实施例提供的一种具有处理器可执行的非易失的程序代码的计算机可读介质,所述程序代码使所述处理器执行上述实施例一或实施例二提供的方法。
除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对步骤、数字表达式和数值并不限制本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统和装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在这里示出和描述的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制,因此,示例性实施例的其他示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明实施例提供的具有处理器可执行的非易失的程序代码的计算机可读介质,与上述实施例提供的旁路接入的流式数据检测方法、装置以及电子设备具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
本发明实施例所提供的进行旁路接入的流式数据检测方法的计算机程序产品,包括存储了处理器可执行的非易失的程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见方法实施例,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
Claims (10)
1.一种旁路接入的流式数据检测方法,其特征在于,应用于服务器中的检测模块,所述检测模块的接入位置为所述服务器中的网络引擎的旁路,所述方法包括:
获取待检测HTTP网络流量;
利用HTTP协议对所述待检测HTTP网络流量进行解析,得到流式数据,其中,所述流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量;
利用预设规则列表对所述完成状态变量和所述中间状态变量进行检测,得到所述待检测HTTP网络流量的检测结果,其中,所述检测结果用于表示所述待检测HTTP网络流量是否具有网络入侵性。
2.根据权利要求1所述的方法,其特征在于,获取待检测HTTP网络流量,包括:
接收所述网络引擎传输的HTTP网络流量,并从所述HTTP网络流量中获取待检测HTTP网络流量,其中,所述待检测HTTP网络流量为所述网络引擎无法确定不具有网络入侵性的流量。
3.根据权利要求1所述的方法,其特征在于,还包括:
基于预设匹配变量、预设匹配对象、预设匹配动作、预设匹配方法中的至少一种确定匹配规则;
基于所述匹配规则设置预设规则列表。
4.根据权利要求3所述的方法,其特征在于,利用预设规则列表对所述完成状态变量和所述中间状态变量进行检测,得到所述待检测HTTP网络流量的检测结果,包括:
将所述完成状态变量和所述中间状态变量,与所述预设规则列表中的数据进行匹配,其中,所述数据包括所述预设匹配对象;
若所述完成状态变量或所述中间状态变量,与所述预设规则列表中的数据匹配成功,则确定所述待检测HTTP网络流量的检测结果为不具有网络入侵性;
若所述完成状态变量与所述预设规则列表中的数据匹配失败,则确定所述待检测HTTP网络流量的检测结果为具有网络入侵性。
5.根据权利要求4所述的方法,其特征在于,还包括:
若所述中间状态变量与所述预设规则列表中的数据匹配失败,则利用HTTP协议继续对所述中间状态变量进行解析,得到解析完成的新完成的状态变量;
将所述新完成的状态变量与所述预设规则列表中的数据进行匹配,得到匹配结果;
若所述匹配结果为所述新完成的状态变量与所述预设规则列表中的数据匹配成功,则确定所述待检测HTTP网络流量的检测结果为不具有网络入侵性;
若所述匹配结果为所述新完成的状态变量与所述预设规则列表中的数据匹配失败,则确定所述待检测HTTP网络流量的检测结果为具有网络入侵性。
6.根据权利要求5所述的方法,其特征在于,还包括:
在得到所述待检测HTTP网络流量的检测结果后,将所述检测结果传输至所述网络引擎,以使所述网络引擎在所述检测结果为具有网络入侵性时,对所述待检测HTTP网络流量进行拦截。
7.根据权利要求6所述的方法,其特征在于,还包括:
在将所述检测结果传输至所述网络引擎后,将本地内部的所述待检测HTTP网络流量、所述完成状态变量以及所述中间状态变量进行删除。
8.一种旁路接入的流式数据检测装置,其特征在于,应用于服务器中的检测模块,所述检测模块的接入位置为所述服务器中的网络引擎的旁路,所述装置包括:
获取模块,用于获取待检测HTTP网络流量;
解析模块,用于利用HTTP协议对所述待检测HTTP网络流量进行解析,得到流式数据,其中,所述流式数据包括:解析完成的完成状态变量和未解析完成的中间状态变量;
检测模块,用于利用预设规则列表对所述完成状态变量和所述中间状态变量进行检测,得到所述待检测HTTP网络流量的检测结果,其中,所述检测结果用于表示所述待检测HTTP网络流量是否具有网络入侵性。
9.一种电子设备,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至7任一项所述的方法的步骤。
10.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至7任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811272299.0A CN109361674B (zh) | 2018-10-29 | 2018-10-29 | 旁路接入的流式数据检测方法、装置以及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811272299.0A CN109361674B (zh) | 2018-10-29 | 2018-10-29 | 旁路接入的流式数据检测方法、装置以及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109361674A true CN109361674A (zh) | 2019-02-19 |
CN109361674B CN109361674B (zh) | 2021-06-29 |
Family
ID=65347337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811272299.0A Active CN109361674B (zh) | 2018-10-29 | 2018-10-29 | 旁路接入的流式数据检测方法、装置以及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109361674B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165460A (zh) * | 2020-09-10 | 2021-01-01 | 杭州安恒信息技术股份有限公司 | 流量检测方法、装置、计算机设备和存储介质 |
CN113242255A (zh) * | 2021-05-24 | 2021-08-10 | 深圳市联软科技股份有限公司 | 一种基于企业安全的智能流量分析方法及系统 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621686A (zh) * | 2008-06-30 | 2010-01-06 | 国际商业机器公司 | 用于解析多层次数据流的方法、系统和装置 |
CN101635703A (zh) * | 2008-07-24 | 2010-01-27 | 北京启明星辰信息技术股份有限公司 | 一种web服务异常检测方法 |
CN102761449A (zh) * | 2012-08-07 | 2012-10-31 | 北京鼎震科技有限责任公司 | 一种web服务性能分析系统及方法和装置 |
US20130304927A1 (en) * | 2012-05-14 | 2013-11-14 | King Abdulaziz City For Science And Technology | Network address translation-based method of bypassing internet access denial |
CN103701670A (zh) * | 2013-12-30 | 2014-04-02 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据包负载的处理方法和装置 |
CN104486157A (zh) * | 2014-12-16 | 2015-04-01 | 国家电网公司 | 一种基于深度包解析的信息系统性能检测方法 |
CN105119756A (zh) * | 2015-09-10 | 2015-12-02 | 深圳市网誉科技有限公司 | 一种基于网络管理平台与数据分析的网络监控系统及方法 |
-
2018
- 2018-10-29 CN CN201811272299.0A patent/CN109361674B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101621686A (zh) * | 2008-06-30 | 2010-01-06 | 国际商业机器公司 | 用于解析多层次数据流的方法、系统和装置 |
CN101635703A (zh) * | 2008-07-24 | 2010-01-27 | 北京启明星辰信息技术股份有限公司 | 一种web服务异常检测方法 |
US20130304927A1 (en) * | 2012-05-14 | 2013-11-14 | King Abdulaziz City For Science And Technology | Network address translation-based method of bypassing internet access denial |
CN102761449A (zh) * | 2012-08-07 | 2012-10-31 | 北京鼎震科技有限责任公司 | 一种web服务性能分析系统及方法和装置 |
CN103701670A (zh) * | 2013-12-30 | 2014-04-02 | 北京神州绿盟信息安全科技股份有限公司 | 一种数据包负载的处理方法和装置 |
CN104486157A (zh) * | 2014-12-16 | 2015-04-01 | 国家电网公司 | 一种基于深度包解析的信息系统性能检测方法 |
CN105119756A (zh) * | 2015-09-10 | 2015-12-02 | 深圳市网誉科技有限公司 | 一种基于网络管理平台与数据分析的网络监控系统及方法 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112165460A (zh) * | 2020-09-10 | 2021-01-01 | 杭州安恒信息技术股份有限公司 | 流量检测方法、装置、计算机设备和存储介质 |
CN112165460B (zh) * | 2020-09-10 | 2023-07-25 | 杭州安恒信息技术股份有限公司 | 流量检测方法、装置、计算机设备和存储介质 |
CN113242255A (zh) * | 2021-05-24 | 2021-08-10 | 深圳市联软科技股份有限公司 | 一种基于企业安全的智能流量分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN109361674B (zh) | 2021-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9954886B2 (en) | Method and apparatus for detecting website security | |
US9825841B2 (en) | Method of and network server for detecting data patterns in an input data stream | |
CN108881294A (zh) | 基于网络攻击行为的攻击源ip画像生成方法以及装置 | |
CN107968791B (zh) | 一种攻击报文的检测方法及装置 | |
CN106330944A (zh) | 恶意系统漏洞扫描器的识别方法和装置 | |
CN105302815B (zh) | 网页的统一资源定位符url的过滤方法和装置 | |
CN105404631B (zh) | 图片识别方法和装置 | |
CN112242984A (zh) | 检测异常网络请求的方法、电子设备和计算机程序产品 | |
US20170289283A1 (en) | Automated dpi process | |
CN110287056A (zh) | 网页错误信息获取方法和装置 | |
Marchal et al. | On designing and evaluating phishing webpage detection techniques for the real world | |
CN109818824B (zh) | 一种报文转发测试方法、设备及存储设备、程序产品 | |
CN105991511A (zh) | 一种检测cc攻击的方法及设备 | |
CN111641619B (zh) | 一种基于大数据构建黑客画像的方法、装置和计算机设备 | |
CN109361674A (zh) | 旁路接入的流式数据检测方法、装置以及电子设备 | |
Svoboda | Network traffic analysis with deep packet inspection method | |
CN109446807A (zh) | 用于识别拦截恶意机器人的方法、装置以及电子设备 | |
CN105094810B (zh) | 基于通用网关接口插件的数据处理方法和装置 | |
CN115357513B (zh) | 程序模糊测试方法、装置、设备及存储介质 | |
CN110855566A (zh) | 上行流量的牵引方法和装置 | |
JP2017199250A (ja) | 計算機システム、データの分析方法、及び計算機 | |
CN108833282A (zh) | 数据转发方法、系统、装置及sdn交换机 | |
CN113890858A (zh) | Pmtu的探测方法及装置 | |
CN110209470A (zh) | 虚拟机的心跳检测方法、系统、设备和介质 | |
CN110377499A (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 | ||
CB02 | Change of applicant information |
Address after: No. 188, Lianhui street, Xixing street, Binjiang District, Hangzhou, Zhejiang Province, 310000 Applicant after: Hangzhou Anheng Information Technology Co.,Ltd. Address before: 310000 15-storey Zhejiang Zhongcai Building, No. 68 Tonghe Road, Binjiang District, Hangzhou City, Zhejiang Province Applicant before: Hangzhou Anheng Information Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |