标题 | 浅谈SDN环境下基于BP神经网络的DDoS攻击检测方法 |
范文 | 苏礼 摘要:软件定义网络能够实现集中控制的功能,这种网络架构具有全新的特点,当遇到DDoS的情况下,使得信息无法传达,同时,单点也容易失去效果。当DDoS发生攻击时,我们要及时识别出来,现行的方法在SDN氛围下,凭借BP神经网络,对DDoS攻击进行检测,通过使用这种方法,能够取得关于OpenFlow交换机的流表项,用于分析DDoS攻击的特点,即在SDN环境下,进而得到流表匹配的成功率、流表项的速率等特征,即与攻击有联系的;当对这些特征值的变化分析之后,借助BP神经网络来划分训练样本,完成对DDoS攻击的检查。根据实验数据可知,通过这种方法,提高了识别率、检测时间大大缩短。 关键词:软件定义网络;分布式拒绝服务攻击;反向传播神经网络;特征值;攻击检测 中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2017)33-0077-02 SDN作为网络体系结构,具有典型的特点,基于此,网络控制平面分离与数据平面。比较与以往的网络体系架构,SDN的优势之处有以下几点:可编程、硬件通用、管理控制等。大部分控制器组成了一个控制平面,而控制器的作用,即底层的交换设备融合与上层的应用;交换机组成了数据平面,其功能是传递数据。在积极使用SDN的同时,引发了很多SDN的安全问题需要大家关注,作为SDN体系结构,其包括控制平面、数据平面等,而交换机与控制器紧密融合在一起,反之,这个网络无法控制,因此,只有控制器到達安全的状态,SDN网络才能安全。当分布式拒绝服务攻击DDoS的时候,能够影响控制器的安全,对于DDoS攻击,主要是攻击者借助傀儡主机,对计算资源进行攻击,避免目标主机把服务给予合法的用户。当DDoS进行攻击的时候,攻击者先进入部分主机,即SDN网络当中的,把大量的虚假的、没有效果的网络流量输进网络中,使得控制器资源全部消耗完毕,使得数据包转发不成功。目前,人们针对SDN安全领域进行研究,涉及以下方面:如何预防攻击者以非授权方式来访问交换机;如何预防攻击者非法控制控制器,以及DDoS攻击如何被快速检测到。当今,互联网经常受到DDoS的攻击[1]。 研究者针对以前的网络架构,使用很多方法来检测DDoS的攻击,SDN网络不同于以往的网络构架,其作为一种典型的网络,通过这个网络完成一定的工作,使用的原理与以往的网络不一样,在使用SDN网络的时候,也引发很多网络安全方面的问题,值得人们进一步研究。下面具体分析如下。 1 SDN环境下的DDoS攻击 基于SDN网络,使得控制平面、数据平面相互独立,比如,数据平面在接收网络数据包的时候,需要控制平面提供其流规则,以流规则为核心,对数据包进行梳理。对于网络运营商,基于这种非主动的控制模式对网络实现了控制,同时,安全问题也出现了。当进行匹配时,其若与流表项不匹配,则控制器会收到其传递的请求。流程图如图1所示。 2 基于BPNN的DDoS攻击检测方法 针对BPNN攻击,使用的检测方法具体5大模块,其模块包括:流表收集的、特征提取的、数据训练的、攻击检测的、攻击处理的等,如图2所示。其中,流表收集模块的功能即按照规定把流表请求传递给Openflow交换机,而交换机反馈给流表的信息,则借助加密的信道传送到流表收集模块当中。第二个是特征提取模块,其功能是取出与DDoS攻击有关的特征值,即由流表收集模块所收集的流表中,第三个是数据训练模块,其采取BPNN方法,把提取的特征值、信息进行练习。最后是攻击检测模块,需要对网络数据包、训练结论进行评价,目前的网络是不是被攻击。如果检测到有攻击的迹象,其受到控制器的管理,而这些迹象由攻击处理模块传达[2]。 2.1 流表收集 通过Open flow协议,得到收集流表的信息,如图3所示。对于ofp_flow stats_request报文通过交换机回复控制器按照计划来传送,同时取得流表的时间,其间隔要适宜,进一步设计流表周期,以及OVS控制器的时间。先实施sudo ovs-ofctl dump-flows s1>a.txt,接着实施cata.txt2.2对重定向文件进行读取的 同时,实现流表收取。 2.2 流特征提取 作为DDoS攻击者,在实施攻击的时候采取多种方法,而其攻击流量以一定的规律执行。因此,结合流表项信息对网络流量的分布特点以及改变进行分析,最终实现对攻击情况进行检测。以OpenFlow协议为依据,数据包所转发的信息以交换机的流表为依据,通过多个流表项构成一个流表。流表项作为一个规则促进数据进行传递,其结构如图4所示。 在流表项当中有一个是计数器,主要对数据流的信息进行记录,当DDoS进行攻击时,能够控制与攻击大部分傀儡机,作为攻击者在任何时刻都有可能造假对数据包源的IP地址进行攻击,使得源IP地址不集中,且数量增加;对于网络数据包而言,一起流到受害机当中,对一些端口进行攻击阻碍其提供服务,所以,在网络数据包当中,有很多方面是集中的[3],包括:目的IP地址、目的端口地址等,当DDoS实施攻击的时候,流量特征也随之而改变,大部分攻击流量形成一定的规则,因此,基于获取流表项信息,对网络流量的分布特点进行分析,进而对攻击流进行检测。 2.3 分类算法 不论是常态,还是发生攻击的时候,具有不同的流量特征,所以,攻击检测的问题与分类问题类似,结合特征值对网络的情况进行判断,看其正常与否,最终把常态、攻击态区别开。在进行攻击检测的时候,需要找到一个适宜的网络流特征,即流包数的内容,包括:均值、对流比、端口的增速、源IP的增速等;还包括流表项的内容,即速率、流表匹配的成功率,再有,构成六元组样本的特征序列等,对于样本的序列,包括:常态、非常态。检测模型主要以BP神经网络是算法来建构的,通过模型主要划分那些没有标记的特征样本序列,BP神经网络的结构如图5所示。 作为BP神经网络,其理论、体系、学习的机制均比较全面。在计算过程中,实现正向的传递,以及非正向的调整,使得神经元之间的权值及时纠正,对于误差在精度范围之内时,不需要继续学习。 3 实验及分析 3.1 实现环境 为了检验DDoS攻击检测方法是否有效,需要在部署软件定义网络的环境下来完成。而Ubuntu环境下,往往安装Openflow交换机,数量为3台。终端主机以内核级虚拟化为主。在实验当中,主要使用ODL控制器、OvS交换机等。对于网络拓扑图,即图6所示。 Network1与受害者网络统一,通过ODL控制器对三个OpenFlow的交换机进行把控。Network2作为一种僵尸网络,通过DDoS洪水流量形成的。而在Network2、Network3主机之间,存放了反向散射通信、IP欺骗流向等。当训练样本形成过程中,在Networkl中的主机实施正常访问之后形成正常流量,涉及流量有TCP的、UDP的、ICMP的等。非正常流量即CAIDADDoS 2007数据集。针对网络流量来说,其攻击种类有:TCP SYN flood、 UDP flood、 ICMPflood等。在查看流表的时候,凭借代码sudo ovs-ofctl dump-flows s1来执行,基于OVS交换机,这些流量最终形成对应的流表,把其流表接收在一起,进行训练样本的划分,即正常的、DDoS攻击流量的,把其进行转换,作为攻击检测的特征值。 3.2 结果分析 通过这种算法对一些实验进行检验,借助Python达成的。其中,以sigmoid为激活函数。先把二次代价函数当作损失函数,再把交叉嫡函数当作代价函数,把其比较与二次代价函数。 在输出层、输入层当中,其单元数取决于问题自身,而本文的输入单元数,以六特征维数为准,而输出单元,即0常态与1,处于攻击的状态。在中间不明显的层次,其單元数取决于谁,还没有对应的方法来解决。这就说明,问题的性质越恶劣,所需的隐层单元数越多;但随着隐层单元数的增多,使得计算量越来越多,最终形成“过拟合”的问题。 总而言之,在SDN架构的基础上对DDoS攻击进行检测,本文先对DDoS的攻击进行介绍,而在SDN网络中,控制器能够集中进行控制,及时取得OpenFlow交换机的信息,并收集到六元组,即与DDoS密切有关的,为了更好地检测DDoS攻击情况,以BPNN算法处理流量的关键特征值为依据,使其能够对SDN架构下的流量关键属性进行收集与分析,基于软件定义网络环境,使得这种方法的实效性得以验证。 参考文献: [1] 左青云,陈鸣,赵广松,等. 基于OpenFlow的SDN技术研究[J].软件学报,2013(5):1078-1097. [2] 郑亚,陈兴蜀,尹学渊. 基于PCC时间序列的DDoS检测算法[J].四川大学学报:工程科学版,2015(12):142-148. [3] 杨君刚,王新桐,刘故,等. 基于流量和IP墒特性的DDoS攻击检测方法[J]. 计算机应用研究,2016,33(04):1145-1149. |
随便看 |
|
科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。