1.一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:该方法包括以下步骤:S1:建立基于SDN的联合调度架构下工业网络DDoS检测与缓解系统架构;
S2:网络正常工作,工业接入网络转交工业回程网络数据报文;
S3:改进并扩展OpenFlow流表项;
S4:数据经过OF交换机时,进行流表匹配;
S5:SDN控制器查询OF交换机的匹配情况并标记可疑流表项,并报告Packet-in消息;
S6:DDoS攻击检测与缓解系统对可疑流表项进行处理或对Packet-in进行识别处理。
2.根据权利要求1所述的一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:在步骤S1中,所述基于SDN的联合调度架构下工业网络DDoS检测系统架构包括应用平面、控制平面和转发平面;
所述应用平面包括SDN控制器控制软件和防DDoS攻击应用管理软件;
其中,SDN控制器控制软件用于用户配置SDN控制器;
防DDoS攻击应用管理软件用于支持安全人员根据网络DDoS攻击特点,制定相应的防御策略,保证网络安全运行;
所述控制平面包括SDN控制器、工业接入网络系统管理器和工业SDN网络DDoS攻击检测与缓解系统;
其中,SDN控制器负责工业回程网络的资源控制与调度,负责网络的链路发现拓扑管理、状态监测和策略制定并下发流表,并将监测到的信息供DDoS攻击检测与缓解系统查询;
SDN控制器上运行联合调度器负责工业接入网络系统管理器进行交互,负责工业接入网络的数据传输路径和资源信息的计算和决策;
工业接入网络系统管理器负责配置工业接入网网络属性、管理路由表、调度设备间的通信、监视网络性能和安全管理;负责管理网络中设备的运行以及整个无线网络的通信,包括设备入网和离网、网络故障的监控与报告和通信配置管理;
工业SDN网络DDoS攻击检测与缓解系统包括检测和缓解两个模块:检测模块根据SDN控制器状态监测信息,分析工业网络发给OpenFlow交换机的实时数据并提取相应数据特征,判断是否受到DDoS攻击,并将判断结果报告给DDoS攻击缓解系统;缓解模块负责快速响应网络中的DDoS攻击情况,通过SDN控制器对工业网络中的流量进行调度;
所述转发平面包括工业回程网络OF交换机和工业接入网网络设备;
其中,OF交换机位于工业回程网中,依靠SDN控制器的全局视图功能,用于实现灵活、高效的配置工业回程网;
工业接入网络网络设备是工业接入网络的网络传输物理实体,提供工业接入网络系统管理器进行管理和配置,从而达到工业接入网络系统管理器所需要的网络功能;包括工业接入网络边界路由器,负责将报文处理后,转发给工业回程网络。
3.根据权利要求1所述的一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:所述步骤S2具体为:当接入网络路由设备向边界路由发送数据包时,网关支持工业有线和工业无线协议转换为IPv4或IPv6协议,保留原始数据的以下特征:接入网络类型、网络协议、PAN_ID、工作信道、源MAC地址、目的MAC地址和源设备ID。
4.根据权利要求1所述的一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:所述步骤S3具体为:扩展OpenFlow交换机流表项匹配域,增加扩展域实现OpenFlow交换机能够更精确的匹配来自工业接入网络的数据包;扩展域包括:接入网络类型:用于标记工业接入网络是有线网络还是无线网络;
网络协议:用于标记工业接入网络的网络协议;
PAN_ID:用于标记个域网的ID;
工作信道:用于标记数据来自于无线接入网络时候的该数据传输所涉及的信道;
无线网络源MAC地址:标记数据来源的MAC地址;
无线网络目的MAC地址:标记数据目的地的MAC地址;
源设备ID:标记数据来源的ID;
OF交换机入网后,控制器获取链路状态,主动地向交换机下发扩展后的流表。
5.根据权利要求1所述的一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:所述步骤S4具体为:当数据流与流表中的匹配域匹配时,流表项每匹配一次则流表项中计数器计数一次;
当数据流与流表中的匹配域不匹配时,OF交换机则先将其缓存在缓冲区,再提取其包头封装成packet-in消息,若缓冲区已满则直接将整个数据包封装成packet-in消息,发给SDN控制器并由SDN控制器分析及决策,然后通过下发flow-mod或packet-out消息进行处理。
6.根据权利要求1所述的一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:所述步骤S5具体为:S501:SDN控制器查询单位时间内每个流表项的匹配数据流个数M,控制器根据经验值设定单位时间内每个流表项的正常数据流匹配个数为M*,计算M-M*=ΔM;
S502:SDN控制器查询单位时间内Packet-in消息数量N,以及单位时间内flow-mod与packet-out消息数量之和N*,计算N-N*=ΔN;
S503:若某一流表项的ΔM超过阈值,则该流表项被SDN控制器标记为可疑流表项;
S504:若当前OF交换机发给SDN控制器的ΔN超过阈值,则SDN控制器判断出现数据流异常;
S505:工业回程网OF交换机流表不匹配偏差容忍度ΔM和ΔN,由用户通过防DDoS攻击应用管理软件进行设定;
S506:SDN控制器将可疑流表项报告给DDoS攻击检测与缓解系统;
S507:SDN控制器将携带接入网络类型、网络协议、PAN_ID、工作信道、源MAC地址、目的MAC地址和源设备ID信息的Packet-in消息报告给DDoS攻击检测与缓解系统;由DDoS攻击检测与缓解系统判断该Packet-in是正常流量、正常爆发流量、DDoS攻击流量还是L-DDoS攻击流量引起的。
7.根据权利要求1所述的一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:在步骤S6中,所述DDoS攻击检测与缓解系统对可疑流表项进行处理具体为:DDoS攻击检测与缓解系统将可疑流表项信息通知工业接入网络系统管理器,工业接入网络系统管理器将重新分配网络资源,并制定相应的缓解攻击策略,阻断工业接入网络内部DDoS攻击源设备的继续通信。
8.根据权利要求1所述的一种工业SDN网络DDoS攻击检测与缓解方法,其特征在于:在步骤S6中,所述DDoS攻击检测与缓解系统对Packet-in进行识别处理具体为:S601:数据样本训练建模:DDoS攻击检测与缓解系统对工业接入网络和工业回程网络的正常数据进行训练建模,引入工业网络特征后,对网络中的包含正常流量、正常爆发流量、DDoS攻击流量及L-DDoS攻击流量的数据样本进行训练建模,具体过程为:S601-1:按照C4.5决策树算法,选取不匹配偏差容忍度ΔM及ΔN作为根节点;
S601-2:根据工业接入网络流量特征表现取值表,将流量特征模糊离散处理为三种特征程度值X、Y和Z;
当流量特征为IPv6/IPv4源地址时,特征表现X为已知常见,Y为变化随机弱,Z为变化随机强;
当流量特征为TCP源端口时,特征表现X为已知常见,Y为变化随机弱,Z为变化随机强;
当流量特征为UDP源端口时,特征表现X为已知常见,Y为变化随机弱,Z为变化随机强;
当流量特征为网络协议时,特征表现X为接入网络协议,Y为空,Z为未知协议;
当流量特征为源设备ID时,特征表现X为已知常见,Y为变化随机弱,Z为变化随机强;
当流量特征为源MAC地址时,特征表现X为已知常见,Y为变化随机弱,Z为变化随机强;
当流量特征为工作信道时,特征表现X为该信道质量高,Y为该信道质量中,Z为该信道质量低;
当流量特征为ΔM和ΔN时,特征表现X为都在阈值内,Y为其中一个在阈值内,Z为都不在阈值内;
统计数据流样本并对X、Y和Z取值;
S601-3:生成决策树;
1)根节点X方向上的属性选择方法为:
1a)纵向统计数据流特征取值中Z出现次数,取Z出现次数最多对应的属性作为根节点下面X方向的子节点;
1b)若均无Z,则统计比较Y出现次数,取Y出现次数最多对应的属性作为根节点下面X方向的子节点;
1c)若均无Y,则统计比较X出现次数,取X出现次数最多对应的属性作为根节点下面X方向的子节点;
1d)若两个以上属性的Z、Y和X出现次数相同,则随机选取一个属性作为根节点下面X方向的子节点;
2)根节点Y方向上的属性选择方法为:
2a)纵向统计数据流特征取值中Z出现次数,取Z出现次数最多对应的属性作为根节点下面Y方向的子节点;
2b)若均无Z,则统计比较Y出现次数,取Y出现次数最多对应的属性作为根节点下面Y方向的子节点;
2c)若均无Y,则统计比较X出现次数,取X出现次数最多对应的属性作为根节点下面Y方向的子节点;
2d)若两个以上属性的Z、Y和X出现次数相同,则随机选取一个属性作为根节点下面Y方向的子节点;
3)根节点Z方向上的属性选择方法为:
3a)纵向统计数据流特征取值中Z出现次数,取Z出现次数最多对应的属性作为根节点下面Z方向的子节点;
3b)若均无Z,则统计比较Y出现次数,取Y出现次数最多对应的属性作为根节点下面Z方向的子节点;
3c)若均无Y,则统计比较X出现次数,取X出现次数最多对应的属性作为根节点下面Z方向的子节点;
3d)若两个以上属性的Z、Y和X出现次数相同,则随机选取一个属性作为根节点下面Z方向的子节点;
至此,根节点下X、Y、Z分支的属性分类完成,形成第二层节点;
第三层节点的生成方式和第二层节点的生成方式相同,分别生成和选择第二层节点的X、Y、Z方向的属性;以此类推,完成正常流量、正常爆发流量、DDoS攻击流量及L-DDoS攻击流量4个数据分类子集决策树模型的生成;
S602:DDoS攻击检测与缓解系统攻击识别:将packet-in信息放入S701中的训练样本模型中进行判断,得到该packet-in信息属于的分类;
S603:DDoS攻击检测与缓解系统的处理:
S603-1:DDoS攻击检测与缓解系统通过S701、S702识别出的缓存在OF交换机中的正常数据流以及正常爆发流量,利用SDN控制器使缓存在OF交换机中的数据流被转发;未缓存在OF交换机的正常数据流则将其直接通过OF交换机输出端口转发出去;将识别出的DDoS攻击数据流,L-DDoS攻击数据流记录下相关特征,并将这些特征写入“缓解攻击专用流表项”中,其优先级被设为最高,下发给OF交换机流表0中,及时阻断攻击源继续发过来的数据包;
S603-2:DDoS攻击检测与缓解系统通知工业回程网SDN控制器来自接入网络的DDoS攻击相关信息,包括攻击源所在的源MAC地址、源网络设备ID、工作信道和PAN_ID;
S603-3:SDN控制器将攻击数据流的信息告知与之协同工作的工业接入网络系统管理器,工业接入网络系统管理器将重新分配网络资源,并制定相应的缓解攻击策略,阻断工业接入网络内部DDoS攻击源设备的继续通信;
S603-4:当SDN控制器读取到OF交换机ΔM和ΔN均在正常阈值范围内,判断为DDoS攻击结束,删除“缓解攻击专用流表项”,控制器重新获取拓扑信息,先主动向OF交换机发送修改流表信息更新流表,然后再采用被动下发流表方式工作。