SDN中一种基于熵值检测DDoS攻击的方法AnApproachforDetectionofAttacksinSoftwareDefinedNetworks010203基于熵值检测检测算法背景介绍04结论仿真实验和分析05背景介绍01(1)DDoS,分布式拒绝服务攻击,是一种分布式的、协作的大规模拒绝服务攻击,能在一定时间内,使被攻击的网络丧失正常服务功能。DDoS攻击者利用多个攻击源对受害者发送大量数据包,消耗网络终端运算资源和网络资源,使其不能对正常的请求做出服务,是现在最常见的网络破坏方法之一。(2)SDN,软件定义网络,特点是转发控制分离,实现了控制平面和数据平面的分离,中心是可编程的集中式控制的控制器。背景介绍控制转发分离的具体体现?OpenFlow是最常见的SDN实现方式,OpenFlow协议规定了控制器和交换机之间数通信的方法。当OpenFlow交换机接收到数据包而且流表中并没有与该数据包对应的流表项时,交换机将此数据包封装到Packet-in消息中并向Open-Flow控制器发送。控制器收到Packet-in消息后,可以向交换机发送FlowMod消息,更新交换机中的流表项,指定对该数据包采取的操作。控制器也可以向交换机发送packet-out消息,在不修改流表的情况下指定转发数据包的操作。01SDN的工作?在SDN中,控制转发分离意味着交换机不处理传入的数据包,只是简单的按照转发表转发数据包。当转发表中没有对应的项时,则将数据包转发至控制器进行处理。网络管理者可以自由编写控制器上的程序,管理网络和处理数据包。背景介绍DDoS如何攻击?攻击者进行DDoS攻击时常常会伪装源地址以绕过网络防护设备,在攻击中交换机会持续收到大量的流表中不存在对应项的数据包,此时交换机会将这些大量的数据包转发给控制器,使得控制器成为被攻击对象。如果控制器的运算资源和网络资源被耗尽,那么就会失去管理SDN的功能,不能处理之后到来的合法数据包。本文实验方法?分析发送给控制器数据包信息,通过计算数据包的熵值作为特征值,检测DDoS攻击并发出警报。01SDN控制器为什么容易受到攻击?如果交换机和控制器间的联系中断,那么SDN的架构也就失效了。控制器集中控制是SDN的优点之一,但SDN特性也使得控制器成为DDoS的目标,容易造成管理网络功能的失效。基于熵值检测以前提出的一些基于SDN结构的DDoS攻击检测的方法?(1)Braga等人提出了一种使用自组织网络机器学习的方法,在交换机上收集每个流数据包的平均数量、平均字节数、持续时间等相关信息,渐渐提高该检测方法的效果;(2)Shin等人使用OpenFlow监视流的情况并修改其配置,将数据包导向已存在的入侵检测系统,避免进行重新配置;(3)Hu等人提出了一种新的入侵检测系统,包含了监管控制器和在它之下进行事件处理的子控制器,监管控制器从子控制器接收时间数据,判断可能发生的攻击。缺点:大多忽视了控制器的作用,仍然像传统网络一样更专注在交换机上实行这些措施,对于SDN中控制转发分离的特性没有很好利用。本文提出:SDN中一种基于熵值检测DDoS攻击的方法。02基于熵值检测本文方法:SDN中一种基于熵值检测DDoS攻击的方法。什么是熵?熵是随机程度的度量,也是用来衡量系统能传递最大信息量的指标,一个系统随机程度越高、信息分布越分散,则熵值越高,反之如果系统随机程度越低则熵值就越低。正常情况下可能有一些热门主机访问量较多,但网络数据包整体仍具有较大的随机性。为什么可以用熵值的变化有效的判断是否遭受DDoS攻击?当遭受到DDoS攻击时,与正常情况明显不同,大量数据包会发送给受攻击的主机。DDoS攻击发生时发送给被攻击者的数据包数量远大于正常情况下发送给热门主机的数据包数量,大量相同目的地址的数据包将降低整个网络的随机性。可以使用熵值来衡量网络中的随机性,在一个窗口内计算一次数据包的熵值。在正常情况下网络数据包有较大的随机性,熵值比较接近可能的最大值。而当受到DDoS攻击时,大量非法数据包发送给被攻击的主机,如果按照合适的流量特征分类,会发现此时熵值相比正常情况下有一个骤降。02基于熵值检测(1)香农熵(假设一个窗口中有n个数据包,pi是窗口中每个元素的出现概率)(目的地址是xi的数据包的出现次数为yi,则pi=yi/窗口大小W)(2)...