一种网络流量攻击识别方法、防火墙系统及相关组件与流程

文档序号:23063712发布日期:2020-11-25 17:48阅读:119来源:国知局
一种网络流量攻击识别方法、防火墙系统及相关组件与流程

本发明涉及网络安全领域,特别涉及一种网络流量攻击识别方法、防火墙系统、计算机设备及可读存储介质。



背景技术:

防火墙指由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障,是一种位于内部网络与外部网络之间的网络安全系统,可以保护内部网免受非法用户的侵入。防火墙是是计算机设备中一种重要的信息安全的防护方法。

防火墙在识别网络流量中的攻击时,主要包括以下方法:基于正则表达式的检验方案、基于语义分析检验方案、机器学习检验方案以及虚拟执行检验方案。其中,基于正则表达式的检验方案具有较高的计算速度,能支持同时启用很多条安全规则,但是防御能力有限,表达能力较弱,存在若干攻击无法用正则表达式来描述的情况,比如struts2的攻击识别,webshell的识别等。基于语义分析、机器学习或虚拟执行等方案有较高的攻击识别准确度,能识别复杂的攻击模式。但是通常计算速度较慢,且只能启用较少数量的全规则,从而导致防御能力减弱,或者需要很高成本的硬件来实现才能达到与轻量级方案接近的吞吐。

因此,如何提高识别性能的同时控制硬件成本,是本领域技术人员需要解决的技术问题。



技术实现要素:

本发明的目的是提供一种网络流量攻击识别方法,该方法对于网络流量攻击识别准确率较高,且硬件成本较低,具有较高的实用价值;本发明的另一目的是提供一种防火墙系统、计算机设备及可读存储介质。

为解决上述技术问题,本发明提供一种网络流量攻击识别方法,包括:

对原始网络数据进行数据还原解码,得到可识别的待检网络数据;

通过轻量级检测方案对所述待检网络数据进行多安全规则防御的初始数据识别检测,生成初始识别结果;其中,所述轻量级检测方案为基于正则表达式的检测方案,所述初始识别结果包括:正常数据、危险数据及疑难数据;

将所述疑难数据通过重量级检测方案进行深度数据识别检测,生成深度识别结果;其中,所述重量级检测方案为非基于正则表达式的检测方案,所述深度识别结果包括:正常数据以及危险数据。

可选地,通过轻量级检测方案对所述待检测数据进行多安全规则防御的初始数据识别检测,包括:

将所述待检测数据根据预先配置的字符串规则进行字符串匹配;

获取经过所述字符串匹配得到的疑难数据;

对经过所述字符串匹配得到的疑难数据根据预先配置的正则表达式规则进行正则表达式匹配,将所述正则表达式匹配得到的疑难数据作为所述轻量级检测方案的疑难数据。

可选地,通过轻量级检测方案对所述待检测数据进行多安全规则防御的初始数据识别检测,包括:

将所述待检测数据与攻击特征进行匹配比对;

若与所述攻击特征匹配成功,判定为危险数据;

若与所述攻击特征匹配失败,将所述待检测数据与危险特征进行匹配比对;

若与所述危险特征匹配成功,判定为疑难数据;

若与所述危险特征匹配失败,判定为正常数据。

可选地,将所述疑难数据通过重量级检测方案进行深度数据识别检测,包括:

将所述疑难数据通过若干类型的重量级检测方案进行深度数据识别检测;其中,所述重量级检测方案包括:基于语义分析的数据识别、机器学习识别以及虚拟执行。

可选地,在将所述疑难数据通过若干重量级检测方案进行深度数据识别检测之前,还包括:

对所述疑难数据进行类型划分,生成数据标签;

根据所述数据标签查找匹配的重量级检测方案类型,得到匹配检测方案;

则相应地,将所述疑难数据通过若干重量级检测方案进行深度数据识别检测具体为:将所述疑难数据输入所述匹配检测方案进行深度数据识别检测,生成深度识别结果。

可选地,所述网络流量攻击识别方法还包括:

拦截所述危险数据,并进行日志记录,得到网络流量攻击日志。

可选地,所述网络流量攻击识别方法还包括:

当所述网络流量攻击记录中记录的攻击频率达到预设阈值时,输出频繁受到攻击的提示信息。

本发明公开一种防火墙系统,包括:

数据还原单元,用于对原始网络数据进行数据还原解码,得到可识别的待检网络数据;

轻量级检测单元,用于通过轻量级检测方案对所述待检网络数据进行多安全规则防御的初始数据识别检测,生成初始识别结果;其中,所述轻量级检测方案为基于正则表达式的检测方案,所述初始识别结果包括:正常数据、危险数据及疑难数据;

重量级检测单元,用于将所述疑难数据通过重量级检测方案进行深度数据识别检测,生成深度识别结果;其中,所述重量级检测方案为非基于正则表达式的检测方案,所述深度识别结果包括:正常数据以及危险数据。

可选地,所述轻量级检测单元包括:

字符串匹配子单元,用于将所述待检测数据根据预先配置的字符串规则进行字符串匹配;

疑难数据获取子单元,用于获取经过所述字符串匹配得到的疑难数据;

正则表达式匹配子单元,用于对经过所述字符串匹配得到的疑难数据根据预先配置的正则表达式规则进行正则表达式匹配,将所述正则表达式匹配得到的疑难数据作为所述轻量级检测方案的疑难数据。

可选地,所述轻量级检测单元包括:

攻击特征比对子单元,用于将所述待检测数据与攻击特征进行匹配比对;

第一判定子单元,用于当所述待检测数据与所述攻击特征匹配成功时,判定为危险数据;

危险特征比对子单元,用于当所述待检测数据与所述攻击特征匹配失败时,将所述待检测数据与危险特征进行匹配比对;

第二判定子单元,用于当所述待检测数据与所述危险特征匹配成功时,判定为疑难数据;

第三判定子单元,用于当所述待检测数据与所述危险特征匹配失败时,判定为正常数据。

可选地,所述重量级检测单元具体为:多方案检测单元,用于将所述疑难数据通过若干类型的重量级检测方案进行深度数据识别检测;其中,所述重量级检测方案包括:基于语义分析的数据识别、机器学习识别以及虚拟执行。

可选地,所述防火墙系统还包括:多方案确定单元,所述多方案确定单元与所述多方案检测单元连接;所述多方案确定单元包括:

数据类型确定子单元,用于对所述疑难数据进行类型划分,生成数据标签;

方案匹配子单元,用于根据所述数据标签查找匹配的重量级检测方案类型,得到匹配检测方案;

则相应地,所述多方案检测单元具体用于:将所述疑难数据输入所述匹配检测方案进行深度数据识别检测,生成深度识别结果。

可选地,所述防火墙系统还包括:危险拦截单元,用于拦截所述危险数据,并进行日志记录,得到网络流量攻击日志。

可选地,所述防火墙系统还包括:异常提示单元,用于当所述网络流量攻击记录中记录的攻击频率达到预设阈值时,输出频繁受到攻击的提示信息。

本发明公开一种计算机设备,包括:

存储器,用于存储程序;

处理器,用于执行所述程序时实现所述网络流量攻击识别方法的步骤。

本发明公开一种可读存储介质,所述可读存储介质上存储有程序,所述程序被处理器执行时实现所述网络流量攻击识别方法的步骤。

本发明所提供的网络流量攻击识别方法,将攻击识别大体分为两部分,轻量级检测方案以及重量级检测方案,其中,轻量级检测方案指基于正则表达式的通过字符串比对的计算速度较快的检测方案,在配置多安全规则防御下通过轻量级检测方案对待检测数据进行初始数据识别检测,初始识别检测中可以快速识别出待识别数据中的正常数据、危险数据以及疑难数据,实现第一层高吞吐量的有效攻击识别,经过第一层识别后存在少量正则表达式识别受限的疑难数据,将这些疑难数据通过重量级检测方案进行深度数据识别,其中,重量级检测方案指除却基于正则表达式外能识别复杂语义的检测方案,可以实现对疑难数据的精准识别,而由于第一层识别完成了对原始数据中大量数据的攻击识别,待检测的疑难数据量较少,因此对疑难数据进行深度数据识别检测过程所需占用的硬件成本较低。

基于上述方案进行多级过滤网络流量攻击识别,兼顾轻量级检测方案的高吞吐量以及重量级识别方案的高准确率,使得整体攻击识别过程计算性能上接近轻量级方案,防御效果上接近重量级方案,在计算性能和防御效果上取得较佳平衡,具有较高的实用价值。

本发明还提供了一种防火墙系统、计算机设备及可读存储介质,具有上述有益效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。

图1为本发明实施例提供的一种网络流量攻击识别方法的流程图;

图2为本发明实施例提供的一种攻击识别过程示意图;

图3为本发明实施例提供的一种防火墙系统的结构框图;

图4为本发明实施例提供的一种waf系统架构示意图;

图5为本发明实施例提供的一种计算机设备的结构示意图。

具体实施方式

本发明的核心是提供一种网络流量攻击识别方法,该方法通过多级过滤网络流量攻击识别,兼顾轻量级检测方案的高吞吐量以及重量级识别方案的高准确率,在计算性能和防御效果上取得较佳平衡,具有较高的实用价值;本发明的另一核心是提供一种防火墙系统、计算机设备及可读存储介质。

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明中将传统网络流量攻击识别方法根据计算性能、执行时间等因素分为两类,轻量级方案以及重量级方案,基于两类方案形成多级过滤的防火墙结构,能够使计算性能上接近轻量级方案,防御效果上接近重量级方案,在计算性能和防御效果上取得较佳平衡,具有较高的实用价值。

请参考图1,图1为本实施例提供的一种网络流量攻击识别方法的流程图;该方法主要包括:

步骤s110、对原始网络数据进行数据还原解码,得到可识别的待检网络数据。

由于原始网络数据中数据格式不统一,有些数据格式无法被直接识别,且存在大量无用数据,因此,在进行识别检测前需进行数据还原解码,数据还原解码过程主要包括进行数据协议解析(例如根据预先设定的安全规则的需求,对网络协议和http协议进行分析)、编码数据的解码(例如根据预先设定的安全规则的需求,对一些被编码过的安全规则用到的字段进行解码,还原出原始内容)、数据过滤等过程,以提升数据识别效果。具体的数据还原解码的过程可以自行根据使用的网络协议以及流量数据特征进行相应的数据处理,本实施例中对数据还原解码过程中采用的具体数据处理措施不做限定。

对原始网络数据进行数据还原解码后得到的可直接被识别的待检网络数据将被送入进行初始数据识别检测。

步骤s120、通过轻量级检测方案对待检网络数据进行多安全规则防御的初始数据识别检测,生成初始识别结果。

初始数据识别检测的目的在于通过简单高效的检测手段对大部分待检网络数据进行快速精准识别,生成包括正常数据、危险数据以及疑难数据的初始识别结果,允许存在少量识别困难无法确定类别的疑难数据,利用初始数据识别的高效识别保证整体识别速度。在此需要说明的是,由于目前部分传统安全规则中不包括疑难数据的判定规则,只包括正常数据以及危险数据的判定规则,例如“当符合规律a,判定为危险数据;若不符合规律a,判定为正常数据”,因此,为提升初始数据识别检测过程的防御能力,避免某些疑难数据的错误拦截或放过,需要设置疑难数据的安全规则,具体地,可以根据疑难数据的统计规则进行设定,在此不做限定。

轻量级检测方案指基于正则表达式的检测方案,包括普通基于正则表达式的检测方法以及字符串匹配方法(字符串匹配方法为一种特殊的基于正则表达式的检测方法,其实现包括但不限于ac自动机(aho-corasickautomaton有限状态机的一种形式,是一种多模匹配算法,能以较快的速度在数据流中找到预设的模式串))等。轻量级检测方案中整合了多安全防御机制,即整合了多种字符匹配的模式,其实现包括但不限于dfa(deterministicfinite-stateautomaton有限状态机,可以用于在数据流中找到特定的数据)。

正则表达式描述了一种基于字符串匹配的模式(pattern),可以用来检查一个字符串是否含有某种字符子串,或者是否含有一些预定的模式。基于正则表达式的检测方案是基于字符比对的预订模式网络流量攻击识别方法,有较高的计算速度,能支持同时启用很多条安全规则,可以完成大部分网络攻击的有效识别,因此通过多安全规则防御的初始数据识别检测可以快速完成绝大多数待检网络数据的精准识别。

图2所示为本实施例提供的一种攻击识别过程示意图,大量待检测数据经过轻量级检测方案进行初始数据识别检测,轻量级检测方案中可以尽量多的配置多种安全规则防御手段,轻量级检测可以识别的数据量占整体待识别数据的比例越大,整体网络流量攻击识别过程速度越快。在大量数据经过轻量级检测方案实现正常数据以及危险数据的明确区分时,存在少量符合预设危险特征的数据在初始数据识别检测中无法实现精准识别,此时将该部分数据输入至重量级检测方案进行精准识别,由于该部分数据量较少,所需调用的计算资源、硬件资源等识别成本可控,同时解决了轻量级检测方案中无法用正则表达式或者字符串描述部分攻击类型的精准识别,提升了整体防御效果。

轻量级检测方案指基于正则表达式的字符比对检测方案,其中所涵盖的检测方法以及多检测方法的整合方式有多种,本实施例中对具体选用的检测方法、配置的安全规则以及多检测方法的整合方式不做限定。可选的检测方法比如普通基于正则表达式的检测方法、字符串匹配方法等,可以选取一种或若干种;可配置的安全规则比如基于协议类型,端口号以及包含特征字节等的正则表达式,可以为单种或多种条件的组合,比如可以为仅基于端口号的正则表达式,也可以为同时基于协议类型以及端口号的正则表达式等。可以选取若干个安全规则,尽量多配置安全规则,以尽量减少流入重量级检测方案的疑难数据量;多检测方法的整合方式比如并行、串行以及并行与串行结合等,可以根据检测需要进行检测方法的整合。

步骤s130、将疑难数据通过重量级检测方案进行深度数据识别检测,生成深度识别结果。

重量级检测方案为非基于正则表达式的检测方案,即基于正则表达式进行匹配外的其它检测方案,比如语法分析(在词法分析的基础上将单词序列组合成各类语法短语,如“程序”、“语句”、“表达式”等等,通过语法分析程序判断源程序在结构上是否正确)、机器学习、虚拟执行、沙箱、以及一些其它的计算速度较慢但在某些场景有良好效果的方法,重量级检测方案进行深度数据识别检测的过程用于对初始数据识别检测过程中无法明确数据类别的部分通过上下文联系等语义识别等方案进行深度精确化数据识别检测,生成包括正常数据以及危险数据的深度识别结果。

重量级检测方案具有较高的攻击识别准确度,能识别复杂的攻击模式,因此,可以实现疑难数据的精准识别。但通常计算速度较慢,硬件成本较高,但本发明中只需对少量疑难数据通过重量级检测方案进行深度数据识别,因此,所占用的计算时间以及资源成本都是有限的,相对于传统的基于语义分析等方案的整体识别过程,基本可以忽略,因此,保证了本发明对网络数据进行检测的过程中占用的时间以及资源均处于较少的范围。

本实施例中采用的重量级检测方案包括所有非基于正则表达式的检测方案,对具体采用的检测方法的类型以及数量不做限定,可以选取一种重量级检测方案进行检测,为提升不同类型数据的检测效果以及效率,也可以选取多种方案,一个疑难数据包可以输入至多路并行检测方案中的一种进行检测,也可以输入至多个检测方案,以提升检测效率,具体方案的配置可以根据检测需要进行设定。其中,为提升检测效果,优选地,可以将疑难数据通过若干类型的重量级检测方案进行深度数据识别检测,通过不同类型的检测方案实现对各对应类型疑难数据的检测,可以提升疑难数据的检测精准度。其中,重量级检测方案包括但不限于:基于语义分析的数据识别、机器学习识别以及虚拟执行。

当选取多种类型的重量级检测方案进行深度数据识别检测时,但由于每个检测方案占用的时间均较长,优选地,可以进行疑难数据类型的识别,将各疑难数据根据其疑难类型输入至预先配置的各类型检测方案中的匹配方案进行相应检测,保证检测精准度的同时减少资源占用。具体地,可以在将疑难数据通过若干重量级检测方案进行深度数据识别检测之前,对疑难数据进行类型划分,生成数据标签;根据数据标签查找匹配的重量级检测方案类型,得到匹配检测方案。则相应地,将疑难数据通过若干重量级检测方案进行深度数据识别检测具体为:将疑难数据输入匹配检测方案进行深度数据识别检测,生成深度识别结果。

例如,预先将轻量级检测方案中无法进行准确识别的数据根据数据类型划分为三类,分别为第一类别、第二类别以及第三类别,并预先存储各数据类型对应的重量级检测方案的对应关系(当为第一类别,输入至语法分析单元;当为第二类别,输入至虚拟执行单元;当为第三类别,输入至机器学习单元)。在进行初始识别得到疑难数据输出后,对疑难数据进行类型识别(该步骤也可以在初始识别时完成,即在初始识别时将类型标签添加至疑难数据包中,在后续中直接进行标签识别),比如当前输出的疑难数据属于第一类型,为该数据包添加第一类型标签,并在预先存储的方案对应关系中查找第一类型对应的检测方案,确定为语法分析单元时,将该数据包输入至语法分析单元进行深度识别检测,将输出的识别结果作为深度识别结果。

本实施例中仅以上述深度识别过程为例进行介绍,其它方式均可参照本实施例的介绍。

基于上述介绍,本实施例提供的网络流量攻击识别方法,通过进行多级过滤网络流量攻击识别,兼顾轻量级检测方案的高吞吐量以及重量级识别方案的高准确率,使得整体攻击识别过程计算性能上接近轻量级方案,防御效果上接近重量级方案,在计算性能和防御效果上取得较佳平衡,具有较高的实用价值。

实施例二:

上述实施例中对轻量级检测方案中具体采用的基于正则表达式的字符比对检测方案不做限定,本实施例中对其中一种轻量级检测过程进行介绍。

字符串匹配作为一种特殊的基于正则表达式的检测方案计算效率远高于普通的基于正则表达式的检测方案,可以尽量多的配置字符串匹配实现高效字符检测。字符串匹配所能识别的攻击类型较少,因此为提高整体计算效率,同时保证攻击识别的准确率,优选地,可以同时选用字符串匹配以及普通的正则表达式匹配进行初始数据识别检测,则通过轻量级检测方案对待检网络数据进行多安全规则防御的初始数据识别检测的过程具体包括以下步骤:

将待检测数据根据预先配置的字符串规则进行字符串匹配;

获取经过字符串匹配得到的疑难数据;

对经过字符串匹配得到的疑难数据根据预先配置的正则表达式规则进行正则表达式匹配,将正则表达式匹配得到的疑难数据作为轻量级检测方案的疑难数据。

需要说明的是,在选用多种初始数据检测手段进行数据初检时,对各手段的执行顺序不做限定,可以根据实际检测需要进行设定,上述采用字符串匹配以及正则表达式匹配的执行步骤以先进行字符串匹配,再进行正则表达式匹配为例,当然,也可以先进行正则表达式匹配,再进行字符串匹配。

另外,配置的安全规则有多条,一般的安全规则对网络数据的筛选过程为将接收到的网络数据与某些特征进行比对,这些特征可以为危险数据特征、疑难数据特征以及安全数据特征,比如在进行字符串匹配时若字符中连续存在“60852a”时为危险数据,字符中连续存在“5a”时为危险数据,字符中不连续存在“60852a”以及“5a”时为安全数据等,由于一般来说危险数据特征以及疑难数据特征要比对的工作量远小于安全数据特征要比对的工作量,因此,优选地,可以通过危险数据判定规则以及疑难数据判定规则进行数据类别的判定,则通过轻量级检测方案对待检测数据进行多安全规则防御的初始数据识别检测的过程具体包括以下步骤:

将待检测数据与攻击特征进行匹配比对;

若与攻击特征匹配成功,判定为危险数据;

若与攻击特征匹配失败,将待检测数据与危险特征进行匹配比对;

若与危险特征匹配成功,判定为疑难数据;

若与危险特征匹配失败,判定为正常数据。

危险特征与攻击特征的比对顺序不做限定,以上以先进行攻击特征的匹配,再进行危险特征的比对为例进行介绍。通过上述比对过程进行数据类别的划分,可以大大减少计算工作量,提升比对效率。

实施例三:

在经过上述实施例中提供的方案进行检测识别,在生成检测结果后对处理方式不做限定,经过轻量级检测方案以及重量级检测方案进行识别后将数据分为正常数据以及危险数据。危险数据指示经识别可能为网络流量中的攻击,为避免对正常网络数据的影响的同时,优选地,可以在识别为危险数据后,进行数据拦截,并进行日志记录,得到网络流量攻击日志,以便后续根据日志进行后续策略的调整以及部署。

在进行网络流量攻击识别的过程中,可能会由于某些原因频繁受到攻击,这种情况虽然可以通过本发明提供的方法进行精准识别,以及及时拦截,但为了让相关技术人员对这种异常攻击情况进行计时处理,优选地,可以在网络流量攻击记录中记录的攻击频率达到预设阈值时,输出频繁受到攻击的提示信息,以提示相关技术人员进行相应技术处理。当然,也可以不进行提示,或进行其它类型的提示,本实施例中对此不做限定。

实施例四:

请参考图3,图3为本实施例提供的一种防火墙系统的结构框图;可以包括:数据还原单元210、轻量级检测单元220以及重量级检测单元230。本实施例提供的防火墙系统可与上述网络流量攻击识别方法相互对照。

其中,数据还原单元210主要用于对原始网络数据进行数据还原解码,得到可识别的待检网络数据;

轻量级检测单元220主要用于通过轻量级检测方案对待检网络数据进行多安全规则防御的初始数据识别检测,生成初始识别结果;其中,轻量级检测方案为基于正则表达式的检测方案,初始识别结果包括:正常数据、危险数据及疑难数据;

重量级检测单元230主要用于将疑难数据通过重量级检测方案进行深度数据识别检测,生成深度识别结果;其中,重量级检测方案为非基于正则表达式的检测方案,深度识别结果包括:正常数据以及危险数据。

本实施例提供的防火墙系统对于网络流量攻击识别准确率较高,且硬件成本较低,具有较高的实用价值。

其中,优选地,轻量级检测单元具体可以包括:

字符串匹配子单元,用于将待检测数据根据预先配置的字符串规则进行字符串匹配;

疑难数据获取子单元,用于获取经过字符串匹配得到的疑难数据;

正则表达式匹配子单元,用于对经过字符串匹配得到的疑难数据根据预先配置的正则表达式规则进行正则表达式匹配,将正则表达式匹配得到的疑难数据作为轻量级检测方案的疑难数据。

优选地,轻量级检测单元具体可以包括:

攻击特征比对子单元,用于将待检测数据与攻击特征进行匹配比对;

第一判定子单元,用于当待检测数据与攻击特征匹配成功时,判定为危险数据;

危险特征比对子单元,用于当待检测数据与攻击特征匹配失败时,将待检测数据与危险特征进行匹配比对;

第二判定子单元,用于当待检测数据与危险特征匹配成功时,判定为疑难数据;

第三判定子单元,用于当待检测数据与危险特征匹配失败时,判定为正常数据。

优选地,重量级检测单元具体可以为:多方案检测单元,用于将疑难数据通过若干类型的重量级检测方案进行深度数据识别检测;其中,重量级检测方案包括:基于语义分析的数据识别、机器学习识别以及虚拟执行。

优选地,本实施例提供的防火墙系统中可以进一步包括多方案确定单元,多方案确定单元与多方案检测单元连接。

多方案确定单元具体包括:

数据类型确定子单元,用于对疑难数据进行类型划分,生成数据标签;

方案匹配子单元,用于根据数据标签查找匹配的重量级检测方案类型,得到匹配检测方案;

则相应地,多方案检测单元具体用于:将疑难数据输入匹配检测方案进行深度数据识别检测,生成深度识别结果。

优选地,本实施例提供的防火墙系统可以进一步包括:危险拦截单元,用于拦截危险数据,并进行日志记录,得到网络流量攻击日志。

优选地,本实施例提供的防火墙系统可以进一步包括:异常提示单元,用于当网络流量攻击记录中记录的攻击频率达到预设阈值时,输出频繁受到攻击的提示信息。

实施例五:

上述实施例中对应用场景不做限定,可以适用于一切防火墙系统,比如可以应用于web应用防火墙硬件或软件或虚拟化系统、网络防火墙硬件或软件或虚拟化系统、pc防火墙软件或虚拟化系统等,本实施例以waf(web应用防火墙)的实现为例进行介绍,其它应用场景均可参照本实施例的介绍。

本实施例中waf主要由以下五个单元组成,协议解析单元、字符串匹配单元、正则表达式匹配单元、重量级算法分析单元、规则配置及编译单元。图4所示为本实施例提供的一种waf系统架构示意图。

1)规则配置及编译单元。

规则配置及编译单元主要用于根据用户或安全人员所配置的安全规则,自动分析并生成字符串匹配单元需要匹配的字符串、正则表达式单元所需要的正则模式,以及重量级算法分析单元所需要的分析模型,负责生成最终使用的自动机或其它形式的判断模型,以及预处理并保存自动机或模型的衔接关系。

其中,安全规则的书写格式可以自定义,具体格式不限。一种可能的实现形式是由三部分构成:字符串条件,正则表达式条件,复杂模型的判断条件。其中,自动机指有限状态机,一般用于识别字符串或正则表达式(对应上述轻量级检测单元)。其它形式的判断模型包括语法分析或机器学习所生成的模型等(对应上述重量级检测单元),一般用于识别比字符串和正则更复杂的模式。衔接关系是指各个自动机或其它模型得到自己的判断结果后,如何根据这个结果来进行下一步识别。这些衔接关系均可以由规则配置及编译单元预处理并保存起来,避免匹配的时候进行判断,以加快waf的计算速度。

需要说明的是,规则配置及编译单元也可以不是独立单元,而是嵌套在其它功能单元中,用于指示工作的正常流转。

2)协议解析单元。

协议解析单元主要用于根据安全规则的需求,对网络协议和http协议进行分析,以及对一些被编码过的数据进行解码,还原出原始内容。具体哪些字段需要解码,可以由规则编译单元控制的。

协议解析单元解码所得到的数据,将被送入字符串匹配单元进行检测。

3)字符串匹配单元。

字符串匹配单元用于根据已配置的安全规则、已整合的字符串匹配的模式,对网络数据进行匹配。字符串匹配单元的实现方式包括但不限于使用ac自动机。

字符串匹配单元的工作过程为:

进行字符串匹配;

在进行字符串匹配得到匹配的结果后,若当前的正则表达式匹配的结果已经表明,用户所配置的全部安全规则都不可能命中时,判定为正常流量,放过,不再进行匹配,以节约计算资源。

若当前的字符串匹配的结果已经表明所配置的某些安全规则一定命中,则拦截,并记录日志。

除上述两种情况外的数据,即为不能确定的流量,送入正则表达式匹配单元进行下一步匹配。

4)正则表达式匹配单元。

正则表达式匹配单元主要用于对字符串匹配单元输入的数据基于预配置的正则表达式进行匹配。

若当前的正则表达式匹配的结果已经表明,用户所配置的全部安全规则都不可能命中时,放过,不再进行下一步匹配,以节约计算资源。

当前的正则表达式匹配的结果已经表明,所配置的某些安全规则可以确定是命中时,判定为攻击的流量,拦截,并记录日志。

除上述两种情况外的数据,即为不能确定的流量,送入重量级算法分析单元进行下一步匹配。

5)重量级算法分析单元。

重量级算法分析单元主要用于根据正则表达式匹配单元的匹配结果选择需要的重量级算法进一步分析。这些重量级算法包括但不限于:语法分析、机器学习、虚拟执行等,以及预设分析方法。

所配置的某些安全规则一定命中,或者命中的可能性达到了设定的阈值时,判定为攻击的流量,拦截,并记录日志。

除上述情况外的数据,判定为正常流量,放过,不再进行匹配。

需要说明的是,本实施例中仅以上述单元划分以及协作方式为例进行介绍。无论对过滤的层级做任意拆分、增加或减少,比如将重量级算法分析模块拆分为多个模块(同一层级并行或者上下层串行关系),均在本发明的保护范围之内。

本实施例提供的防火墙系统结合协议解析、多模匹配、语法分析、机器学习、虚拟执行等方法,形成的多模块、多级过滤的防火墙结构,在防火墙的防御效果和计算性能之间取得良好平衡。

实施例六:

本实施例提供一种计算机设备,包括:存储器以及处理器。

其中,存储器用于存储程序;

处理器用于执行程序时实现如上述网络流量攻击识别方法的步骤,具体可参照上述实施例中对网络流量攻击识别方法的介绍,在此不再赘述。

请参考图5,为本实施例提供的一种计算机设备的结构示意图,该计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(centralprocessingunits,cpu)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在计算机设备301上执行存储介质330中的一系列指令操作。

计算机设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上面图1所描述的网络流量攻击识别方法中的步骤可以由计算机设备的结构实现。

实施例七:

本实施例公开一种可读存储介质,其上存储有程序,程序被处理器执行时实现如网络流量攻击识别方法的步骤,具体可参照上述实施例中对网络流量攻击识别方法的介绍。

该可读存储介质具体可以为u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。

专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。

以上对本发明所提供的网络流量攻击识别方法、防火墙系统、计算机设备及可读存储介质进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1