基于可解释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核概率密度估计。可以理解为是对直方图的加窗平滑。

给出以下结论:
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=max−minx−min
利用sklearn预处理库中的MinMaxScaler,首先在训练集上进行fit和transform,然后在测试集上使用训练集的最大值和最小值进行transform。在此操作之后,所有的数字特征值都在0和1之间。
4.2 模型实现

模型训练分成两部分:(上图的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地址
文章提出了一个结合可解释AI(XAI)的DoH流量攻击检测系统,通过分析CIRA-CIC-DoHBrw-2020数据集,发现关键特征,并使用平衡堆叠随机森林分类器进行高精度分类。同时,利用SHAP生成可视化仪表,提高模型决策的透明度。相较于其他方法,该模型在保证高精度和召回率的同时,增加了可解释性。
541





