基于信息熵的DDoS攻击分布式检测与响应系统及方法
【技术领域】
[0001] 本发明涉及针对SDN网络的DDoS攻击,采取一种基于信息熵的DDoS攻击分布式 检测与响应系统及方法。
【背景技术】
[0002] 随着云计算、大数据等新兴技术的不断发展,数据中心集成各种应用以及数据服 务,地位不断的提高,使其面临更高的网络带宽的需求,传统以IP为核心的网络架构难以 满足数据中心网络扩展性、管理性、灵活性的需求。近年来,SDN网络架构为当前互联网提 供了革命性的创新,为未来网络的发展提供了新的思路。
[0003] SDN网络源自于美国斯坦福大学的研宄项目,SDN网络将原有封闭的体系解耦为 数据平面、控制平面和应用平面,将网络控制逻辑从网络设备中剥离出来,通过应用层提供 的可编程接口方便的进行网络管理与控制。数据中心通过采用SDN网络,可以更方捷的实 现路径优化、提高网络设备利用效率、迅速实现数据交换功能。随着学术界不断的研宄,SDN 架构从实验室走向了产业界,得到国内外IT公司广泛认可
[0004] 由开放网络基金会(Open Networking Foundation, 0NF)主导的 OpenFlow 技术, 是一种在SDN网络架构下基于"流"概念设计的控制平面与数据平面的通信接口。不同于 传统网络设备将一次网络通信的数据分组独立处理,OpenFlow通过提取通信中数据分组的 共同特征(如IP地址)抽象为一个"流",使得网络设备统一看待这些数据分组。OpenFlow 控制器制定转发策略,通过南向接口下发到OpenFlow交换机,并进行状态监控。转发策略 在OpenFlow交换机上以一级或多级流表(Flow Table)的形式进行存储。每条流表项包含 匹配字段、计数器和指令三部分。流表项可以根据网络分组的二层、三层、四层等网络报文 的任意字段进行匹配。当数据分组到达流表之后,从流表〇开始向后进行匹配,如果匹配到 某个流表的某个流表项时则执行相应的指令,如果没有匹配则可以转发到控制器或丢弃。
[0005] SDN作为一种全新的网络架构摆脱了传统网络硬件设备的束缚,实现了底层网络 设备的虚拟化,支持控制器的集中化配置和管理,网络应用提供丰富的API接口,推动了 网络创新,在数据中心网络、企业网络、校园网络、运营商网络得到应用与推广。然而SDN/ OpenFlow技术在给传统网络带来创新的同时,其逻辑集中化和开放性也带来相应的安全问 题。攻击者利用安全漏洞控制SDN控制器,通过滥用其提供给应用层的编程接口,攻击者可 以操作整个网络窃取信息、发动安全攻击。所以传统网络面临的威胁诸如DDoS攻击仍然存 在于SDN网络中,甚至比传统网络更严重。
[0006] 最近几年学术界对SDN网络研宄逐渐增多,但是针对SDN安全方面研宄相对较少, 目前有对SDN在控制器安全防护、流表一致性、安全应用开发、网络攻击识别与防范等方面 的研宄。当前SDN网络所研宄的DDoS攻击识别策略多依赖于控制器不断的获取交换机的 流表项,然后进行攻击检测算法识别攻击,当网络规模较大时,没有考虑频繁获取流表项给 控制器带来的通信和计算负担,由于依赖控制器周期性轮询交换机机制,交换机端只能被 动地响应,无法满足实时检测的需求。因此如何在SDN网络架构下对网络攻击准确识别与 快速响应是一个值得研宄的重要问题。
[0007] 本领域技术人员迫切需要解决的技术问题是:在SDN/OpenFlow架构的网络中,在 某些主机受到高速DDoS攻击时,如何快速、准确检测与响应的问题。
【发明内容】
[0008] 本发明的目的是为了解决上述问题,提出一种基于信息熵的DDoS攻击分布式检 测与响应系统及方法。本发明通过扩展标准OpenFlow交换机,扩展相应统计字段,检测与 响应算法以软件形式分布式运行在OpenFlow边界交换机上。利用扩展的流表字段,统计单 位时间内经过该边界交换机发送到本地网络的流信息,根据信息熵理论,依据流量在目的 IP地址特征分布的离散程度,实现异常行为检测。本发明所提出的算法运行在SDN网络的 OpenFlow边界交换机中,利用了 OpenFlow流表对"流"的记录特性,具有检测速度快、检测 准确率高、攻击响应迅速、资源负担小的优点。
[0009] 为了实现上述目的,本发明采用如下技术方案:
[0010] 基于信息熵的DDoS攻击分布式检测与响应系统,包括:
[0011] 控制器,所述控制器与若干交换机连接,每个交换机均与若干主机连接,所述交换 机也与其他交换机连接,所述控制器用于网络拓扑管理,制定数据转发策略,下发至交换 机;所述交换机用于数据转发;所述交换机包括边界交换机和/或非边界交换机;所述边界 交换机运行攻击检测算法和攻击响应算法,实现攻击检测与攻击响应;所述主机为用户电 脑,对应某IP地址,由边界交换机对主机的数据进行转发。
[0012] 基于信息熵的DDoS攻击分布式检测与响应方法,包括以下步骤:
[0013] 步骤(1):本边界交换机对到达的数据分组,进行分组头解析,匹配流表,判定是 否有匹配流表项;如果有就进入步骤(3),否则进入步骤(2);
[0014] 步骤(2):本边界交换机对无法匹配的数据分组,提取数据分组的特征,封装、发 送至控制器;当控制器分析处理后下发流表规则到与传输相关的若干个交换机上,并对通 信的双方建立双向流表项;返回步骤(1);
[0015] 步骤(3):在对匹配的数据报文进行操作之前,对该匹配流表项中"接收数据分组 数目"计数器完成加1操作;在每个单位监测时间间隔At后,统一将"接收数据分组数目" 计数器的数值,复制到"接收数据分组数目拷贝"计数器中;
[0016] 步骤⑷:本边界交换机运行攻击检测算法,对At内本地网络中某IP的接收流 量信息进行周期性的统计,以△ t内该IP数据包出现的频率近似为该IP的数据包出现的 概率;
[0017] 步骤(5):根据步骤(4)得到的概率,计算本边界交换机的归一化信息熵值;
[0018] 步骤(6):根据步骤(5)得到的信息熵值,进行判定,如果在最近的K个时间间隔 中至少有Num个时间间隔的熵值低于阈值,则认为本地网络中某IP地址对应的主机受到了 DDoS攻击,进入步骤(7),如果否就返回步骤(1);
[0019] 步骤(7):确认受到攻击后,本边界交换机运行攻击响应算法,检测出本边界交换 机所管理的OpenFlow子网中受到攻击的IP地址,然后主动对以该IP地址为目的地址的流 表项的动作设置为概率性转发,进行流量过滤,实现攻击响应;
[0020] 步骤(8):本边界交换机向控制器发布异步消息,报告受到攻击,必要时并上传流 表,供控制器进行分析。
[0021] 所述攻击检测算法即步骤(4)、步骤(5)和步骤(6)。
[0022] 所述攻击响应算法即步骤(7)和步骤(8)。
[0023] 所述边界交换机为OpenFlow边界交换机。
[0024] 所述步骤(2)流表项的匹配字段为:
[0025] 以太网类型(Ether type)、源IP地址(IP src)、目的IP地址(IP dst)、IP协议 字段(IP proto)四个维度,其余匹配字段设为通配符。
[0026] 所述步骤(4)的本地网络中某IP的数据包出现的概率的计算步骤为:
[0027] 步骤(4-1):读取本边界交换机的流表,获取所有以本地IP地址为目的地址的流 表项目,获取流表项中"接收数据分组数目"计数器和"接收数据分组数目拷贝"计数器的 数值;
[0028] 步骤(4-2):根据流表项目中"接收数据分组数目"计数器和"接收数据分组数目 拷贝"计数器的数值,计算At内本地网络中某IP接收流量增量;
[0029]
【主权项】
1. 基于信息熵的DDoS攻击分布