基于混沌序列的SDN地址跳变方案∗

2018-11-28 09:47德李
计算机与数字工程 2018年11期
关键词:IP地址交换机数据包

涂 德李 伟

(1.武汉邮电科学研究院 武汉 430074)(2.武汉烽火立云网络科技有限公司 武汉 430074)

1 引言

近年来不断有大型网络安全事件发生,人们已经意识到传统的网络安全防御技术已经越来越难以应对层出不穷的网络攻击。突破传统网络防御应对网络攻击时的静态、被动式的防御体系,已经成为网络安全领域的重要研究方向。在此背景下,移动目标防御(MTD)[1]技术应运而生。移动目标防御的防御思路完全不同于传统的网络防御,它并不是要建立一套毫无破绽的系统来应对攻击,相反,它是要构造一个具有弹性的防御系统,在此防御系统中,系统的属性能够自动改变、不断变化,从而使系统对攻击者来说是不可预测的。

地址跳变技术[2~3]是移动目标防御网络的一个典型技术,地址跳变是指通信双方在数据传输的过程中按照一定规则伪随机的改变地址信息,极大地增长攻击者的攻击难度和代价,从而实现主动网络防御。在传统的网络结构中实现地址跳变会有以下困难:一是地址随机变化将使其他与之通信的节点无法及时感知,容易造成会话中断;二是终端主机地址随机变化往往需要改变终端主机配置,限制了地址跳变的频率。

软件定义网络(Software Defined Network,SDN)[4~6]是近几年来提出的一种新型网络架构,是对传统网络的一次革新,OpenFlow[7~8]作为其核心技术,将控制平面从网络交换机和路由器中的数据平面分离出来,为网络虚拟化带来了极大的灵活性。在SDN架构下,网络的管理是由控制器来集中控制的,所以可以让跳变控制器控制数据传输路径上的交换机,使其对成功匹配的数据包进行地址的改写。因此,地址跳变在SDN网络架构下的实现变得切实可行。

本文将混沌序列[9~13]引入 SDN 网络地址跳变中,以混沌序列作为地址跳变图案生成的基础,解决了静态跳变规则容易破解的问题,最后用Mini⁃net仿真[14~15]验证了方案的有效性。

2 混沌序列及跳变图案的生成

混沌序列是一种伪随机序列,其结构复杂,具有很好的随机性,难以分析和预测。由于计算机系统的精度是有限的,所以当用有限精度的计算机系统实现无限精度的混沌系统时,不可避免地会使混沌系统的动力学特性产生退化,因此解决此问题成为混沌序列能否运用于实际的关键,许多研究人员为此做了大量的研究工作。

2.1 生成混沌序列

本文采用基于扰动的双Logistic映射耦合算法[16]生成所需的混沌序列,一个映射作为扰动参数发生器,另一个作为混沌序列发生器。使用扰动参数发生器产生的扰动参数,去更新混沌序列发生器的控制参数,既可以延长混沌序列输出轨道的长度,也能使输出序列分布的均匀性加强。

生成该混沌序列的算法为

其中,xn为混沌序列发生器的反馈输入值,bm为混沌序列发生器的混沌序列控制参数,xn+1为混沌序列输出值;为扰动参数发生器的反馈输入值,b′为扰动参数发生器的扰动控制参数,为扰动输出值。 xn,∈(0,1)。cnt为式(1)上一次更新后的迭代次数,为保证混沌特性这里规定bm,b′∈(3.57,4)。

本算法为式(1)~(6)的组合。式(1)和式(2)是两个独立的Logistic映射混沌系统。式(2)的输出在满足 0.357≤≤0.4并且 cnt≥100条件时,由10取代式(1)的控制参数bm。在更新控制参数的同时,对式(2)中的变量加入一个扰动,这个扰动是通过式(1)和式(2)的输出 xn+1和相加的和取尾数反馈给或将直接反馈给,如式(5)。每次迭代后xn+1直接反馈给xn。

2.2 混沌序列的归一化

当然,按照上述算法所产生的混沌序列的值都是大于0小于1的,要想使用这些序列,还需要对混沌序列的值进行归一化。因为这里是要将混沌序列的值用作地址跳变的IP地址,所以要将混沌序列的值归一化为1~254之间的值。本文采用的归一化方法是,对每个混沌序列的值取其小数点后第4位到第6位的值,并将其对254取余,然后再加上1,这样就可以得到1~254之间的值,即完成归一化。

根据上述混沌算法和归一化方法,在Matlab中用代码实现,其中混沌算法的初始值分别设置为x0=0.5361089,=0.9157241,bm=3.9814902,b′=4,M=130生成序列后,在Matlab中绘出的点图如下图1所示。

图1 归一化后的序列

2.3 根据序列生成跳变图案

在得到归一化之后的混沌序列后,要将归一化后的混沌序列转化为所对应的IP地址,首先得到服务器所处的网段,然后依次取得序列的值,将序列的值作为IP地址的最后一段,即得到了地址跳变的图案。

跳变图案示例如表1所示。

表1 跳变图案示例

3 SDN地址跳变模型

3.1 系统架构模型

系统的架构模型如图2所示。

图2 系统架构模型

在图2所示的系统架构模型中,客户端和服务器分别与OpenFlow交换机相连,即数据通过Open⁃Flow交换机进行转发,同时OpenFlow交换机又通过安全数据通道与SDN控制器相连,SDN控制器可以获得整个网络的拓扑结构,下发控制命令给各OpenFlow交换机,从而达到控制和管理整个网络的目的。

就地址跳变的角度而言,SDN控制器负责跳变图案的生成,跳变图案是基于混沌序列生成的,跳变图案生成后,由SDN控制器以OpenFlow流表的形式下发给各OpenFlow交换机,OpenFlow交换机在收到控制器下发的流表后,会根据流表中所定义的规则,对数据包进行处理。

由于SDN的逻辑集中控制,地址跳变的实现完全由跳变控制器和跳变交换机完成,地址的跳变对通信双方来说是透明的,所以通信双方只需要根据正常流程通信即可。

3.2 地址跳变流程

通信双方地址跳变示意图如图3所示。

其中rIPa为客户端a的真实IP地址,rIPb为服务器b的真实IP地址,vIPb为服务器在网络中传输时特定时隙的虚假IP地址。

在Tn时刻,当客户端a给服务器b发送消息时,整个处理流程如下:

1)客户端a发送数据包到OpenFlow交换机S1;2)OpenFlow交换机S1按照流表中定义的规则进行处理,数据包的目的IP被修改为vIPb,这里的vIPb为Tn时刻地址跳变设备根据SDN控制器下发的流表进行数据包匹配时,目的IP所需要被改成的值;

3)数据包经由网络到达OpenFlow交换机S2;

4)OpenFlow交换机S2按照流表中定义的规则进行处理,数据包的目的IP被修改为rIPb;

5)OpenFlow交换机S2将数据包发送给服务器b。

图3 地址跳变示意图

在Tn+1时刻,当客户端a再给服务器b发送消息时,整个处理流程和Tn时发送消息一样,只是此时的vIPb不再是Tn时刻的vIPb了,控制器会根据跳变图案定时的下发新的流表给OpenFlow交换机,所以此时的vIPb是Tn+1时刻所对应的vIPb。

4 仿真验证

为了验证本文提出的地址跳变方案,采用了网络仿真工具Mininet搭建SDN网络。Mininet是目前应用比较广泛的研究SDN网络的平台,可以通过命令让Mininet生成所需要的网络拓扑,且命令中还提供了选项以用来设定网络中的参数,如交换机的dpid、主机的Mac地址等。本文采用POX作为SDN控制器来实现相应的地址跳变功能。首先启动Mininet,通过命令让Mininet生成一个包含两台交换机与两台主机的网络拓扑,并连接POX控制器,搭建的SDN网络结构拓扑图与图2结构类似。

Tn时刻,在Mininet中用主机h1去ping主机h2(Mininet中默认生成的h1和h2的IP地址分别为10.0.0.1和10.0.0.2),然后通过wireshark对控制器端口进行抓包,通过分析,发现有2条OpenFlow协议的流表下发过程,表2为Tn到Tn+1间某时刻SDN控制器下发的流表信息。

在Tn+1时刻,再用主机h1去ping主机h2,同时wireshark继续抓包,可以发现又有两条OpenFlow协议的流表下发,表3为Tn+1到Tn+2间某时刻SDN控制器下发的流表信息。

表2 Tn到Tn+1间某时刻SDN控制器下发流表信息

表3 Tn+1到Tn+2间某时刻SDN控制器下发流表信息

从表2可以看出,交换机Switch1(第一跳交换机)的流表操作是匹配源目的IP地址10.0.0.2,然后执行更改目的IP地址为跳变图案中的IP地址152.0.0.43,交换机Switch2(最后一跳交换机)的流表操作是匹配跳变图案所指的目的IP地址152.0.0.43,然后执行更改目的IP地址为源目的IP地址10.0.0.2,并从指定端口转发。

对比表3和表2可以发现,流表项中的匹配项或者执行动作有所改变,代表SDN控制器根据跳变图案下发了新的流表。所以在通信过程中,由于SDN控制器根据基于混沌序列生成的跳变图案下发流表给各OpenFlow交换机,然后通过首尾交换机的地址跳变,使服务器端的IP地址伪随机的不断变化,极大地增加了攻击的难度和代价。

5 结语

本文在SDN地址跳变技术的现有成果的研究基础上,创造性的提出了基于混沌序列的地址跳变方案,将混沌序列运用到地址跳变技术中,使地址跳变结合了混沌序列的随机性和不可预测性,解决了静态跳变规则容易被破解的问题,增加了网络攻击的难度,增强了网络的防御能力。

在下一步的研究中,准备将混沌序列引入到端口跳变中,使得端口跳变也拥有混沌序列所带来的随机性和不可预测性,利用同样的原理增强网络的防御能力。

猜你喜欢
IP地址交换机数据包
面向未来网络的白盒交换机体系综述
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
局域网交换机管理IP的规划与配置方案的探讨
更换汇聚交换机遇到的问题
基于地铁交换机电源设计思考
C#串口高效可靠的接收方案设计
公安网络中IP地址智能管理的研究与思考
《IP地址及其管理》教学设计
计算机的网络身份IP地址