法律状态公告日
法律状态信息
法律状态
2020-07-24
授权
授权
2018-11-02
实质审查的生效 IPC(主分类):H04L29/06 申请日:20180503
实质审查的生效
2018-10-09
公开
公开
技术领域
本发明涉及一种基于软件定义网络的防低速率TCP DoS攻击方法,属于通信领域。
背景技术
“低速率的TCP DoS攻击”的攻击者利用TCP重传超时机制发起DoS攻击,为了发起这样的攻击,攻击者设置周期性的开关“方波”传输流,其峰值传输速率足够大,以至于耗尽网络带宽。受到攻击时,合法的TCP流经历严重的数据包丢失并进入重传超时。如果攻击流量的周期接近重传超时时间,合法的TCP流在尝试从超时中恢复时将面临另一个峰,结果就是,他们将再次遭受严重的数据包丢失,并被迫输入更长的重传超时。循环重复,合法的TCP流量被扼杀到几乎为零的吞吐量。在通常的DoS攻击中,恶意用户通过发送连续的高速率流而导致合法用户被拒绝服务,所以与通常的DoS攻击相比,低速TCP DoS攻击流量的时均带宽利用率很小,甚至远低于总可用带宽。
低速率TCP DoS攻击流的另一个特点是其周期的流量模式与合法的TCP周期性流量类似,例如采用如采用DASH标准的视频流量。尽管流量模式相似,良性TCP周期性流量和低速TCP DoS攻击流量之间的根本区别在于:当数据包丢失时,前者通过进入重传超时而后退,而后者则不会。虽然低速率的TCP DoS攻击已经提出了近十年,但这个问题还没有完全解决。
Sun等人使用信号处理(流量的自相关)来检测拥塞路由器的周期性突发攻击(H.Sun,J.C.S.Lui,and D.K.Y.Yau,“Defending against lowrate tcp attacks:Dynamicdetection and protection,”in IEEE ICNP,2004)。每当检测到攻击时,路由器就会追溯到其上游路由器以查找攻击源,如果拥塞的路由器有多个上游路由器,这样的解决方案可能不起作用,由于它检测到的突发流量包含来自这些上游路由器的聚集流量,因此上游路由器有可能检测不到突发的攻击流量,从而停止追溯过程。
Chang等人为有高丢包率的TCP应用端口分组,分配高优先级来解决这个问题(C.-W.Chang,S.Lee,B.Lin,and J.Wang,“The taming of the shrew:Mitigating low-ratetcp-targeted attack,”IEEE TON,2010.)。但是,如果攻击者将大量的流量发送到特定的受保护端口,造成这个端口的高损失率,这种防御机制就会被打破。
上述两种解决方案都只针对理想的低速率TCP DoS攻击,所以攻击者可以将攻击流量分成多个(即分布式攻击)撕破防御,引发分布式拒绝服务攻击。因此现在继续一种新的防低速率TCP DoS攻击方法。
发明内容
为了解决上述技术问题,本发明提供了一种基于软件定义网络的防低速率TCPDoS攻击方法。
为了达到上述目的,本发明所采用的技术方案是:
基于软件定义网络的防低速率TCP DoS攻击方法,包括,
集中控制器检测每个流量的统一损失率,当统一损失率超过预设值时,该流量识别为攻击流量,集中控制器检测阻止该流量;
集中控制器以一定的概率丢弃对拥堵负责的流量数据包。
统一损失率为流量的损失率和使用率的乘积。
集中控制器丢弃对拥堵负责流量的过程为,
在一个周期内,集中控制器将所有流量分为两组,即高损失率组和低损失率组,上周期损失率与上周期总损失率的比值大于设定阈值的流量被划分到高损失率组,上周期损失率与上周期总损失率的比值不大于设定阈值的流量被划分到低损失率组;
集中控制器以一定的概率丢弃高损失率组中流量数据包;
当路由器中的排队分组数大于设定的阈值时,集中控制器丢弃低损失率组中流量数据包。
高损失率组中,上周期损失率越高,对拥堵的负责越大,丢弃流量数据包概率越大。
上周期损失率大于上周期总损失率一半的流量被划分为高损失率组,上周期损失率不大于上周期总损失率一半的流量被划分为低损失率组。
当前为第一个周期时,上周期损失率和上周期总损失率均为0,并且不对流量进行划分。
本发明所达到的有益效果:本发明通过集中控制器监控所有的流量,进行流量分析,然后指示路由器对不同的流量执行不同的路由和转发策略,根据损失率,丢弃对拥堵负责的流量数据包,不会对良性流量造成任何性能下降,但可以有效地抵御低速TCP DoS攻击和一般DoS攻击。
附图说明
图1为本发明的流程图;
图2为本发明的有效性;
图3为本发明的收敛时间;
图4(a)为本发明抵御普通DoS或DDoS攻击的有效性;
图4(b)为本发明抵御SSTF攻击的有效性。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,基于软件定义网络的防低速率TCP DoS攻击方法,包括以下步骤:
1)集中控制器检测每个流量的统一损失率,当统一损失率超过预设值时,该流量识别为攻击流量,集中控制器检测阻止该流量。
区分合法流量和攻击流量的直接方法是使用损失率,攻击流量的损失率一直很高,而在一些检测期间,一些合法流量的损失率甚至更高。因此,纯粹依靠损失率来检测攻击流量可能会导致错误的检测。因此,这里使用统一损失率,即流量的损失率和使用率的乘积来区分攻击流量和合法流量。每当检测到流量的统一损失率超过预设值A(A的取值需要根据实际情况以及实际需求设定,一般在0.01以上)且其他流量的统一损失率接近于0(当统一损失率不大于阈值B时(B的取值需要根据实际情况以及实际需求设定,一般在0.005以下),则认为其接近0时,集中控制器就会将其识别为攻击流量,并完全阻止其流量。
2)集中控制器以一定的概率丢弃对拥堵负责的流量数据包。
步骤1防御理想的低速率TCP DoS攻击简单而准确,但是需要足够大的统一损失率差距来区分攻击流量和合法流量,寻找这样一个合理的预设值A是困难的,特别是当攻击者分布式攻击,每个攻击流量的使用率将会按百分比降低,统一损失率也会降低,这里采用提前丢包的方法,即在路由器缓冲区耗尽之前有选择性地从拥堵负责的流量中丢弃数据包。
具体过程如下:
A)在一个周期内,集中控制器将所有流量分为两组,即高损失率组和低损失率组;上周期损失率与上周期总损失率的比值大于设定阈值的流量被划分到高损失率组,上周期损失率与上周期总损失率的比值不大于设定阈值的流量被划分到低损失率组;
具体划分如下:上周期损失率大于上周期总损失率一半的流量被划分为高损失率组,上周期损失率不大于上周期总损失率一半的流量被划分为低损失率组;
B)集中控制器以一定的概率丢弃高损失率组中流量数据包;高损失率组中,上周期损失率越高,对拥堵的负责越大,丢弃流量数据包概率越大
C)当路由器中的排队分组数大于设定的阈值时,集中控制器丢弃低损失率组中流量数据包。
当前为第一个周期时,上周期损失率和上周期总损失率均为0,并且不对流量进行划分。
为了进一步说明上述方法,模拟表一中的三种攻击,
表一 三种攻击
上述方法体现的有效性如图2所示,它不会对良性流量造成任何性能下降,但可以有效地抵御低速TCP DoS攻击和一般DoS攻击。在这三种设置下,上述方法都能有效的防御合法的TCP流量被攻击。每个合法流量所达的吞吐量与其原始传输速率几乎相同,三种设置的收敛时间如图3所示。上述方法用于防御普通DoS(DDoS)攻击以及的SSTF防御的有效性分别在图4(a)、图4(b)。
上述通过集中控制器监控所有的流量,进行流量分析,然后指示路由器对不同的流量执行不同的路由和转发策略,根据损失率,丢弃对拥堵负责的流量数据包,不会对良性流量造成任何性能下降,但可以有效地抵御低速TCP DoS攻击和一般DoS攻击。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
机译: 防黑客防火墙系统的防黑客攻击方法
机译: TCPA对称的3向TCP:ATCP基于不对称的3向TCPATCP的计算机可读记录介质和用于后端服务器的设备的用于服务器系统通信的方法
机译: 基于软件定义网络的数据传递方法和使用该方法的软件定义网络控制器