在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解--实验

简介: 在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解--实验

关于该实验的详细介绍请查阅我的这篇博客:在软件定义网络中使用机器学习的方法进行 DDOS 攻击检测与缓解

〇、拉取代码

https://github.com/Jerry-jy/SDN-DDOS-Detection

2bc4ad109d314aa59748c27c8b30eafe.png


一、 配置环境

先升级

sudo apt-get update
sudo apt-get upgrade

再安装如下环境

sudo apt-get install openvswitch-switch
apt-get install mininet
sudo pip3 install ryu
sudo apt install python3-pip
sudo apt-get install iperf
sudo apt-get install hping3
sudo pip3 install numpy
sudo pip3 install sklearn
ovs-vsctl --version

e6cd5ef11a224659bee0f60ca65cbad0.png

ryu-manager --version

b1e62bbf673347a28fed6544652d5ed3.png

mn --version

998d901406d04056a3cb8a17010c5d30.png

iperf --version

2b15be5957124fd5a804ce00d532ed1a.png

hping3 --version

8d1b5350df6d40058fb5954694b8ebba.png

二、 正常流量收集

在topo.py中修改流量的测试类型TEST_TYPE = “normal” TEST_TIME = 600


ef69f6770ea04efcb45d87c39f8777d9.png

启动控制器ryu-manager controller.py

8bfdbc0561644f73a9ff22742c2fd38a.png

启动网络拓扑sudo python topo.py

5f064c344ab548d3bae477bfe163cf8a.png

控制器接受到正常流量:

6568b73f91ab4811b219ece93c892ace.png

三、攻击流量数据

在controller.py文件中修改APP TYPE=0TEST TYPE=1

03129432015e4124b14b0fa5eeed91e7.png

在topo.py文件中修改TEST TYPE=attackTEST TIME=600

a3cfc4450c784995baeea0b7936c873f.png



清理网络拓扑sudo mn -c


5f415e9cc5714ff3b327fb6d3450dbf0.png

启动控制器ryu-manager controller.py

8cdb16c78b5c457c93443a8199d977f5.png

启动拓扑sudo python topo.py

b259c2db3c104deab0444df25c47f65a.png

控制器接收到的异常流量

b259c2db3c104deab0444df25c47f65a.png



四、DDoS攻击检测与缓解

4.1 正常流量的检测

在controller.py文件中修改APP TYPE=1

c6ef21b4d9044a06b189bf6ceab76dc6.png

在topo.py文件中修改TEST TYPE= normalTEST TIME=300

6aa81b58a4814f4ab4830d0bed7752d3.png

清理拓扑sudo mn -c


87432a71b92f4ce399ee7b3ca4e8b744.png

启动控制器ryu-manager controller.py

05a1071ae11a48b4b9303978f1e7ab9c.png

启动拓扑sudo python topo.py

7be66d58a7c24aaa961ec6b835ea6bb9.png

控制器和SVM进行预测:为正常流

8751204d2a5b4926b25a56a3944e37c9.png

4.2 攻击流量的检测与缓解

在topo.py文件中修改TEST TYPE= attackTEST TIME=300

a928d5b611734533abb07ab1b7c5fb1d.png

清理拓扑sudo mn -c


f20dd957a194433bbdd321deb259e243.png

启动控制器ryu-manager controller.py

8457d87516eb432897112eaeda23078b.png

启动拓扑sudo python topo.py


4baefcd65cb14737b30aab316a8ff9a2.png

控制器和SVM进行预测:为异常流,就会阻塞该端口防止异常流的攻击,其余流量就会被预测为正常流,端口的阻塞时间为2分钟,2分钟后不再阻塞,如果该端口继续检测到异常流的攻击,就再次阻塞


a6b6bed8d4c6497b9a529cc7d74c3437.png

五,精准度和检测率

0e90adc423c94a4eb6fec75bc754eb07.png

图形化显示

pip3 install mlxtend


3ca064fc10af4afea68802cf6309d6f6.png


e50d591b2369469788ad79760feb71ac.png


c32d8e34bb274b0894d8b7a258ed24a4.png

相关文章
|
2月前
|
机器学习/深度学习 算法 数据挖掘
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构
K-means聚类算法是机器学习中常用的一种聚类方法,通过将数据集划分为K个簇来简化数据结构。本文介绍了K-means算法的基本原理,包括初始化、数据点分配与簇中心更新等步骤,以及如何在Python中实现该算法,最后讨论了其优缺点及应用场景。
141 4
|
1天前
|
机器学习/深度学习 数据采集 人工智能
GeneralDyG:南洋理工推出通用动态图异常检测方法,支持社交网络、电商和网络安全
GeneralDyG 是南洋理工大学推出的通用动态图异常检测方法,通过时间 ego-graph 采样、图神经网络和时间感知 Transformer 模块,有效应对数据多样性、动态特征捕捉和计算成本高等挑战。
29 18
GeneralDyG:南洋理工推出通用动态图异常检测方法,支持社交网络、电商和网络安全
|
4天前
|
机器学习/深度学习 人工智能 算法
机器学习算法的优化与改进:提升模型性能的策略与方法
机器学习算法的优化与改进:提升模型性能的策略与方法
46 13
机器学习算法的优化与改进:提升模型性能的策略与方法
|
1天前
|
机器学习/深度学习 存储 设计模式
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
本文探讨了数据基础设施设计中常见的一个问题:数据仓库或数据湖仓中的表格缺乏构建高性能机器学习模型所需的历史记录,导致模型性能受限。为解决这一问题,文章介绍了缓慢变化维度(SCD)技术,特别是Type II类型的应用。通过SCD,可以有效追踪维度表的历史变更,确保模型训练数据包含完整的时序信息,从而提升预测准确性。文章还从数据工程师、数据科学家和产品经理的不同视角提供了实施建议,强调历史数据追踪对提升模型性能和业务洞察的重要性,并建议采用渐进式策略逐步引入SCD设计模式。
15 8
特征时序化建模:基于特征缓慢变化维度历史追踪的机器学习模型性能优化方法
|
5天前
|
机器学习/深度学习 边缘计算 运维
机器学习在网络安全中的防护:智能化的安全屏障
机器学习在网络安全中的防护:智能化的安全屏障
34 15
|
28天前
|
机器学习/深度学习 数据采集 人工智能
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
层次化Softmax算法通过引入Huffman树结构,将传统Softmax的计算复杂度从线性降至对数级别,显著提升了大规模词汇表的训练效率。该算法不仅优化了计算效率,还在处理大规模离散分布问题上提供了新的思路。文章详细介绍了Huffman树的构建、节点编码、概率计算及基于Gensim的实现方法,并讨论了工程实现中的优化策略与应用实践。
68 15
基于Huffman树的层次化Softmax:面向大规模神经网络的高效概率计算方法
|
24天前
|
机器学习/深度学习 传感器 运维
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
本文探讨了时间序列分析中数据缺失的问题,并通过实际案例展示了如何利用机器学习技术进行缺失值补充。文章构建了一个模拟的能源生产数据集,采用线性回归和决策树回归两种方法进行缺失值补充,并从统计特征、自相关性、趋势和季节性等多个维度进行了详细评估。结果显示,决策树方法在处理复杂非线性模式和保持数据局部特征方面表现更佳,而线性回归方法则适用于简单的线性趋势数据。文章最后总结了两种方法的优劣,并给出了实际应用建议。
60 7
使用机器学习技术进行时间序列缺失数据填充:基础方法与入门案例
|
14天前
|
人工智能 搜索推荐 决策智能
不靠更复杂的策略,仅凭和大模型训练对齐,零样本零经验单LLM调用,成为网络任务智能体新SOTA
近期研究通过调整网络智能体的观察和动作空间,使其与大型语言模型(LLM)的能力对齐,显著提升了基于LLM的网络智能体性能。AgentOccam智能体在WebArena基准上超越了先前方法,成功率提升26.6个点(+161%)。该研究强调了与LLM训练目标一致的重要性,为网络任务自动化提供了新思路,但也指出其性能受限于LLM能力及任务复杂度。论文链接:https://arxiv.org/abs/2410.13825。
47 12
|
17天前
|
监控 负载均衡 安全
什么是DDoS攻击及如何防护DDOS攻击
通过上述防护措施,企业和组织可以构建全面的DDoS防护体系,有效抵御各类DDoS攻击,确保网络和服务的稳定运行。
107 10
|
21天前
|
运维 监控 安全
公司监控软件:SAS 数据分析引擎驱动网络异常精准检测
在数字化商业环境中,企业网络系统面临复杂威胁。SAS 数据分析引擎凭借高效处理能力,成为网络异常检测的关键技术。通过统计分析、时间序列分析等方法,SAS 帮助企业及时发现并处理异常流量,确保网络安全和业务连续性。
49 11

热门文章

最新文章