首页> 中国专利> 基于信息熵的DDoS攻击分布式检测与响应系统及方法

基于信息熵的DDoS攻击分布式检测与响应系统及方法

摘要

本发明公开了基于信息熵的DDoS攻击分布式检测与响应系统及方法;所述系统包括:控制器,所述控制器与若干交换机连接,每个交换机均与若干主机连接,所述交换机也与其他交换机连接,所述控制器用于网络拓扑管理,制定数据转发策略,下发至交换机;所述交换机用于数据转发;所述交换机包括边界交换机和/或非边界交换机;所述边界交换机运行攻击检测算法和攻击响应算法,实现攻击检测与攻击响应;所述主机为用户电脑,对应某IP地址,由边界交换机对主机的数据进行转发。本发明具有检测速度快、检测准确率高、攻击响应迅速、资源负担小的优点。

著录项

  • 公开/公告号CN104580222A

    专利类型发明专利

  • 公开/公告日2015-04-29

    原文格式PDF

  • 申请/专利权人 山东大学;

    申请/专利号CN201510014419.7

  • 发明设计人 王睿;贾智平;鞠雷;蔡晓军;

    申请日2015-01-12

  • 分类号H04L29/06(20060101);

  • 代理机构37221 济南圣达知识产权代理有限公司;

  • 代理人张勇

  • 地址 250061 山东省济南市历城区山大南路27号

  • 入库时间 2023-12-18 08:35:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-01-05

    授权

    授权

  • 2015-05-27

    实质审查的生效 IPC(主分类):H04L29/06 申请日:20150112

    实质审查的生效

  • 2015-04-29

    公开

    公开

说明书

技术领域

本发明涉及针对SDN网络的DDoS攻击,采取一种基于信息熵的DDoS攻击分布式检测与 响应系统及方法。

背景技术

随着云计算、大数据等新兴技术的不断发展,数据中心集成各种应用以及数据服务,地 位不断的提高,使其面临更高的网络带宽的需求,传统以IP为核心的网络架构难以满足数据 中心网络扩展性、管理性、灵活性的需求。近年来,SDN网络架构为当前互联网提供了革命 性的创新,为未来网络的发展提供了新的思路。

SDN网络源自于美国斯坦福大学的研究项目,SDN网络将原有封闭的体系解耦为数据平面、 控制平面和应用平面,将网络控制逻辑从网络设备中剥离出来,通过应用层提供的可编程接 口方便的进行网络管理与控制。数据中心通过采用SDN网络,可以更方捷的实现路径优化、 提高网络设备利用效率、迅速实现数据交换功能。随着学术界不断的研究,SDN架构从实验 室走向了产业界,得到国内外IT公司广泛认可

由开放网络基金会(Open Networking Foundation,ONF)主导的OpenFlow技术,是一种 在SDN网络架构下基于“流”概念设计的控制平面与数据平面的通信接口。不同于传统网络 设备将一次网络通信的数据分组独立处理,OpenFlow通过提取通信中数据分组的共同特征(如 IP地址)抽象为一个“流”,使得网络设备统一看待这些数据分组。OpenFlow控制器制定转 发策略,通过南向接口下发到OpenFlow交换机,并进行状态监控。转发策略在OpenFlow交 换机上以一级或多级流表(Flow Table)的形式进行存储。每条流表项包含匹配字段、计数 器和指令三部分。流表项可以根据网络分组的二层、三层、四层等网络报文的任意字段进行 匹配。当数据分组到达流表之后,从流表0开始向后进行匹配,如果匹配到某个流表的某个 流表项时则执行相应的指令,如果没有匹配则可以转发到控制器或丢弃。

SDN作为一种全新的网络架构摆脱了传统网络硬件设备的束缚,实现了底层网络设备的虚 拟化,支持控制器的集中化配置和管理,网络应用提供丰富的API接口,推动了网络创新, 在数据中心网络、企业网络、校园网络、运营商网络得到应用与推广。然而SDN/OpenFlow技 术在给传统网络带来创新的同时,其逻辑集中化和开放性也带来相应的安全问题。攻击者利 用安全漏洞控制SDN控制器,通过滥用其提供给应用层的编程接口,攻击者可以操作整个网 络窃取信息、发动安全攻击。所以传统网络面临的威胁诸如DDoS攻击仍然存在于SDN网络中, 甚至比传统网络更严重。

最近几年学术界对SDN网络研究逐渐增多,但是针对SDN安全方面研究相对较少,目前 有对SDN在控制器安全防护、流表一致性、安全应用开发、网络攻击识别与防范等方面的研 究。当前SDN网络所研究的DDoS攻击识别策略多依赖于控制器不断的获取交换机的流表项, 然后进行攻击检测算法识别攻击,当网络规模较大时,没有考虑频繁获取流表项给控制器带 来的通信和计算负担,由于依赖控制器周期性轮询交换机机制,交换机端只能被动地响应, 无法满足实时检测的需求。因此如何在SDN网络架构下对网络攻击准确识别与快速响应是一 个值得研究的重要问题。

本领域技术人员迫切需要解决的技术问题是:在SDN/OpenFlow架构的网络中,在某些主 机受到高速DDoS攻击时,如何快速、准确检测与响应的问题。

发明内容

本发明的目的是为了解决上述问题,提出一种基于信息熵的DDoS攻击分布式检测与响应 系统及方法。本发明通过扩展标准OpenFlow交换机,扩展相应统计字段,检测与响应算法以 软件形式分布式运行在OpenFlow边界交换机上。利用扩展的流表字段,统计单位时间内经过 该边界交换机发送到本地网络的流信息,根据信息熵理论,依据流量在目的IP地址特征分布 的离散程度,实现异常行为检测。本发明所提出的算法运行在SDN网络的OpenFlow边界交换 机中,利用了OpenFlow流表对“流”的记录特性,具有检测速度快、检测准确率高、攻击响 应迅速、资源负担小的优点。

为了实现上述目的,本发明采用如下技术方案:

基于信息熵的DDoS攻击分布式检测与响应系统,包括:

控制器,所述控制器与若干交换机连接,每个交换机均与若干主机连接,所述交换机也 与其他交换机连接,所述控制器用于网络拓扑管理,制定数据转发策略,下发至交换机;所 述交换机用于数据转发;所述交换机包括边界交换机和/或非边界交换机;所述边界交换机运 行攻击检测算法和攻击响应算法,实现攻击检测与攻击响应;所述主机为用户电脑,对应某 IP地址,由边界交换机对主机的数据进行转发。

基于信息熵的DDoS攻击分布式检测与响应方法,包括以下步骤:

步骤(1):本边界交换机对到达的数据分组,进行分组头解析,匹配流表,判定是否有 匹配流表项;如果有就进入步骤(3),否则进入步骤(2);

步骤(2):本边界交换机对无法匹配的数据分组,提取数据分组的特征,封装、发送至 控制器;当控制器分析处理后下发流表规则到与传输相关的若干个交换机上,并对通信的双 方建立双向流表项;返回步骤(1);

步骤(3):在对匹配的数据报文进行操作之前,对该匹配流表项中“接收数据分组数目” 计数器完成加1操作;在每个单位监测时间间隔Δt后,统一将“接收数据分组数目”计数器 的数值,复制到“接收数据分组数目拷贝”计数器中;

步骤(4):本边界交换机运行攻击检测算法,对Δt内本地网络中某IP的接收流量信息进 行周期性的统计,以Δt内该IP数据包出现的频率近似为该IP的数据包出现的概率;

步骤(5):根据步骤(4)得到的概率,计算本边界交换机的归一化信息熵值;

步骤(6):根据步骤(5)得到的信息熵值,进行判定,如果在最近的K个时间间隔中至 少有Num个时间间隔的熵值低于阈值,则认为本地网络中某IP地址对应的主机受到了DDoS 攻击,进入步骤(7),如果否就返回步骤(1);

步骤(7):确认受到攻击后,本边界交换机运行攻击响应算法,检测出本边界交换机所 管理的OpenFlow子网中受到攻击的IP地址,然后主动对以该IP地址为目的地址的流表项的 动作设置为概率性转发,进行流量过滤,实现攻击响应;

步骤(8):本边界交换机向控制器发布异步消息,报告受到攻击,必要时并上传流表, 供控制器进行分析。

所述攻击检测算法即步骤(4)、步骤(5)和步骤(6)。

所述攻击响应算法即步骤(7)和步骤(8)。

所述边界交换机为OpenFlow边界交换机。

所述步骤(2)流表项的匹配字段为:

以太网类型(Ether type)、源IP地址(IP src)、目的IP地址(IP dst)、IP协议字 段(IP proto)四个维度,其余匹配字段设为通配符。

所述步骤(4)的本地网络中某IP的数据包出现的概率的计算步骤为:

步骤(4-1):读取本边界交换机的流表,获取所有以本地IP地址为目的地址的流表项目, 获取流表项中“接收数据分组数目”计数器和“接收数据分组数目拷贝”计数器的数值;

步骤(4-2):根据流表项目中“接收数据分组数目”计数器和“接收数据分组数目拷贝” 计数器的数值,计算Δt内本地网络中某IP接收流量增量;

Xi=Σj=1n(ReceivedPacketsj-ReceivedPackets_Copyj)

由X=(X1,X2,.....,Xm)构成本边界交换机的信源状态空间。

其中,Xi表示Δt内某IP地址的接收的数据分组数目,ReceivedPacketsj表示流表项中“接 收数据分组数目”计数器的数值,ReceivedPackets_Copyj表示“接收数据分组数目拷贝”计 数器,j表示第j个本地IP地址,n表示以本地某IP为目的地址的流表项在本边界交换机中 共有n条;m表示本边界交换机Δt内出现不同本地IP地址总数;

步骤(4-3):对接收流量,在Δt内本边界交换机上某本地IP数据包出现的概率近似为:

pi=XiΣi=1mXi

其中,pi表示某本地IP数据包出现的概率。

由此可得信源空间X的对应的概率为P(X)=(p1,p2,.....,pm),其中,P(X)=(p1,p2,.....,pm) 表示信源空间X的对应的概率空间。

所述步骤(5)的本边界交换机的归一化信息熵值的计算步骤为:

H(X)=-Σi=1mpilogpilogm

其中,H(X)表示本边界交换机的输入流量的归一化熵。

所述步骤(6)低于阈值的判断步骤为:

步骤(6-1):建立大小为K的滑动窗口,保存最近K个Δt时间间隔内的X、H(X)信息;

步骤(6-2):l时刻,如果Hn(S)-Hl(S)≥α*ΔD,说明此时本边界交换机的熵值低于阈 值;其中Hn(X)为本边界交换机正常运行时测得的归一化熵值的均值,ΔD为本边界交换机 正常运行时刻测得熵值与Hn(X)的最大绝对差值,α为差值比例系数;

步骤(6-3):如果每K个活动窗口结束时,没有发生低于阈值的状况,则对Hn(X)进行 自适应更新:

Hn(X)=Hn(X)+μ[Hk(X)-Hn(X)],0≤μ≤1;

Hk(X)=ΣikβiHi(X),Σikβi=1;

其中Hk(X)为实际运行中对K个活动窗口测得熵值的加权平均值,μ、βi为加权系数。

所述步骤(7)的攻击响应算法的步骤为:

步骤(7-1):将本边界交换机将本地IP按当前接收流量大小X=(X1,X2,.....,Xm)降序排 列,取前H%位本地IP地址,按照步骤(4)中(4-1)(4-2)的方法,通过读取流表中所有 以源IP地址为其中本地IP的流表项,计算本地IP的发送流量大小X'=(X'1,X'2,.....,X'mh),

其中mh表示所取前H%位对应的本地IP个数。

步骤(7-2):对前H%位本地IP,计算每个本地IP的经过本边界交换机的当前出入流量 比:

ratei=XiXi;

其中,ratei表示某本地IP的经过本边界交换机Δt内出入流量比,X'i表示本地IPΔt内的 发送流量,Xi表示该本地IPΔt内的接收流量,默认大小为1。

对于前H%位中每个本地IP地址,在最近K个时间监测间隔内,计算其接收流量的增长倍 数;

Ci=Xi_l-Xi_minXi_min;

其中,Ci表示最近K个监测间隔某本地IP地址接收流量增长倍数,Xi_l表示该本地IP 地址当前接收流量大小,Xi_min最近K个监测间隔该本地IP地址接收流量最小值,默认大小 为1;

步骤(7-3):如果就进入步骤(7-4),如果否就进入步骤(8);

其中为攻击比例阈值,通过实际网络流量数据模拟攻击训练得到;

步骤(7-4):认为满足条件的本地IP地址主机受到了DDoS攻击;

步骤(7-5):流表项插入过滤规则:本边界交换机将以该受攻击本地IP地址的为目的地 址的流表项中转发动作为随机转发,实现主动过滤,转发概率为T=γξr

其中γ为指数参数,ξ为调节参数,r为通过步骤(7-1)(7-2)方式计算得到的该受攻 击本地IP与该流表项中源IP地址的出入流量比。

本发明的有益效果:

1降低了控制器监测负担;

2靠近受攻击目的端的监测的位置提高了检测准确率;

3在交换机端提供有效的主动过滤措施;

4提高了交换机端DDoS攻击响应速度。

附图说明

图1本发明采用的SDN/OpenFlow网络架构及攻击举例;

图2本发明所用OpenFlow流表项匹配字段,斜体为添加的字段--“接收数据分组数目拷 贝”计数器,基于OpenFlow Switch Specification Version 1.3.2标准;

图3本发明总体运行过程流程图;

图4本发明攻击检测流程图;

图5本发明攻击响应流程图。

具体实施方式

下面结合附图与实施例对本发明作进一步说明。

针对SDN/OpenFlow网络架构,本发明采用的SDN/OpenFlow架构如附图1所示,图中攻 击者及攻击路线为本发明所应对的DDoS攻击举例。本发明提出了DDoS攻击检测算法与攻击 响应算法2种算法。

目前SDN网络中检测DDoS攻击,多数需要控制器不断地轮询获取交换机中的当前流表信 息,然后分析流表信息检测有无DDoS攻击,这种措施在小规模的SDN网络中具有优势。然而 当交换机增多时,控制器端获取、分析的流表规模呈几何增长,并且过多获取流表影响其对 整个网络的控制能力。对于交换机无法主动识别攻击的存在,只有被动等待控制器检测攻击 及处理措施,响应速度有限。

本发明所提出的算法,避免交换机频繁上传流表到控制器,使得控制器对网络监控负担 降低,交换机可以主动应对针对本地网络的DDoS攻击,提高了响应速度。

OpenFlow边界交换机(下简称为边界交换机)对到达的数据分组,进行分组头解析,匹 配流表,判定是否有匹配流表项,如果没有匹配成功,边界交换机将对无法匹配的数据分组, 提取数据分组的特征,封装、发送至控制器。控制器分析处理后下发流表规则到一系列与该 数据传输相关交换机,并对通信的双方建立双向流表项,如图2匹配字段所示,匹配字段包 含以太网类型(Ether type)、源IP地址(IP src)、目的IP地址(IP dst)、IP协议字 段(IP proto)四个维度,其余匹配字段设为通配符。

如果匹配成功,在对匹配的数据报文进行进一步操作之前,对该条匹配流表项计数器中 如图2所示的“接收数据分组”计数器完成加1操作。并在每个单位监测时间间隔后,边界 交换机统一将流表中该类计数器的数值,复制到“接收数据分组拷贝”计数器中。

1、基于信息熵的DDoS攻击分布式检测算法

(1-1)读取本边界交换机的流表,获取所有以本地IP地址为目的地址的流表项目,获 取其“接收数据分组”,“接收数据分组拷贝”两个计数器数值;

根据流表项中“接收数据分组”,“接收数据分组拷贝”两个计数器的数值,在设定时 间间隔内,计算Δt内本地某IP接收流量增量,符号及其描述见表1内容;

Xi=Σj=1n(ReceivedPacketsj-ReceivedPackets_Copyj)

由X=(X1,X2,.....,Xm)构成本边界交换机的信源状态空间。

表1.基于信息熵的DDoS攻击分布式检测算法中各符号及描述

(1-2)对接收流量,以Δt内相关该IP数据包出现的频率近似为该IP数据包出现的概率, 所以在Δt内本边界交换机上某本地IP数据包出现的概率近似为:

pi=XiΣi=1mXi

由此可得信源空间X的对应的概率空间为P(X)={p1,p2,.....,pm},

根据信息熵理论,本边界交换机的归一化信息熵值为:

H(X)=-Σi=1mpilogpilogm

(1-3)建立大小为K的滑动窗口,保存最近K个Δt时间间隔内的X、H(X)信息。

当前l时刻,如果Hn(S)-Hl(S)≥α*ΔD,说明此时本边界交换机的熵值低于阈值。

判定如果在最近的K个时间间隔中至少有Num个时间间隔的熵值低于阈值,则认为本地 网络中某IP地址对应的主机受到了DDoS攻击,进入攻击响应阶段。

如果每K个活动窗口结束时,没有发生低于阈值的状况,则对Hn(X)进行自适应更新:

Hn(X)=Hn(X)+μ[Hk(X)-Hn(X)],0≤μ≤1;

其中Hk(X)=ΣikβiHi(X),Σikβi=1;

2、DDoS攻击响应算法

当检测到攻击之后,受攻击的IP地址所占整体流量比重大,且最近几个周期中流量增幅 较大,而且由于DDoS攻击多采用伪造源IP地址或伪造垃圾数据包方式,导致受攻击的IP主 机无法响应通信信息,单向数据流较多。

基于以上分析,为识别受害者IP地址,边界交换机运行攻击响应算法:

(2-1):本边界交换机将本地IP按当前接收流量大小X=(X1,X2,.....,Xm)降序排列,取 前H%位。对这前H%位的每个本地IP地址,按照DDoS攻击分布式检测算法步骤(1-1)的方 法,通过读取流表中所有以源IP地址为其中本地IP的流表项,计算本地IP的发送流量大小 X'=(X'1,X'2,.....,X'mh),符号及其描述见表2内容;

(2-2):对前H%位本地IP,计算每个本地IP的经过本边界交换机的当前出入流量比:

ratei=XiXi;

对于前H%位中每个本地IP地址,在最近K个时间监测间隔内,计算其接收流量的增长倍 数;

Ci=Xi_l-Xi_minXi_min

(2-3):如果认为满足条件的本地IP地址主机受到了DDoS攻击。流表项插 入过滤规则:本边界交换机将以该受攻击本地IP地址的为目的地址的流表项中转发动作为随 机转发,转发概率为T=γξr。其中r为通过步骤(2-1)(2-2)方式计算得到的该受攻击本地 IP与该流表项中源IP地址的出入流量比。由此进行流量过滤,主动实现攻击响应;

(2-4)边界交换机向控制器发布异步消息,报告受到DDoS攻击,必要时并上传流表, 供控制器进行分析。

表2.DDoS攻击响应算法中各符号及描述

上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限 制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付 出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号