法律状态公告日
法律状态信息
法律状态
2019-09-06
授权
授权
2017-03-01
实质审查的生效 IPC(主分类):H04L29/06 申请日:20160930
实质审查的生效
2017-01-25
公开
公开
技术领域
本发明涉及一种网络攻击防御方法,尤其是涉及一种基于交换机轮换的分布式拒绝服务攻击防御方法。
背景技术
分布式拒绝服务攻击是一种由拒绝服务攻击衍生出的攻击技术。攻击者借助大量受控主机向目标发起攻击,将拒绝服务攻击的一对一攻击方式扩展为多对一,因此危害更大且更难防范。传统网络中DDoS攻击难以消除的根源在其设计缺陷:网络设计的初衷是保证端到端的通信,关注的是通过发送端和接收端来实现QoS(Quality of Service)、稳定传输、安全保证等,导致网络两端很复杂,而网络本身相对简单,仅仅负责数据转发。因此,网络两端的任何一端出现恶意行为,都会给对方造成损害,网络本身不具备流量管理的任务和能力。具体表现在以下四个方面:
(1)网络安全高度依赖性。网络中网元之间安全性高度依赖,因此即使提升受害者系统,但是由于网络中仍然存在其它脆弱节点,DDoS攻击仍然能够成功。解决这个问题,需要建立全网的安全体系,消除“木桶短板”。
(2)网络资源的有限性。网络中的实体,如主机、服务器、带宽等资源均有上限,这也为DDoS攻击提供了攻击基础。
(3)信息和资源的不对等性。传统网络中仅在端节点存储网络的信息、服务等资源,网络本身所获取的信息有限,如局部拓扑等。在这种资源不对等的情形下,攻击者可以在网络“非感知”的前提下,对端节点发送恶意数据包。
(4)责任无法定性。如IP Spoofing攻击使得攻击者可以歪曲攻击行为,无法对该类行为定性,类似的也有反射攻击,如smurf等。
(4)管理的分散性。传统网络的结构、需求等差异使得网络采用分布式管理的方法管控整个网络,网络的行为均受限于局部网络策略,管理分散,无法实现有效的防御。
基于以上四个方面的缺陷,研究人员做了多方面的努力以解决分布式拒绝服务攻击的难题,先后提出不同的防御方法。主要可以分为流量过滤、能力管控、负载迁移三种类型。
基于流量过滤的防御方法在网络中布置大量的过滤器,通过流量过滤阻塞的方式对抗攻击行为。但是该方法是在假设攻击流量与正常流量有明显的区别前提下实现的,在当前普遍利用僵尸网络发动分布式拒绝服务攻击的环境下已经不再适用。
基于能力管控的防御方法改进上述流量过滤的被动性,要求发送方在发送数据之前需要获取接收者的许可,并且不同的发送方会被接收者赋予不同的优先级。这种通过限制接收方访问资源的方法是一种主动防御的方法,但是该方法一方面面临许可伪造的难题,另一方面依赖于网络中路由器的处理能力,受限于底层物理设施的性能。
为突破物理设施的限制,安全人员使用第三方安全转发网络,如Tor和SDN,完成流量检测、过滤以及重定向功能,同时引入冗余服务器降低攻击负载。该方法的核心是通过负载迁移来降低攻击的影响,但是面临更大流量的攻击时,负载迁移能力会出现瓶颈。
上述流量过滤面临误报和漏报不稳定的难题,能力管控也仅仅是将攻击目标迁移到认证服务器上,并未正面解决分布式拒绝服务攻击的问题,而负载迁移存在流量瓶颈。此外,上述方法均未改变防御的静态性,对攻击者而言,静态的防御方法总是可突破或者可绕过的。
为解决上述静态防御的缺陷,研究人员提出了隐藏中间层的防御方法,通过在攻击者和目标之间部署可动态变化的隐藏层来转发攻击流。Wang提出了一种隐藏代理的方法对抗分布式拒绝服务攻击。但是由于隐藏代理的IP地址是固定的,攻击者可以通过刺探等方法获取隐藏代理的地址,使得防御方法失效。并且隐藏层的方法需要对现有网络设备进行第三方升级,开销成本较大。
发明内容
本发明克服了现有技术中,分布式拒绝服务攻击攻击者隔离能力的不足的问题,提供一种利用软件定义网络网络集中控制和动态管理的特性构建OpenFlow交换机轮换模型的基于交换机轮换的分布式拒绝服务攻击防御方法。
本发明的技术解决方案是,提供一种具有以下步骤的基于交换机轮换的分布式拒绝服务攻击防御方法:包括下述步骤:
步骤1)代理层交换机接收到网络数据包,判断网络流量是否产生异常;
步骤2)如果产生未产生异常,则根据数据包头部中的下一条地址由隐藏层交换机进行转发;如果流量产生异常,则执行“步骤3)”;
步骤3)代理层交换机启动交换机轮换引擎,将所有网络流量导入交换机轮换引擎处理;
步骤4)交换机轮换引擎根据“用户-交换机”连接情况进行攻击者数目似然估计;
步骤5)交换机轮换引擎通过交换机轮换过程进行攻击者筛选;
步骤6)如果攻击者已被完全筛选隔离出,则轮换过程结束;如果未被完全筛选出,则继续执行“步骤5)”,直至攻击者完全被筛选隔离出。
所述步骤1)中,代理层交换机负责网络攻击流量检测和交换机轮换过程的执行,改造开源OpenFlow交换机完成代理交换机功能;通过在代理交换机上部署流量检测器来检测瞬时流量的变化,如果瞬时流量变化超过预设的值,则认为网络流量产生了异常。
所述步骤2)中,隐藏层交换机负责合法数据包的转发,隐藏层交换机的IP地址是非公开的,防止攻击者将攻击流定向发送到该交换机中;隐藏层交换机为传统网络或者SDN网络中负责数据转发的路由器或者交换机。
所述步骤3)中,交换机轮换引擎由步骤1)中的代理层交换机组成的交换机池,由SDN控制器根据轮换算法负责调度。
所述步骤4)中,攻击者似然估计是理论估计值,攻击者数目似然估计是根据公式
所述步骤5)中,交换机轮换过程调用的轮换算法是优化后的贪心轮换算法,其子过程的时间复杂度为常数;交换机轮换引擎通过交换机轮换过程,调用交换机轮换算法完成攻击者的筛选隔离。
与现有技术相比,本发明基于交换机轮换的分布式拒绝服务攻击防御方法具有以下优点:1、提出一种基于交换机轮换的动态防御方法,利用软件定义网络网络集中控制和动态管理的特性构建OpenFlow交换机轮换模型,使用贪心算法实现“用户-交换机”连接的动态映射,通过多轮轮换隔离出攻击者,同时对合法用户提供低延迟不间断服务。
2、本发明提出一种OpenFlow交换机的轮换模型,可以实现分布式拒绝服务攻击的防御和定位,可以解决当前方法存在的如下两点不足:(1)当前针对DDoS的防御方法中,普遍采用静态过滤、配置等方法,一方面负载过高,另一方面灵活性较差,面对新型的分布式拒绝服务攻击往往需要全网络和基础硬件的升级;(2)当前的基于包逆向的攻击定位方法无法在防御过程中实现攻击者的定位,并且面临采用僵尸网络发动的攻击时,定位效率太低。
3、本发明基于软件定义网络集中控制和动态管理的特性提出一种服务不间断的分布式拒绝服务攻击防御方法。当前的防御方法在对抗攻击时往往对合法访问造成影响,延迟访问者的网络访问时间,甚至导致服务器重启直接断掉所有访问者的访问。本发明使用控制器控制交换机轮换提供服务,可以实现在被攻击环境下对从攻击流中分离出的合法访问者继续提供服务。
附图说明
图1是本发明基于交换机轮换的分布式拒绝服务攻击防御方法的流程图;
图2是本发明基于交换机轮换的分布式拒绝服务攻击防御方法中交换机轮换引擎工作过程示意图;
图3是本发明基于交换机轮换的分布式拒绝服务攻击防御方法的交换机轮换模型示意图。
具体实施方式
下面结合附图和具体实施方式对本发明基于交换机轮换的分布式拒绝服务攻击防御方法作进一步说明:包括下述步骤:
步骤1)代理层交换机接收到网络数据包,判断网络流量是否产生异常;
步骤2)如果产生未产生异常,则根据数据包头部中的下一条地址由隐藏层交换机进行转发;如果流量产生异常,则执行“步骤3)”;
步骤3)代理层交换机启动交换机轮换引擎,将所有网络流量导入交换机轮换引擎处理;
步骤4)交换机轮换引擎根据“用户-交换机”连接情况进行攻击者数目似然估计;
步骤5)交换机轮换引擎通过交换机轮换过程进行攻击者筛选;
步骤6)如果攻击者已被完全筛选隔离出,则轮换过程结束;如果未被完全筛选出,则继续执行“步骤5)”,直至攻击者完全被筛选隔离出。
所述步骤1)中,代理层交换机负责网络攻击流量检测和交换机轮换过程的执行,改造开源OpenFlow交换机完成代理交换机功能;通过在代理交换机上部署流量检测器来检测瞬时流量的变化,如果瞬时流量变化超过预设的值,则认为网络流量产生了异常。
所述步骤2)中,隐藏层交换机负责合法数据包的转发,隐藏层交换机的IP地址是非公开的,防止攻击者将攻击流定向发送到该交换机中;隐藏层交换机为传统网络或者SDN网络中负责数据转发的路由器或者交换机。
其中所有与代理层交换机相连接的用户均为攻击者,不存在合法流量,如果所有用户均被隔离,则可通过该实施例评估本发明隔离攻击者的能力。
所述步骤3)中,交换机轮换引擎由步骤1)中的代理层交换机组成的交换机池,由SDN控制器根据轮换算法负责调度。
所述步骤4)中,攻击者似然估计是理论估计值,攻击者数目似然估计是根据公式
所述步骤5)中,交换机轮换过程调用的轮换算法是优化后的贪心轮换算法,并未对算法复杂度等进行优化。其子过程的时间复杂度为常数;交换机轮换引擎通过交换机轮换过程,调用交换机轮换算法完成攻击者的筛选隔离。
本发明中对基于贪心算法的轮换引擎进行优化,将时间复杂度由倍数级将为常数级。
参见图1~图2。所述的基于交换机轮换的分布式拒绝服务攻击防御方法,包括:
步骤一:当代理层交换机中流量吞吐率检测器检测到吞吐率超过预设的阈值时,产生网络流量异常的报警信息;
步骤二:在产生异常的代理层交换机中执行相关脚本代码,启动交换机轮换引擎,由轮换引擎筛选隔离出攻击者;
步骤三:查看代理层交换机是否有仍处于被攻击状态的,如果没有则认定攻击者隔离完成,将攻击流重定向到特定目的地址或者丢弃,降低攻击对网络的影响。
下面详细说明步骤一、步骤二、步骤三所包含的相关内容:
(一)步骤一:
代理层交换机检测网络流量异常可以通过在代理交换机上部署流量检测器完成,检测瞬时流量的变化,如果瞬时流量变化超过预设的值,则认为网络流量产生了异常。
(二)步骤二:
1)交换机轮换模型
图3所示为交换机轮换模型图,图中7个用户(User-1至User-7,User-3和User5是潜藏的攻击者)分别通过3个代理交换机(S1,S2,S3)完成数据转发,其中,User-1,2,3由S1转发,User-4,5由S2转发,User-6,7由S3转发。攻击产生时S1和S2处于被攻击状态,控制器启用轮换算法调度其它代理交换机为User-1,2,3,4,5提供服务,进入第一轮轮换,User-1,3,5由S4转发,User-2,4由S5负责转发。此时由于S5连接User-2,4,并且S5未处于被攻击状态,因此可以判定User-2,4不是攻击者,S4仍然处于被攻击状态,因此User-1,3,5均有可能是攻击者。经过下一轮的轮换,User-2,5即可被识别处理。
2)基于贪心算法的交换机轮换算法
Nsum为当前SDN网络中的所有用户数,NA为攻击者总数,Nsu为攻击发生时可疑用户数目,Nsa为一轮洗牌后,被识别为合法用户(saved)的用户数,Nus为一轮洗牌后仍可疑的用户数。可得如下两个等式:Nsum=NA+Nsu和Nsu=Nsa+Nus。目标函数为E(Nsa)表示每轮洗牌中被识别为合法用户的数目的期望值,能使E(Nsa)最大,并且时间复杂度较低的算法即为所求。图3为使用贪心算法实现的交换机轮换算法,算法GreedyShuffle是一个递归算法,调用MaxSwitch()函数得到满足公式
3)交换机轮换算法优化
算法GreedyShuffle是一个递归算法,并且容易得到其时间复杂度Θ(Nsum·NA),当Nsum和NA较大时,复杂度太高,计算量太大。对此,本文使用Stirling近似等式
步骤三:
步骤三的主要任务是判断攻击者隔离是否完全,一方面可以通过代理交换机的检测情况来判定,另一方面可以根据攻击者最大似然估计模型来判定。
本发明使用最大似然估计对攻击者的数目进行预估计。假设所有代理层交换机中未被攻击的交换机数目为X,在攻击产生时,X=m,在一次具体的攻击中,X的值是可知的(通过交换机中部署的流量检测器可以得知该交换机是否被攻击)。可知
根据上述两个公式即可推导出NA的理论值,在步骤三的判断中根据此理论值即可判定攻击者是否被隔离完全。
机译: 分布式拒绝服务攻击防御方法,网关设备,通信设备,分布式拒绝服务攻击防御程序和记录介质
机译: H-IoT一种针对异构物联网的分布式拒绝服务攻击的防御方法及其系统
机译: TCP服务器上基于TCP无状态HOG的分布式拒绝服务攻击的防御方法和装置