论文阅读笔记:基于 Mininet 的 DDoS 攻击和防御研究与实现

这篇具有很好参考价值的文章主要介绍了论文阅读笔记:基于 Mininet 的 DDoS 攻击和防御研究与实现。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

论文阅读:基于 Mininet 的 DDoS 攻击和防御研究与实现(BUPT本科生论文)

总结

​ ​\qquad 该论文主要研究及实现 SDN 中的 DDoS 攻击与防御,使用 Mininet+Ryu 控制器搭建虚拟网络拓扑作为实验平台,模拟真实的 SDN 环境。该论文通过训练决策树算法模型作为 DDoS 攻击检测方法。利用流表下发的原理设计了 DDoS 攻击的缓解方法,编写了一款 Ryu 控制器,以实现对 SDN 网络中的 DDoS 攻击的检测与缓解功能。

​ ​\qquad 该论文可以作为初学者了解SDN、DDoS攻击、决策树算法等知识的入门参考。

一、绪论

​ ​\qquad 该部分主要阐述了研究背景、研究意义、国内外研究现状、本文研究内容等,暂不展开介绍。

二、相关背景知识介绍

2.1 SDN基础

2.1.1 SDN基本框架

ryu控制器ddos,论文阅读,ddos,网络安全,决策树

如上图所示,SDN由应用层、控制层、转发层三层构成。

  1. 应用层:包含了实现各种网络功能和服务的SDN应用程序。

  2. 控制层:包含控制器,负责管理和控制网络中的所有数据平面设备(可以理解为物理设备)。

  3. 转发层:包含网络中的所有数据平面设备(交换机、路由器等),这些设备通过OpenFlow或其他协议与控制器交互,并接收从控制器下发的流表以控制其行为(OpenFlow和流表见下文介绍)。

​ ​\qquad 可以看到,SDN的控制层和转发层是分开的(而传统的分布式控制架构中,用于协议计算的控制层和用于报文转发的转发层位于同一台设备中),该结构使得控制器可以预先设计、规划网络,而不用重新计算路由()。控制器可以监控、管理整个网络,十分厉害!

2.1.2 SDN控制器

控制器的功能有:

  1. 管理网络拓扑结构:控制器可以获取和维护网络拓扑结构信息,如交换机之间的连接、链路带宽等
  2. 控制网络流量:控制器可以根据网络流量的特征(源地址、目的地址、协议类型等)对网络流量进行分类、过滤和控制
  3. 编写SDN应用程序:SDN应用程序可以实现各种网络功能和服务
  4. 监控和管理网络:控制器可以收集和分析网络流量信息和性能指标(流量大小、带宽利用率等)

​ ​\qquad 常见的SDN控制器有OpenDayLight、Ryu、ONOS等。该论文使用的是Ryu。Ryu 控制器是一个基于 Python 编写的 SDN 控制器框架,它提供了一组 API 和工具,用于开发和部署 SDN 应用程序。通过使用 OpenFlow 协议,Ryu 控制器能够与 SDN 交换机进行通信,获取交换机的状态信息和网络拓扑结构。

2.1.3 流表

​ ​\qquad 流表是SDN网络中控制层下发给转发层的转发规则,用于指引交换机按照指定的规则对数据包进行特定的处理(转发、丢弃等)

一个流表项主要包含以下三个部分:

  1. 包头域:主要包含数据包的一些基本信息(源IP地址、目的端口号、协议号等),相当于匹配用的
  2. 计数器:保存数据包的一些相关统计信息(数据包的数量、长度、存活时间),控制器可通过计数器来监视网络流量和性能
  3. 动作表:交换机收到数据包后的处理方法(转发数据包、修改数据包头部、丢弃数据包等)
2.1.4 OpenFlow协议

​ ​\qquad OpenFlow是SDN中用于在网络交换机等设备和控制器之间进行通信的一种协议,控制器可通过OpenFlow消息来对交换机进行配置、管理和监控。

OpenFlow的三种消息:

  1. 控制消息:控制交换机的行为(配置交换机、请求交换机状态、设置流表等),是从控制器到交换机的单向消息
  2. 数据消息:用于数据转发,是从交换机到控制器或者从交换机到另一个交换机的双向消息。
  3. 异步消息:用于通知控制器发生的事件(端口状态改变、数据包丢失等),由交换机异步发送给控制器
2.1.5 Mininet网络仿真工具

​ ​\qquad 一个SDN网络仿真工具,可创建由控制器、交换机、主机构成的虚拟的软件定义网络。

2.1.6 sFlow-rt工具

​ ​\qquad 一种网络流量监测和分析工具,可以将网络拓扑中的流量可视化

2.2 SDN中的DDoS攻击

2.2.1 常见的DDoS攻击种类:
  1. HTTP Flood攻击:向目标服务器发送大量的HTTP请求,以耗尽服务器的资源并使其无法正常工作。
  2. SYN Flood攻击:向目标服务器发送大量的SYN包,但不发送ACK包,从而建立大量 TCP 半连接,占用服务器的资源。
  3. ICMP Flood 攻击:ICMP Flood 攻击是指攻击者向目标服务器发送大量的 Internet 控制消息协议(ICMP)请求,从而耗尽服务器的资源。
  4. UDP Flood 攻击:UDP Flood 攻击是指攻击者向目标服务器发送大量的用户数据报协议包(UDP 包),从而占用服务器的资源。
2.2.2 SDN中的DDOS攻击:
  1. 针对应用层的攻击:使用大量的请求或恶意数据包来占用控制器的带宽、处理能力和存储资源,如HTTP Flood攻击。

  2. 针对控制层的攻击:使用大量的控制消息或恶意流表规则来占用控制器的带宽和处理能力,从而导致网络流量无法正常转发,常见的攻击方式是使用随机的 IP 地址来进行 ICMP Flood 和 UDP Flood 攻击。

  3. 针对转发层的攻击:这种攻击可以使用大量的恶意数据包或无效流表规则来占用路由器或交换机设备的带宽和处理能力,从而导致网络流量无法正确地转发,常用方法是 ICMP Flood 和 UDP Flood 等洪泛攻击。

三、DDoS攻击的检测

3.1 决策树算法

3.1.1 算法基本原理

​ ​\qquad 该算法是通过对数据集进行递归划分,构建一棵树形结构,使得在每个节点上选择最优的划分特征(最佳的划分特征通常是能够最大程度减少数据集的不确定性),从而实现对样本的分类或回归预测。

三种选择最优特征的算法:

  1. ID3算法:采用信息增益最大化作为决策树选择最优特征的标准。一个特征的信息增益越大,表明该特征的重要性越大。

    G a i n A ( D ) = H ( D ) − H ( D ∣ A ) GainA(D) = H(D) − H(D|A) GainA(D)=H(D)H(DA)

    H ( D ∣ A ) = − ∑ i = 1 n P ( A i ) ∑ k = 1 K P ( D k ∣ A i ) l o g 2 P ( D k ∣ A i ) H(D|A)=−\sum_{i=1}^{n}P(A_i)\sum_{k=1}^{K}P(D_k|A_i)log_2P(D_k|A_i) H(DA)=i=1nP(Ai)k=1KP(DkAi)log2P(DkAi)

    其中特征 A 的信息增益是指总体的信息熵与特征 A 的条件熵( H(D|A) )之差

  2. C4.5 算法:C4.5 算法采用信息增益率最大化作为决策树的划分标准,特征 A的信息增益率是指特征 A 的信息增益与与特征 A 的条件熵之比。

    G a i n R a t i o A ( D ) = G a i n A ( D ) H ( D ∣ A ) GainRatio_A(D) = \frac{Gain_A(D)}{H(D|A)} GainRatioA(D)=H(DA)GainA(D)

  3. CART 算法:CART 算法使用 Gini 系数最小化准则作为划分标准,基尼系数代表了模型的不纯度,基尼系数越小,特征重要性越大。

​ ​\qquad ID3 算法用于处理离散的输入变量,并且在生成树的过程中不考虑数据的概率分布,C4.5 算法是 ID3 的改进版,它能够处理离散和连续的输入变量,并且在生成树的过程中考虑数据的概率分布,而 CART 算法引入基尼系数,CART 算法既可以用于二分类和多分类的问题,也可以用于回归问题

3.1.2 决策树的构建

​ ​\qquad 决策树算法的构建过程实际上就是对一个特征的重要程度进行排序的过程。该算法的可解释性强,但当决策树过于复杂时,往往会出现过拟合的现象。因此要进行剪枝操作。

  1. 预剪枝:设定最大深度、设定最小样本数、设定最小信息增益
  2. 后剪枝:对决策树进行自下而上的遍历,对每个非叶子节点进行考虑,将该节点对应的子树替换为叶子节点,并记录该叶子节点的类别。计算使用该叶子节点代替子树后的测试集分类准确率,如果准确率提高,则保留该叶子节点代替子树,否则还原子树。重复以上步骤,直到所有非叶子节点都被考虑过。

3.2 基于决策树算法的DDoS攻击检测实验

  1. 实验过程:

​ ​\qquad 为了实现对 DDoS 攻击的检测功能,需利用训练好的决策树算法模型编写 SDN 控制器。本实验所用控制器基于Ryu自带的SimpleSwitch13样例编写。SimpleSwitch13样例实现了简单的流表下发和流量转发的功能,在这一样例的基础上,将 DDoS检测算法整合到控制器中,从而实现 DDoS 攻击的检测,具体方法为:在控制器运行过程中,会不断向各交换机发送请求流表统计信息。在接收到交换机发回来的流表统计信息时,控制器将会触发 _flow_stats_reply_handler 函数,将用于分类的特征从交换机返回的流表信息中提取出来,输入本文训练好的决策树算法模型中,根据算法运行结果来检测该流表项是否为 DDoS 攻击流量。若检测出为 DDoS 攻击流量,且攻击流量所占比例超过一定阈值时,则判断网络受到了 DDoS 攻击,根据流表统计信息中提取的源 IP 地址、目的 IP 地址、目的端口等可以判断出被攻击的主机,从而采取防御措施。
ryu控制器ddos,论文阅读,ddos,网络安全,决策树

  1. 实验结果:

​ ​\qquad 该实验最后选择的决策树最大高度为10,准确率达到了99%,决策树结果发现存活时间、目的端口、每秒发送包的数量和协议种类是最重要的几个特征,这些特征对分类准确程度的影响是最大的。

ryu控制器ddos,论文阅读,ddos,网络安全,决策树

四、DDoS攻击的防御

4.1 防御原理

  1. 流量监测:SDN控制器可以监测网络流量并检测异常流量
  2. 流量控制:当SDN控制器检测到异常流量时,它可以告知网络交换机或路由器降低或阻止流量。这些可以通过使用流量限制策略。
  3. 集中式管理:SDN 的集中式管理和控制架构允许网络管理员快速响应 DDoS 攻击,管理员可以使用 SDN 控制器在整个网络中实施相同的 DDoS 防御策略

4.2 基于流表下发的DDoS攻击防御实验

4.2.1 防御方法设计

​ ​\qquad 在某一主机受到 DDoS 攻击时,SDN 可以通过控制器下发流表的操作临时关闭受攻击的端口来缓解攻击。当 Ryu 控制器检测到 DDoS 攻击后,立即获取被攻击主机和攻击者的信息,而后通过下发流表来完成关闭被攻击主机端口的操作。

​ ​\qquad 在下发流表过程中,通过设置 match、action、priority 和 hardtime 等主要字段,能够完成对特定源或目的地的流量的拦截工作。

  1. match:完成攻击流量的匹配,常用参数为源地址、目的地址、端口号、协议类型等。在下发流表时设置这些参数的值能够使得流表仅作用于特定类型的数据包。
  2. action:指示交换机对匹配的数据包执行特定的动作,主要有转发(目的端口或下一个交换机)、修改(修改MAC地址、IP地址等)、处理(丢弃、发送到控制器等)、其他(设置QoS等)等。对于DDOS攻击流量,只需要将action字段置空,表示丢弃处理
  3. priority:用于指示交换机对匹配到的多个流表项进行匹配时的优先级顺序。数值越高,优先级越高
  4. hardtime:用于指示交换机在匹配到该流表项的数据包之后,多长时间后将该流表项从交换机中删除。
4.2.2 DDoS攻击缓解方案

ryu控制器ddos,论文阅读,ddos,网络安全,决策树

4.2.3 实验过程及结果
具体实验过程:
  1. 启动本文第三章中使用的网络拓扑,如图 3-2 所示。
  2. 启动编写好的 Ryu 控制器,使用 pingall 命令测试网络的连通性。
  3. 启动 sFlow-rt 插件,监测网络中的流量。
  4. 使用 hping3 工具模拟 DDoS 攻击,观察 Ryu 控制器的报警信息以及网络中流量的变化情况。
实验结果

​ ​\qquad 下发流表的方式实现DDoS攻击的缓解是可行的,实验效果较为明显

ryu控制器ddos,论文阅读,ddos,网络安全,决策树

五、总结与展望

​ ​\qquad 总的来说,该论文的实验部分均基于Mininet仿真平台,并未在真实的 SDN 中进行实践验证,没有对在真实 SDN 中的效果加以探究。本文中设计的 DDoS 缓解方案只是做到了对 DDoS 攻击的被动缓解,并没有从根源上解决 DDoS 攻击的影响。同时,本文中测试所用的 DDoS 攻击只是一些基本的、简单的 DDoS 攻击,并未针对一些复杂的 DDoS 攻击进行深入的研究文章来源地址https://www.toymoban.com/news/detail-789425.html

到了这里,关于论文阅读笔记:基于 Mininet 的 DDoS 攻击和防御研究与实现的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • DDOS攻击防御实战(威胁情报)

    `不知道大家最近有没有关注到,百度云CDN不支持免费了,网站安全问题越来越严重了……         Distributed Denial of Service 分布式拒绝服务攻击可以使很多的计算机在同一时间遭受到攻击,使攻击的目标无法正常使用,分布式拒绝服务攻击已经出现了很多次,导致很多的大

    2024年02月09日
    浏览(49)
  • 【附源码】JAVA计算机毕业设计智能家居攻击与防御方法研究(springboot+mysql+开题+论文)

    本系统 (程序+源码) 带文档lw万字以上   文末可获取一份本项目的java源码和数据库参考。 研究背景 随着科技的飞速发展,智能家居作为现代家庭生活的重要组成部分,正日益受到人们的青睐。然而,智能家居系统的高度联网特性也使其面临着各种潜在的安全威胁。近年来

    2024年04月13日
    浏览(34)
  • DDoS攻击:网络安全的威胁与防御

    随着互联网的普及和信息技术的发展,网络安全威胁也日益增多。其中,DDoS攻击作为一种常见而具有破坏性的网络攻击方式,对个人、企业乃至整个网络生态系统带来了严重的威胁。本文将介绍DDoS攻击的概念、危害以及其重要性,并旨在提供有效的防御措施以保护网络安全

    2024年02月08日
    浏览(56)
  • 魔兽世界服务器被攻击怎么办?DDoS攻击防御方法

    魔兽世界服务器被攻击在目前来说也是比较常见的,同行竞争激烈,在官服开放时也遇到过DDOS攻击,要是飞飞没记错是在22年9月14日,从刚开始的身份验证服务器出现问题,到确定是DDOS攻击导致,再到DDOS攻击结束,差不多3个小时时间。 DDOS攻击是一种较常见的网络攻击技术

    2024年02月15日
    浏览(44)
  • 浅谈DDoS攻击 1 - 多IP防御的新思路

    随着物联网的发展, DDoS 攻击变得越来越普遍. 站长们或多或少都听说过或实际被 DDoS 攻击过. 本文通过我这几年应对 DDoS 的经验, 来给大家描述一个开销比较小的 DDoS 防御思路, 希望能够抛砖引玉. 常见的 DDoS 攻击从流量真实性 (流量是否真正作用到了业务上) 上来讲, 显而易见

    2024年01月21日
    浏览(33)
  • cloudflare防CC、DDOs攻击保姆级教程,附带防御规则

    安全级别设置为:高 咨询通过期设置为: 15到30分钟 浏览器完整性检查设置为:打开 1、点右边箭头中的 部署DDos  2、按照下面的图片配置 替代名称:ddos 规则集操作:阻止 规则敏感度:高  3、配置完记得点右下角的保存 把自动程序攻击模式:开启 1、先创建规则   2、按下

    2024年02月06日
    浏览(79)
  • 【云计算网络安全】解析DDoS攻击:工作原理、识别和防御策略 | 文末送书

    在今天的云计算数字时代,网络安全问题变得愈发重要。尤其是云计算中所设计到的网络安全问题,其中一种常见的网络威胁是分布式拒绝服务(DDoS)攻击。DDoS攻击旨在通过大规模的网络流量淹没目标服务器或网络,以破坏正常的在线服务。了解DDoS攻击的工作原理以及如何

    2024年02月09日
    浏览(55)
  • 论文阅读-基于深度学习的多模态情感分析研究综述

    非核心 原文链接:基于深度学习的多模态情感分析研究综述 - 中国知网 (cnki.net) 深度学习完成多模态情感分析综述。主要介绍 多模态情感分析 的概念、背景、意义。总结了 多模态融合技术和交互技术 ,讨论多模态情感分析 未来发展 。 目前经典的多模态情感分析研究已经

    2024年02月04日
    浏览(41)
  • 论文阅读:基于深度学习的大尺度遥感图像建筑物分割研究

    一、该网络中采用了上下文信息捕获模块。通过扩大感受野,在保留细节信息的同时,在中心部分进行多尺度特征的融合,缓解了传统算法中细节信息丢失的问题;通过自适应地融合局部语义特征,该网络在空间特征和通道特征之间建立长距离的依赖关系; 二、分割网络:边

    2024年02月15日
    浏览(39)
  • 论文阅读-2:基于深度学习的大尺度遥感图像建筑物分割研究

    一、该网络中采用了上下文信息捕获模块。通过扩大感受野,在保留细节信息的同时,在中心部分进行多尺度特征的融合,缓解了传统算法中细节信息丢失的问题;通过自适应地融合局部语义特征,该网络在空间特征和通道特征之间建立长距离的依赖关系; 二、分割网络:边

    2024年02月16日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包