[future 2022] 基于特征选择的DDoS攻击流分类方法

news2025/5/29 6:52:30

https://www.sciencedirect.com/science/article/pii/S0167739X22000474

highlights

•我们设计了一种特征选择方法来选择独立和相关的特征。

•我们设计了一种方法来识别物联网和复杂的 DDoS 攻击流。

•该体系结构在有效性和效率方面优于比较方法。

摘要

分布式拒绝服务 (DDoS) 攻击仍然是对在线服务器可用性的巨大威胁。为了抵御攻击,挑战不仅在于检测发生的 DDoS 攻击,还在于识别并阻止攻击流。然而,现有的分类方法无法准确有效地区分攻击流和良性流。在本文中,我们提出了一种名为 SAFE 的 DDoS 攻击流分类系统,以准确快速地识别网络层的攻击流。首先,SAFE 通过删除冗余特征并选择信息量最大的特征来选择最佳特征。其次,提出了一种阈值调整方法来确定每个特征的最佳阈值。最后,一个聚合的基于特征的线性分类器建议对所选特征进行加权以进行分类。由于所提出的方法监控网络层的流量,因此它可以检测传统的 DDoS 攻击流量以及物联网 (IoT) 设备发起的攻击流量。对一个物联网和两个复杂的 DDoS 攻击进行了综合实验,以评估所提出方法的分类性能。比较结果表明,SAFE 在分类精度和效率方面可以取得比现有技术更好的分类性能。

  1. 引言

分布式拒绝服务 (DDoS) 攻击已对在线服务的可用性构成巨大威胁。成功的 DDoS 攻击旨在使用来自多个来源的恶意流量耗尽在线服务的资源,从而使普通用户无法访问。根据一份年度报告,近年来 DDoS 攻击的规模持续以惊人的速度增长,其中 400 Gbps 攻击现已成为家常便饭,据报道,2018 年针对北美服务提供商的最大攻击已达到 1.7 Tbps [ 1]。此外,攻击类型的复杂性,如容量、TCP 状态耗尽和应用层,探索受害者的不同漏洞使得防御变得更加困难[2]。

为了抵御 DDoS 攻击,人们提出了各种防御措施[3]、[4]、[5]、[6]、[7]、[8]、[9]。这些方法中的大多数侧重于检测攻击(例如,DDoS 攻击是否正在进行)。检测系统为DDoS攻击防御提供了基础。但受害人的保护是有限的,因为他们无法阻止攻击。要从本质上阻止 DDoS 攻击,关键挑战是区分攻击流和良性流,从而阻止攻击者的流。

已经提出了一些方法来识别攻击流[10],[11],这些方法可以分为两类:基于有效载荷检查的分类和基于机器学习的分类。有效负载检查依赖于检查数据包有效负载(例如,HTTP 消息内容[10])以获得攻击特征。然而,对于针对协议漏洞的攻击(例如 SYN 泛洪和 ICMP 泛洪),分类性能较低,因为数据包有效负载包含的信息有限。此外,该方法涉及隐私问题,因为它需要检查数据包内容,即用户的应用数据。现有的基于机器学习的方法(例如,长短期记忆(LSTM)网络[11])需要大量的特征来训练大量的参数,这非常耗时。即使模型已经离线训练,在识别阶段为每个流样本拟合大量参数仍然很昂贵,特别是当受害者遭受攻击并且计算资源有限时。

在本文中,我们不仅仅检测 DDoS 攻击是否正在进行;当攻击者执行攻击时,我们试图识别网络层的攻击流。因此,我们提出了一种DDoS攻击 识别( SAFE )系统,可以有效且高效地识别 DDoS 攻击流与以前的工作相比,所提出的方法提供了更精确的分类结果,并显着减少了攻击流分类的时间消耗。此外,该方法不依赖有效负载检查来获取特征,从而保护了用户的隐私。

为实现这一目标,我们需要应对以下挑战。第一个挑战是选择能够区分攻击流和良性流的信息特征。针对该问题,SAFE首先从应用、流量、TCP状态三类中提取了21个攻击流出现异常的特征。然后,采用基于相关性的方法来衡量特征之间的线性相关性,从而去除冗余特征。最后,SAFE 根据重要性对特征进行排序,并选择信息量最大的特征进行分类。

第二个挑战是为所选特征找到最佳阈值。为了应对这一挑战,我们设计了一种阈值调整方法来为每个特征搜索最佳阈值。选择的阈值可以根据输入特征最大化分类性能。

第三个挑战是流分类方法应该是轻量级的,以减少分类阶段的时间消耗。为此,我们提出了一个聚合的基于特征的线性分类器。这是通过组合所选特征的输出和特征权重来实现的。因此,不需要像 LSTM 方法[11]那样训练庞大的参数。

总而言之,我们的贡献如下:

•我们提出了一种特征选择方法来选择 DDoS 攻击流分类的特征。该方法可以通过选择独立且最相关的特征进行分类来减少特征的数量。

•我们设计 SAFE 架构来识别物联网(IoT) 和复杂的 DDoS 攻击流。首先,SAFE 部署了一种阈值调整方法来为所选特征找到最佳阈值。其次,SAFE 通过组合所选特征的输出和特征权重,采用基于聚合特征的分类方法。

•我们针对一次物联网和两次复杂的 DDoS 攻击对 SAFE 进行了全面评估。实证研究表明,SAFE 可以有效地识别少数特征内的攻击流,并且在有效性和效率方面优于比较方法。

本文的其余部分组织如下:第 2节回顾了 DDoS 攻击检测和攻击流分类方面的相关工作。第3节提出了一种基于特征选择的分类方法 。第 4节介绍了性能分析和比较实验。最后,本文在第 5节中总结。

2 . 相关工作

2.1 DDoS攻击检测

DDoS 攻击检测,如异常检测和基于机器学习的分类,已被广泛研究。异常检测旨在衡量某个特征的异常偏差,如果偏差超过阈值,则可以检测到DDoS攻击[12]。在[13]中,作者提出了一种基于广义熵的方法来检测低速率 DDoS 攻击。该方法基于正常流量和低速攻击流量的概率分布差异,当广义熵下降时将流量归类为低速攻击。作者在[7]提出了 RADAR,一种基于自适应相关分析的方法,用于检测和抑制 SYN 泛洪攻击。该方法基于异常的SYN/ACK包比分析,当SYN/ACK包比超过阈值时检测到SYN泛洪攻击。

已经提出机器学习方法来检测 DDoS 攻击。[9]中的作者提出了一种学习驱动的检测方法来检测和缓解物联网中的 DDoS。他们使用半监督机器学习算法来检测和缓解 DDoS 攻击流量。在[14]中,作者提出了一种检测 DDoS 攻击的深度学习方法。他们设计了一个双向递归深度神经网络来学习模式和识别 DDoS 攻击。[15]中的作者还提出了一种基于深度学习的模型,一种堆叠式自动编码器(SAE)模型,有效检测DDoS攻击。他们利用自适应轮询采样来处理流量样本,并使用 SAE 模型对良性和攻击流量进行分类。[16]中的方法评估了几种分类算法的有效性,例如门控递归单元 (GRU)、递归神经网络(RNN)、朴素贝叶斯 (NB) 对于 DDoS 攻击检测,并得出结论认为 GRU 实现了最佳检测性能。[17]中的作者提出了一种基于认知启发计算的 DDoS 攻击检测机制。该机制选择了一些特征并利用SVM对正常流量和攻击流量进行分类。在[18],作者提出了一种基于 K-means 和快速 K-最近邻的方法来检测软件定义网络 (SDN) 中的 DDoS 攻击。然而,这些方法旨在检测DDoS 攻击是否正在进行,因此它们无法识别攻击者,即它们无法区分攻击流与正常流。

2.2 DDoS攻击流程分类

最近的一篇综述[19]研究了一些攻击流识别方法。在[20]中,提出了一种基于决策树的架构来区分攻击流和良性流,然后选择具有低方差的特征并将其输入决策树 C4.5 算法。在[21]中,提出了一个集成框架来选择 DDoS 攻击流分类的特征,其中使用七种特征选择方法来单独选择特征,并应用多数表决技术来选择最后的 11 个特征。[22]中的方法选择了 5 种方法来选择特征,并得出结论,使用朴素贝叶斯选择的 10 个特征可以达到最佳性能。在[23],作者提出了一个检测框架,并选择了 16 个特征来检测 DDoS 攻击。然而, [20]、[21]、[22]、[23]中的方法所采用的特征选择算法 并不是针对真实DDoS攻击中固有的数据分布不平衡而设计的。因此, [20]、[21]、[22]、[23]中的方法提取的特征并不是为真正的 DDoS 攻击检测量身定制的。

在[10]中,基于属于僵尸网络的用户预计会比普通用户表现出更小程度的消息创新的理论,作者提出了一种基于消息创新率的方法来识别DDoS僵尸网络。分类中采用了两个指标,即传输速率和每单位时间不同消息的数量。然而,该方法严重依赖于检查数据包的有效负载(例如 HTTP 消息内容)来计算不同消息的数量,这是一个隐私问题。此外,分类准确度有限,因为它只关注利用 HTTP 数据包的攻击。[11]中的作者提出了一种基于深度学习的模型,即LSTM 网络, 识别攻击流。他们使用 40 个流特征作为输入并将它们输入到 LSTM 模型中。检测精度很高,但很难理解和解释为什么它表现良好。此外,该方法非常耗时,因为即使在训练模型后也需要数千个参数来适应每个流。有效且高效地识别DDoS攻击流的问题仍有待解决。

在所提出的方法中,我们使用专为不平衡数据分布设计的接收器操作特性曲线 (AUC) 下基于特征重要性的区域来选择我们的特征。因此,我们提取的特征在检测真正的 DDoS 攻击时更有效。此外,我们提出了一种新的基于聚合特征的线性算法来对所选特征和阈值进行加权,进一步提高了有限特征的检测精度。因此,与[11]和 [20]相比,[21]、[22]、[23],所提出的方法可以显着减少检测中使用的特征数量,从而大大提高检测效率。在隐私保护方面,与[10]不同,所提出的方法不检查数据包的有效载荷,因此可以保护用户的隐私。此外,所提出的方法不是只检测 HTTP 数据包[10] ,而是监视所有类型的数据包以提高检测准确性。

3. 提出的方法

阶段 1 将输入数据包分类为流。

阶段 2 为每个流计算和提取特征。

阶段 3 选择特征并对其进行排序。

阶段 4 为所选特征选择最佳阈值。

阶段 5 对特征输出进行加权并标记攻击流。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/334812.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

CentOS8基础篇3:使用vim编辑文档

一、vim编辑器 vim 编辑器共有三种工作模式,分别是命令模式、输入模式和末行模式。 〖例2.24〗使用vim编辑器创建并编辑文件hello.c。 二、查看文件内容命令 1. more/less 浏览文件全部内容 当文件内容过多时,可以用more或less命令来查看。 命令格式…

HTTP缓存看这一篇就够了

前言 HTTP缓存机制是优化web性能的重要手段,也是优化用户体验的重要一环。了解和熟悉HTTP缓存机制也成为了前端工作者必不可少的技能。 HTTP缓存是用于临时存储网页资源(如HTML页面、图像等),以减少服务器延迟的一种技术。HTTP缓…

nim语言在不同操作系统安装

官网: Nim Programming Language 学习文档: Nim文档概述 Tutorial (part I)The Nim one deals with basics. 官方下载地址:Download - Nim Programming Language 目录 Mac OS Ubuntu centos Mac OS 安装语言 brew install nim 安装…

nodejs基于vue的饭店点餐外卖平台网站

本系统主要实现了管理员:首页、个人中心、用户管理、菜品分类管理、菜品信息管理、菜品评价管理、系统管理、订单管理,用户:首页、个人中心、菜品评价管理、我的收藏管理、订单管理,前台首页:首页、菜品信息、菜品资讯、个人中心、后台管理、…

尚医通(九)数据字典模块前后端 | EasyExcel

目录一、数据字典介绍1、什么是数据字典2、页面展示效果3、数据字典表设计4、数据分析5、根据页面效果分析数据接口二、搭建数据字典模块三、数据字典列表接口1、model模块添加数据字典实体2、添加数据字典mapper3、添加数据字典service4、添加数据字典controller四、数据字典列…

【百宝书】ChatGPT真的会成为MOSS吗?如果MOSS真的存在,地球和人类的结局会是怎么样的。

大家好,我是涵子,今天我们紧随潮流,聊聊ChatGPT会成为MOSS吗?如果MOSS真的存在,地球和人类的结局会是怎么样的。 本次借鉴内容: 程序yang - ChatGPT的火爆出圈,你对它有几分了解?_程…

【C++提高编程】map/ multimap 容器详解(附测试用例与结果图)

目录1. map/ multimap容器1.1 map基本概念1.2 map构造和赋值1.3 map大小和交换1.4 map插入和删除1.5 map查找和统计1.6 map容器排序1.7 案例-员工分组1.7.1 案例描述1.7.2 实现步骤1. map/ multimap容器 1.1 map基本概念 简介: map中所有元素都是pairpair中第一个…

“亚洲一号”也能上市?REITs背后的物流设施风起云涌

京东最近发生了两件大事,两件都与物流基础设施有关。 一件是2月8日,嘉实京东仓储物流封闭式基础设施证券投资基金(简称“京东仓储REIT”)正式登陆上交所,投资者获得了机会,去分享京东三处物流园区的收益&a…

数据治理专业认证CDMP学习笔记(思维导图与知识点)- 第五章数据建模与设计篇...

大家好,我是独孤风,一位曾经的港口煤炭工人,目前在某国企任大数据负责人,公众号大数据流动主理人。在最近的两年的时间里,因为公司的需求,还有大数据的发展趋势所在,我开始学习数据治理的相关知…

分布式新闻项目实战 - 9.后台系统管理

佳能:感动常在 记得很早之前看过的一个广告:男子拿着妻子的相机发呆,父亲尝试安慰着他,然后接过相机给他拍了张照片,突然他进去了相机的世界,相机里的他一直给父亲做手势,直到父亲翻到了最后一张…

MySQL数据库02——SQL基本语言组成和数据类型

接着上一章的内容,上一章安装好了Mysql和对应的编译器workbench,并且简单的创造了一个数据库college,这一章我们学习SQL语言的一些基础。 首先了解一下基础。 Sql语言组成 sql 的一些基本定义语句的的用法。 操作对象 语句 功能 表 CRE…

leetcode 困难 —— N 皇后(简单递归)

(不知道为啥总是给这种简单的递归设为困难题,虽然优化部分很不错,但是题目太好过了) 题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个…

2023年信息与通信工程国际会议(JCICE 2023)

2023年信息与通信工程国际会议(JCICE 2023) 重要信息 会议网址:www.jcice.org 会议时间:2023年3月17-19日 召开地点:成都 截稿时间:2023年2月10日 录用通知:投稿后2周内 收录检索:EI,Scopus 会议简介…

干货 | 机器人的运动规划方法和应用现状

“如今,机器人正在更深入的服务于人类,它们要想完成的一些力所能及的操作,都需要依托于机器人的运动规划。本期技术干货,我们邀请到了小米工程师——‍孙国康,向我们介绍机器人的运动规划方法和应用现状。”一、前言近…

C++ 浅谈之 STL Deque

C 浅谈之 STL Deque HELLO,各位博友好,我是阿呆 🙈🙈🙈 这里是 C 浅谈系列,收录在专栏 C 语言中 😜😜😜 本系列阿呆将记录一些 C 语言重要的语法特性 🏃&a…

舆情监测方案怎么写,TOOM舆情监测系统解决方案

舆情监测是通过网络和媒体来收集、分析、评估和报告关于某一特定话题或组织的舆论动态的过程。舆情监测方案通常包括数据收集、数据分析、报告生成等步骤,以帮助组织了解公众对其的看法和声音,并以此作出相应的决策和行动,舆情监测方案怎么写…

车道线检测-Eigenlanes 论文学习笔记

论文:《Eigenlanes: Data-Driven Lane Descriptors for Structurally Diverse Lanes》 代码:https://github.com/dongkwonjin/Eigenlanes 核心:在 Eigenlane Space 中检测车道线 创新点 Eigenlane:数据驱动的车道描述符&#xff…

Python中__init__.py文件深入理解

Python中文件__init__.py深入理解1. 简介1.1 模块(Module)和包(Package)的概念1.2 __init__.py文件简介2. __init__.py内容写法2.1 __init__.py文件内容2.2 __init__.py内容解释1. 简介 1.1 模块(Module)和…

这是从零在独自开开发,将是副业赚钱最好的平台!

文章目录最重要的事情放前面1.前言2.简单介绍一下3.【独自开】介绍3.1 分层标准化平台架构3.2 集成第三方数字接口3.3 支持各个行业的系统定制开发4.如何在【独自开】赚钱获取收益?4.1 如何称为【独自开】开发者?最重要的事情放前面 通过平台的审核也可以得到相应的奖金&…

信息系统建设和服务能力等级证书(CS)

2019年11月26日,中国电子信息行业联合会发布了《信息系统建设和服务 能力评估体系 能力要求》(简称《能力要求》)。《能力要求》是我国信息系统建设和服务能力领域的首个团体标准,旨在通过该标准的实施提升信息系统建设和服务行业…