本发明涉及一种网络入侵检测系统,具体涉及并行网络入侵检测系统(networkintrusiondetectionsystem,nids)的结构设计及其负载均衡方法,可以解决攻击证据保持及并行nids系统中多检测单元的负载均衡问题,属于信息安全领域。
背景技术:
高速率网络带来的流量激增,使得nids的检测性能出现瓶颈,传统的单检测单元nids难以实时处理高速率流量。因此,基于多引擎并行检测的nids是当今的研究重点与趋势。为充分发挥并行nids的高效性能,应在保持攻击证据的前提下,尽量通过流量调度实现多检测单元的负载均衡。
目前,并行nids的负载均衡算法主要分为静态负载均衡算法和动态负载均衡算法两大类。其中,动态负载均衡算法又分为激活策略和前摄策略两类。但如何在实现待检流量负载均衡的同时保持攻击证据,是并行nids待解决的难点,特别是针对多连接攻击流量。
静态负载均衡算法按照设定的策略进行流量调度,多采用hash函数映射来实现,该类算法的优点是不会破坏数据流的完整性,攻击证据保持较好,缺点是难以适应实际动态网络环境,各检测单元的负载均衡效果较差。
动态负载均衡算法根据检测单元负载的实时变化,动态调度网络流量,优点是负载均衡效果较好,缺点是保持攻击证据的难度相对较大,算法复杂度较高。
动态负载均衡算法又分为激活策略和前摄策略两类,激活策略算法调度流量到检测单元前不考虑引擎负载,但当某个引擎负载超过设定阈值时,激活算法,将流量从负载较重的引擎迁移到负载较轻的引擎。此类算法针对性强,负载均衡效果较好,但会带来检测单元间的通信量较大的问题,在实际应用中会额外占用检测单元的计算资源,导致nids的检测性能下降。
前摄策略算法在流量调度前就根据各检测单元的实时负载,动态调度流量,确保各检测单元的负载均衡。此类算法不需要检测单元间的大量通信,额外占用检测单元的计算资源较小,但需要采取较为科学的方法将流量按类划分调度到不同的检测单元,且不能破坏数据流的完整性,尽量保持攻击证据。
但以上并行入侵检测方法都存在相应优缺点,在保持攻击证据与多引擎负载均衡之间难以全面提升。分析攻击特征,可将攻击分为单连接攻击以及多连接攻击两大类。前者攻击特征分布在同一条数据流的报文中,多数攻击属于此类攻击,比如利用操作系统漏洞或程序漏洞发起的攻击;后者攻击特征分布在不同数据流的报文中,比如分布式拒绝服务(distributeddenialofservice,ddos)、扫描(scan)等攻击。
以上多检测单元的负载均衡算法多是分析单连接攻击,而忽略了多连接攻击,造成多连接攻击的流量被调度至不同检测单元,而检测单元间又缺少互相通信获取全局信息的机制,导致攻击证据的丢失。
技术实现要素:
本发明提供了一种并行网络入侵检测系统及其控制方法,以至少解决上述存在问题。
本发明提供了一种并行网络入侵检测系统,包括:
单连接攻击检测子系统,所述单连接攻击检测子系统用于分析单连接攻击;所述单连接攻击检测子系统包括负载均衡模块,所述负载均衡模块用于根据单连接攻击的类型对单连接攻击信息进行分配并发送检测;
多连接攻击检测子系统,所述多连接攻击检测子系统用于拷贝网络流量,并分析多连接攻击。
进一步地,所述单连接攻击检测子系统还包括n多个检测单元,所述检测单元用于接收负载均衡模块分配的单连接攻击信息,并进行检测分析。
更进一步地,所述负载均衡模块包括:
流量调度子模块,所述流量调度子模块用于对单连接攻击信息进行分类,并发送给检测单元;
负载监控子模块,所述负载监控子模块用于监控n多个检测单元的工作情况,并确定负载最轻的检测单元。
更进一步地,所述单连接攻击检测子系统还包括单连接攻击检测规则库,所述单连接攻击检测规则库用于存储单连接攻击的规则信息;
所述负载均衡模块根据所述单连接攻击检测规则库的规则信息对单连接攻击类型进行分类。
进一步地,所述多连接攻击检测子系统包括:
多连接攻击检测规则库,所述多连接攻击检测规则库用于保存多连接攻击的规则信息;
多连接攻击检测单元,所述多连接攻击检测单元用于根据多连接攻击检测规则库的规则信息,对多连接攻击进行分析识别。
更进一步地,所述多连接攻击检测单元为单一的检测单元。
本发明还公开一种上述并行网络入侵检测系统的控制方法,包括:
将网络攻击信息分类为单连接攻击、多连接攻击,并分别由单连接攻击检测子系统、多连接攻击检测子系统进行分析检测;
负载均衡模块分析复制单连接攻击的网络流量,扫描单连接攻击的报文信息并进行分类,根据单连接攻击的分类发送给n多个检测单元检测;
多连接攻击检测子系统复制多连接攻击的网络流量,并进行分析检测。
进一步地,所述单连接攻击按照传输层协议分类。
更进一步地,所述传输层协议包括tcp、udp、其他协议。
更进一步地,所述负载均衡模块分析复制单连接攻击的网络流量,扫描单连接攻击的报文信息并进行分类,根据单连接攻击的分类发送给n多个检测单元检测包括:
扫描单连接攻击的报文信息并进行分类;
确认负载最轻的检测单元;
若单连接攻击为tcp,以会话为单位进行调度,若该会话为第一次报文,则发送给负载最轻的检测单元;若该会话非第一次报文,则发送给处理第一次报文的检测单元;
若单连接攻击为udp,以五元组为单位进行调度,若该五元组为第一次报文,则发送给负载最轻的检测单元;若该五元组非第一次报文,则发送给处理第一次报文的检测单元;
若单连接攻击为其他协议,以报文信息为单位进行调度,发送给负载最轻的检测单元。
本发明相对于现有技术,将nids分为单连接攻击检测和多连接攻击检测两个子系统,其中,多连接攻击检测子系统采用单检测单元,快速扫描报文首部,识别相应攻击行为;单连接攻击检测子系统采用多检测单元并行检测,将流量按照传输层协议分类,以会话或五元组为单位,将流量调度至负载最轻的检测单元,既能保持攻击证据,又动态实现了负载均衡,且额外占用检测单元的计算资源较少,提高处理效率。
附图说明
图1为本发明实施例并行nids设计结构图;
图2为本发明实施例并行nids检测流程图;
图3为本发明实施例实验拓扑图;
图4为本发明实施例及对照例1-5单连接攻击检测的
图5为本发明实施例及对照例1-5多连接攻击检测的
图6为本发明实施例及对照例1-5平均检测时延统计图;
图7为本发明实施例及对照例1-5平均丢包率统计图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。
本发明实施例提供了一种并行网络入侵检测系统,包括:
单连接攻击检测子系统,所述单连接攻击检测子系统用于分析单连接攻击;所述单连接攻击检测子系统包括负载均衡模块,所述负载均衡模块用于根据单连接攻击的类型对单连接攻击信息进行分配并发送检测;
多连接攻击检测子系统,所述多连接攻击检测子系统用于拷贝网络流量,并分析多连接攻击。
本发明实施例的控制方法如下,如图2所示,包括:
s1将网络攻击信息分类为单连接攻击、多连接攻击,并分别由单连接攻击检测子系统、多连接攻击检测子系统进行分析检测;
s2负载均衡模块分析复制单连接攻击的网络流量,扫描单连接攻击的报文信息并进行分类,根据单连接攻击的分类发送给n多个检测单元检测;
s3多连接攻击检测子系统复制多连接攻击的网络流量,并进行分析检测。
其中,如图1所示,所述单连接攻击按照传输层协议分类,所述传输层协议包括tcp、udp、其他协议。
本发明实施例将nids分为单连接攻击检测和多连接攻击检测两个子系统。其中,多连接攻击检测子系统采用单检测单元,快速扫描报文首部,识别相应攻击行为;单连接攻击检测子系统采用多检测单元并行检测,将流量按照传输层协议分类,以会话或五元组为单位,将流量调度至负载最轻的检测引负载监控子模块实时监视n多个检测单元(sensora1、a2、…、an)的负载,计算出负载最轻的检测单元
可选的,所述单连接攻击检测子系统还包括n多个检测单元,所述检测单元用于接收负载均衡模块分配的单连接攻击信息,并进行检测分析。
其中,单连接攻击检测子系统由n多个检测单元(sensora1、a2、…、an)等检测单元组成,基于snort3.0系统改进,在原有规则库中仅保留单连接攻击规则文件,n为大于等于1的整数,在本发明实施例中n为4。
特别的,所述负载均衡模块包括:
流量调度子模块,所述流量调度子模块用于对单连接攻击信息进行分类,并发送给检测单元;
负载监控子模块,所述负载监控子模块用于监控n多个检测单元的工作情况,并确定负载最轻的检测单元。
其中,如图1所示,负载均衡模块由流量调度及负载监控两个子模块组成。负载监控子模块实时监视n多个检测单元(sensora1、a2、…、an)的负载,计算出负载最轻的检测单元;流量调度子模块将网络流量按照tcp、udp以及其他协议进行分类,并进行流量调度分配。
因单连接攻击行为复杂多样,为保持攻击证据并实现各检测单元的负载均衡,本发明实施例先由负载均衡模块对镜像口1拷贝的网络流量进行流量调度。
所述负载均衡模块的工作过程如下:
分析复制单连接攻击的网络流量,扫描单连接攻击的报文信息并进行分类,根据单连接攻击的分类发送给n多个检测单元检测;
其中,如图2所示,流量调度分配过程具体包括:
s201扫描单连接攻击的报文信息并进行分类;
s202确认负载最轻的检测单元;
s203若单连接攻击为tcp,以会话为单位进行调度,若该会话为第一次报文,则发送给负载最轻的检测单元;若该会话非第一次报文,则发送给处理第一次报文的检测单元;
其中,tcp流量以会话为单位进行调度。每个会话的第一个报文被调度至当前负载最轻的检测单元am(m=1,2,…,n),相同会话的其他报文也被调度至am;此方法可以保证同一会话的tcp报文被调度到同一个检测单元;
s204若单连接攻击为udp,以五元组为单位进行调度,若该五元组为第一次报文,则发送给负载最轻的检测单元;若该五元组非第一次报文,则发送给处理第一次报文的检测单元;
其中,udp流量以五元组(源ip,源端口,目的ip,目的端口,协议类型)为单位进行调度。如果报文的五元组是第一次出现,则将该报文调度至当前负载最轻的检测单元am,与该五元组相同的其他报文,统一被调度至am;此方法可以保证相同五元组的udp报文被调度到同一个检测单元;
s205若单连接攻击为其他协议,以报文信息为单位进行调度,发送给负载最轻的检测单元;
其中,其他流量,则直接以报文为单位,调度至当前负载最轻的检测单元。
特别的,所述单连接攻击检测子系统还包括单连接攻击检测规则库,所述单连接攻击检测规则库用于存储单连接攻击的规则信息;
所述负载均衡模块根据所述单连接攻击检测规则库的规则信息对单连接攻击类型进行分类。
可选的,所述多连接攻击检测子系统包括:
多连接攻击检测规则库,所述多连接攻击检测规则库用于保存多连接攻击的规则信息;
多连接攻击检测单元,所述多连接攻击检测单元用于根据多连接攻击检测规则库的规则信息,对多连接攻击进行分析识别。
特别的,所述多连接攻击检测单元为单一的检测单元。
其中,多连接攻击检测子系统由高性能检测单元多连接攻击检测单元(sensorb)组成,其从镜像口2拷贝网络流量。为提高检测效率,多连接攻击检测单元(sensorb)基于snort3.0系统改进,在多连接攻击检测规则库中仅保留多连接攻击规则文件,快速检测报文首部,识别多连接攻击行为。
为测试本发明实施例的运行效果,构造如图3所示的实验拓扑,其中,交换机与路由器、交换机与负载均衡服务器、以及交换机与多连接攻击检测单元(sensorb)之间链路最高传输速率为10gbps,其余链路最高传输速率为1gbps。为突出测试并行入侵检测方法的性能,不宜采用性能超强的服务器用作检测单元,主机硬件配置见表1。
表1主机硬件配置
其中,本发明实施例sensora1-a4、多连接攻击检测单元(sensorb)及负载均衡服务器均安装centos7.064bit操作系统,sensora1-a4运行snort3.0,仅保留单连接攻击规则文件;多连接攻击检测单元(sensorb)运行snort3.0,仅保留多连接攻击规则文件;负载均衡服务器监控sensora1-a4的负载,完成流量调度。
攻击区共8台主机,每台主机安装3个虚拟机,每个虚拟机分配1gb内存,并轮询使用10个ip地址;被攻击区共4台服务器,每台服务器安装3个虚拟机,并分别提供20个tcp服务和udp服务,以上可以构造出57600个不同的五元组,足以确保实验质量。
攻击区安装bladeidsinformer软件,产生各种网络攻击行为,加上正常网络流量,通过tcpreplay软件重放实现包含以上攻击行为的高速网络流量。
实验结果评估指标如下:
nids检测结果评价指标f-measure
参阅文献,f-measure指标能全面准确评估nids的检测结果,公式定义如下:
其中,recall表示召回率,precision表示查准率,计算公式如下:
precision=tp/(tp fp)(2)
recall=tp/(tp fn)(3)
其中,tp、fp、fn的含义如下:
tp(truepositive):真正类,实际为入侵数据,并且被检测出的数据数量;
fp(falsepositive):假正类,实际为正常数据,但被检测为入侵,即误报的数据数量;
fn(falsenegative):假负类,实际为入侵数据,但没有被检测出,即漏报的数据数量。
nids检测时延
假设nids采集完网络流量的时间为t1,nids最终检测完成的时间t2,则nids的检测时延δt有如下公式:
δt=t2-t1(4)
nids丢包率
假设nids检测过程中丢失的报文数量为losspackets,待检网络流量总报文数量为allpackets,则丢包率loss_rate有如下公式:
loss_rate=losspackets/allpackets(5)
五元组数目阈值的取值实验
本发明只测试sensora1-a4的并行入侵检测性能,五元组数目阈值max_num的取值范围为50递增到500,公差为50,网络流量速率在1-4gbps之间动态变化,每次实验持续30分钟,产生约600gb总流量,其中单连接攻击流量占比约2%。每次实验重复5次,求取平均检测结果
表2不同max_num取值下的实验结果
分析表2,当max_num取值越大时,由于算法时空复杂度越大,
max_num取值越小,
理论上讲,max_num取值越大,算法运行周期越大,越能够更好地保持攻击证据,因此随着max_num从50增加到300,
因max_num取值为300时,
同其他方法的实验对比
本实验包含多连接攻击检测以及单连接攻击检测,sensora1-a4、多连接攻击检测单元(sensorb)以及负载均衡服务器全部工作。
参考文献如下:
[1]杨忠明,梁本来,秦勇,等.多检测单元监测的动态负载均衡算法[j].计算机应用,2017,37(3):717-721.
[2]张润莲,李豪,叶志博,等.分布式入侵检测中基于能力与负载的数据分割算法[j].计算机应用研究,2019,36(2):525-527.
[3]李欣.高速网络环境下入侵检测系统的研究实现[d].北京:北京邮电大学,2016.
[4]余颖,杨频,梁刚.并行入侵检测系统的预测负载均衡方法[j].计算机工程与设计,2011,32(8):2565-2568.
[5]赵文斌.高速网络环境下并行入侵检测技术的研究与实现[d].北京:北京邮电大学,2017.
文献[1]提出的多检测单元监测的动态负载均衡算法,文献[2]提出的基于能力与负载的数据分割算法,文献[3]提出的动态层次负载均衡算法,文献[4]提出的预测负载均衡方法,文献[5]提出的基于“最小pps”的动态流量调度策略,以文献[1-5]做为对照例,统一采用图3和表1描述的实验拓扑及环境,配合本发明实施例按照不同方法进行实验对比。
将网络流量速率分别固定不同速率下,对不同的入侵检测方法进行实验测试,每次实验持续30分钟,其中单连接攻击流量占比约1%,多连接攻击流量占比约1.5%。每次实验重复5次,求取各入侵检测方法的
如图4所示,在高速流量下,本发明相较其他方法在单连接攻击检测中的
文献[1-2]方法的
如图5所示,相较其他方法,本发明在多连接攻击检测中的
本发明中多连接攻击检测子系统采用单检测单元,避免攻击证据的丢失。同时,为提高检查效率,检测单元快速扫描报文首部,并只匹配多连接攻击规则库。而对照例中方法没有区分单连接攻击和多连接攻击,统一采用多检测单元并行检测,造成多连接攻击的流量被调度至不同检测单元,而检测单元间又缺少互相通信获取全局信息的机制,导致攻击证据的丢失,检测结果相对本发明较差。
如图6和图7所示,在流量速率不高时(1.5gbps之内),所有方法的
分析原因,文献[1-3]采用激活策略负载均衡算法,在高速流量下,检测单元间的通信量过大而额外占用了计算资源,导致上述方法的
实验表明,本发明在高速网络环境下,具有更高的实用性和稳定性。
本发明相比现有技术,具有优点如下:
1、将nids分为单连接攻击检测和多连接攻击检测两个子系统,实现分别检测;
2、多连接攻击检测子系统采用单检测单元,快速扫描报文首部,识别相应攻击行为;
3、单连接攻击检测子系统采用多检测单元并行检测,将流量按照传输层协议分类,以会话或五元组为单位,将流量调度至负载最轻的检测单元,既能保持攻击证据,又动态实现了负载均衡,且额外占用检测单元的计算资源较少。
最后应当说明的是,以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解,技术人员阅读本申请说明书后依然可以对本发明的具体实施方式进行修改或者等同替换,但这些修改或变更均未脱离本发明申请待批权利要求保护范围之内。
1.一种并行网络入侵检测系统,其特征在于,所述并行网络入侵检测系统包括:
单连接攻击检测子系统,所述单连接攻击检测子系统用于分析单连接攻击;所述单连接攻击检测子系统包括负载均衡模块,所述负载均衡模块用于根据单连接攻击的类型对单连接攻击信息进行分配并发送检测;
多连接攻击检测子系统,所述多连接攻击检测子系统用于拷贝网络流量,并分析多连接攻击。
2.根据权利要求1所述并行网络入侵检测系统,其特征在于,所述单连接攻击检测子系统还包括n多个检测单元,所述检测单元用于接收负载均衡模块分配的单连接攻击信息,并进行检测分析。
3.根据权利要求2所述并行网络入侵检测系统,其特征在于,所述负载均衡模块包括:
流量调度子模块,所述流量调度子模块用于对单连接攻击信息进行分类,并发送给检测单元;
负载监控子模块,所述负载监控子模块用于监控n多个检测单元的工作情况,并确定负载最轻的检测单元。
4.根据权利要求3所述并行网络入侵检测系统,其特征在于,所述单连接攻击检测子系统还包括单连接攻击检测规则库,所述单连接攻击检测规则库用于存储单连接攻击的规则信息;
所述负载均衡模块根据所述单连接攻击检测规则库的规则信息对单连接攻击类型进行分类。
5.根据权利要求1所述并行网络入侵检测系统,其特征在于,所述多连接攻击检测子系统包括:
多连接攻击检测规则库,所述多连接攻击检测规则库用于保存多连接攻击的规则信息;
多连接攻击检测单元,所述多连接攻击检测单元用于根据多连接攻击检测规则库的规则信息,对多连接攻击进行分析识别。
6.根据权利要求5所述并行网络入侵检测系统,其特征在于,所述多连接攻击检测单元为单一的检测单元。
7.一种权利要求1-6任一项所述并行网络入侵检测系统的控制方法,其特征在于,所述控制方法包括:
将网络攻击信息分类为单连接攻击、多连接攻击,并分别由单连接攻击检测子系统、多连接攻击检测子系统进行分析检测;
负载均衡模块分析复制单连接攻击的网络流量,扫描单连接攻击的报文信息并进行分类,根据单连接攻击的分类发送给n多个检测单元检测;
多连接攻击检测子系统复制多连接攻击的网络流量,并进行分析检测。
8.根据权利要求7所述控制方法,其特征在于,所述单连接攻击按照传输层协议分类。
9.根据权利要求8所述控制方法,其特征在于,所述传输层协议包括tcp、udp、其他协议。
10.根据权利要求9所述控制方法,其特征在于,所述负载均衡模块分析复制单连接攻击的网络流量,扫描单连接攻击的报文信息并进行分类,根据单连接攻击的分类发送给n多个检测单元检测包括:
扫描单连接攻击的报文信息并进行分类;
确认负载最轻的检测单元;
若单连接攻击为tcp,以会话为单位进行调度,若该会话为第一次报文,则发送给负载最轻的检测单元;若该会话非第一次报文,则发送给处理第一次报文的检测单元;
若单连接攻击为udp,以五元组为单位进行调度,若该五元组为第一次报文,则发送给负载最轻的检测单元;若该五元组非第一次报文,则发送给处理第一次报文的检测单元;
若单连接攻击为其他协议,以报文信息为单位进行调度,发送给负载最轻的检测单元。
技术总结