APP下载

基于mininet平台模拟SDN架构对DDoS的研究

2021-10-15钱振勇

电脑与电信 2021年7期
关键词:攻击者交换机控制器

钱振勇

(绍兴文理学院,浙江 绍兴 312000)

1 引言

在拒绝服务攻击中,如果处在不同位置的多个攻击者同时向一个或多个目标发起拒绝服务攻击,或者一个或多个攻击者控制了位于不同位置的多台计算机,并利用这些计算机对受害者同时实施拒绝服务攻击,则称这种攻击为分布式拒绝服务攻击(DDoS)[1]。拒绝服务攻击主要是以网站、路由器或者域名服务器等网站基础设施作为攻击目标,因此危害非常大,常常会对被攻击对象造成严重的损失。

软件定义网络(software-defined networking即SDN)[2]作为一种新型的网络架构,可以在不改变硬件的前提下,以中央控制的方式来利用软件重新规划并部署网络。其核心思想是实现控制层和转发层分离,交换机只负责高速转发,所有交换机的控制、管理和决策功能全部集中在控制器[3]。但是也正是因为控制器的高度集中化,一旦控制器受到攻击,会导致整个网络瘫痪[4]。

SDN以一种全新的网络部署架构为抵制DDoS攻击提供全新的思路和解决方法。在传统网络方式中,每年都有大量的网络因为DDoS造成不可预估的损失。本文旨在模拟SDN架构中测试DDoS的攻击与防御,对真实网络各层架构的部署具有一定的借鉴意义。

2 Ping Flood DDoS攻击

2.1 基本介绍

DDoS攻击是一种特殊的DOS攻击,是指在不同位置的多个攻击者同时向一个或多个目标发起DOS攻击,能够以较小的代价使得目标无法响应甚至瘫痪。DDoS攻击是一种分布式的、大规模的攻击方式,因此DDoS攻击的危害也是巨大的,会造成无法估计的损失。

本文中模拟使用的是Ping Flood攻击,其基本原理是向受害主机(服务器)发送大量请求,攻击者不断发送ping命令,利用ICMP回显请求报文来淹没目标,导致目标主机无法正常访问流量。此时,站在正常用户的角度来看,服务器就会非常卡顿甚至出现不响应的现象,这就造成了服务器的瘫痪。目前,对此类攻击的检测技术相对成熟[5-7],可以有效检测并防御。

2.2 工作机制

Ping Flood攻击的原理就是利用了ICMP协议的漏洞,因为ICMP在请求时需要有服务器来处理每一个请求并回应,所以Ping Flood攻击就以压倒性的趋势不断发送请求从而导致流量网络连接过载出现崩溃的情况。本文模拟测试的是用两台主机不断发送Ping Flood攻击,使得第三台主机的流量迅速激增,导致网络发生中断,无法正常访问。可以分为以下两个步骤:

(1)多个攻击者主机向目标主机发送大量的ICMP回显请求报文。

(2)目标主机需要响应每个请求的设备,发送回应应答。

3 SDN架构

3.1 基本介绍

由于传统网络和网络设备在过去存在只可配置、不可编程的问题,导致网络的分布式管理架构会带来制约,无法满足日益增长和不断变化的需求[8],因此提出了一种新型架构SDN架构——一种将网络控制、转发和应用进行分离,实现控制管理加可编程的架构。

SDN网络架构的出现,引起了网络安全中的一股热潮,新型模式的设计搭建使得在抵御网络攻击中有着更加优秀的表现,由于SDN架构实现了控制器的高度集中化,在网络部署多样性上做了一定的突破。

3.2 基本架构

SDN是一种将数据的控制进行分离,实现了软件可编程的新型架构。其结构如图1所示。

图1 SDN基本结构图

转发层,相当于是传统网络中的交换机,默认状态下会存放一张转发表,区别于传统自学习的方式,SDN中的转发表优先级为0,在不知道如何进行转发的时候,会交给控制器进行处理,并记录路径,最后会发送回到转发层。

控制层,相当于在传统网络结构中多加了一层,用程序控制下面的转发层,转发层和控制层之间利用通信接口连接。常见的网络服务主要有opendaylight、ryu、floodlight等等。

应用层的主要任务就是通过API将业务应用接入控制器控制流表,实现对转发的控制。

4 仿真模拟实验

4.1 实验环境

基于Ubuntu操作系统下的mininet网络仿真SDN平台,由于mininet其本身强大的系统兼容性,可以便利模拟真实环境中的网络操作与架构。相关设备包括:

ryu控制器:一款SDN控制器。

postman:一款API调试工具,可以对流表进行相关操作。

sFlow:适用于高速交换网络中的监控软件,可以实时监控在DOS攻击下流量信息的实时变化。

4.2 模拟测试

利用mininet的仿真软件定义网络架构进行测试。因为其支持使用OpenFlow协议和多种网络相关工具,使得mininet操作使用更加高效,能更好地达到我们所期待的效果。具体可参考OpenFlow Specification[9]。在mininet可视化工具下,创建如图2所示的网络拓扑结构。

图2 网络拓扑结构

从上至下分别是控制器、交换器和主机,将控制器设置为一个远程控制器,交换机的DPID是00000000000000001,设置h1-h3主机的IP地址为10.0.0.1-10.0.0.3,并将整个网络结构设置为全局模式,对比局部模式有助于控制器c0进行相关的操作。

在链路信息相通的前提下,在交换机上配置sFlow以便于收集器能在网站中收集到流量信息从而进行数据可视化操作。查看sFlow的WEBUI并在在本地浏览器打开8008端口网址,可以看见实时的监控状态。

接下来进行模拟DDoS攻击,测试过程中为了模拟真实网络情况,设置了两个攻击者和一个被攻击者,将h1和h2同时作为攻击者对h3进行Ping Flood攻击,在攻击的同时对流量信息进行实时监控。

攻击前,需要检查流量信息是否处于一个正常水平的状态,所以在h1终端中去ping h3,h2终端中去ping h3。结果显示,当在h1、h2终端中ping h3的时候,流量信息相较之前显著提高,但是仍然处在一个正常的水平状态,具体信息如图3所示。

图3 流量信息检测图(攻击前)

确认了当前流量信息处于正常水平后,模拟进行Ping Flood攻击。具体操作过程如下:第一步:安装curl文件传输工具,对h3主机开启一个http服务。利用h2对h3进行服务访问,可以看见正常服务连接。第二步:将h1主机作为一个攻击者向h3主机进行Ping Flood攻击,用来模拟DDoS攻击。

图4 流量信息检测图(攻击后)

结果显示,监测到的传输流量迅速增长,CPU占用和内存占用也大幅度增加,此时CPU的占用率达到了100%。

维持当前状态下,在h1、h2和h3三台主机上模拟实现抵御DDoS的攻击,目的是要将cpu的占用率降低并且使得网址可以正常访问。其核心思想是,当检查到流量信息处于异常状态时,利用mininet平台支持的ryu控制器对交换机下发流表,从而抑制攻击流量。

流表是openFlow中的概念,可以抽象认为流表是open-Flow对网络设备管理的数据转发功能的一种体现,记录的是交换机在运转过程中数据的转发。而每一张流表都是由很多条流表项组成的,对应着网络传输中的一条条流。流表作为数据转发的核心控制中心,交换机会通过查找流表项来处理网络传输中的各类数据。而下发流表就如同下发指令,指明交换机在收到数据后的操作。

抑制流量可以通过postman对流表完成操作。抑制攻击流量的主要思想如下:

(1)本文模拟使用的是Ping Flood攻击,因此可以通过下发流表的操作,抑制交换机中端口传输的流量。

(2)SDN交换机流表的表项中整合了网络中各个层次的网络配置信息,且每个表项中包含Priority、Timeout、cookie、port等字段,利用get操作可以获得已存在的流表,为了在不影响正常的HTTP服务的前提下销毁掉ICMP的流量,在原来的基础上,添加代表ip协议、priority优先级、port端口号的字段等,在post方式下,在body中进行流表编写。

4.3 实验结果

通过测试,在进行Ping Flood攻击时,为了呈现更加直观的效果,将上述过程的流量检测信息用曲线图来表示,从正常到开始进行Ping Flood攻击整个过程如图5所示。

图5 流量监测曲线图(攻击时)

发现在h1和h2同时作为攻击者去攻击h3后,流量信息曲线呈现指数级瞬间上涨,从0涨到600k,并保持在700K上下起伏。而在进行DDoS攻击缓解的时候,从抑制攻击流量开始到测试结束,流量信息曲线下降也是呈现指数级,瞬间从700K左右下降到0K,并迅速保持平稳,如图6所示。这个时候网站已经可以被正常访问了。

图6 流量检测曲线图(缓解时)

而对于传统网络的部署,是无法做到像SDN那样可以实时监控端口传输流量信息的。在SDN网络架构中,通过对网络或端口流量进行实时监控,提取关键信息,绘制图表进行分析,通过数据可视化可以实时捕捉各种异常状态并及时做出相应的处理。

5 结束语

本文基于mininet平台模拟仿真SDN架构研究DDoS的攻击和防御,为真实网络监控提供一定的借鉴意义。利用sFlow来实时监控传输流量信息的变化,并在曲线图中绘制出来得到更加直观的结果。利用SDN架构的网络拓扑结构,以中央控制的方式部署网络结构相较于传统的网络部署方式更加具有防御性,对抑制DDoS攻击更加有效。

猜你喜欢

攻击者交换机控制器
南京溧水电子3款控制器产品
基于贝叶斯博弈的防御资源调配模型研究
局域网交换机管理IP的规划与配置方案的探讨
面向国产化的MCU+FPGA通用控制器设计
基于NFV的分布式SDN控制器节能机制
基于地铁交换机电源设计思考
正面迎接批判
正面迎接批判
浅谈交换机CAN基本配置
智能液位控制器在排水系统中的应用