【论文笔记】An Explainable AI-based Intrusion Detection System for DNS over HTTPS (DoH) Attacks

文章提出了一个结合可解释AI(XAI)的DoH流量攻击检测系统,通过分析CIRA-CIC-DoHBrw-2020数据集,发现关键特征,并使用平衡堆叠随机森林分类器进行高精度分类。同时,利用SHAP生成可视化仪表,提高模型决策的透明度。相较于其他方法,该模型在保证高精度和召回率的同时,增加了可解释性。
摘要由CSDN通过智能技术生成

基于可解释AI的DNS over HTTPS(DoH)攻击检测系统

只找到了被rebuttal的一版,感觉写得不大行,小错误有点多()

1.问题描述

1.DoH是经过加密的DNS,一般恶意DNS流量检测技术中用到的明文特征在DoH流量中无法利用。

2.机器学习模型在诸如IDS的网络安全应用中越来越受欢迎,然而目前有关DoH攻击检测和分类的文献大多关注模型的准确性,而很少考虑到模型决策的可解释性。

2.本文贡献

1.通过对DoH通信流量样本的分析,从CIRA-CIC-DoHBrw-2020数据集中发现了易于解释的DoH流量特征,这些特征能为有效的DoH流量分类方法提供启发。

2.提出了一个平衡堆叠随机森林分类器。在确保高精确度的同时,还保持了模型决策过程的透明度。使用数据集分割和子模型并行训练的策略,使训练时间减少到三分之一。与通用随机森林模型相比,精度和召回率略微提高。

3.使用最先进的可解释AI方法SHAP生成了一个定制的可视化仪表,对模型的决策过程对系统的人类用户透明。

3.背景

3.1 相关工作

  • Banadaki等人[1]使用几种ML算法(Xgboost、Gradient Boosting和Light Gradient Boosting算法)在CIRA-CIC-DoHBrw-2020上进行了实验。然而,并没有清楚地描述预处理和优化阶段。

  • Ramakrishnan等人[2]提出了一种基于神经网络的IDS,可以通过分析低级别的网络细节对攻击做出快速反应。所提出的方案在使用的特征数量和低精确度方面有很大的局限性,它的平均精确度为90%。

  • Jafar等人[3]探讨了8种ML方法,包括逻辑回归、随机梯度下降、决策树和随机森林等等。作者只报告了准确率值以及训练模型所需的计算时间,但同样没有详细说明分类准确率和其他评价矩阵。

3.2 XAI

机器学习模型在诸如IDS的网络安全应用中越来越受欢迎,但这些模型大多是黑箱。可解释的人工智能(Explainable AI, XAI)已经变得越来越重要,它可以解释机器学习模型,通过让人类专家理解底层数据,了解恶意数据的影响来检测系统中的任何入侵行为,从而加强信任管理。

以前的研究更多的是关注IDS中各种分类算法的准确性,往往不提供对其行为和复杂算法所提供的推理的洞察力。因此,在本文中,我们着眼于XAI概念,通过探索决策树模型的可解释性来加强IDS领域的信任管理。

虽然近年来发展了许多软件包和方法,但当今最流行的方法之一,SHAP(SHapley Additive exPlanations)是一种基于博弈论的方法,用于解释任何ML模型的输出[4]。

4.方法概述

4.1 预处理

4.1.1 特征分析

针对CIRA-CIC-DoHBrw-2020数据集中的29种特征,利用KDE分布图分析各类样本的特征分布情况。文中只展示了FlowBytesReceived,PacketLengthMean,PacketLengthVariance三个特征的KDE分布图。

KDE分布图,是指Kernel Density Estimation核概率密度估计。可以理解为是对直方图的加窗平滑。

fig2
给出以下结论:

1.DoH的流持续时间远长于non-DoH

2.恶意DoH发送的字节数远高于non-DoH和正常DoH

3.DoH流的包长度相对恒定,因此方差比non-DoH小【这里没看懂啊,这malicious DoH的方差不是大得很吗】

4.由于大小包的交替,恶意DoH的包长度方差比正常DoH大

4.1.2 数据集分割

CIRA-CIC-DoHBrw-2020数据集中Non-DOH,benign-DOH,Malicious-DoH的比例是45:1:12。通过平衡拆分和SMOTE上采样解决数据集不平衡的问题,具体步骤如下:

1.90%的数据作为训练集,10%的数据作为测试集。

2.用训练集划分三个平衡的子集以训练3个子模型。对于Non-DOH组,将数据平均分成三份;对于Malicious-DoH组,所有子集都使用其全集;对于benign-DOH,使用SMOTE对其进行向上采样。最终每个子集中Non-DOH,benign-DOH,Malicious-DoH的比例为15:12:12。

随后每个子训练集又被进一步分割成10折,以便进行10折交叉验证。

4.1.3 缩放和归一化

我们用下列公式对数字特征向量进行了最小最大归一化。
x n o r m = x − m i n m a x − m i n x^{norm}=\frac{x-min}{max-min} xnorm=maxminxmin
利用sklearn预处理库中的MinMaxScaler,首先在训练集上进行fit和transform,然后在测试集上使用训练集的最大值和最小值进行transform。在此操作之后,所有的数字特征值都在0和1之间。

4.2 模型实现

fig3
模型训练分成两部分:(上图的c部分)

1.一个具有多个子模型的平衡训练层。基分类器使用随机森林。numTrees = 10,numFeatures = 28,单个决策树的最大分支深度设置为5,以便在预测阶段保持足够的计算速度。

随机森林主要依靠两个参数来控制其增长:numTrees,要建立的决策树的数量;numFeatures,每个树节点要评估的随机特征子集的数量。

2.一个堆叠分类器,使用简单的集成学习技术:即把多个分类器的预测结果作为新的特征来训练一个元分类器。我们选择的元分类器是一个逻辑回归模型。在实现上使用了mlxtend.classifier模块中的StackingClassifier。

在训练过程中,使用GridsearchCV函数找到最佳的超参数,使用10折交叉验证法进行验证。

GridSearchCV的名字其实可以拆分为两部分,GridSearch和CV,即网格搜索和交叉验证。网格搜索,即在指定的参数范围内,按步长依次调整参数,利用调整的参数训练学习器,从所有的参数中找到在验证集上精度最高的参数。

4.3 平衡堆叠随机森林训练算法描述

输入:训练集X={x1,x2,…,xm}, 特征数29, 训练标签

预处理层:

1 缩放和归一化(MinMaxScaler)

2 利用数据分割和SMOTE,从训练数据中创建3个平衡的数据子集

分类器:

3 初始化参数:随机森林,numTrees = 10,max-depth = 5

4 子模型训练

5 为训练集的每个样本计算标签

6 使用10折交叉验证来进行模型优化和参数调整

堆叠集成层:

7 对子模型的输出进行集成,得到输出X

XAI输出生成:

8 应用SHAP库中的TreeExplainer来生成贡献图和贡献表;

9 结束

输出:类标签, 概率, 贡献图, 贡献表

5.模型评估

在测试集上进行测试,只有6个被误判成malicious的假阳性样本(Non-DoH被分类成malicious),除此之外,主要是被误判成Non-DoH的正常DoH(192个),由于它们都属于良性样本,因此影响不大。
在这里插入图片描述
除了最终的平衡堆叠随机森林分类器,我们还训练了决策树、随机森林和Xgboost(梯度提升)分类器进行比较。所提出的分类器结果优于通用的集合学习框架,如Xgboost和带有SMOTE平衡的RF分类器。在表中,我们还比较了各种分类器的AUC分数。
在这里插入图片描述

6.XAI可视化

在这一节中,我们强调了我们使用XAI方法来可视化我们提出的模型的决策过程。我们使用了SHAP(SHapley Additive exPlanations)库中的方法来研究模型的决策过程、各种特征的预期影响和潜在偏差。它帮助我们描述了模型的准确性、透明度和有待人类用户验证的结果。

6.1 特征重要性图

在这里插入图片描述
上图展示了SHAP的全局特征重要性图。X轴表示的是一个特定特征对特定样本决策的平均影响(即SHAP的平均绝对值)。

SHAP值表示某一特征对我们预测的改变程度(与我们在该特征的某个基线值下进行预测相比)。

从我们的分析中,我们发现DoH流量的持续时间是预测流量是否为恶意的最重要因素,其次是与数据包长度和数据包时间的差异有关的一些特征。

6.2 依赖关系图和相互作用图

在这里插入图片描述
也可以创建局部总结图。正SHAP值表示一个特征支持决策的置信度,负SHAP值表示一个特征会降低决策的置信度。

我们可以从(a)图推断出,该模型使用40秒作为持续时间的阈值,持续40秒的流量容易被作为恶意DoH流量。(b)是FlowBytesSent和FlowBytesReceived的交互图。从左上方的集群可以看出,模型认为当收到的字节数大于发送的字节数时,这些样本更有可能是恶意的。

6.3 解释恶意测试包

在这里插入图片描述
SHAP还可以计算出每个特征对产生某个决策的置信度的贡献程度,解释一个测试数据包为什么会被判定为恶意。在左上方,仪表板提供了预测概率,饼状图显示了百分比。带星号的标签是模型输出的决定的标签。在右边有一个贡献表,展示了数据样本的每个特征的值,以及它们在模型决策中的影响值或正负贡献。在左下方有一个瀑布图,绿色条显示决策过程中的积极贡献者,红色条显示消极贡献者。

例如,这个测试流量的持续时间为120.81秒,高于Non-DoH和benign-DoH的阈值,对模型将该实例分类为恶意的决定有积极的贡献(+14.68%)。然而,与通常的恶意流量相比,该交易的数据包长度模式较低,这对模型的置信度产生了5.49%的负面影响。

6.4 识别攻击源

在这里插入图片描述
最后,本文还尝试对不同的攻击工具的特征分布进行分析。

从图9的分布图可以看出,我们注意到iodine和dnscat2的各种特征分布在性质上是相似的。在图9(a)和(b)中,我们展示了ResponseTimeSkewFromMode和PcketTimeVariance两个特征的平均值和标准偏差。dns2tcp工具的这两个参数的标准差似乎都比较低。正因为如此,本文的检测系统以99.2%的准确率识别了dns2tcp的恶意流量来源,iodine和dnscat2的准确率分别为92.9%和91.3%。

7.结论

本文使用公开的CIRA-CIC-DoHBrw-2020数据集进行实验,与最先进的集合模型如Xgboost和通用随机森林相比,提出的平衡堆叠随机森林取得了略高的精度(99.91%)、召回率(99.92%)和F1得分(99.91%)。

此外,利用SHAP,本文还实现了一个可解释的AI模型dashboard,展示了不同特征对该模型对分类决策的贡献,还讨论了在什么条件下可以通过使用这些特征来实现高分类精度。

8.待解决的问题

1.本文只探索了随机森林这种比较简单的机器学习方法,未来可以探索基于深度神经网络的可解释的DoH检测方法。

2.目前的方法只能把DoH流量和浏览器产生的HTTPS流量区分开来。然而,除了浏览器之外,可能还有很多应用程序会产生HTTPS流量,其特征更类似于DoH流量。如何将应用程序产生的HTTPS流量和DoH流量区分开也是一个待研究的问题。

3.僵尸网络经常使用fast-flux或域名生成算法(DGA),可能也会导致DoH的滥用。未来可以尝试将DGA相关的DoH流量与其他HTTPS流量区分开来。

9.参考资料

[1]Y . M. Banadaki, “Detecting malicious dns over https traffic in domain name system using machine learning classifiers,” Journal of Computer Sciences and Applications, vol. 8, no. 2, pp. 46–55, 2020.
[2]S. Ramakrishnan and A. Senthil Rajan, “Network attack detection with qnnbadt in minimal response times using minimized features,” in Computer Networks and Inventive Communication Technologies, Springer, 2022, pp. 563–579.
[3]M. T. Jafar, M. Al-Fawa’reh, Z. Al-Hrahsheh, et al., “Analysis and investigation of malicious dns queries using CIRA-CIC-DoHBrw-2020 dataset,” Manchester Journal of Artificial Intelligence and Applied Sciences, vol. 2, pp. 65–70, 2021.
[4]S. M. Lundberg and S. Lee, “A unified approach to interpreting model predictions,” in Proceedings of the 31st international conference on neural information processing systems, 2017, pp. 4768–4777.
[5]SHAP的github地址

可解释的人工智能explainable artificial intelligence,XAI)是指能够解释其决策过程和推理结果的人工智能系统。它为对人类用户透明且理解机器学习模型的方法提供了一个框架,从而能够更好地预测和预防事故。 事故预测是一种利用人工智能技术来提前发现潜在危险和减少事故发生率的方法。具有XAI特性的人工智能系统可以通过解释其决策背后的原因和依据,为用户提供更多观察和理解其工作方式的机会。 通过XAI技术,人们可以更准确地了解AI系统在预测和预防事故方面所依赖的数据和算法,以及其对不同特征和变量的注意力分配。这种透明性使用户能够评估系统的准确性和可靠性,并提供反馈来改善系统。 通过XAI的可视化工具,用户可以观察和分析模型在特定情况下是如何做出预测的。例如,使用热力图可以显示模型对不同因素的关注程度,用户可以从中了解到模型如何识别事故风险因素,并进行相应的依据和干预。 在事故预测方面,XAI可以提供几个关键好处。首先,它可以帮助用户理解模型是如何基于数据进行学习,从而提高对模型性能的信任度。其次,XAI可以帮助用户发现模型的潜在偏差或漏洞,并提供改进的反馈。此外,XAI还可以促进与用户之间的互动和共享知识,提高模型的可持续性和普适性。 总之,可解释的人工智能在事故预测中起到重要的作用,它通过透明和理解机器学习模型的方法,使用户能够更好地预测和预防事故。这将有助于提高安全性、降低风险,并在快速发展的人工智能领域中建立信任和合作关系。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值