当前位置: 首页 > web >正文

基于机器学习的攻击检测与缓解,以及 SDN 环境中的多控制器布局优化

1. 简介

软件定义网络 (SDN) 是一种较新的网络范式,由三个平面组成:数据平面、控制平面和应用平面,其中数据平面和控制平面彼此独立 [ 1 ]。在传统网络架构中,控制平面和数据平面是互连的 2、3 [] 。SDN是一种尖端范式,解决了传统互联网架构的问题。它允许从逻辑上集中的控制点对网络进行编程,从而提供了管理灵活性 [ 4 ]。控制器使用北向应用程序编程接口 (API) 与应用层通信,使用南向 API 与数据平面通信。OpenFlow 协议用于控制器与交换机之间的通信。由于控制平面和数据平面是分离的,SDN 相较于传统网络具有许多优势,包括可编程性、灵活性和可扩展性。但这也引发了其他 SDN 特有的安全问题 [ 5 ]。

尽管SDN架构与传统网络相比具有诸多优势,但它也经常面临网络威胁和攻击。目前,SDN架构的安全风险已与传统网络不相上下。SDN必须应对新的安全问题,尤其是在保护SDN架构方面。随着SDN的普及,预计会出现更多安全问题[ 6 ]。

Yang 等人 [ 7 ] 表示,未来的研究将侧重于识别在多个控制器之间链接或通信的拓扑结构中的分布式拒绝服务 (DDoS) 攻击。因此,实施一个能够解决这一安全问题的解决方案至关重要。由于传统方法的不足,用于 DDoS 检测和缓解的机器学习 (ML) 算法受到了越来越多的关注。

本研究检验了使用不同机器学习算法(包括朴素贝叶斯分类器、XGBoost、K最近邻 (KNN)、随机森林、神经网络和长短期记忆网络 (LSTM))识别SDN架构数据平面中的DDoS攻击并进行缓解的可行性和有效性。在实验中,XGBoost在测试准确率和测试时间之间取得了最佳平衡,因此我们将其用于构建入侵检测系统 (IDS),以检测SDN架构中的DDoS攻击。本文的主要贡献概括如下:

  • 部署K-means++和基于替代密度的排序点来识别聚类结构(OPTICS)算法,以确定多控制器的最佳数量和最佳位置。
  • 开发用于多控制器 SDN DDoS 威胁检测和解决的新算法。
  • 在应用平面实现DDoS攻击检测机制,在数据平面实现缓解机制。

本文的其余部分安排如下:第2节讨论了背景和相关工作,包括多控制器SDN和SDN安全威胁。第3节介绍了详细的方法。第4节给出了结果和讨论。这里,我们讨论了最优多控制器布局算法、系统设计场景和机器学习模型的性能评估。最后,第5节给出了结论和未来工作。

2. 背景和相关工作

2.1. SDN安全威胁与攻击

随着互联网用户数量的大幅增长以及随之而来的网络安全风险的增加,SDN 正面临越来越大的挑战。DDoS 是 SDN 中最常见、最危险的攻击类型之一 7,8 []。根据目标层面的不同,SDN 中的 DDoS 攻击也可分为三类:应用层威胁、控制层威胁和数据层威胁 [ 9 []](https://www.mdpi.com/2624-800X/5/1/10#B8-jcp-05-00010)。目前,人们采用了多种策略来检测、预防和缓解 DDoS 攻击,尤其是在 SDN 中的控制器上 [ 10 ]。

虽然SDN相较于云和网络服务提供商(例如5G/电信/ISP)具有诸多优势,但其广泛应用取决于能否应对其安全挑战。定向攻击能够干扰所有三个层级,主要包括SDN软件控制器(使其成为整个系统中最薄弱的环节)、控制器之间(C2C)链路、控制器与交换机之间(C2S)链路、交换机本身、应用程序以及应用程序与控制器之间的链路[ 5 ]。

DDoS攻击除了阻止未经授权的用户访问和使用网络资源外,还能够彻底破坏网络[ 11 ]。因此,防御SDN网络免受DDoS攻击至关重要。

DDoS 攻击有多种类型,包括 ICMP 洪水攻击、TCP 洪水攻击和 UDP 洪水攻击 [ 12 ]。通过运行攻击源,攻击者会向目标网络发送大量垃圾流量,从而大幅减少可用带宽并阻止目标主机与外界通信。

Singh 等人 [ 13 ] 全面回顾了约 70 种著名的基于 SDN 的 DDoS 检测和缓解技术。这些技术被分为四类:基于信息论的方法、基于机器学习的方法、基于人工神经网络 (ANN) 的方法以及其他各种方法。所有当前可用的 DDoS 检测解决方案根据所使用的检测指标和检测技术可分为四类:信息论指标、机器学习、人工神经网络和其他防御解决方案 [ 9 ]。

机器学习已成为一种流行的工具,用于辅助进行威胁和安全分析、入侵检测以及其他相关任务。通过正确检验机器学习对网络流量产生的一系列数据集以及一系列数据特征的支持,可以获得更深入的洞察 [ 14 ]。

Tahirou 等人 [ 10 ] 应用了监督机器学习方法,例如朴素贝叶斯、支持向量机 (SVM) 和 KNN,来识别 DDoS 攻击。CIC-2019 数据集用于训练这些算法。最终,使用由 Mininet、Ryu 控制器和 SNORT NIDS 组成的实时 SDN 模拟环境来评估这些方法的性能。一旦检测到攻击并将其列入黑名单以进行缓解,攻击者的 IP 地址和端口号就会被阻止。

支持向量机 (SVM)、隐马尔可夫模型 (HMM)、决策树 (J48)、朴素贝叶斯、高级支持向量机 (ASVM)、逻辑回归、随机树、二叉树蝙蝠算法、随机森林和 KNN 是许多研究人员用于 DDoS 攻击检测的一些有效机器学习算法。此外,许多研究人员使用自组织映射 (SOM)、精确风暴 (Exact-STORM)、反向传播神经网络 (BPNN)、卷积神经网络 (CNN)、循环神经网络 (RNN) 和长短期记忆 (LSTM) 等有效算法来识别SDN中的DDoS攻击[ 9、15、16、17、18、19 ] 。

Meti 等人 [ 20 ] 使用 NN 分类器和 SVM 分类器来识别潜在的危险连接。Mohsin 等人 [ 21 ] 使用四种机器学习技术研究了 DDoS 攻击的检测:随机森林、K 最近邻、朴素贝叶斯和逻辑回归。

2.2. 具有多控制器的 SDN

Zhang 等人 [ 22 ] 解释说,SDN 通过将控制平面与数据平面分离,提供了网络配置的灵活性。尽管 SDN 具有这种潜力,但它的缺点之一是控制器会降低网络的整体可用性,因为它是单点故障。人们提出了多控制器设计来弥补网络中单个控制器的局限性。多个控制器提高了网络可靠性,因为即使在一个控制器发生故障的情况下,它们也允许数据平面继续运行。对于大型网络,多控制器实施可以解决 SDN 集中式逻辑控制概念带来的可扩展性和可靠性问题。

与单控制器 SDN 不同,多控制器 SDN 带来了新的挑战,直接影响安全性和网络性能。攻击者采用关联式和分布式攻击,即先针对部分控制器发起攻击,然后再对整个网络发起协同攻击,而单控制器设置则不会出现这种情况。此外,在多控制器系统中,每个控制器仅掌握部分网络状态信息。这意味着安全机制必须以分布式方式运行,这可能导致攻击检测和缓解措施出现不一致或盲点。尽管多控制器能够提供负载分配,但控制器间通信会因延迟和开销而进一步加剧实时缓解的复杂性。

此外,单个 SDN 控制器的可扩展性和性能受到诸多限制。因此,大规模网络需要多控制器。此外,单个 SDN 控制器在性能和可扩展性方面也受到诸多限制。然而,多控制器显著增加了网络复杂性,并给 SDN 调度和管理带来了许多新的困难。由于控制器的布局对可用性、性能和延迟有显著的影响,分布式控制架构带来了一些影响整个网络的问题。为了实现高网络可靠性、跨控制器更好的负载平衡以及控制器和交换机之间的低延迟,研究人员定义了多目标优化控制器布局 (MOCP) [ 23 ]。

目前基于多控制器的攻击检测研究在范围和网络优化方面受到限制。Valizadeh 等人 [ 24 ] 和 Gebremeskel 等人 [ 25 ] 提出了在多控制器环境中检测 DDoS 攻击的解决方案。

Valizadeh 等人 [ 24 ] 提出了一种用于检测 SDN 中 DDoS 攻击的容错框架。他们开发了一种基于多控制器的方法,该方法结合了熵和数据包窗口启动率,主要用于检测多受害者场景中的攻击。该方法实现了 95% 的检测率,并通过实施用于控制器故障转移的领导者选举算法来提高网络可用性。

Gebremeskel 等人 [ 25 ] 提出了一种用于在多控制器 SDN 环境中检测和分类 DDoS 攻击的混合模型。他们将基于熵的检测与深度学习相结合,并利用卡方特征选择和长短期记忆网络 (LSTM) 来有效识别攻击。该模型在 CICIDoS2019 数据集上取得了更高的准确率(99.421%),超越了 CNN、RNN-AE 和 MLP-AE 等其他现有模型。然而,该模型物理上分布式但逻辑上集中式的架构,如同单个控制器,并未考虑域间和域内攻击。

Panditkumar 等人 [ 26 ] 提出了一种使用目标 IP 地址熵变化的 SDN 中 DDoS 攻击的早期检测和缓解方法。他们提出的方法利用多控制器 SDN 结构,通过分析传入数据包目的地的随机性,可以检测到前 250 个恶意流量数据包中的攻击。他们通过调整流空闲计时器快速删除恶意流,同时保留合法流量,从而缓解攻击。虽然这种方法可以有效地检测域间和域内攻击,但缺乏有效的缓解模块。他们提出的缓解程序仅通过丢弃恶意流来降低攻击强度,并且不提供用于阻止攻击源的通信机制。这种方法需要手动干预才能永久消除正在进行的攻击。

Gurusamy 等人 [ 27 ] 提出了一种安全流管理 (SFM) 模型,用于检测和缓解多控制器 SDN 中的 UDP 泛洪攻击。SFM 监控流量统计数据,并应用基于阈值的策略动态阻止恶意流量。然而,这项研究仅限于树状拓扑场景,每个控制器只允许一个连接,这可能会给控制器资源造成不必要的压力,并可能导致性能瓶颈。此外,这些研究人员都没有关注控制器的最佳数量和位置;利用最佳控制器位置可以在拥塞控制、可扩展性和速度(更快的检测和缓解)方面获得更好的性能。

因此,目前大多数关于SDN威胁的文献仅涉及单控制器场景,而多控制器环境下的威胁则缺乏优化且通用的解决方案。此外,这些模型部署在任意网络拓扑中,控制器的位置也任意,这通常会带来不切实际或有偏差的性能指标,例如速度、吞吐量和带宽。现有研究大多由控制器执行攻击检测操作;这种方法会导致控制器处于忙碌状态。在机器学习训练方面,广泛使用来自加拿大网络安全研究所 (CIC) 的数据集,但这些数据集的处理和数据包捕获开销较高。

考虑到所有这些缺陷,我们提出的模型首先获取两个包含多个控制器的真实网络拓扑。然后,该模型对控制器进行最优配置。攻击检测过程由独立于控制器的中央入侵检测系统 (IDS) 处理,从而节省宝贵的控制器资源以用于其他任务。此外,本研究结合使用原始数据集,无需数据包捕获即可更真实地表征 SDN 网络的行为,并降低计算开销。

3. 方法论

3.1. 用于优化控制器布局的算法

确定需要多少个控制器以及将它们放置在网络中的什么位置才能获得最佳性能是 SDN 中的主要问题之一 [ 28 ]。为了实现控制器的最佳放置,人们实施了 K-means++[ 29 ] 和 OPTICS[ 30 ]。K-means++ 是 K-means 算法的改进版本。尽管两者都解决了聚类问题,但 K-means++ 具有额外的优势,它通过对初始质心进行明智的初始化(利用欧氏距离度量进行质心选择)来获得更好的聚类结果。K-means 随机放置 k 个质心(每个聚类一个),因此存在初始化错误的可能性,从而导致聚类结果不佳。K-means++ 克服了这个初始化问题 [ 28 ]。对于 K-means++,输入为聚类数 (k) 和数据点数,对于输出,它返回给定数据点损失最小的聚类。我们使用了肘部法来确定最佳聚类数。其实施细节在第 4.1 节讨论。

类似地,OPTICS 是用于在空间数据中获得基于密度的聚类 [32] 的基于密度的聚类算法(DBSCAN)的改进版本。基于密度的聚类意味着根据高密度或低密度区域对数据点进行聚类。聚类可以在数据空间中任意形状 [

http://www.xdnf.cn/news/4745.html

相关文章:

  • Spring Boot + Vue 实现在线视频教育平台
  • 实践005-Gitlab CICD全项目整合
  • git 合并分支
  • 网工实验——OSPF配置
  • 理解 WKWebView 的 handlesURLScheme: 方法:判断 URL 协议是否由 WebView 默认处理
  • 基于STM32、HAL库的CH340N USB转UART收发器 驱动程序设计
  • Chroma:一个开源的8.9B文生图模型
  • SSM框架(Spring + Spring MVC + MyBatis)整合配置的详细步骤
  • Arm核的Ubuntu系统上安装Wireshark
  • MySQL如何进行调优
  • AquaCrop 模型新视角:多技术助力农业精准水管理
  • 室内定位误差分布评估到底该用累计误差还是混淆矩阵?
  • 复刻低成本机械臂 SO-ARM100 单关节控制(附代码)
  • STM32+安信可Ai-WB2-12F连接阿里云物联网平台
  • Google AI版图:解析AI Studio, Gemini, NotebookLM与GCP
  • 15 个 Azure DevOps 场景化面试问题及解答
  • WTK6900C-48L:离线语音芯片重构玩具DNA,从“按键操控”到“声控陪伴”的交互跃迁
  • 用uniapp在微信小程序实现画板(电子签名)功能,使用canvas实现功能
  • Android 数据持久化之 文件存储
  • SpringBoot整合PDF导出功能
  • 【PostgreSQL数据分析实战:从数据清洗到可视化全流程】电商数据分析案例-9.1 业务场景与数据准备
  • Wireshark基本使用
  • $SYNT 迈入新时代:治理门户更新 + 通胀提案发布
  • [机器学习介绍与定义]机器学习-part1
  • 删除链表倒数第N个节点
  • 什么是变量提升?(形象的比喻)
  • 【AI入门】CherryStudio入门4:创建知识库,对接思源笔记
  • Spring Boot 实现验证码生成与校验:从零开始构建安全登录系统
  • Linux Shell编程之条件语句
  • Jquery ajax 提交序列化或JSON数据到后台