CN105871771A - 一种针对ddos网络攻击的sdn网络架构 - Google Patents
一种针对ddos网络攻击的sdn网络架构 Download PDFInfo
- Publication number
- CN105871771A CN105871771A CN201510024334.7A CN201510024334A CN105871771A CN 105871771 A CN105871771 A CN 105871771A CN 201510024334 A CN201510024334 A CN 201510024334A CN 105871771 A CN105871771 A CN 105871771A
- Authority
- CN
- China
- Prior art keywords
- message
- sdn
- sdn controller
- attack
- ids
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种针对DDOS网络攻击的SDN网络架构,本SDN网络架构包括:SDN控制器、IDS决策服务器、流量清洗中心和IDS设备;当IDS设备检测到具有DDoS攻击特征的报文时,即通过SSL信道上报至IDS决策服务器;所述IDS决策服务器根据上报信息,制定出与具有DDoS攻击特征的报文对应的处理策略,然后将该报文通过SDN控制器屏蔽或者将该报文所对应的OF交换机接入端口流量重定向到流量清洗中心进行过滤;同时,通过SDN控制器收集当前SDN链路状态信息,以提供相应的报文发送路径。
Description
技术领域
本发明涉及网络安全领域,特别是涉及一种针对DDOS网络攻击的SDN网络架构。
背景技术
当前,高速广泛连接的网络已经成为现代社会的重要基础设施。然而,随着互联网规模的膨胀,传统规范体系的缺陷也日益呈现出来。
国家计算机网络应急技术处理协调中心(CNCERT/CC)最新发布的报告表明:黑客活动日趋频繁,网站后门、网络钓鱼、Web恶意挂马等攻击事件呈大幅增长趋势,其中,分布式拒绝服务攻击(DistributedDenial of Service,DDoS)仍然是影响互联网运行安全最主要的威胁之一。在过去的几年里,DDoS攻击的数目、大小、类型都大幅上涨。
如何通过SDN架构实现对DDoS攻击的有效防御是本领域的技术难题。
发明内容
本发明的目的是提供一种SDN网络架构,以解决现有网络中大量DDoS攻击所造成的网络安全问题,以实现快速、高效、全面地识别与防御DDoS攻击,并且将威胁处理后与链路发生故障后的网络拓扑变化进行区别,以提供相应的报文发送路径。
为了解决上述技术问题,本发明提供了一种SDN网络架构,包括:SDN控制器、IDS决策服务器、IDS设备和流量清洗中心;当IDS设备检测到具有DDoS攻击特征的报文时,即通过SSL信道上报至IDS决策服务器;所述IDS决策服务器根据上报信息,制定出与具有DDoS攻击特征的报文对应的处理策略,然后将该报文通过SDN控制器屏蔽或者将该报文所对应的OF交换机接入端口流量重定向到流量清洗中心进行过滤;同时,通过SDN控制器收集当前SDN链路状态信息,以提供相应的报文发送路径。
优选的,为了在IDS设备中实现DDoS检测,所述IDS设备内包括:欺骗报文检测模块,对链路层和网际层地址的欺骗行为进行检测;破坏报文检测模块,对网际层和传输层标志位设置的异常行为进行检测;异常报文检测模块,对应用层和传输层泛洪式攻击行为进行检测;通过所述欺骗报文检测模块、破坏报文检测模块、异常报文检测模块依次对报文进行检测;且若检测模块检测出报文存在上述相应行为时,则将该报文转入IDS决策服务器。
优选的,所述IDS决策服务器适于当报文具有欺骗行为,且攻击威胁在OpenFloW域中,则通过SDN控制器屏蔽主机;或当攻击威胁不在OpenFlow域中,则通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤;所述IDS决策服务器还适于当报文具有异常行为,则通过SDN控制器对攻击程序或攻击主机的流量进行屏蔽;以及当报文具有泛洪式攻击行为,则所述IDS决策服务器适于通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤。
优选的,所述SDN控制器包括:路径备份单元,用于根据SDN网络拓扑和各链路开销计算主路径的备份路径;标志位分配单元,用于为各备份路径分配用于标记备份路径的标志位;流表下发单元,用于根据备份路径和对应标志位向该备份路径上各OF交换机下发流表项;所述SDN控制器适于在SDN网络拓扑改变后,根据SDN网络拓扑改变的原因,确认报文下发路径;即,当SDN控制器DDOS威胁处理后,将报文通过最优路径下发报文,或判断主路径发生故障后,报文匹配所述流表项通过备份路径进行转发。
优选的,建立主机″征信机制″,即所述SDN控制器内设一屏蔽计时模块和屏蔽计数器;所述屏蔽计时模块内设有屏蔽时间,该屏蔽时间适于限定屏蔽攻击主机时间;所述屏蔽计数器设有一屏蔽阈值,适于当攻击主机屏蔽次数超过该屏蔽阈值时,永久屏蔽该攻击主机。
本发明的有益效果:(1)本发明将DDoS威胁过滤技术与路由优化技术融合,在进行监测、屏蔽DDOS攻击时,并不会造成数据的拥堵,并且通过将监测和威胁处理分开,有效的减轻了控制层面的负担,保证了网络更安全、高校的运行;(2)本发明使得传统网络体系架构下无法对地址伪造DDoS攻击进行识别与溯源的难题从根本上得到了解决;在网络中存在DDoS攻击或正常大流量业务的情况下,SDN控制器可基于对链路剩余带宽等网络参数的实时感知,实现对正常流量的路由优化,大幅提升用户的体验;(3)本发明的处理架构采用可扩展的模块化设计,实现了对DDoS威胁的高效检测和灵活处理;(4)各模块获取数据包信息采用独立的接口设计,降低了模块间的耦合关联性;(5)各模块使用优化的程序数据结构,细致分割各处理子流程,提升了模块的高内聚特性;(6)本发明还对网路链路的改变加以区别对待,即,若当SDN控制器威胁处理后,将报文通过最优路径下发报文,或判断主路径发生故障后,报文匹配所述流表项通过备份路径进行转发,有效的避免了因交换机故障时流量数据丢失。
附图说明
为了使本发明的内容更容易被清楚的理解,下面根据的具体实施例并结合附图,对本发明作进一步详细的说明,其中
图1示出了本发明的SDN网络架构的结构框图;
图2示出了IDS设备的原理框图;
图3示出了欺骗报文检测模块的工作流程图;
图4示出了破坏报文检测模块的工作流程图;
图5示出了UDP Floodling的检测流程图;
图6示出了ICMP Floodling的检测流程图;
图7示出了分布式DDoS威胁监测的方法的流程框图;
图8示出了实验场景的具体部署的拓扑图;
图9(a)示出了未使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线图;
图9(b)示出了使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线图;
图10示出了平均传输速率对比图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明了,下面结合具体实施方式并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在软件定义网络(Software Defined Network,SDN)架构中,当一个报文(Packet)到达OF交换机的时候,首先对OF交换机中所带的流表进行匹配。如果匹配成功,就按照流表指定的动作执行转发规则。如果匹配失败,则OF交换机将该报文封装在PacketIn消息中发送给SDN控制器,并且OF交换机将此报文存在本地缓存中。等待SDN控制器作出决策,如何处理此报文。
网络中有很多主机,则需要建立一张针对网络中所有主机为键的哈希表,称之为″违规次数哈希表组″,其包括:适于对欺骗报文进行计数的第一哈希表,适于对破坏报文进行计数的第二哈希表,适于对泛洪式攻击进行计数的第三哈希表。记录对应主机的违规次数,也就是主机的诚信度。
网络中的数据包是实时的,所以需要建立一种单位时间内的威胁报文计数的哈希表,并且每个主机对应一个哈希表中的一个键,对应的键值是记录的单位时间内对应键的主机发送的威胁数据包的个数。此类哈希表在单位时间″时间片″开始时候必须将哈希表内所有键对应的键值置0;且每种检测的报文都需要有这样的一张表,就比如说检测了100种报文,就需要有100个此类的哈希表。
而且,每个哈希表必须有一个对应的阈值。哈希表中只要一有主机在相应值中累加计数。计数后检查该值是否超过设定的阈值。如果超过相应的阈值,则在违规次数哈希表对应记录中的键值计数。
在上述发明原理的基础上,本实施例的具体实施过程如下。
实施例1
图1示出了本发明的SDN网络架构的结构框图。
如图1所示,本发明的SDN网络架构,包括:SDN控制器、IDS决策服务器、IDS设备(即入侵检测设备)和流量清洗中心;当IDS设备检测到具有DDoS攻击特征的报文时,即通过SSL信道上报至IDS决策服务器;所述IDS决策服务器根据上报信息,制定出与具有DDoS攻击特征的报文对应的处理策略,然后将该报文通过SDN控制器屏蔽或者将该报文所对应的OF交换机接入端口流量重定向到流量清洗中心进行过滤;同时,通过SDN控制器收集当前SDN链路状态信息,以提供相应的报文发送路径。
其中,DDoS攻击特征定义为:对链路层和网际层地址的欺骗行为、对网际层和传输层标志位设置的异常行为,以及对应用层和传输层泛洪式攻击行为。
图2示出了IDS设备的原理框图。
如图2所示,进一步,所述IDS设备内包括:
欺骗报文检测模块,对链路层和网际层地址的欺骗行为进行检测。
破坏报文检测模块,对网际层和传输层标志位设置的异常行为进行检测。
异常报文检测模块,对应用层和传输层泛洪式攻击行为进行检测。
通过所述欺骗报文检测模块、破坏报文检测模块、异常报文检测模块依次对报文进行检测;且若检测模块检测出报文存在上述相应行为时,则将该报文转入IDS决策服务器。
进一步,所述IDS决策服务器适于当报文具有欺骗行为,且攻击威胁在OpenFloW域中,则通过SDN控制器屏蔽主机;或当攻击威胁不在OpenFlow域中,则通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤;所述IDS决策服务器还适于当报文具有异常行为,则通过SDN控制器对攻击程序或攻击主机的流量进行屏蔽;以及当报文具有泛洪式攻击行为,则所述IDS决策服务器适于通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤。
本发明采用从欺骗报文检测模块到破坏报文检测模块,再到异常报文检测模块依次检测的顺序,其中,各模块获取数据包信息采用独立的接口设计,降低了模块间的耦合关联性;并且各模块使用优化的程序数据结构,细致分割各处理子流程,提升了模块的高内聚特性。这种检测顺序提高了对报文数据的检测效率,以及降低了漏检率。
图3示出了欺骗报文检测模块的工作流程图。
如图3所示,通过所述欺骗报文检测模块调用网络设备信息绑定表,并在所述IDS决策服务器中构建单位时间内的适于对报文欺骗行为进行计数的第一哈希表,以及设定该第一哈希表中的第一阀值;所述欺骗报文检测模块,将封装在Packet-In消息中的报文的类型进行解析,以获得相应的源、目的IP地址、MAC地址以及上传Packet-In消息的OF交换机DPID号和端口号信息,并将各信息分别与网络设备信息绑定表中的相应信息进行比对;若报文中的上述信息匹配,则将报文转入破坏报文检测模块;若报文中的上述信息不匹配,则转入所述IDS决策服务器,对报文进行丢弃,并同时对欺骗行为进行计数,当该计数值超过第一阀值时,屏蔽发送该报文的程序和/或主机。
具体的,所述欺骗报文检测模块用于对报文进行第一次判断,即判断报文是否是IP欺骗攻击报文、端口欺骗攻击报文或MAC欺骗攻击报文。
具体步骤包括:首先在以太网帧中解析出源、目的MAC地址和OF交换机入口,然后根据不同的报文类型解析出不同的报文。当报文类型为IP、ARP、RARP时,则解析出相应的源、目的IP地址然后将这些信息对网络设备信息绑定表中的信息进行查表匹配,如果匹配到相应的信息,则交给破坏报文检测模块处理。若不匹配,则将该报文转入IDS决策服务器处理;并同时对欺骗行为进行累加计数,当该计数值超过第一阀值时,屏蔽发送该报文的程序和/或主机。
Floodlight中有一个设备管理器模块DeviceManagerImpl,当一个设备在网络中移动设备的时候跟踪设备,并且根据新流定义设备。
设备管理器从PacketIn请求中得知设备,并从PacketIn报文中获取设备网络参数信息(源、目的IP、MAC、VLAN等信息),通过实体分类器将设备进行区分为OF交换机或主机。默认情况下实体分类器使用MAC地址和/或VLAN表示一个设备,这两个属性可以唯一的标识一个设备。另外一个重要的信息是设备的安装点(OF交换机的DPID号和端口号)(,在一个openflow区域中,一个设备只能有一个安装点,在这里openflow区域指的是和同一个Floodlight实例相连的多个OF交换机的集合。设备管理器也为IP地址、安装点、设备设置了过期时间,最后一次时间戳作为判断它们是否过期的依据。)
故网络设备信息绑定表模块里面只需调用DeviceManagerImpl模块提供的IDeviceService即可,同时向该服务添加IDeviceListener的监听接口即可。
其中IDeviceListener提供的监听接口有:
接口名 | 功能 |
public void deviceAdded(IDevice device) | 主机添加响应 |
public void deviceRemoved(IDevice device) | 主机移除响应 |
public void deviceMoved(IDevice device) | 主机移动响应 |
public void deviceIPV4AddrChanged(IDevice device) | 主机IP地址改变响应 |
public void deviceVlanChanged(IDevice device) | 主机VLAN改变响应 |
服务提供者:IFloodlightProviderService,IDeviceService
依赖接口:IFloodlightModule,IDeviceListener
表内的记录根据OF交换机的高低电平触发机制(网线拔出触发PortDown的低电平,网线拔入触发Port Up的高电平)可以实时刷新绑定表中的记录。
传统的DDoS攻击无法触及、修改Switch DPID和Switch Port的信息,利用此优势,可以更加灵活的检测欺骗攻击。
图4示出了破坏报文检测模块的工作流程图。
如图4所示,在所述IDS决策服务器中构建单位时间内的适于对报文的标志位设置异常行为进行计数的第二哈希表,以及设定该第二哈希表中的第二阀值;所述破坏报文检测模块对报文的各标志位进行检测,以判断各标志位是否符合TCP/IP协议规范;若报文的各标志位符合,则将报文转入异常报文检测模块;若报文的各标志位不符合,则转入所述IDS决策服务器,对报文进行丢弃,并同时对标志位设置异常行为进行计数,当该计数值超过第二阀值时,屏蔽发送该报文的程序和/或主机。
具体的,所述破坏报文检测模块,用于对报文进行第二次判断,即判断报文是否为具有恶意标志位特征的攻击报文。其中,具有恶意标志位特征的攻击报文包括但不限于IP攻击报文、TCP攻击报文。实施步骤包括:对IP攻击报文及其中的TCP/UDP攻击报文实现各个报文的标志位的检测,即识别各标志位是否符合TCP/IP协议规范。如果符合的话,就直接交由异常数报文检测模块处理。若不符合,则判断为攻击报文,转入IDS决策服务器处理。
以Tear Drop等典型攻击为列,在IP包头中有一个偏移字段和一个分片标志(MF),若攻击者把偏移字段设置成不正确的值,IP分片报文就会出现重合或断开的情况,目标机系统就会崩溃。
在IP报文头中,有一协议字段,该字段指明了该IP报文承载了何种协议。该字段的值是小于100的,如果攻击者向目标机发送大量的带大于100的协议字段的IP报文,目标机系统中的协议栈就会受到破坏,形成攻击。
故在破坏报文检测模块中,首先提取出报文的各标志位,然后检查是否正常。
如果正常,则交给后续模块处理。
如果不正常,则丢弃该数据包,并对相应哈希表计数器计数。如果单位时间内计数器超过设定的所述第二阀值时,则调用IDS决策服务器对相应的程序进行屏蔽和/或直接屏蔽相应的主机。
通过欺骗报文检测模块的数据包滤除之后,后续的破坏报文检测模块所处理的数据包中的地址都是真实的。这样,有效的避免了目标机收到了破坏报文,可能直接导致目标机的协议栈崩溃,甚至目标机直接崩溃。
破坏报文检测模块的处理功能与欺骗报文检测处理流程大致相似,区别在于破坏报文检测模块解析出的是各个报文的标志位,然后检测各个标志位是否正常。
如果正常的话,就直接给后续的异常报文检测模块处理。
如果不正常,则丢弃该数据包,并且对主机应用征信机制相应的哈希表内计数器计数。如果超过设定的阀值,则屏蔽相应的攻击程序或者直接屏蔽攻击主机。
在所述异常报文检测模块构建用于识别泛洪式攻击报文的哈希表,在所述IDS决策服务器中构建单位时间内的适于对泛洪式攻击行为进行计数的第三哈希表,以及设定该第三哈希表中的第三阀值;所述异常报文检测模块,适于根据所述哈希表中设定的阀值判断所述报文是否具有攻击行为;若无攻击行为,则将数据下发;若具有攻击行为,则转入所述IDS决策服务器,对报文进行丢弃,并同时对攻击行为进行计数,当计数值超过第三阀值时,屏蔽发送该报文的程序和/或主机。
具体的,所述异常报文检测模块,用于对报文进行第三次判断,即判断报文是否是泛洪式攻击报文。
具体步骤包括:利用对构建的识别泛洪式攻击报文的对哈希表内的相应记录进行累加,并检测是否超过阈值,以判断是否是泛洪式攻击报文。
经过上述欺骗报文检测模块、破坏报文检测模块两个模块的滤除,后续模块处理的数据包基本属于正常情况下的数据包。然而,正常情况下,也会有DDoS攻击产生,在现有技术中,一般仅进行欺骗报文检测模块、破坏报文检测模块,而在本技术方案中,能尽可能的避免DDoS攻击。
以下实施例为针对在进行欺骗报文检测模块、破坏报文检测模块过滤后,再通过异常报文检测模块屏蔽DDoS攻击的具体实施方式。该实施方式以UDP Flooding和ICMP Flooding为例。
图5示出了UDP Floodling的检测流程图。
关于UDP Floodling,如图5所示,利用UDP协议无需建立连接的机制,向目标机发送大量UDP报文。目标机会花费大量的时间处理UDP报文,这些UDP攻击报文不但会使存放UDP报文的缓存溢出,而且也会占用大量的网络带宽,目标机无法(或很少)接收到合法的UDP报文。
由于不同的主机向单一主机发送大量UDP数据包,所以肯定会有UDP端口占用的情况,所以本技术方案可以接收到一个ICMP的端口不可达包。
所以本技术方案可以对所有主机建立一个哈希表,专门用来存放单位时间内收到ICMP端口不可达数据包的次数。如果超过设定的阀值,则直接屏蔽相应的攻击程序。
图6示出了ICMP Floodling的检测流程图。
关于ICMP Floodling,如图6所示,对于ICMP Flooding直接进行单位时间内计数。如果超过相应的阀值,则直接对相应主机进行相应屏蔽,该方法虽然简单,但是直接有效。
因此,异常报文检测模块,如果检测到的报文类型是异常报文检测类型,则进行相应的计数器检测是否超过阈值,如果没有超过阈值,也可对该数据包通过最优的路由策略下发。如果超过了阈值,则屏蔽相应的攻击程序,或直接对相应主机进行相应屏蔽。
所述欺骗报文检测模块、破坏报文检测模块和异常报文检测模块中模块判断所述报文为上述攻击报文时,则将该攻击报文转入IDS决策服务器,即,丢弃所述报文,并屏蔽发送该报文的程序和/或主机。
当″欺骗报文检测模块″、″破坏报文检测模块″和″异常报文检测模块″需要丢弃数据包或者需要屏蔽威胁主机的时候。直接调用IDS决策服务器进行相应的威胁处理操作。
所述IDS决策服务器的具体的实施步骤包括:
丢弃所述报文,即丢弃数据包的步骤包括如下:
OF交换机(OF交换机)在未匹配到相应的流表情况下,会将该数据包封装在Packet In消息中,同时OF交换机会将此数据包存在本地的缓存中,数据包存放在缓存中,有一个缓存区ID号,这个ID号也会封装在Packet In消息的buffer_id中,通过Packet out的形式,同时Packetout消息内的buffer_id填写要丢弃的数据包的缓存区ID(对应的PacketIn消息中的buffer_id)。
屏蔽主机的步骤包括如下:
OpenFloW协议流表结构如下:
包头域 | 计数器 | 动作 |
其中包头域的结构为:
IDS决策服务器中包括对应用程序进行屏蔽的步骤包括如下:
在流表的包头域中填写相应匹配字段,并且通过设置Wildcards屏蔽字段,来获取屏蔽攻击程序或主机信息。其中,如需屏蔽攻击程序,则在流表包头域中填写下列匹配字段:IP、MAC、VLAN、Swtich DPID、Swtich Port、协议类型及其端口号等。如需屏蔽主机,则在流表包头域中填写:IP、MAC、VLAN、Swtich DPID、Swtich Port等匹配字段。将流表动作列表置空,实现攻击程序/主机的数据包丢弃。调用各哈希表中的记录值,计算出流表超时自动删除时间。下发流表屏蔽程序或主机。
因此,本技术方案可有效识别并滤除攻击包。
优选的,所述SDN控制器内设一屏蔽计时模块和屏蔽计数器;所述屏蔽计时模块内设有屏蔽时间,该屏蔽时间适于限定屏蔽攻击主机时间;所述屏蔽计数器设有一屏蔽阈值,适于当攻击主机屏蔽次数超过该屏蔽阈值时,永久屏蔽该攻击主机。
可选的,正常报文也可以通过实时最优路由策略的下发。
最优路由策略的步骤如下:
首先进入向SDN控制器的拓扑接口(API)提交获取请求,以获取全网拓扑,再通过获取的全网链路状态计算出全网链路剩余带宽。
所述实时最优路径的计算,算法采用经典的Dijkstra算法,算法的权值改为上一步获取的全网链路剩余带宽的倒数,以保证计算出的路径是最通畅,传输时延最小的路径。最后,将计算出的最优路径转换成由流表组成的实时最优路径策略,下发。
步骤S1,使用的是拓扑接口,所述SDN控制器自带的API接口,使用LLDP(链路层发现协议)和广播包发现链路,然后SDN控制器自动计算出网络拓扑。
步骤S2,SDN控制器的拓扑接口向″实时最优路径计算模块″的″全网拓扑获取模块″拓扑获取请求的反馈。
步骤S3中,″全网链路状态获取模块″向″OF交换机查询接口模块″提出请求,获取全网链路状态。其中,″OF交换机查询接口模块″是在SDN控制器自带的″OF交换机特性查询模块″和″OF交换机状态查询模块″基础上拓展而来,实现了链路剩余带宽的计算及查询功能。
然后,″OF交换机查询模块″通过步骤S4向网络中所有OF交换机发送OF交换机特性请求的广播包。再通过步骤S5来接收来自网络中OF交换机特性反馈的报文,解析出报文里面的curr字段,得到每个OF交换机端口当前带宽B。
接下来,该模块通过步骤S6向网络中所有OF交换机发送OF交换机状态请求的广播包,包括端口发送包数、端口发送字节数、端口接收字节数、端口接收包数等报文状态。接着,该模块通过步骤S7接收来自网络中OF交换机状态反馈的报文,解析出tx_bytes字段,得到发送字节数N1,获取当前时间t1。
接下来,该模块通过步骤S8向网络中所有OF交换机发送OF交换机状态请求的广播包,接着,该模块通过S9接收来自网络中OF交换机状态反馈的报文,计时停止,获取当前时间t2。解析出tx_bytes字段,得到发送字节数N2。
则可以计算出当前端口剩余带宽为:B-(N2-N1)/(t2-t1)。
然后,再利用获取的网络拓扑进行每条链路的剩余带宽计算:
若是OF交换机与OF交换机之间的连接,则获取该条链路两端的OF交换机端口的剩余带宽,该链路的剩余带宽为两个端口剩余带宽中的较小者。
如果是主机与OF交换机之间的连接,则获取连接主机的OF交换机端口的剩余带宽,该条链路剩余带宽即为连接该主机的OF交换机端口剩余带宽。
步骤S4,SDN控制器以广播的形式向全网所有OF交换机发送Feature Request消息。
步骤S5,SDN控制器接收来自网络中OF交换机反馈给SDN控制器的Feature Reply消息。
步骤S6,SDN控制器以广播的形式向全网所有OF交换机发送Stats Request消息。
步骤S7,SDN控制器接收来自网络中OF交换机反馈给SDN控制器的Stats Reply消息。
步骤S8,SDN控制器以广播的形式向全网所有OF交换机发送Stats Request消息。
步骤S9,SDN控制器接收来自网络中OF交换机反馈给SDN控制器的Stats Reply消息。
步骤S10,OF交换机查询接口将计算出的链路剩余带宽信息反馈给″全网链路状态获取模块″。
步骤S11,路由策略下发模块计算出的实时最优路由策略,将计算出的流表通过步骤S12来下发给相关的OF交换机。
步骤S12,该接口是SDN控制器自带的API接口,用于下发计算出的最优路由策略。
过所述最优路径策略是在防御DDOS攻击的同时,网络的平均传输延时并没有激增。
所述SDN控制器包括:路径备份单元,用于根据SDN网络拓扑和各链路开销计算主路径的备份路径;标志位分配单元,用于为各备份路径分配用于标记备份路径的标志位;流表下发单元,用于根据备份路径和对应标志位向该备份路径上各OF交换机下发流表项;所述SDN控制器适于在SDN网络拓扑改变后,根据SDN网络拓扑改变的原因,确认报文下发路径;即,当SDN控制器DDoS威胁处理后,将报文通过最优路径下发报文,或判断主路径发生故障后,报文匹配所述流表项通过备份路径进行转发。具体的,可以在SDN控制器的OpenFloW域中获取端口是否出现问题,进而实现判断SDN网络拓扑改变的原因。
本发明的SDN网络架构的工作方法,以通过检测和集中式的处理,有效的减轻了SDN控制器的工作负担,提高了检测效率和数据传输率,并且通过收集SDN链路状态信息以避免链路发生故障时,流量丢失。
本发明的SDN网络架构的工作方法,包括如下步骤:步骤S100,网络初始化;步骤S200,分布式DDoS威胁监测和/或收集SDN链路状态信息;以及步骤S300,威胁处理和/或数据下发。
进一步,所述步骤S100中网络初始化所涉及的装置包括:SDN控制器、IDS决策服务器和IDS设备;网络初始化的步骤如下:步骤S101,所述IDS决策服务器与IDS设备建立专用的SSL信道;步骤S102,所述SDN控制器构建网络设备信息绑定表,并且将网络设备信息绑定表实时更新到IDS设备中;步骤S104,所述SDN控制器下发镜像策略的流表,即将OF交换机所有拖载有主机的端口流量镜像转发给所述IDS设备;以及步骤S105,所述SDN控制器下发DDoS威胁识别规则给每个网域中对应的IDS设备。
所述步骤S200中分布式DDoS威胁监测的方法包括:依次对链路层和网际层地址的欺骗行为,网际层和传输层标志位设置异常行为,以及应用层和传输层的泛洪式攻击行为进行检测;若上述过程中检测判断出报文存在相应行为时,则将该报文转入步骤S300。
图9示出了分布式DDoS威胁监测的方法的流程框图。
如图9所示,具体的实施步骤包括:
步骤S210,对链路层和网际层地址的欺骗行为进行检测。
步骤S220,对网际层和传输层标志位设置的异常行为进行检测。
步骤S230,对应用层和传输层的泛洪式攻击行为进行检测。
步骤S240若将报文依次通过所述步骤S210、步骤S220、步骤S230后,步骤判断出报文存在欺骗、异常、攻击行为时,则将所述报文转入步骤S300。
所述步骤S210中对链路层和网际层地址的欺骗行为进行检测的方法包括如下步骤:步骤S211,通过欺骗报文检测模块调用网络设备信息绑定表;步骤S212,通过欺骗报文检测模块将封装在Packet-In消息中报文的类型进行解析,以获得相应的源、目的IP地址、MAC地址以及上传此Packet-In消息的OF交换机的DPID号和端口号,并将上述各信息分别与网络设备信息绑定表中的相应信息进行比对;若报文中的上述信息匹配,则将报文转入步骤S220;若报文中的上述信息不匹配,则将报文转入步骤S300。
所述步骤S220中对网际层和传输层标志位设置异常行为进行检测的方法包括:对报文的各标志位进行检测,以判断各标志位是否符合TCP/IP协议规范;若报文的各标志位符合,则将报文转入S230;若报文的各标志位不符合,则将报文转入步骤S300。
所述步骤S230中对应用层和传输层的泛洪式攻击行为进行检测的方法包括如下步骤:步骤S231,在异常报文检测模块构建用于识别泛洪式攻击报文的哈希表;步骤S232,通过异常报文检测模块根据所述哈希表中设定的阀值判断所述报文是否为泛洪式攻击报文,且将判断结果转入步骤S300,即若无攻击行为,则将数据正常下发或通过上述最优路径策略下发;若具有攻击行为,则采取相应的屏蔽措施。
其中,收集SDN链路状态信息的方法包括:用于根据SDN网络拓扑和各链路开销计算主路径的备份路径;用于为各备份路径分配用于标记备份路径的标志位;用于根据备份路径和对应标志位向该备份路径上各OF交换机下发流表项。
所述步骤S300中威胁处理的方法包括:
若报文具有欺骗行为,且攻击威胁在OpenFlow域中,则所述IDS决策服务器适于通过SDN控制器屏蔽主机;以及当攻击威胁不在OpenFlow域中,则通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤;若报文具有异常行为,则所述IDS决策服务器通过SDN控制器对攻击程序或攻击主机的流量进行屏蔽;具体的实施步骤包括:针对破坏报文攻击,由于IDS设备当前处理的报文通过了欺骗报文检测,所以该报文地址是真实的。IDS决策服务器只需通过SDN控制器的北向接口下发动作为Drop的流表将攻击程序或攻击主机的流量屏蔽。但这都只是粗粒度的决策,只适用于攻击包少量的破坏报文攻击。
若报文具有泛洪式攻击行为,则所述IDS决策服务器通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤;可选的,流量清洗中心的安全设备也可以将防护的结果反馈给SDN控制器,调整网络策略,实现SDN网络以及混合有传统网络情况下的多维防护;在屏蔽攻击主机后,设定屏蔽时间和屏蔽阈值,该屏蔽时间适于限定屏蔽攻击主机时间;以及当攻击主机屏蔽次数超过所述屏蔽阈值时,永久屏蔽该攻击主机。
进一步,根据链路负载系数计算出优化路径,即检测两相邻节点的链路剩余带宽,获得该链路的负载系数,在根据该负载系数和初始化的网络拓扑图获得任意两点的最优路径,所述SDN控制器根据该最优路径得出对应的转发流表并下发各OF交换机。
优化路径的具体算法流程如下:
设rn,(n+1)为两相邻节点的链路剩余带宽,则其链路负载系数为:
/*由SDN控制器计算出链路负载系数*/U(a,b)为任意两点间的负载系数和:
设初始网络拓扑图为G0,计算任意两点间的最优路径,
所述IDS决策服务器屏蔽发送报文的程序和/或主机的方法包括:
首先,构建计数用的相应哈希表及设定相应阈值,即单位时间内,所述IDS决策服务器中构建对欺骗行为进行计数的第一哈希表,标志位设置异常行为进行计数的第二哈希表,以及对泛洪式攻击行为进行计数的第三哈希表;同时设定第一、第二、第三哈希表中的第一、第二、第三阀值;其次,屏蔽发送该报文的程序和/或主机,即针对转入IDS决策服务器的报文的行为,利用相应哈希表进行计数,当计数值超过相应阀值时,屏蔽发送该报文的程序和/或主机。
所述步骤S300中数据下发的方法包括:根据SDN网络拓扑改变的原因,确认报文下发路径;即,当SDN控制器威胁处理后,将报文通过最优路径下发报文,或判断主路径发生故障后,报文匹配所述流表项通过备份路径进行转发。
实施例2
本发明的SDN架构可以定义SDNQA(SDN CommunicationQuality Assurance Strategy)即SDN通信质量保障策略。
本发明的SDN架构的测试环境和测试内容如下:
基于Open Flow 1.3协议,测试装有DDoS威胁过滤与通信质量保障组件的FloodlightSDN控制器、OF交换机、IDS设备以及IDS决策服务器之间的通信。
测试IDS设备是否能够实时监测网络中的异常攻击流量,并且通过SSL信道上报IDS决策服务器。
测试IDS决策服务器是否能够根据IDS设备上报的信息,制定出处理对应攻击威胁的策略,并通过SDN控制器的北向接口下发。
测试SDN控制器是否能够根据网络实时状况,生成并下发实时优化的转发路径。
图8示出了实验场景的具体部署的拓扑图。
实验场景的具体部署如图8所示。中间为基础网络区域,有两个虚网。其中虚网A部署了本SDNQA系统,而虚网B尚未部署,并且各虚网中都存在若干DDoS攻击傀儡机。右侧为实验效果对比区域,包括一台Web服务器和两台用户主机,其中Web服务器上运行Tomcat对外提供Web服务,用户主机A、B分别是接入虚网A、B的主机。左侧为攻击模拟区域,有一台DDoS攻击机,攻击机将作为主控机控制虚网A和虚网B中的傀儡机对Web服务器发起混合式的DDoS攻击。
基于上述实验环境,从两方面对SDNQA架构的性能进行验证:(1)对比混合式的DDoS攻击下Web服务器端所承受的攻击频率;(2)对比泛洪式攻击所造成的网络平均传输延迟。
实验结果及分析如图9(a)和图9(b)所示。
图9(a)为未使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线图。
图9(b)为使用本发明的SDN架构的Web服务器所承受的攻击频率的曲线图。
首先,对Web服务器端流量流入情况进行分析。攻击机控制各虚网中的傀儡机同时对Web服务器发起混合式的DDoS攻击,其最高频率为55Hz,攻击时长为100秒。截取Web服务器所有的数据包序列,并分离出各虚网的请求序列分别得出虚网A和虚网B所流入服务器的请求序列,Web服务器所承受的攻击频率对比如图9(a)和图9(b)所示。
图10为平均传输速率对比图。
从图10可以看出,本发明的SDN架构在0s~5s时间段内快速识别了典型的DDoS攻击,并在0s~40s的时间段内采取了过滤防护措施。在40s之后,网络流量趋于正常,测试用户主机A一直可正常得到网页请求响应。而未部署SDNQA系统的虚网B中一直有大量的攻击流量流入,测试用户主机B无法得到网页请求响应。
其次,从之前截取的数据包序列中提取出测试用户主机A和测试用户主机B的请求序列,从各请求序列中统计数据包的平均传输的延迟时间,得出两个虚网的平均传输延时对比如图9(a)和图9(b)所示。
从图10中可以看出,经过路由优化,虚网A的平均传输延迟没有随着数据量的增大而激增。由此可见,SDNQA架构能够基于对网络实时状况的感知,对流转发路径进行优化,从而在网络中存在DDoS攻击或正常大流量业务的情况下保证网络数据传输。
Claims (4)
1.一种SDN网络架构,其特征在于,包括:SDN控制器、IDS决策服务器、流量清洗中心和IDS设备;
当IDS设备检测到具有DDoS攻击特征的报文时,即通过SSL信道上报至IDS决策服务器;
所述IDS决策服务器根据上报信息,制定出与具有DDoS攻击特征的报文对应的处理策略,然后将该报文通过SDN控制器屏蔽或者将该报文所对应的OF交换机接入端口流量重定向到流量清洗中心进行过滤;同时,通过SDN控制器收集当前SDN链路状态信息,以提供相应的报文发送路径。
2.根据权利要求1所述的SDN网络架构,其特征在于,所述IDS设备内包括:
欺骗报文检测模块,对链路层和网际层地址的欺骗行为进行检测;
破坏报文检测模块,对网际层和传输层标志位设置的异常行为进行检测;
异常报文检测模块,对应用层和传输层泛洪式攻击行为进行检测;
通过所述欺骗报文检测模块、破坏报文检测模块、异常报文检测模块依次对报文进行检测;且若检测模块检测出报文存在上述相应行为时,则将该报文转入IDS决策服务器;
所述IDS决策服务器适于当报文具有欺骗行为,且攻击威胁在OpenFlow域中,则通过SDN控制器屏蔽主机;或当攻击威胁不在OpenFlow域中,则通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤;
所述IDS决策服务器还适于当报文具有异常行为,则通过SDN控制器对攻击程序或攻击主机的流量进行屏蔽;以及
当报文具有泛洪式攻击行为,则所述IDS决策服务器适于通过SDN控制器将该报文所对应的OF交换机接入端口流量重定向至流量清洗中心进行过滤。
3.根据权利要求2所述的SDN网络架构,其特征在于,所述SDN控制器包括:
路径备份单元,用于根据SDN
网络拓扑和各链路开销计算主路径的备份路径;
标志位分配单元,用于为各备份路径分配用于标记备份路径的标志位;
流表下发单元,用于根据备份路径和对应标志位向该备份路径上各 OF交换机下发流表项;
所述SDN控制器还适于在SDN 网络拓扑改变后,根据SDN 网络拓扑改变的原因,确认报文下发路径;即,当SDN控制器DDOS威胁处理后,将报文通过最优路径下发报文,或判断主路径发生故障后,报文匹配所述流表项通过备份路径进行转发。
4.根据权利要求3所述的SDN网络架构,其特征在于,所述SDN控制器内设一屏蔽计时模块和屏蔽计数器;所述屏蔽计时模块内设有屏蔽时间,该屏蔽时间适于限定屏蔽攻击主机时间;所述屏蔽计数器设有一屏蔽阈值,适于当攻击主机屏蔽次数超过该屏蔽阈值时,永久屏蔽该攻击主机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510024334.7A CN105871771A (zh) | 2015-01-18 | 2015-01-18 | 一种针对ddos网络攻击的sdn网络架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510024334.7A CN105871771A (zh) | 2015-01-18 | 2015-01-18 | 一种针对ddos网络攻击的sdn网络架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN105871771A true CN105871771A (zh) | 2016-08-17 |
Family
ID=56622834
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510024334.7A Pending CN105871771A (zh) | 2015-01-18 | 2015-01-18 | 一种针对ddos网络攻击的sdn网络架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105871771A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289104A (zh) * | 2018-02-05 | 2018-07-17 | 重庆邮电大学 | 一种工业SDN网络DDoS攻击检测与缓解方法 |
CN108471427A (zh) * | 2018-06-27 | 2018-08-31 | 新华三信息安全技术有限公司 | 一种防御攻击的方法及装置 |
CN109257360A (zh) * | 2018-10-08 | 2019-01-22 | 江苏大学 | Sdn网络中基于传输路径的隐蔽信息发送和解析方法 |
CN111092840A (zh) * | 2018-10-23 | 2020-05-01 | 中兴通讯股份有限公司 | 处理策略的生成方法、系统及存储介质 |
-
2015
- 2015-01-18 CN CN201510024334.7A patent/CN105871771A/zh active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108289104A (zh) * | 2018-02-05 | 2018-07-17 | 重庆邮电大学 | 一种工业SDN网络DDoS攻击检测与缓解方法 |
CN108289104B (zh) * | 2018-02-05 | 2020-07-17 | 重庆邮电大学 | 一种工业SDN网络DDoS攻击检测与缓解方法 |
CN108471427A (zh) * | 2018-06-27 | 2018-08-31 | 新华三信息安全技术有限公司 | 一种防御攻击的方法及装置 |
CN109257360A (zh) * | 2018-10-08 | 2019-01-22 | 江苏大学 | Sdn网络中基于传输路径的隐蔽信息发送和解析方法 |
CN109257360B (zh) * | 2018-10-08 | 2020-08-28 | 江苏大学 | Sdn网络中基于传输路径的隐蔽信息发送和解析方法 |
CN111092840A (zh) * | 2018-10-23 | 2020-05-01 | 中兴通讯股份有限公司 | 处理策略的生成方法、系统及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104539594B (zh) | 融合DDoS威胁过滤与路由优化的SDN架构、系统及工作方法 | |
CN104539625B (zh) | 一种基于软件定义的网络安全防御系统及其工作方法 | |
CN104660582B (zh) | DDoS识别、防护和路径优化的软件定义的网络架构 | |
CN104539595B (zh) | 一种集威胁处理和路由优化于一体的sdn架构及工作方法 | |
CN104468636A (zh) | DDoS威胁过滤与链路重配的SDN架构及工作方法 | |
CN105871773A (zh) | 一种基于SDN网络架构的DDoS过滤方法 | |
CN104378380A (zh) | 一种基于SDN架构的识别与防护DDoS攻击的系统及方法 | |
US7743415B2 (en) | Denial of service attacks characterization | |
Xing et al. | Ripple: A programmable, decentralized {Link-Flooding} defense against adaptive adversaries | |
US7278159B2 (en) | Coordinated thwarting of denial of service attacks | |
CN103428224B (zh) | 一种智能防御DDoS攻击的方法和装置 | |
Abdelsayed et al. | An efficient filter for denial-of-service bandwidth attacks | |
CN102801738B (zh) | 基于概要矩阵的分布式拒绝服务攻击检测方法及系统 | |
CN109327426A (zh) | 一种防火墙攻击防御方法 | |
KR100882809B1 (ko) | 플로우 기반 패킷 처리방식의 분산 서비스 거부 공격 방어시스템 및 방법 | |
WO2002021296A1 (en) | Statistics collection for network traffic | |
WO2002021302A1 (en) | Monitoring network traffic denial of service attacks | |
WO2002021279A1 (en) | Thwarting source address spoofing-based denial of service attacks | |
WO2002021771A1 (en) | Device to protect victim sites during denial of service attacks | |
CN106357685A (zh) | 一种防御分布式拒绝服务攻击的方法及装置 | |
CN102263788A (zh) | 一种用于防御指向多业务系统的DDoS攻击的方法与设备 | |
CN106357641A (zh) | 一种内容中心网络中兴趣包洪泛攻击的防御方法以及装置 | |
CN105871771A (zh) | 一种针对ddos网络攻击的sdn网络架构 | |
CN105871772A (zh) | 一种针对网络攻击的sdn网络架构的工作方法 | |
CN108833430A (zh) | 一种软件定义网络的拓扑保护方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20160817 |
|
RJ01 | Rejection of invention patent application after publication |