基于近攻击源部署的应用层DDOS检测方法

2023-01-02 12:07张婷婷李云天许云飞张卫丰
软件导刊 2022年11期
关键词:应用层部署流量

张婷婷,唐 勇,李云天,许云飞,张卫丰

(1.炫彩互动网络科技有限公司 江苏南京 210019;2.中国银行信息科技运营中心 上海 201210;3.南京邮电大学计算机学院、软件学院、网络空间安全学院 江苏南京 210046)

0 引言

由于应用层DDoS 攻击具有很强的分布性,攻击者可通过全网搜捕傀儡机,使用抓捕到的傀儡机进行多次递归搜捕其它机器,依据应用层协议软件漏洞等方法攻击目标主机[1-3]。

现有攻击检测方法无法及时响应攻击初期的网络流量包,只能等待大规模流量进入目标主机后才能进行反应,然而此时流量值可能已经超出目标主机的承受范围[4-5]。例如,Github 入侵事件中显露出该类检测系统的弊端,虽然Github 具备较强的DDoS 防御系统,能够在短时间内恢复网络,但仍然在冲击下对网络造成了一定程度的影响。

根据腾讯安全联合绿盟科技发布的《2021 上半年全球DDoS 威胁报告》显示,DDoS 攻击次数连续4 年呈高速增长趋势,并在国外个别地区更为明显,增长率高达50%。随着云计算、5G、AI 等技术发展,100G 以上大流量攻击呈现高发态势,仅2021 年上半年攻击次数达2 544 次,同比增长50%以上。

由此可见,将检测系统作用在目标主机处,大流量攻击必然会造成服务器宕机。为此,本文提出一种基于近攻击源部署的应用层DDoS 攻击检测方法。该方法将检测节点前向部署于近攻击源处,通过定时和强化学习将正常流量进行信息融合至目标处,在检测攻击的同时拦截攻击流量。

1 相关工作

目前国内外针对应用层DDoS 检测的方法可以分为基于主机负载、数据流特征和基于用户行为3种检测方法。

1.1 主机负载

该方法通过观察流量包对主机资源的影响确定是否属于攻击流量,例如内存、带宽占用情况。景泓斐等[6]根据应用层DDoS 攻击特点,结合包速率、URL 信息熵、URL条件熵3 种有效特征,提出一种基于误差逆向传播(Back Propagation,BP)神经网络的应用层DDoS 攻击检测算法。然而该算法需要观测攻击流量对包速率等特征的影响,此时目标主机已受到攻击。

1.2 数据流特征

该方法通过统计网络流量包特征进行相似性检测,从而确定应用层DDoS 攻击类型。张斌等[7]提出一种基于偏二叉树SVM 多分类算法的应用层DDoS 检测方法。首先,通过Hash 函数对多周期内不同源IP 地址建立索引,实时计算流量趋势及源IP 地址分布差异所需的特征参数。然后,采用偏二叉树结构SVM 分类器训练特征参数。最后,将该方法与传统SVM、Navie Bayes 进行比较,结果表明所提方法检测率更高,误检率更低,能有效区分攻击的具体类型。然而,该方法也需要在目标主机上进行,无法从根本上避免主机遭受DDoS 攻击。

1.3 用户行为检测

该方法根据正常和攻击用户访问行为间的差异进行检测。刘泽宇等[8]提出一种基于Web 访问路径的防御检测模型,根据访问路径轨迹、攻击行为特点和网站链接规则,建立请求路径、请求分布、路径循环、行为时隙和路径长度5 种异常检测模型。通过计算合法用户访问网站的正常值及具有攻击行为用户的实时异常值之间的偏离程度,判定网络是否遭受应用层DDoS 攻击。

然而,该模型的缺陷是需要观察用户行为,即在攻击主机后才能进行检测,因此无法避免主机遭受DDoS 攻击。例如,马兰等[9]提出一种基于隐半马尔可夫模型检测应用层DDoS 攻击。首先,采用改进的前向后向算法,利用HSMM 建立动态异常检测模型追踪正常用户浏览行为。然后,学习、预测正常用户行为得出正常检测区间。最后,选取访问包大小和请求时间间隔为特征进行建模,检测异常。

综上所述,现如今已使用流量特征分析、行为分析、负载分析等方法检测应用层遭受的DDoS 攻击。然而,上述方法均在被攻击者一端进行流量检测,即使在较短时间内对攻击行为进行反应,也无法避免地对网络造成一定程度的影响。

2 基于近攻击源部署的应用层DDoS攻击检测方法

为了从根本上防止主机遭受DDoS 攻击,本文提出一种基于近攻击源部署的应用层DDoS 攻击检测方法。在近攻击源处部署检测节点,将流量检测工作提前在目标主机之前,避免主机受到攻击流量干扰。同时,提出两种信息融合机制实现检测节点与目标主机的信息通信,使正常流量汇聚于目标主机,拦截攻击流量。此外,通过节点、系统两种评估指标验证系统有效性。

2.1 模型框架

基于近攻击源部署原则是将检测节点尽可能部署在攻击源的位置,每个检测节点负责检测最近网段攻击任务,如果检测到攻击流量或判定此流量超过阈值,则将其划分为攻击流量进行过滤。同时,通过信息融合技术将正常流量引流至目标主机处。具体操作流程如图1所示。

Fig.1 Detection model based on near attack source deployment图1 基于近攻击源部署的检测模型

由图1 可见,近攻击源并非指部署于黑客所操控的攻击主机,而是部署于网络入口处的核心骨干网络,相较于基于目标主机检测而言,检测节点在实际网络中以DDoS清洗节点方式独立存在,并由网络设备保证相应流量的路由牵引和回送。

通过该方式,可保证检测节点只接收网段流量,不会影响正常业务系统开销,但由于检测节点部署在网络各处,DDoS 攻击又具有很强的分布性,在实际部署中每个检测节点遇到的攻击流量占比较少,因此会导致检测节点模型训练不足,使部分攻击流量到达目标主机。为了解决以上问题,本文提出融合定时信息融合机制与强化学习信息机制对模型进行改进。

2.2 定时信息融合机制

定时融合机制在每个检测节点中部署一个定时器,当达到时间阈值时,向目标主机传递检测节点流量包。检测系统通过融合节点与主机间的信息,利用目标主机进行二次检测以提高检测准确率,但会增加系统性能开销,造成传递信息时间增长。

由于用户只关注系统开销时间,因此会降低模型评估性能。为减少系统开销,本文流量包只包含经过检测节点降维处理后的目标IP。定时融合机制下的检测节点结构如图2所示。

Fig.2 Detection node structure under timing information fusion图2 定时信息融合下的检测节点结构

由图2 可见,基于定时融合检测节点具有以下优点:①检测节点发现攻击时,直接丢弃攻击流量,从攻击源处阻断流量到达目标主机,减少网络通信和带宽成本;②通过数据预处理和特征降维后的数据作为信息融合载体,减少传送信息量,降低通讯代价;③定时进行信息融合,保证检测节点中漏报的攻击流量在汇聚时均能被目标主机处的检测模型识别。

基于定时融合检测方法的具体工作流程如下:

步骤1:流量备份处理。

步骤2:检测节点模型训练。

步骤3:若目标IP 不为目标主机IP 的流量,系统将直接放行;否则进行数据预处理、特征降维,将处理后的数据输入检测模块进行分类。

步骤4:直接丢弃攻击流量,并进行信息记录;正常流量包则存储于信息融合模块。

步骤5:定时器达到时间阈值,将此时间段中流量包发送至目标主机进行信息融合。

2.3 强化学习信息融合机制

强化学习信息融合机制提供反馈方法使各检测节点间在处理流量包时,自行决定是否需要进行信息融合。为了使检测节点拥有自主信息融合机制,在模块中加入基于支持向量机置信度的强化学习算法(Hingle Loss Function Reinforcement Learning Algorithm For Support Vector Machines,SVMHLEL)进行实现[10-11]。

基于强化学习信息融合机制具体步骤为:

步骤1:流量备份处理,完成模型数据预处理、特征重要度评估和特征降维。

步骤2:训练SVM 检测模型,获取超平面参数值w,b。

步骤3:定义SVM 置信度为P(n)(0

步骤4:定义激励值rewardA、rewardB、rewardC。其中,rewardA

步骤5:检测时,如果样本为攻击流量则将流量进行过滤、记录。如果样本为正常流量且置信度超出设定阈值M时,则作为正常流量放行。如果样本为正常流量但置信度未超出设定阈值M时,将根据置信度所在节点区间进行下一步操作。

基于强化学习的检测节点结构是在检测模块中,依据SVMHLEL 算法动态决定节点是否进行信息交融。相较于定时信息交融,强化学习信息交融具有更强的动态适应性和更小的通信代价。检测节点结构如图3所示。

Fig.3 Detection node structure under reinforcement learning information fusion图3 强化学习信息融合下的检测节点结构

3 实验分析

3.1 测试环境

假设基于近攻击源部署的应用层DDoS 检测系统由3个检测结点构成,通过不同检测节点测试不同信息融合方式对系统性能的影响,各检测结点相互独立,通过信息融合方法将正常流量汇集至目标主机。检测系统结构设计如图4所示。

Fig.4 Application layer DDoS attack detection system architecture based on near attack source deployment图4 基于近攻击源部署的应用层DDoS攻击检测系统结构

4.2 数据集

CSE-CIC-IDS2018 入侵检测数据集是通信安全机构和加拿大网络安全研究所在2018 年整理的网络攻击记录数据集,该数据集包含最新的网络攻击案例,满足现实网络攻击的所有标准。由于本文主要研究应用层DDoS 攻击,因此对数据集进行筛选,将符合要求的数据划分为8类,如表1所示。

Table 1 Labels in CSE-CIC-IDS2018 data-set表1 CSE-CIC-IDS2018 data-set数据集标签

由表1 可见,数据集数量过大将影响实验处理效率,并且正常流量与攻击流量数据不平衡也会影响模型检测率。因此,本文对数据集进行筛选,降低正常流量在总流量的占比。同时,将数据集按照9∶1 划分训练集和测试集。

根据CSE-CIC-IDS2018 数据集攻击IP 源的特点,将数据集根据src_ip 特征分为以下3 类:①172.*.*.*~192.*.*.*代表检测节点A 的数据集;②18.*.*.*~51.*.*.*代表检测节点B 的数据集;③52.*.*.*~171.*.*.*代表检测节点C 的数据集。其中,A 为定时信息融合检测节点,B、C 为强化学习信息融合检测节点。各节点数据相互独立,分别进行模型训练和测试。目标主机处的检测系统则通过CSE-CICIDS2018 攻击数据集和切分后的正常流量数据集进行模型训练,以确保模型检测性能。

4.3 评估指标

本文分别从系统、节点维度进行分析。其中,前者包括系统检测率、通信有效率和拦截率;后者包括节点检测率、通信有效率和拦截率。定义系统中的指标为:

4.4 测试流程

在局域网中,通过CSE-CIC-IDS2018 数据集对3 个目标主机检测节点和近攻击源检测节点进行SVM 的二分类模型训练。由于检测节点间训练样本数不同,检测节点检测率不同,训练后的检测率如图5所示。

Fig.5 Node detection rate图5 节点检测率

由图5 所示,目标主机处检测节点检测率较高,而3 个近攻击源检测节点的检测率较差。因此,本文将检测节点发送至主机的正常流量进行二次分类。

由于定时融合机制在达到时间阈值时,将时间段所有正常流量发送至目标主机检测节点。为此,通过拆分测试数据集,检测等量数据模拟定时操作,一旦检测到攻击流量,系统将进行记录。在检测完成后,将所有正常流量汇聚目标主机处进行二次检测。本文将测试集分为5 等分,验证结果如表2所示。

由表2 可见,通过定时机制进行信息融合的节点拦截率与检测率一致,证明定时信息融合方式仅利用检测节点分类结果作为信息发送并未提升拦截率。基于强化学习信息融合下的检测节点中,检测率仍然较差。因此,通过强化学习算法进行信息融合,对正常流量进行二次检测,以确认是否进行通信。强化学习算法的训练结果如图6所示(彩图扫OSID 可见,下同)。

Fig.6 Training results of reinforcement learning图6 强化学习的训练结果

Table 2 Node detection rate of timing information fusion表2 定时信息融合的节点检测率 (%)

由图6 可见,算法激励值与置信度呈正相关,即样本置信度越高,信息融合可能性越大。由此可知,可设定合适的信息融合阈值确定需要进行融合的样本。检测结果如表3所示。

Table 3 Node detection rate of reinforcement learning information fusion表3 强化学习信息融合的节点检测率 (%)

由表3 可见,基于强化学习信息融合的检测节点既提升了拦截率,又能保证较为优秀的通信有效率。在实际系统部署中,能够降低系统通信代价。

为了比较两种方式的性能差异,选用4 种节点组合方案进行检测系统性能比较。其中,A 为定时信息融合机制节点,B 为强化学习信息融合机制节点,测试结果如表4所示。

Table 4 System performance comparison of different types of node表4 不同类型节点的系统性能对比 (%)

由表4 可知,系统检测率与A 节点数目呈正相关性,而与通讯有效率和拦截呈负相关性。由于定时信息交融机制将所有漏报攻击流量交付目标主机时进行二次检测,虽然消耗了目标主机部分资源,但提高了系统检测率。然而,强化学习将置信度低的样本进行拦截,并未进行二次检测,因此提高了系统通讯的有效率和拦截率。

如果服务器检测时间和带宽资源较少,而对系统检测率要求不高的情况下,建议使用以B 节点为主的系统。反之则适用于以A 节点为主的检测系统。最后,本文将4 种组合节点总体性能进行比较,具体结果见表5。

Table 5 Overall system performance of different types of node combination表5 不同类型节点组合的系统总体性能 (%)

综上所述,基于强化学习的信息融合机制具有更好的系统总体性能,在系统带宽资源紧张的情况下,仍能保证系统的检测效率的拦截率。由于本文实验是对实时流量进行检测,如果将流量拦截、分类后,通过信息融合完成路由牵引,将影响正常业务的通信效率。

因此,在实际业务场景中,基于近攻击源部署的应用层DDoS 攻击检测系统中的各节点均可异步进行系统检测,检测流量由流量备份提供,原始流量在经过清洗节点后,便能够直接参与正常业务流程。

此外,基于离线学习的机器学习算法在训练时需要花费较多时间,而在分类检测时时耗较少,一旦清洗节点检测到异常流量,便能立即通知系统进行流量过滤,极大降低了攻击流量给目标主机带来的危害。

4 结语

本文针对现有应用层DDoS 攻击检测方法在检测时易受大流量影响的情况,提出基于近攻击源部署的应用层DDoS 攻击检测方法。首先,将检测节点前向部署于近攻击源处,并利用两种信息融合机制与主机进行通信,建立起能使目标主机免受大流量攻击的检测方法。然后,对模型进行基于近攻击源检测框架建立、信息融合机制、测试分析等测试。实验表明,该系统具有良好的检测效果和拦截率,能及时检测并拦截攻击流量,减少目标主机的流量负载。

然而,该系统的检测率和拦截率还不足以满足实际需求,下一步将持续优化方法性能,以期为解决应用层DDoS的大流量攻击提出新的解决方法。

猜你喜欢
应用层部署流量
冰墩墩背后的流量密码
一种基于Kubernetes的Web应用部署与配置系统
张晓明:流量决定胜负!三大流量高地裂变无限可能!
晋城:安排部署 统防统治
部署
部署“萨德”意欲何为?
新一代双向互动电力线通信技术的应用层协议研究
五位一体流量平稳控制系统
Current advances in neurotrauma research: diagnosis, neuroprotection, and neurorepair