一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于两级阈值的慢速流表溢出攻击检测与缓解方法

2023-02-01 23:51:39 来源:中国专利 TAG:


1.本发明属于计算机网络安全领域,具体涉及基于两级阈值的慢速流表溢出攻击检测与缓解方法。


背景技术:

2.为了更合理的利用资源,诞生了满足不同网络需求、弹性服务的sdn(software defined network,软件定义网络)。随着云计算技术的发展,传统的网络体系结构更新缓慢,系统复杂、僵化。sdn将网络的流量管理功能和数据包转发功能解耦,提供了网络可编程性、集中式网络管理、网络流量动态控制和自动化部署。
3.sdn的数据平面和控制平面相互分离,通过openflow协议实现连接和信息交互。但是这种独特的网络架构也存在一定的安全隐患。控制平面需要处理来自整个网络系统的大量信息,所以要求控制平面具有很高的性能。而数据平面的转发能力受到流表大小的制约而存在性能的瓶颈。
4.流表中规则的存储和快速查找依赖于tcam(ternary content addressable memory,三态内容寻址存储器),由于造价昂贵且功耗很高,其内存的大小非常有限。一旦流表受到攻击而溢出,正常规则无法及时得到处理,从而使得tcp的拥塞窗口减小甚至降低整个网络的吞吐量。慢速流表溢出攻击通过低速率发送与流表不匹配的数据包触发恶意流规则安装并占用流表可用空间,造成流表的溢出。
5.为了保证流表的可用性和正常流规则的转发效率,本发明提出了基于两级阈值的慢速流表溢出攻击检测与缓解方法。本方法根据流表受到慢速流表溢出攻击的紧急程度不同,为流表占用率设置两级阈值,对应攻击缓解模块的恶意流驱逐模式和防止流表溢出模式。本方法部署在sdn交换机上实时监测交换机流表的占用率,当流表占用率达到一级阈值时对收集流表内容进行采样并计算流表特征,然后启动攻击检测。若检测到慢速流表溢出攻击,系统进入攻击缓解模块的恶意流驱逐模式,对分类为恶意的流规则进行驱逐;当规则数达到二级阈值时,系统直接进入缓解模块的防止流表溢出模式,按比例驱逐流表当中疑似恶意的流规则,腾出流表空间防止溢出。本方法能够实时监测sdn交换机的流表状态,准确地检测慢速流表溢出攻击,具有较低的漏报率和误报率,且能够准确识别恶意流规则并对其进行驱逐,因此本方法能够有效检测和缓解sdn环境中的慢速流表溢出攻击。


技术实现要素:

6.针对慢速流表溢出攻击检测与缓解方法存在攻击检测率低、不能及时处理恶意流规则以及系统开销过高等不足,以及流表受到攻击溢出时正常规则无法及时得到处理甚至降低整个网络的吞吐量的情况,提出了基于两级阈值的慢速流表溢出攻击检测与缓解方法。本方法能够实时监测sdn交换机的流表状态,准确地检测慢速流表溢出攻击,具有较低的漏报率和误报率,且能够准确识别恶意流规则并对其进行驱逐,因此本方法能够有效检测和缓解sdn环境中的慢速流表溢出攻击。
7.本发明为实现上述目标所采用的技术方案为:该慢速流表溢出攻击检测与缓解方法主要包括五个步骤:流表占用率监测、流表数据采样、流表特征计算、攻击检测、攻击缓解。
8.1.流表占用率监测。在sdn中对于交换机中的流规则数进行实时获取,以1.0秒的时间间隔使用openvswitch命令脚本对于sdn中交换机流表中的流规则数进行轮询,并根据流表总容量大小计算得到当前流表的占用率。
9.2.流表数据采样。设置二级阈值为流表总容量的75%,即当步骤1中计算得到的流表占用率达到流表总容量的75%时,使用openvswitch命令脚本获取sdn交换机流表的内容,得到原始的流表数据,若流表占用率未到达二级阈值,则重复步骤1持续监测流表占用率。
10.3.流表特征计算。将流表划分为三个状态对当前流表是否受到慢速流表溢出攻击以及受到攻击的不同状态进行区分:状态1为未受到攻击,状态2为流表受到攻击但未溢出,状态3为受到攻击且流表持续溢出;基于步骤2中收集的流表信息计算流表中所有流规则的包到达间隔时间的均值,并选择平均包到达间隔时间均值以及流表中流规则数作为流表特征以对流表的不同状态进行表示。
11.4.攻击检测。当流表占用率介于二级阈值和一级阈值中间时,将步骤3中计算得到的流表特征输入到经过训练的catboost分类模型1,若模型判定当前流表处于状态1则认为其未受到攻击,若判定流表为状态2或状态3则认为流表受到了慢速流表溢出攻击。
12.5.攻击缓解。流表占用率高于一级阈值,启动防止流表溢出模式,将流表中的流规则的特征累计字节数、平均包到达间隔时间和平均数据包大小输入到catboost排序模型中,计算每条流规则属于恶意流规则的概率,并按照概率从高到低驱逐一定比例的流规则,腾出流表空间防止溢出;若流规则数介于二级阈值和一级阈值之间,且攻击检测模块判定当前流表受到慢速流表溢出攻击,启动恶意流驱逐模式,将流表中的流规则的特征累计字节数、平均包到达间隔时间和平均数据包大小输入到catboost分类模型2中,将模型判定为恶意的流规则驱逐。有益效果
13.通过对攻击原理以及攻击不同阶段产生的不同效果的分析,本方法选取了能够表示流表的不同状态的流表特征对慢速流表溢出攻击进行检测;通过比较正常流与恶意流的区别,本方法选取了流规则的特征对恶意流规则进行识别;然后基于流表占用率的两级阈值在受到慢速流表溢出攻击的不同紧急情况下对恶意流规则进行不同比例的驱逐,形成基于两级阈值的慢速流表溢出攻击检测与缓解方法以对慢速流表溢出攻击进行实时的检测和缓解。本方法能够实时监测sdn交换机的流表状态,准确地检测慢速流表溢出攻击,具有较低的漏报率和误报率,且能够准确识别恶意流规则并对其进行驱逐,因此本方法能够有效检测和缓解sdn环境中的慢速流表溢出攻击。
附图说明
14.图1为流表在不同状态下两个流表特征的变化情况。在交换机受到慢速流表溢出攻击按照时间顺序。从状态1到状态3的过程中,流表当中的流规则数逐渐增多,最终出现流表溢出;而因为恶意流规则的平均包到达间隔时间大于正常流规则,当流表当中安装了大
量的恶意流规则,整个流表当中的平均包到达间隔时间均值也会随着恶意流规则的增加而上升。
15.图2为两个流表特征在三种网络状态下的分布情况。不同状态的点分布在不同的区域,有较明显的区分,说明本方法选择的两个流表特征能够作为不同网络状态的区分依据。
16.图3为一个流表当中的三个流规则特征的分布情况。图中深色和浅色的点分别代表恶意流和正常流,浅色的点集中分布在平均包到达时间间隔较大而累计字节数和平均数据包大小较小的区域,说明本方法选取的特征能够体现正常流规则和恶意流规则的区别,能够作为识别恶意流规则的依据。
17.图4为基于两级阈值的慢速流表溢出攻击检测与缓解方法的流程图。
具体实施方式
18.下面结合附图对本发明进一步说明。
19.如图4所示,该慢速流表溢出攻击检测与缓解方法主要包括五个步骤:流表占用率监测、流表数据采样、流表特征计算、攻击检测、攻击缓解。
20.1.流表占用率监测。以1秒的时间间隔使用openvswitch命令脚本对于sdn中交换机流表中的流规则数进行轮询,并根据流表总容量大小计算得到当前流表的占用率。
21.流表占用率为流表中流规则数与流表总容量大小的比值。
22.本方法中根据流表受到慢速流表溢出攻击的紧急程度不同,为流表利用率占用两级阈值。本方法中设置二级阈值为流表总容量的75%,一级阈值为流表总容量的90%。
23.本方法启动时处于监测阶段,当流规则数小于二级阈值时,本方法认为网络处于正常状态,流表未受到慢速流表溢出攻击。因为网络在多数时间都不存在攻击,为了减少收集网络数据和计算的开销,本方法在初始的监测阶段只每秒钟轮询交换机流表当中的流规则数。
24.2.流表数据采样。若流表占用率到达二级阈值,使用openvswitch命令脚本获取sdn交换机流表的内容,得到原始的流表数据。
25.只有当流表占用率超过了设置的二级阈值时,我们才认为网络中有可能存在慢速流表溢出攻击,并启动进一步的流表数据采样以及后续的攻击检测。
26.此步骤收集交换机的流表内容,其中包括每条流规则的持续时间、累积数据包数和累积字节数,以用于步骤5对恶意流规则的识别。
27.3.流表特征计算。基于当前流表中的流规则信息计算流表特征以表示该流表是否受到慢速流表溢出攻击以及受到攻击的不同阶段。
28.为了对是否发生攻击以及流表的状态进行区分,本方法将流表的状态划分为三个类别,其具体情形和特征表现如下:
29.状态1:当前的网络没有受到慢速流表溢出攻击,流表中规则数目在正常范围内波动,流表的平均包到达间隔时间较小;
30.状态2:当前的网络刚开始受到慢速流表溢出攻击(即在慢速流表溢出攻击的第一阶段),流表中规则数目在波动中逐渐增多,但是没有溢出,流表的平均包到达间隔时间随之逐渐变大;
31.状态3:当前的网络受到的慢速流表溢出攻击已经持续一段时间(即在慢速流表溢出攻击的第二阶段)且流表中规则数目已经达到了流表所能容纳的最大值,即出现了流表溢出;此时流表中恶意流规则的数目基本上不再变化,因此流表的平均包到达间隔时间也基本上停止增长,在一个高于正常间隔的数值附近小范围波动。
32.为了能够更好的在慢速流表溢出攻击刚刚发起,还没有对网络造成严重影响时就及时检测到慢速流表溢出攻击,因此本方法将慢速流表溢出攻击细分为两个阶段。同时在本方法实际运行过程中因为攻击缓解模块会将分类为恶意流的规则驱逐,使得流表长期处于慢速流表溢出攻击的第一阶段,因此将慢速流表溢出攻击划分为两个阶段能够使得对攻击的检测更为精确。
33.图2为两个流表特征在三种网络状态下的分布情况。图中第100秒之前网络是正常的状态1,第100秒时网络受到慢速流表溢出攻击,进入状态2,而第137秒流表已被填满,网络进入状态3。在三种不同的状态中,流表中规则数目和流表的平均包到达间隔时间呈现出不同的分布范围。根据这两个特征值的变化情况可以对流表是否受到慢速流表溢出攻击进行检测,也可以对流表受到慢速流表溢出攻击的阶段进行划分。
34.为了对交换机是否受到慢速流表溢出攻击及受到攻击的不同阶段进行区分,本模块选择了两个流表特征对当前流表的整体状态进行表示,其在不同的流表状态下的变化情况如图1所示。
35.当交换机受到慢速流表溢出攻击时,流表当中的恶意流规则数目逐渐增多,会导致流表当中的流规则数也随之增多,最终出现流表溢出。流表中流规则数反映了流表受到慢速流表溢出攻击后的不良效果,是检测慢速流表溢出攻击最直观的特征。
36.网络中大部分流量都是短流,其包到达时间的间隔都是较短的。为了在刷新恶意流规则的空闲超时的同时使得攻击的流量尽量小,攻击者一般会设置攻击周期尽量接近且小于空闲超时,使得恶意流规则的平均包到达间隔时间大于正常流规则。而当流表当中安装了大量的恶意流规则,整个流表当中的平均包到达间隔时间也会随着恶意流规则的增加而上升,其反映了慢速流表溢出攻击所安装的恶意流规则的周期时长。平均包到达间隔时间均值是流表中每条流规则的包到达间隔时间的均值,其计算方式为流表中流规则的持续时间的均值除以流规则数据包个数的均值。
37.4.攻击检测。当流表占用率介于二级阈值和一级阈值中间时,将步骤3中计算得到的流表特征输入到经过训练的catboost分类模型1,若模型判定当前流表处于状态1则认为其未受到攻击,若判定流表为状态2或状态3则认为流表受到了慢速流表溢出攻击。
38.本方法使用catboost算法作为网络状态分类和恶意流规则识别算法。catboost算法对gbdt算法框架进行了改进,使用了对称决策树作为基分类器,并在选择树结构的阶段采用梯度步长的无偏估计,减轻了梯度偏差造成的过拟合。catboost算法采用改进的ordered boosting算法对抗训练集中的噪声点,解决预测偏移的问题,提高了模型的鲁棒性。
39.5.攻击缓解。根据流表占用率与两级阈值的不同关系以及攻击检测的结果,为了对紧急程度不同的慢速流表溢出攻击作出合适的应对,启动不同的缓解模式对慢速流表溢出攻击进行缓解:恶意流驱逐模式和防止流表溢出模式。
40.对流规则进行分类和排序使用的流规则特征为:累计字节数、平均包到达间隔时
间和平均数据包大小。
41.网络中占多数的短流在流表当中的存在时间都较短,其累计匹配的字节数目都较少。而由于攻击者间歇发送数据包不断刷新恶意流规则的空闲超时,使其在流表中长期存在,则恶意流规则的累计匹配字节数会不断增加。因此流规则的累计字节数可以作为识别恶意流规则的特征。
42.平均包到达间隔时间为每条流规则的持续时间与其数据包个数的比值。
43.平均数据包大小为每条流规则的字节数与其数据包个数的比值。
44.当流表占用率大于一级阈值时,流表即将被填满,此时流表受到攻击的情况比较紧急,此时不再对攻击进行检测,除了需要驱逐被算法判定为恶意的流规则还需要按照比例驱逐一些疑似恶意流规则的规则以防止流表溢出,以保证流表有足够的空间安装新的流规则。
45.若流表占用率高于一级阈值,启动防止流表溢出模式,将流表中的流规则的特征输入到catboost排序模型中,计算每一条流规则属于恶意流规则的概率,将流规则按照概率从高到低进行排序,并选取占流规则总数一定比例的流规则,设置该比例为15%至30%,能够在缓解流表溢出的同时避免删除过多正常流规则。
46.若流规则数介于二级阈值和一级阈值之间,且攻击检测模块判定当前流表受到慢速流表溢出攻击,启动恶意流驱逐模式。此时流表中还有部分剩余的空间,流表受到攻击的情况不紧急,因此在本模式中只驱逐被分类为恶意的流规则。
47.在恶意流驱逐模式中,对于当前流表当中的每一条流规则,本方法选择累计字节数、平均包到达间隔时间和平均数据包大小作为特征,使用在相同网络环境下收集的流表训练好的catboost分类模型2对正常流规则和恶意流规则进行分类,分类标签0代表正常流规则,标签1代表恶意流规则,若catboost分类模型2输出的结果为1,则判定此流规则为恶意流规则并将其从流表中删除。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献