(CCS22)”AI/ML for Network Security, the Emperor has no Clothes”论文阅读笔记
Published:
论文概述
本文研究网络安全领域AI模型的可解释性问题,具体而言,通过可解释性方法识别模型学习过程中的归纳偏差现象,促使模型能够按照预期表现部署。
过去几年AI和ML方法在识别多类网络安全问题的复杂网络流量特征上显示出相较基于规则的启发式方法的优势,但同时也显示出研究者和实施者对于在生产环境中应用这些方法的迟疑。大部分已有方法的黑盒特点是导致这种迟疑的根本原因。无法有效解释模型决策的原因让这些方法无法像基于规则的方法一样让人信任并接受。因此需要方法来解析黑盒模型并解释其决策的生成原因。
原来没有针对网络安全领域的可解释性AI工作。网络安全领域的ML方法除了可信问题外还面临着其他问题。网络安全领域的数据包括网络上沟通的信息,这些信息往往涉及用户和供应商的隐私不便公开,所以公开数据集不多。公开的数据集也通常没有现实世界中的复杂性。其次网络中的数据不易被人理解,对数据的标记强依赖于专家知识,无法被外包出去。
可解释性AI使用单独的模型(post-hoc模型)来解释原来的黑盒模型,这种事后解释经常不可靠,会出现误导。另一种方法是使用决策树这种本身就可解释的AI模型。但因为网络安全领域数据包含丰富的语义信息,发现重要模式的工作逐渐交友黑盒模型来完成,而不是可解释的简单模型。可解释AI可以分为局部解释和全局解释两种类型,局部解释关注解释某个独立的决策,利用了LIME,SHAP和LEMNA等方法。这种方法只关注决策中的一个子集,因此容易提供误导解释;全局解释描述一个给定的黑盒模型整体而言如何得到决策结果,一般采用一个本身可解释的模型来学习黑盒模型的决策过程。
现有的工作在精度上无法满足实际应用要求,只关注特定的黑盒模型,难以复现,容易被误导。可能因为这些工作都是为了其他领域设计的,并不单独考虑网络安全。在同时考虑解释模型的高精确度,模型无关和易理解的时候,目前的已有方法无法兼顾三个因素。VIPER和Metic依赖模型相关的领域知识。Trepan和dtextract模型无关但解释精度不足。最大迭代次数限制的终止条件精度较高但又很高的时间消耗,降低时间消耗又会导致较低的精度。
提出了TRUSTEE,一个三步走方法来得到模型无关,高精度,易于理解和高精度的解释。具体而言,方法首先考虑精度,会通过采样和训练测试分离的方式利用模仿学习训练若干个决策树,然后从中选择解释精度最高的那个作为候补。精度选择步骤会重复若干次,得到满足精度要求的决策树集合。然后方法会其中选择精度最高的决策树,并对其进行剪枝来满足易于理解的要求。这两重嵌套会执行多次,最终得到满足精度和解释性要求的决策树集合,最后在这些决策树中两两计算预测认同次数,并选择平均认同最高的决策树作为最后的解释结果。
简单表示为:
for i in range(S):
for j in range(N):
d_train, d_test = sample_and_split_data(data)
dt = train_model(d_train)
d_misclassfied = test_model(dt, d_test, ori_model)
data = augment_data(data, make_data(d_misclassified, y_test))
# augement data with misclassified test data
# to increase accuracy & reduce leaf nodes
dt_with_fidelity.append(dt)
dt = argmax(dt_with_fidelity)
dt = tree_prune(dt) # top-k prune, nothing new, i may say
dt_stable.append(dt)
t = argmax(dt_stable, aggrement=calc_aggrement(dt_stable))
return t
本文将“信任解释结果”与“放弃控制”等价,即解释结果没有不可信的地方就可认为解释结果是可信的,本文针对关注的三种归纳偏移问题分别给出了观测和判断方式。
- 如果少部分输入结果就可以解释大部分的预测输出,说明模型很可能学到了捷径。
- 如果去掉最重要的结果重新学习没有导致原始模型的精度降低,说明模型很可能学到了虚假联系。
- 如果根据解释结果画出的特征的数据分布与从真实数据中获得的分布不一致,说明模型很可能学到了分布外的样本信息。
优缺点分析
待补充
感悟
待补充