ACE, 一种用于网络安全异常贡献解释器
【读书顺序】
摘要+介绍 提出什么解决什么问题
实验结果
算法细节

在本文中,我们介绍了Anomaly Contribution Explainer或ACE,它是通过回归框架根据模型特征来解释安全异常检测模型的工具,其变体ACE-KL突出了重要的异常贡献者。ACE和ACE-KL通过构建专门的线性模型来局部估计黑盒模型生成的异常得分,从而在诊断哪些属性对异常做出重大贡献方面提供了见识。我们使用这些异常检测模型进行了实验,以检测合成数据和真实数据上的安全异常。特别是,我们评估了三个公共数据集的性能:CERT内部威胁,netflow日志和Android恶意软件。实验结果令人鼓舞:我们的方法会在可得到地面真实性的综合数据中一致地确定正确的贡献特征;类似地,对于真实数据集,我们的方法将安全分析人员指向异常的根本原因,包括在一种情况下导致发现以前被忽略的网络扫描活动。我们已经公开了源代码。

0 摘要

在本文中,我们介绍了Anomaly贡献解释器或ACE,这是一种通过回归框架和它的变体,用模型特征来解释安全异常检测模型的工具, ACE-KL,它突出了重要的异常因素。ACE和ACE-KL通过构建专门的线性模型来局部估计黑盒模型生成的异常得分,从而在诊断哪些属性对异常有重大贡献方面提供了见解。我们用这些异常检测模型进行了实验,以检测合成数据和真实数据上的安全异常。 我们特别评估三个公共数据集的性能:CERT 内部威胁,Netflow日志和Android恶意软件。 实验结果令人鼓舞:我们的方法一致地确定了合成数据中地面真相的正确贡献特征。同样,对于真实的数据集,我们的方法指向一个安全分析员,指向异常的根本原因,包括在一种情况下导致发现以前被忽略的Ne。我们公开了原代码。

1 介绍

网络安全是私人和公共组织关注的一个关键问题,因为安全妥协和攻击的成本很高;恶意的网络活动使美国经济损失了570亿$ 并在2016年$了1090亿[1]。 因此,用于安全研究和开发以及用于检测和打击网络攻击的安全产品和服务的支出一直在增加。
组织产生大量的网络、主机和应用程序数据,可用于了解网络安全威胁、错误配置和网络操作。 安全方面 专家可以手动筛选一些数据以发现攻击并理解它们,考虑到即使是中型企业也能生产几个小时内的T兆字节数据。 因此,有必要使检测安全威胁和攻击的过程自动化,这更普遍地可以称为安全异常。
检测这种异常的主要方法可分为两大类:人类专家驱动(主要是基于规则的)和基于机器学习(主要是无监督的)[3]。 第一种方法涉及共同 将域专业知识划分为规则,例如,如果登录尝试的次数超过阈值,或者在夜间传输超过阈值的字节数,等等。 规则 由安全专家制定的是有用的,它们对新的(零天)和不断变化的攻击无效;此外,它们是脆弱的,很难维护。 另一方面, 在现代企业中收集的大量数据中,基于机器学习的方法已经成为检测安全异常的首选方法。
用于检测安全异常的机器学习模型通常输出严重程度或异常评分;此评分允许对异常进行排序和排序。 一个安全分析员就可以 呃调查这些异常,了解它们的根本原因,如果它们是真正的积极因素,如果需要采取任何补救措施。 然而,异常探测器通常不提供任何帮助。 在这个过程中。 事实上,对高异常分数负责的特征或特征组的任何方向或指针都将允许首先查看原因的优先级,从而节省分析师的时间和努力;这将有助于即使信息可能不直接揭示异常的根本原因。 例如,根据贡献,异常检测器分配与外部交通量、活动端口数、外部主机数等相关的特性,分析人员将决定调查这一异常现象的根本原因。
然而,大多数异常检测模型都是黑匣子,它们输出异常分数,而没有任何相关的解释或推理。 实际上,建立复杂模型,这些模型可以做出准确的预测和并以人类可解释的方式解释这些预测存在反比关系。例如,与复杂模型(如随机森林或深度神经网络)相比,解释简单模型(如线性回归,逻辑回归或决策树)的预测要容易得多,后者在输入与预测之间建立复杂的非线性关系输出。
因此,当需要能够解释其输出的模型时,例如在医学诊断中,就会出现这种情况(医生需要向医生提供诊断的详细解释)原则[4]或信用卡申请(通常需要解释为什么或为什么不批准某一特定申请[5]),更简单的模型是首选的。 然而,可解释性是这是一个成本,因为在大多数情况下,复杂的模型往往具有更高的准确性。 因此,模型可解释性与模型精度之间存在着不可避免的权衡.. 最近的深度学习模式 电子邮件正在成功地用于网络安全应用[6]-[9]。 事实上,最近举办的讲习班的一个重点是将深度学习应用于安全。
在本文中,我们重点解释了网络安全异常检测领域中复杂模型的输出,其中输出通常是异常分数。 我们建议ACE-异常贡献解释器,桥接异常检测模型提供的预测与支持人类干预现实应用所需的解释之间的差距。 具体来说,ACE通过建立一个专门的线性模型来解释特征的贡献,以局部逼近黑盒异常检测的异常分数 。这些解释帮助安全分析员快速诊断报告的异常。 我们的源代码是公开的。
我们的主要贡献在于

  • 我们设计并实现了两种方法,ACE和ACE-KL,用于解释黑盒模型在特征贡献方面检测到的个体异常的分数。
  • 我们在三个数据集上验证我们的方法:1)综合生成的内部威胁数据集; 2)真实的网络流量数据集; 和3)真实的Android恶意软件数据集。 在所有这些情况下,以最近的工作[11]为基准,结果令人鼓舞并得到改善。

我们的方法的高级概述如图1所示,我们专注于元模型近似来解释特定异常的分数。
image.png

2 相关工作

虽然模型可解释性和解释有着悠久的历史[12]-[14],但最近复杂机器学习模型(如深度神经网络)的成功和普及已经导致了一种大量的对模型可解释性感兴趣,因为这些复杂的模型不能解释它们的输出预测。 考虑到有关这一问题的大量文献,我们只讨论与我们最相关的;Guidotti等人。 [15]提供关于可解释性的全面调查。
从复杂模型中产生解释的方法可分为两大类:1)特定于模型的[16]-[20],它们利用模型的内部结构,因此只适用于该规范模型类型;和2)模型无关[21]-[23]或黑盒方法,这不依赖于底层模型类型。 我们的工作属于第二类。有几种与模型无关的方法研究了输出相对于输入的敏感性以解释输出:早期的解释为ExplainD的尝试使用加性模型通过图形解释权重要素的重要性[24]。 在Strumbelj等人的工作[25]中,作者利用联盟博弈论的概念来解释不同个体特征的价值贡献。 LIME [11]专为分类问题而设计,旨在解释黑盒模型后解释新的数据点。 MFI [26]是一种非线性方法,能够通过与其他特征的交互来检测影响预测的特征。 最近,LORE [27]使用通过遗传算法生成的合成邻域来解释特征重要性,而SHAP [28]为每个特征分配特定预测的重要性值。 我们提出的方法属于这一类,并且最接近LIME。
异常检测已被广泛研究,并且是数据挖掘中的重要课题。 但是,对检测到的异常的解释却很少受到研究人员的关注。 例如,关于异常检测的最广泛引用的调查之一[29]没有提及可解释性。 异常检测和可解释性的研究包括:异常定位研究[30],[31],指的是从大量传感器中识别故障传感器的任务; 特征选择或重要性[32]; 估计模型敏感性[33]; 和方法特定技术[34],[35]。 尽管具有先进的标记法,但这些方法要么针对特定的异常检测方法而设计得过于紧密,要么仅考虑输入的敏感度,而不是其全部贡献,并且不适用于异常和检测方法迅速发展的安全领域。

3 方法

A 问题陈述

在形式上,异常检测中的模型解释问题可以表述为:
1)黑盒异常检测模型f,具有M特征的输入x的任意函数:ACE – An anomaly
contribution explainer for cyber-security applications - 图2,它输出异常分数ACE – An anomaly
contribution explainer for cyber-security applications - 图3,也就是ACE – An anomaly
contribution explainer for cyber-security applications - 图4, 其中ACE – An anomaly
contribution explainer for cyber-security applications - 图5 是一个标量,2)任意一个数据点x’,产生分数ACE – An anomaly
contribution explainer for cyber-security applications - 图6,目的是估计ACE – An anomaly
contribution explainer for cyber-security applications - 图7,x’的每个特征归一化后的贡献。如果ACE – An anomaly
contribution explainer for cyber-security applications - 图8贡献为0,则ACE – An anomaly
contribution explainer for cyber-security applications - 图9

B 假设和观察

我们假设异常检测器的输出是在[0,∞]范围内的异常分数,其中0表示没有异常,并且分数随着异常的严重性而单调增加。 这样的分数被广泛用于异常检测器中。 请注意,如果异常检测器输出异常概率ACE – An anomaly
contribution explainer for cyber-security applications - 图10,则很容易通过以下转换将其转换为这样的分数:ACE – An anomaly
contribution explainer for cyber-security applications - 图11
仔细研究现有的技术,如LIME[11],揭示了它们不适合异常解释。 这些方法只能在局部解释一个特性的重要性,但不是这一特性的全部贡献。例如考虑这样一个线性回归场景,ACE – An anomaly
contribution explainer for cyber-security applications - 图12,其中ACE – An anomaly
contribution explainer for cyber-security applications - 图13是向量的第i个特征(我们同时将偏置项b编码为ACE – An anomaly
contribution explainer for cyber-security applications - 图14,其相应的ACE – An anomaly
contribution explainer for cyber-security applications - 图15),假设给定的特征ACE – An anomaly
contribution explainer for cyber-security applications - 图16具有“小重要性”,由其不显著的对应权重ACE – An anomaly
contribution explainer for cyber-security applications - 图17决定(假设wa值接近0.01)。 但是,如果ACE – An anomaly
contribution explainer for cyber-security applications - 图18在一个新的ACE – An anomaly
contribution explainer for cyber-security applications - 图19,例如,1000和ACE – An anomaly
contribution explainer for cyber-security applications - 图20=50,ACE – An anomaly
contribution explainer for cyber-security applications - 图21ACE – An anomaly
contribution explainer for cyber-security applications - 图22的乘法仍然对预测值ACE – An anomaly
contribution explainer for cyber-security applications - 图23作出了很大的贡献。该观察对异常检测问题,特别是与安全性相关的问题具有实际意义。 例如,当某项特征倾向于在训练中出现在某些值范围内时,经过训练的黑匣子模型将相应地对其进行加权。 部署训练有素的模型后,可以针对特定属性发展新的攻击原型,这些特定属性在训练时已被忽略,但现在具有较高的属性值。 即使可以通过训练有素的黑盒模型检测到异常,因为它会导致较高的输出分数,但潜在的原因可能会避开安全分析人员的注意.

C Anomaly Contribution Explainer (ACE)


通过计算其特征贡献向量,通过异常分数的局部线性近似来解释一个特定的异常。 使用这个简单的近似,实际贡献 这一特征ACE – An anomaly
contribution explainer for cyber-security applications - 图24使形成ACE – An anomaly
contribution explainer for cyber-security applications - 图25是自然的ACE – An anomaly
contribution explainer for cyber-security applications - 图26。 然而,有可能有一些ACE – An anomaly
contribution explainer for cyber-security applications - 图27是阴性的。 这些术语对应的特征对异常产生负面影响,因此不能是它的原因。们要舍弃这些术语,而专注于对异常产生积极影响的特征。 因此,我们使用“ softplus”函数[36],这是一个“平滑的” relu函数,用于模拟ACE – An anomaly
contribution explainer for cyber-security applications - 图28对整个异常的贡献。这种选择背后的直觉是显而易见的:我们通过忽略负成分来计算贡献,同时线性地考虑正部分;这个函数迫使所有负成分为0,并保留所有的正分量与它们的原始值成线性,此外,该函数的凸性简化了计算。
我们定义ACE – An anomaly
contribution explainer for cyber-security applications - 图29为异常分数,由Blackbox模型计算。 此外,为了使对异常分数的所有贡献正常化,将特征i的归一化贡献表示为
ACE – An anomaly
contribution explainer for cyber-security applications - 图30
近似一个特定的异常得分,如黑盒模型在感兴趣的点x处生成的,我们通过对x的邻域进行采样以获得N个邻居并获得其对应的N个异常得分,来形成具有修正线性回归的损失函数
ACE – An anomaly
contribution explainer for cyber-security applications - 图31
其中ACE – An anomaly
contribution explainer for cyber-security applications - 图32是x的第j个邻居通过黑箱模型产生的异常分数值,ACE – An anomaly
contribution explainer for cyber-security applications - 图33来控制L2正则化,ACE – An anomaly
contribution explainer for cyber-security applications - 图34是距离核为第j个邻居计算的权重,使用通过采样形成的原始示例的邻域,通过最小化损失函数来估计参数。 基于该邻域足够接近曲面与切线平面之间的交点这一事实,我们使用该邻域来近似切线平面,这是线性回归。【为什么选择了邻域来进行线性回归呢?不同的数据点x他们的归因比例是不同的,那么如何训练得到这个归因就是问题所在】我们选择正态分布N(x,0.01I),其中 I 是连续特征的单位矩阵,作为邻域以确保样本足够靠近检查点;类似的对于二元特征,进行0 1翻转,距离核ACE – An anomaly
contribution explainer for cyber-security applications - 图35用于计算检查点与相邻点之间的距离ACE – An anomaly
contribution explainer for cyber-security applications - 图36,ACE – An anomaly
contribution explainer for cyber-security applications - 图37是原点x和邻居ACE – An anomaly
contribution explainer for cyber-security applications - 图38的距离,在这里用的是欧式距离,ACE – An anomaly
contribution explainer for cyber-security applications - 图39被预先定义为ACE – An anomaly
contribution explainer for cyber-security applications - 图40,因此,距离越大,参数估计中该邻居的权重就越小。反之亦然。 算法中显示了此方法的概述。
image.png

D. Anomaly Contribution Explainer with KL Regularizer(ACE-KL)

ACE-KL通过添加额外的正则项扩展了ACE算法,该正则化器试图最大化均匀分布与所有被检查特征的贡献的计算分布之间的KL散度。 把这个正则化器加入我们的损失函数中,我们的异常贡献解释器以一种更加可区分的方式将贡献分配给已检查的特征,从而从主要特征中吸引更多的贡献,并减少那些次要特征中的贡献。
均匀分布与所有被检查特征的贡献的计算分布之间的KL散度计算如下
ACE – An anomaly
contribution explainer for cyber-security applications - 图42
P(i)是均匀分布,Q(i)是计算分布。因此损失函数如下
ACE – An anomaly
contribution explainer for cyber-security applications - 图43
研究中将beta这个超参设置为50来控制KL散度正则项。这个公式迫使计算的分布是峰值的。因此,在贡献方面,那些贡献最大的特征得到了比其他特征更好的解释。 直观地说,这一特性为在真实应用中的安全分析员提供了更好的可视化。
此外,我们的ACE-KL模型保留的一个优点是新的损失函数仍然是一个凸函数。 我们利用 Scalar Composition Theorem (Scalar组合定理)勾画了证明。
推论1 ACE-KL模型的损失函数是凸函数w.r.t. 其模型参数
w.r.t. with repect to 提及涉及

5 结论

在本文中,我们提出了用特征贡献来解释复杂安全异常检测模型的结果的方法,我们将其定义为特定特征在异常得分中所占的百分比。 根据我们在合成和真实数据集上的实验结果,我们证明ACE的异常检测解释一直优于基线异常检测解释方法。 ACE-KL有助于提供一个更简单的解释,侧重于最重要的贡献者。 这两种方法在安全异常检测解释领域都有着重要的应用。 在 未来,我们计划在其他安全问题和其他领域进一步验证我们的方法。

END

问题 为什么不直接输入x 输出为其异常值 进行拟合? 不过拟合的效果很差..