王家豪 方智阳 王俊峰
摘 要: 低速率拒绝服务( LDoS) 攻击是DoS攻击的特殊变体,其可以利用TCP协议中的自适应机制来降低客户端和服务器的连接质量. 由于攻击速率低且隐蔽,使用传统的 DoS 防御机制不能有效识别LDoS. 本文提出了一种基于TCP 流量的时频域特征和改进Stacking 算法的LDoS 攻击检测方法(TF-Stacking),分析了正常流量和包含LDoS 攻击的流量在时域和频域上表现出的差异,构建网络流量特征集,用于流量数据的特征计算,以从网络流量数据中提取最有用的信息,减少网络数据规模. 同时,改进Stacking 算法来缓解元模型样本权重的不平衡问题,用于流量分类. 本文在NS3 仿真平台上进行了实验来评估TF-Stacking 方法的性能,实验结果表明,TF-Stacking 检测准确率达到了98. 07%,且仅有1. 55% 的漏报率,可以有效检测LDoS 攻击.
关键词: 统计特征; 集成学习; Stacking; 攻击检测
中图分类号: TP391. 1 文献标志码: A DOI: 10. 19907/j. 0490-6756. 2024. 033002
1 引言
随着互联网的发展,网络安全问题也变得越来越复杂,网络基础设施和在线应用程序通常是安全攻击的目标,尤其是拒绝服务(Denial of Service,DoS )攻击. 攻击者主要通过泛洪攻击的方式占用目标系统资源或者破坏目标系统服务,使得合法用户无法正常使用. 这种泛洪式DoS 攻击由于其高速流量特性表现出明显特征,因此,可以通过现有的DoS 检测策略进行识别. 随着攻击技术不断演进,DoS 攻击形式也在不断变化. 低速率拒绝服务(Low-rate DoS, LDoS)攻击是DoS 攻击的特殊变种,这种类型的DoS 攻击通过产生可以隐匿在正常传输控制协议(TCP)中的低速率攻击流量,同时利用网络协议的自适应机制,在网络中造成虚假拥塞,损害客户端和服务器的连接质量,使得服务器无法为用户提供正常服务.
与传统高速率拒绝服务(DoS)攻击相比,LDoS 攻击更加隐蔽和难以检测,因为他们使用低速率的攻击流量,足以占用目标系统的关键资源,但又不足以触发传统DoS 防御机制[1]. LDoS 攻击由Kuzmanovic 等人[2]在2003 年首先提出,他们给出了LDoS 攻击的一种有效实施方案,并将其命名为“Shrew”攻击. 与泛洪式攻击不同的是,Shrew攻击利用TCP 协议中的超时重传(RTO)和加增减乘(AMID)机制将正常TCP 流量限定在一个很小的范围,从而降低网络服务质量,因此,Guirguis等人[3]也将其称为降质攻击(Reduction of Qualityattack). Luo 等人[4]在2005 年提出了脉冲式拒绝服务攻击(PDoS),其中补充了针对AMID 机制的攻击模型. LDoS 攻击也出现在云平台和大数据中心,Ficco 等人[5]将其称为隐形攻击. 针对CUBIC拥塞控制算法和RED 队列管理机制的攻击场景,Yue 等人[6]提出了LDoS 双脉冲攻击模型,从而最大化攻击效能. 此外,研究人员还研究了针对不同网络协议和网络环境下的LDoS 攻击,包括针对物联网的LDoS[7]、软件定义网络下的LDoS[8]、针对HTTP/2 的LDoS[9]以及应用层协议下的Slowloris攻击[10].
LDoS 攻击对于现代网络和云计算环境构成了严重威胁. 由于其低速率特性,LDoS 攻击往往能够绕过传统入侵检测系统(IDS)和入侵防御系统(IPS),因为这些系统通常更加关注高速率攻击流量[11]. 此外,LDoS 攻击还可以利用云计算环境中共享资源的特性,通过占用共享资源而对多个租户或用户造成影响[12]. 传统DoS 攻击检测方法在检测LDoS 攻击方面存在一些困难. 由于攻击流量的低速率,传统入侵检测系统通常很难将LDoS 攻击流量与正常流量区分开来. 此外,LDoS攻击通常利用目标系统的特定弱点或漏洞,这使得传统的基于签名或规则的检测方法无法准确地检测和识别这些攻击.
本文提出了一种基于TCP 时频域特征和改进Stacking 算法(TF-Stacking)的攻击检测方法,可以在传输层识别LDoS. 在介绍检测方法之前,本文首先描述了在LDoS 攻击影响下,TCP 数据流在时域和频域表现出的两种异常. 其次,通过对TCP数据流在LDoS 攻击下的数据分布进行分析,从中提取出异常特征. 最后,通过改进Stacking 算法来分类检测,能够准确学习异常特征,从而拥有检测含有LDoS 攻击流量的能力. 通过在NS3 环境中进行仿真实验来评估本文方法的效率,结果表明,本文检测模型具有较高的准确率和较低的误报率,可以有效地检测网络中的 LDoS 攻击.
2 相关工作
LDoS 攻击是一种低速、隐蔽的拒绝服务攻击,给网络系统的安全性和可用性带来严重威胁.为了及时发现和应对LDoS 攻击,研究者们提出了多种检测方法和技术. 近几年提出的LDoS 检测方法可以分为三类:基于频域的方法、基于时域的方法和基于流量统计分析的方法.
2. 1 基于时域的LDoS 检测方法
基于时域的LDoS 攻击检测方法通过对流量数据在时间上的变化进行分析和建模,该方法主要关注流量的持续时间、间隔和速率等时域特征,以区分正常流量和LDoS 攻击流量之间的差异.Ding 等人[13]分析了攻击流量和正常流量之间的时域特征,利用数据包到达时间的差异,提出了一种检测潜在LDoS 攻击行为并尝试追踪攻击者位置的方法. Tang 等人[14]针对LDoS 攻击引起的ACK流量分布异常,总结ACK 流量的分布特征,提出一种自适应的基于AEWMA 算法的检测方法. Wu等人[15]研究了基于序列对齐的LDoS 攻击脉冲之间的时序关系,提出了可以使用生物信息学中的序列匹配比对检测原理来检测 LDoS 攻击. 同时,他们在对攻击队列分析的基础上,提出了基于KPCA 及神经网络的检测方法[16],该方法将平均队列和瞬时队列在遭受LDoS 攻击时的剧烈变化作为依据,经KPCA 提取特征后,利用BP 神经网络进行检测.
2. 2 基于频域的LDoS 检测方法
基于频域的LDoS 攻击检测方法利用信号处理和频域分析技术来区分正常流量和LDoS 攻击流量之间的差异. 该方法通过将流量转换到频域,并分析频域特征来揭示LDoS 攻击的隐藏模式和特征. Toklu 等人[17]提出了一种针对高速率DDoS攻击和低速率DDoS 攻击的混合过滤方案. 在该方案中,平均变换用于过滤高速率DDoS 攻击的网络流量,傅里叶变换用于过滤低速率DDoS 攻击的网络流量. Agrawal 等人[18]提出了一种基于功率谱密度的LDDoS 攻击检测方法. 他们指出,对于LDDoS 攻击流量,攻击频谱主要分布在低频区域,而合法流量则是均匀分布的. Chen 等人[19]将功率谱分析和信息熵相结合,通过将流量进行傅里叶变换和小波变换,计算变换后的信息熵,以此来区分正常流量和LDoS 攻击. Liu 等人[20]首先聚合和压缩网络流量以降低数据存储成本并优化检测效率,同时改进了小波变换,通过分别计算每个压缩流量的能量分数,结合动态阈值,实现了正常流量和 LDoS 攻击流量的有效区分.
2. 3 基于统计分析的LDoS 检测方法
基于统计分析的LDoS 攻击检测方法利用流量数据的统计特性来区分正常流量和LDoS 攻击流量之间的差异. 该方法通过对流量数据的分布、频率和模式进行统计分析,以发现LDoS 攻击特征和异常行为. Liu 等人[21]提出了一种基于多特征融合的检测方法,包含确认字符(ACK)序列号、数据包大小和队列长度的攻击特征集用于对正常和LDoS 攻击流量进行分类. Tang 等人[22]基于对网络流量的分析,构造了一个网络流量的特征集,结合CNN 算法用于分类检测. Bojovi? 等人[23]提供了一种使用指数移动平均(EMA)和香农熵检测序列的方法来识别网络流量中是否包含低速率DoS 攻击. Duan 等人[24]将网络流量的前16 个数据包大小以及时间间隔作为统计特征数据,同时对正常流量特征数据进行建模,根据重构序列与输入数据的重构误差进行攻击判定.
基于时域的检测研究通常具有处理过程简单快速、特征直观等优点,但在检测LDoS 攻击时可能缺乏对其周期性频谱信息的充分利用. 这是因为时域分析主要关注信号在时间上的变化,而忽略了信号频谱的细节. 相比之下,基于频域的检测方法可以更好地捕捉LDoS 攻击的频谱特征. 频域分析方法将信号转换到频域,通过分析频谱特征来揭示LDoS 攻击的周期性特征. 然而,频域分析方法缺乏信号随时间变化的特征信息,无法捕捉到时域上的动态变化. 为了克服时域和频域方法各自的局限性,基于时频域的检测研究应运而生. 时频域分析方法能够综合考虑信号在时域和频域两个方面包含的细节信息,有效弥补了时域和频域方法的不足. 在LDoS 攻击检测中,基于时频域的方法可以更全面地揭示LDoS 攻击的特征和模式. 通过分析信号在时频域上的变化,可以同时捕获到信号的时域动态和频域周期性信息,从而提高对LDoS 攻击的检测能力. 因此,本文基于网络流量的时频特性,提出了一种基于时频域特征的LDoS 攻击检测方法.
3 攻击模型以及原理
LDoS 攻击利用TCP 协议的自适应机制,通过不断在稳定与不稳定状态之间切换,从而对网络性能造成严重影响. 在LDoS 攻击期间,拥塞控制机制被反复触发,导致网络流量极其不稳定. 在网络频繁切换稳定与不稳定状态的情况下,自适应机制无法及时适应这种变化,不能快速有效地调整发送速率、窗口大小等参数,导致网络性能下降、延迟增加或数据丢失. 这种频繁的状态切换对网络的正常功能和用户体验产生负面影响,导致网络服务的可靠性和效率下降.
不同于DoS/DDoS 攻击,LDoS 无需维持大规模的攻击流量,而是周期性地发送攻击流量来降低受害目标的服务质量[1]. 在一个攻击周期内,攻击脉冲的持续时间较小,即使这样,短时的高速率攻击流量也足以占满瓶颈链路和路由器,造成正常流量数据丢包. 当攻击脉冲间歇性停顿时,网络自适应机制会根据流量的变化和网络状况调整参数,以适应正常的流量和恢复网络性能. 而当网络刚恢复正常性能时,下一个周期的脉冲又接踵而至,从而使得网络不断地在稳定状态和不稳定状态之间切换,造成网络性能的大幅度降低.