APP下载

SDN网络DDoS泛洪攻击的被动防御措施研究

2022-07-06廖小群黄华东

现代信息科技 2022年6期
关键词:网络安全高校

廖小群?黄华东

摘  要:分布式拒绝服务DDoS攻击是当前网络中主要的黑客攻击方式,严重危害高职院校网络安全,给学校带来不少损失。SDN(软件定义网络)是一种将数据平面和控制平面分离的新的网络体系结构,普遍应用于云计算环境中。SDN网络的控制和决策完全集中在控制器上,这使其容易受到DDoS攻击。文章先是分析SDN网络架构的原理和特征,然后创建一個SDN仿真实验环境来模拟网络主机遭受泛洪式DDoS攻击的情况,最后提出了有效的检测和防御方法。

关键词:高校;SDN;DDoS;网络安全;泛洪攻击

中图分类号:TP391.9         文献标识码:A文章编号:2096-4706(2022)06-0097-04

Research on Passive Defense Measures of DDoS Flood Attack in SDN Network

LIAO Xiaoqun, HUANG Huadong

(Guangxi Vocational and Technical College of International Business, Nanning  530007, China )

Abstract: Distributed denial of service DDoS attack is the main hacker attack mode in the current network, which seriously endangers the network security of higher vocational colleges and brings a lot of losses to the school. SDN (Software Defined Network) is a new network system architecture that separates data plane and control plane. It is widely used in cloud computing environment. The control and decision-making of SDN network are completely concentrated on the controller, which makes it vulnerable to DDoS attacks. This paper first analyzes the principle and characteristics of SDN network architecture, then creates an SDN simulation experiment environment to simulate the situation of network host suffering from flood DDoS attack, and finally puts forward effective detection and defense methods.

Keywords: colleges and universities; SDN; DDoS; network security; flood attack

0  引  言

软件定义网络(Software Defined Network, SDN)是由美国斯坦福大学Clean-Slate课题研究组提出的一种新型网络创新架构,是网络虚拟化的一种实现方式。其核心技术OpenFlow通过将网络设备的控制面与数据面分离开来,从而实现了网络流量的灵活控制,使网络作为管道变得更加智能,为核心网络及应用的创新提供了良好的平台。SDN基于控制层和转发层的分离架构提高了网络的全局管理,大大提高了网络控制的集中性和灵活性,但也随之产生新的安全问题。控制层开放大量可编程接口给上层应用访问,北向接口连接建立的控制层与应用层之间的信任关系更加脆弱,使得DDoS攻击成为可能。

常见的DDoS攻击防御方法包括主动防御和被动防御。主动防御的方法是,网络技术人员在DDoS攻击发生之前,通过监测网络状态采取调度措施对DDoS攻击行为事先进行干扰。被动防御的方法是,网络技术人员检测到DDoS攻击时,立刻采取手段对攻击流量的数据进行流量清理和流量过滤。

1  SDN网络架构

SDN是将网络分为了三层,即控制层、转发层和应用层,如图1所示。控制层相当于传统网络中加了一层,用来实现代码控制转发层,同时留有北向接口面向外部应用。控制器是SDN中的应用程序,实际上是一种网络操作系统,是网络的中枢神经。控制器通过统一的指令来集中管理转发路径上的所有设备。SDN控制器包括OpenDaylight、Ryu、Floodlight等, 通过编写代码实现对转发层的控制,如通过Python程序对Open VSwitch交换机的转发规则进行定义。

转发层相当于交换机,传统网络的交换机,在传统的网络中,当主机之间转发数据时,交换机如何转发会根据转发表。转发表是通过一种自发学习的方式来实现,即当主机1连接主机2时,初始状态下,转发表为空,此时交换机不知道如何转发数据,就会进行泛洪发送,主机2收到消息后,转发表就会写入主机1到主机2的转发路径,以此类推就会构建一个完整的转发表。而对于SDN的转发层,主要功能相当于交换机,但是不同的是,初始转发层会有一个默认流表(转发表),优先级为0,表示当有数据转发时,由于流表并不知道转发方式,0代表交由控制器处理,控制器会进行泛洪,同时流表记录路径,最后下发流表到转发层,之后的转发根据流表进行。1DC8A686-F18D-4E7E-BA67-1E2ED0C3E8F2

应用层主要是完成用户意图的各种上层应用程序,通过连接控制器提供的北向接口进行流表编写,实现对转发层的控制。

2  OpenFlow协议

OpenFlow是一种新型的网络协议,它是控制器和交换机之间的标准协议。OpenFlow协议先后经历了1.0到1.4的升级过程。目前1.0和1.3版本的使用最为广泛。OpenFlow1.3增加了數据包处理的动作类型,增加了对多控制器的支持、增加了多级流表、组表、度量等。每个流表是多个流表项的集合,每个流表项主要由匹配域、优先级、计数器、指令、Timeouts、Cookie、Flags组成。

OpenFlow协议中定义了流水线式的报文处理流程。数据包进入交换机后,必须从最小的流表(编号为0)开始按顺序匹配。在流水线中,流表只能按编号从小到大向后传递,不能回头。当数据包成功匹配到流表中的某一条流表项时,它将首先更新该流表项对应的统计信息(如成功匹配的数据包总数和字节总数等),然后是直接执行流表项中的动作(action),或者是转到另外一个流表中(使用GOTO指令)进行匹配,此时跳转的流表编号必须比原流表要大。当数据包在最后一个流表中时,将执行对应动作集中的所有动作,包括转发到某个端口,修改数据包的某个字段、丢弃数据包等。当一条数据没有在流水线中匹配成功,这就是一个table-miss,未匹配成功的数据包由流表中的table-miss流表项进行处置,可以是:丢弃、传到另外一个流表或者通过packet-in消息传给控制器。

3  泛洪DDoS攻击

DDoS是英文Distributed Denial of Service的缩写,中文名叫分布式拒绝服务攻击,俗称洪水攻击。是指多个攻击者同时攻击一个或多个目标,或者通过非法手段控制两台或两台以上的主机,并通过这些傀儡主机发送命令对特定目标一起实施“拒绝服务”攻击,发送大量数据包,抢占网络带宽,消耗系统资源,使得被攻击目标无法处理正常的数据包,甚至会中断正常的服务。

Ping Flood泛洪攻击的基本原理是向受害主机(服务器)发送大量ICMP数据包请求。攻击者持续发送ping命令,并使用ICMP echo请求数据包来淹没目标,使目标主机无法正常访问流量。此时,从普通用户的角度来看,主机运行将非常卡顿,甚至没有响应,严重将导致系统瘫痪。

4  SDN环境模拟仿真实验

4.1  实验相关软件

由于设备和场地限制,在实际网络中很难进行SDN相关的实验,所以SDN的学习就特别需要一个仿真器。Mininet是一个能创建OVS交换机、网络主机和控制器的网络仿真器,借助它可以很容易地模拟实际环境中的网络控制和结构。在Mininet里利用mn命令就可以快速创建一个SDN网络,还可以根据实验需要选择不同的控制器(NOX\POX\ryu\Floodlight\ OpenDaylight等)。同时,Mininet系统兼容性强,可以在不同操作系统上运行。

Ryu控制器是一款完全由Python开发的开源控制器,支持各种版本的OpenFlow协议,用户可以用Python语言在控制器上开发自己的应用。

开源软件sFlow-trend能显示实时的网络流量趋势图,每秒钟更新一次,软件的“定义流”描述了如何根据不同的流量属性(地址、端口、VLAN、协议、国家、DNS名称等)来划分流量。本次仿真实验涉及到的软件都已经提前安装调试。

4.2  实验环境信息

本次实验包括一台物理机及两台虚拟机,详细信息如表1所示。

4.3  实验操作步骤

(1)在虚拟机A上切换到Ryu的APP目录下,通过输入如命令:ryu-manager ofctl_rest.py simple_switch.py,启动Ryu控制器。其中simple_switch.py模块是一个简单的OpenFlow交换机,ofctl_rest.py是为了打开控制器的北向接口供postman连接使用。

(2)在Mininet仿真器上构建网络拓扑如图2所示,并设置控制器为远程控制器虚拟机A。输入命令如下:

mn --topo=single,3 --controller=remote,ip=192.168.9.23,port=6633

(3)配置 sFlow-trend。 在虚拟机B上运行sFlow-trend:sudo docker run -p 6343:6343/udp -p 8008:8008 sflow/flow-trend。然后配置sFlow-trend,这样才能收集到流量信息进行分析和呈现,输入命令:sudo ovs-vsctl -- --id=@sflow create sflow agent=s1-eth0 target=\"127.0.0.1:6343\" sampling=10 polling=20 -- -- set bridge s1 sflow=@sflow,其中是s1-eth0是连接网络主机h1的网卡接口。然后在物理机U1上的edge浏览器打开网址:192.168.9.18:8008/app/ flow-trend/html/ index.html,然后在Keys输入:ipsource, ,在Value列输入bps ,然后点击右面的 Submit提交,将自动转到图形化流量监控页面。此时看到流量的速度是正常的。

(4)在物理机U1上运行postman,利用get操作可以获得已有的流表,所以访问网址填写:http://192.168.9.23:8080/stats/flow/1,功能选择get方式,点击send后,如果成功发送回返回200OK,并且在Body里面显示出流表,得到dpid、priority、timeout、cookie、port等字段的值。1DC8A686-F18D-4E7E-BA67-1E2ED0C3E8F2

(5)模拟发起泛洪式 DDoS 攻击。在mininet终端下,将h1(IP地址:10.0.0.1)作为攻击者向h3(IP地址:10.0.0.3)进行ping flood攻击,用来模拟DDoS泛洪式攻击。在mininet终端下,输入命令h1 ping -f h3,-f的意思就是泛洪攻击。从图3可以看出当,命令执行后,监测s1-eth0的传输流量剧增。

(6)在物理机U1上使用Postman下发流表抵抗DDoS攻击。为了抑制攻击流,我们通过下发流表以控制从交换机的端口1经过的流量,首先在postman中,访问网址为192.168.9.23:8080/stats/flowentry/add,功能选择post方式,在Body中选择raw进行流表的编写,代码见图4。

dpid代表交换机的编号,priority表示优先级,优先级数字越大表示越优先处理,在match写入的in_port代表交换机输入端口为1的端口,在本实验中也就是交换机连接H1的端口,actions中为空,表示交换机对于H1的流量不作任何处理。在抑制ICMP的流量同时,为了确保http服务的正常运行,加上dl_type字段和nw_proto字段,其中,dl_type字段代表IP协议,其中2048代表IPv4协议,nw_proto代表IP协议上搭载的协议类型,其中1代表ICMP协议。编写完成后,点击send进行流表下发,如果发送成功会返回200OK。通过postman进行流表下发之后,再次进行测试,从图5发现H1对H3的ping泛洪攻击失效,而H1对H3的正常的http访问没有受到影响。

5  结  论

本文在SDN 网络仿真实验环境中,结合使用Ryu控制器、Postman和sFlow-trend流量监控等软件,展示了拓扑创建、DDoS泛洪攻击、流量监测、流表下发等过程。利用sFlow-trend软件对网络流量情况进行了实时的检测和图像显示,最后通过下发流表到交换机的方式来抵御DDoS攻击,效果明显,对真实网络安全防御具有一定的参考意义。

参考文献:

[1] “科普中国”科学百科.软件定义网络 [EB/OL].[2022-01-10].https://baike.baidu.com/item/软件定义网络/9117977.

[2] 钱振勇.基于mininet平台模拟SDN架构对DDoS的研究 [J].电脑与电信,2021(7):60-63.

[3] 陈飞.SDN中的DDoS攻击防御方法研究 [J].信息与电脑(理论版),2018(12):216-217.

[4] 陈镭,杨章静,黄璞.软件定义网络环境下DoS攻防实验设计 [J].实验技术与管理,2021,38(2):53-57.

[5] 龚冉.基于SDN的负载均衡和DDOS攻击检测技术的研究 [D].合肥:安徽大学,2016.

[6] 万凡. SDN环境下的DDoS攻击检测技术与防护机制研究 [D].成都:西南交通大学,2018.

作者简介:廖小群(1983—),男,汉族,广西全州人,讲师,网络工程师,硕士,研究方向:高職教育信息化、计算机网络安全技术;黄华东(1978—),男,壮族,广西巴马人,工程师,本科,研究方向:计算机网络技术及信息安全。

收稿日期:2022-02-20

基金项目:2021年度广西高校中青年教师科研基础能力提升项目(2021KY1251)1DC8A686-F18D-4E7E-BA67-1E2ED0C3E8F2

猜你喜欢

网络安全高校
云计算环境下网络安全等级保护的实现途径
全国多地联动2020年国家网络安全宣传周启动
新量子通信线路保障网络安全
保护个人信息安全,还看新法
中日高校本科生导师制的比较
学研产模式下的医药英语人才培养研究
高校创新型人才培养制度的建设与思考
高校科研创新团队建设存在的问题及对策研究