基于结构化网络安全数据流的无监督内部威胁检测方法(Deep Learning for Unsupervised Insider Threat Detection in Structured Cybe)

Deep Learning for Unsupervised Insider Threat Detection in Structured Cybersecurity Data Streams

基于结构化网络安全数据流的无监督内部威胁检测方法
摘要:分析组织的计算机网络活动是早期发现和减轻内部威胁的关键组成部分,我们提出了一种在线无监督深度学习方法,从系统日志中实时检测异常网络活动。我们的模型将异常分数分解为个人用户行为特征的贡献,增加了可解释性,以帮助分析人员审查潜在的内部威胁案例。使用CERT内部威胁数据集v6.2和威胁检测召回量作为我们的性能指标,我们的新型深度和循环神经网络模型优于基于主成分分析、支持向量机和隔离森林的异常检测基线。对于我们的最佳模型,在我们的数据集中被标记为内部威胁活动的事件的平均异常得分在95.53%,这表明我们的方法有潜力大大减少分析师的工作负载。

1. 背景

(1)会议/刊物级别

Workshops at the Thirty-First AAAI Conference on Artificial Intelligence. 2017.
CCF A

(2)作者团队

在这里插入图片描述

(3)研究背景

对雇主来说,内部威胁是一个复杂且日益增长的挑战。它通常被定义为雇员采取的对组织有潜在危害的任何行动;例如,未经批准的数据传输或破坏资源。内部威胁可能表现为各种各样的和新颖的形式,其动机是不同的,从不满的员工破坏雇主的声望,到高级持续威胁(APT),精心策划了多年的活动,以访问和检索情报数据(Hutchins, Cloppert和Amin 2011)。网络防御者的任务是评估大量实时数据。这些数据集是由大量可能的实体(工作站、服务器、路由器)和活动(DNS请求、登录、文件访问)生成的高速、异构流。为了有效地利用人力资源,分析人员过滤系统日志数据的自动化方法已经成为过去和当前许多研究的焦点,这项工作也包括在内。

我们提出了一个在线无监督深度学习系统,以过滤系统日志数据供分析师审查。因为内部威胁行为变化很大,所以我们不试图明确地为威胁行为建模。取而代之的是,深度神经网络(DNNs)和循环神经网络(RNNs)的新变体被训练来识别网络上每个用户的特征活动,并同时评估用户行为是正常还是异常,所有这些都是实时的。考虑到流场景,我们的方法的时间和空间复杂度作为流持续时间的函数是恒定的;也就是说,没有数据会被无限期地缓存,检测的速度也会随着新数据被输入我们的DNN和RNN模型而加快。为了帮助分析人员解释系统决策,我们的模型将异常分数分解成导致检测到异常的主要因素的可读摘要(例如,用户在上午12点到6点之间复制了异常大量的文件到可移动媒体)。

将机器学习应用到网络安全领域(Sommer和Paxson, 2010)有几个关键的困难,我们的模型试图解决这些困难。用户在网络上的活动通常在几秒到几小时内都是不可预测的,这导致很难找到一个稳定的正常行为模型。我们的模型以在线方式不断训练,以适应数据中不断变化的模式。此外,恶意事件的异常检测尤其具有挑战性,因为攻击者经常试图模仿典型行为。我们用用户元数据将系统日志流建模为交错的用户序列,以提供网络活动的精确上下文;例如,这允许我们的模型识别出用户、相同角色的员工、相同项目团队中的员工等的真正典型行为。我们在合成CERT内部威胁v6.2数据集上评估了我们的模型的有效性(林道尔等人,2014;Glasser和Lindauer 2013),其中包括带有内部威胁活动的行级注释的系统日志。ground truth威胁标签仅用于评估。

2. 相关工作

内部威胁检测的一种常用方法是将问题定义为异常检测任务。Chandola等人(2012)对异常检测进行了全面的综述,认为在线和多元序列的异常检测技术尚不成熟。本文讨论了这两个问题。在现实世界中,系统日志中的异常检测系统应该解决任务的实时性所给出的约束集,并提供一组适合应用领域的特性:同时跟踪多个实体,结构化多元数据的分析,适应活动的不同分布,和可解释的判断。虽然下面调查的每个工作都解决了这些组件的一些子集,但我们的工作解决了所有这些约束和特性。

如上所述,通常将入侵检测或内部威胁等任务视为异常检测。Carter和Streilein(2012)演示了指数加权移动平均的概率扩展,用于在流环境中应用异常检测。该方法学习了一种适应流数据分布变化的参数统计模型。我们目前使用深度学习架构的方法的一个优势是能够用更少的潜在假设建模更广泛的分布。Gavai等人(2015)比较了一种来自专家开发的分类器的有监督方法和一种使用隔离森林方法从网络日志中检测内部威胁的无监督方法。它们还聚合关于哪些特性有助于隔离树中的一个点的信息,以产生为什么用户被标记为异常的动机。考虑到这是一个合理的方法,我们将隔离森林作为我们的基线之一。

研究人员还将基于神经网络的方法应用到网络安全任务中。Ryan等人(1998)训练了一个带有隐藏层的标准神经网络,以预测一组10个用户中每个人在给定的一天中创建Unix命令分发的概率。当所有10个网络用户的入侵概率小于0.5时,它们就能检测到网络入侵。与我们的工作不同的是,他们的输入特征不是结构化的,而且他们不以在线的方式训练网络。Debar等人(1992)利用RNNs对网络上的正常用户活动进行建模。他们训练RNN在Unix命令行参数的一个代表性序列上收敛(从登录到注销),并在用户训练的网络不能很好地预测登录到注销序列时预测网络入侵。虽然这项工作部分地解决了在线培训的问题,但它并没有持续地培训网络,以考虑到用户习惯随时间的变化。Veeramachananeni等人(2016)介绍了在在线设置中使用神经网络自动编码器的工作。它们将网络和防火墙日志在一个时间窗口内的数字特征聚合起来,这些特征被提供给一组无监督异常检测方法:信号的主成分重建、自编码器神经网络和特征空间上的多元概率模型。他们还结合了分析师的反馈,以随着时间的推移不断改进,但并不明确地对个人用户活动进行建模。

当然,循环神经网络已成功地应用于各种替代领域的异常检测;例如,Malhotra等人(2016)在来自机械传感器(如发动机和车辆)的信号领域,Chuahan等人(2015)在ECG心脏领域,以及Marchi等人(2015a;2015b)声学信号处理领域。与目前的工作相比,这些应用不需要处理多变量分类特征和连续特征的组合。

3. 系统概述

在这里插入图片描述

图1提供了我们的异常检测系统的概述。首先,来自系统用户日志的原始事件被输入我们的特征提取系统,该系统将它们的计数聚合起来,并为每个用户每天输出一个向量。然后将用户的特征向量输入神经网络,创建一组网络,每个用户一个。在我们系统的一种变体中,这些是dnn;另一种是rnn。在这两种情况下,不同的用户模型共享参数,但对于RNN来说,它们保持单独的隐藏状态。这些神经网络的任务是预测序列中的下一个向量;实际上,他们学习模仿用户的正常行为。异常与预测误差成正比,有足够多的异常行为被标记以供分析人员调查。下面将更详细地描述系统中的组件。

3.1特征提取

深度学习异常检测系统必须解决的一个实际问题是将系统日志线从异构跟踪源转换为适合作为输入的数值特征。我们的系统从这些资源中提取两种类型的信息:分类用户属性特征和连续计数特征。分类用户特性是指用户在组织中的角色、部门、主管等属性。表1列出了我们实验中使用的类别特征(以及每个类别中不同值的数量)。除了这些分类特性,我们还积累了用户在某些固定时间窗口(例如24小时)内执行的408个活动的计数。活动计数的一个例子是在中午12点到下午6点之间从可移动媒体中复制的不常见的非诱饵文件的数量。图2直观地列举了计数特性的集合:简单地从右到左沿着一条路径走,沿途在每个集合中选择一个项目。所有此类遍历的集合就是计数特性的集合。对于每个用户u,对于每个时间段t,分类值和活动计数被连接成一个414维的数字特征向量x u t。

3.2 结构化流神经网络

我们系统的核心是两种神经网络模型中的一种,这两种神经网络模型将给定用户的一系列特征向量(每天一个)映射到用户序列中下一个向量的概率分布上。这种模式是在所有用户的基础上同时以在线方式联合训练的。首先,我们描述我们的DNN模型,它不显式地建模任何时间行为,然后是RNN,它做到了。然后我们讨论剩余的组件,以作出结构化特征向量的预测和识别异常的特征向量流。

(1)深度神经网络模型(DNN,deep neural network model)

(2)循环神经网络模型(RNN,recurrent neural network model)

(3)全概率分解(Probability Decomposition)

(4)条件概率(Conditional Probabilities)

我们将六个分类变量的条件概率建模为离散的,而我们将计数的条件概率建模为连续的。对于离散模型,我们使用标准方法:类别k的概率仅仅是向量θ (V)的第k个元素,其维数等于类别的数量。例如,有47个角色,所以θ ® r47。由于我们使用软max输出激活来产生θ (V),所以元素是非负的和对一的。对于计数向量,我们使用多元正态密度:Pθ (x) (x u t |h u t 1) = N (x;Σ)。我们考虑两种变体。在第一种情况下,我们的模型输出均值向量(θ (x) =),并假设协方差Σ为恒等函数。在恒等协方差下,最大化真实数据的对数似然等于最小化平方误差kxu t k 2。第二步,我们假设对角线协方差,我们的模型输出Σ的平均向量和对角线的对数。模型的这一部分可以看作是一个简化的混合密度网络(主教1994年)。

(5)预测目标

我们定义了两种预测目标方法:下一个时间步和同一时间步。回想等式8,在给定t-1时刻的隐藏表示的情况下,异常与t时刻观测的log概率成反比;也就是说,在已知时间t-1之前和包括时间t-1的所有信息的情况下,预测时间t的结果。这种方法适合序列数据上的rnn的正常范式;在我们的实验中,我们将这种方法称为下一个时间步长预测。

然而,在异常检测文献(Malhotra et al. 2016)中,使用自动编码器检测异常是常见的。自动编码器是一个参数函数,训练来重现输入特征作为输出。它的复杂性通常受到限制,以防止它学习平凡的恒等函数;相反,网络必须利用数据中的统计规律来实现对常见模式的低重构误差,以牺牲对不常见模式(异常活动)的高重构误差为代价。以这种无监督方式训练的网络已被证明在几个异常检测应用领域非常有效(Markou和Singh, 2003年)。在我们目前的应用程序中,这两种技术都可能适用。形式上,我们考虑异常的另一种定义。

也就是说,在给定时间t之前的所有已知条件下,预测输入量x ut。如果x ut是异常的,我们不可能产生一个分配给它一个大密度的分布。我们把这种方法称为同一时间步长预测。

(6)内部威胁检测

最终,我们模型的目标是检测内部威胁。我们假设以下条件:我们的模型产生异常分数,这些分数用于将用户日从最异常到最异常排列,然后我们将排名最高的用户日对提供给分析人员,他们判断异常行为是否表明存在内部威胁。我们假设有一个每日预算,它规定了每天可以判断的用户日对的最大数量,并且如果将一个实际的内部威胁案例提交给分析师,他或她将正确地检测到它。因为我们的模型是以在线方式训练的,所以异常值开始时相当大(当模型对正常行为一无所知时),随着时间的推移(随着正常行为模式的学习),异常值逐渐降低。为了将用户u在t时刻的异常分数置于适当的环境中,我们计算这些异常分数的平均值和方差的指数加权移动平均估计,并在每个分数到达时对其进行标准化。

我们的模型的一个关键特征是,异常分数分解为变量负对数概率的和;连续计数随机变量进一步分解为各个特征项的总和:(xi i)/σi。这让我们能够识别哪些功能是导致异常分数的最大因素;例如,我们的模型可以指出,一个特定的用户日被标记为异常,这主要是由于在上午12点到6点之间向不寻常的收件人发送了异常数量的带附件的电子邮件。洞察用户日被标记的原因,可以提高分析人员判断内部威胁行为的速度和准确性。

4.在线训练

在RNN的标准训练场景中,将单个或小批量序列输入RNN,通过Back Propagation Through Time计算训练目标的梯度,然后通过类似梯度下降的算法调整权值。对于DNN,单个或小批量的样本被输入DNN,权重通过标准反向传播计算得到的梯度进行更新。在这两种情况下,这个过程通常在固定大小的数据集上迭代,直到模型收敛,只有这样模型才会应用到新数据上进行预测。
该方法面临在线异常检测设置的几个关键挑战:1)数据集是流的,有效的无界的;2)模型在学习时需要对新数据进行预测。试图将这个场景硬塞进一个标准的训练设置中是不切实际的:在一个无界的流数据集上存储或重复训练,并在一个固定大小的近期事件集上周期性地重新训练模型,有可能排除重要的过去事件,这是不可行的。

为了适应在线场景,我们对标准训练方案进行了重要的调整。对于dnn,主要的区别是每个样本只能观察一次的限制。对于RNN来说,情况更加复杂。我们同时对多个用户序列进行训练,并在每次看到用户的新特征向量时反向传播和调整权值。逻辑上,这对应于每个用户训练一个RNN,其中权值在所有用户之间共享,但隐藏的状态序列是每个用户。在实践中,我们通过使用补充数据结构训练单个RNN来实现这一点,该数据结构存储了一个有限的过去输入窗口以及每个用户的隐藏和单元状态。每次将用户的新特征向量输入到模型中时,该用户的隐藏状态和单元状态就会在计算正向传递和反向传播错误时用于上下文。

5.基线模型

为了评估我们的DNN和RNN模型的有效性,我们比较了流行的异常/新颖性/离群值检测方法。具体来说,我们将其与一类支持向量机(SVM) (Schlkopf等人,2001年)、隔离森林(Liu, Ting, and Zhou, 2008年)和主成分分析(PCA)基线(Shyu等人,2003年)进行了比较。我们使用scikit-learn s1实现的一类支持向量机和隔离森林,两者都包含在其新新性和异常值检测功能的一部分(Pedregosa等人,2011年)。对于PCA基线,我们将特征向量投射到前k个主成分上,然后将其映射回原始的特征空间。异常与重建中的误差成正比。在开发集上调整超参数k。

6.实验

我们评估了我们的模型的有效性,我们在Tensorflow2 (Abadi et al. 2015)中实施了一系列的实验。在本节中,我们将描述所使用的数据、调优的超参数,并介绍我们的结果和分析。

6.1 数据

考虑到网络数据的安全和隐私问题,真实世界的数据集必须经过匿名化处理,才能公开发布用于研究目的。匿名化过程可能会掩盖系统日志中潜在的相关因素。特别是,系统管理员可以使用的用户属性元数据在开放发布数据集中通常不存在。我们在合成的CERT内部威胁数据集v6.2上进行了实验,其中包括此类类别信息。
在这里插入图片描述

CERT由来自模拟组织计算机网络的事件日志线组成,这些日志线由复杂的用户模型生成。我们使用五个事件源:登录/注销活动、http流量、电子邮件流量、文件操作和外部存储设备使用情况。在516天的过程中,4,000个用户生成了135,117,169个事件(日志线)。其中有由领域专家手工注入的事件,表示发生的五种内部威胁场景。此外,还包括用户属性元数据;即表1中列出的六个类别属性。由于这是一个无监督的任务,因此不需要任何监督训练集。因此,我们将整个数据集按时间顺序划分为两个子集:开发和测试。前一个子集(85%的数据)用于模型选择和超参数调优,而后一个子集(15%的数据)用于评估泛化性能。表2总结了数据集统计信息。我们的预测是基于用户日的粒度进行的;威胁用户日比原始事件少,因为恶意用户经常在一天中执行多个威胁事件。请注意,尽管测试集只包含15%的事件,但它拥有超过40%的威胁用户日。最后要注意的是,我们过滤了数据,只保留工作日的数据,因为正常数据在工作日和周末的质量上是不同的。如果需要,可以训练第二个系统来模拟正常的周末行为。

6.2 调参

我们使用随机超参数搜索在开发集上调整我们的模型和基线。对于DNN,我们调整了隐藏层的数量(在1到6之间)和隐藏层的维度(在20到500之间)。我们将批量大小固定为256个样本(用户天),学习率为0.01。对于RNN,我们在与DNN相同的范围内调整隐藏层和隐藏层维数,并将学习速率固定到0.01。批量大小可调(256到8092个样品之间);大批量的模型训练速度更快,这对RNN比DNN更重要。我们还调整向后传播的时间步数(在3到40之间)。当我们的输入和输出包含分类变量时,我们另外调整一个超参数,它决定了这两种神经网络模型都使用tanh作为隐藏激活函数,并使用梯度下降的ADAM (Kingma and Ba 2014)变体进行训练。

我们还调整了我们的基线模型。对于PCA基线,我们调整了主成分的数量(在1到20之间)。对于隔离森林基线,我们调整估计器的数量(在20到300之间)、污染(在0到0.5之间),以及我们是否引导(对或错)。最大特性超参数默认为1.0(使用所有特性)。对于SVM基线,我们调整核(在集合{rbf, linear, poly, sigmoid}), ν(在0到1之间)和是否使用收缩启发式(真或假)。对于多项式内核,我们调整度数(在1到10之间),而对于所有其他内核,我们对其余的超参数使用默认值。

对我们所有模型,优化标准累计召回k (CR-k),我们定义是回忆的总和为所有预算包括k。计算效率,我们在增加25只评估预算,如果我们定义R(我)我的回忆与预算,CR-k实际上是(25)+ R(50) +···+ R (k)。CR-k可以被认为是召回曲线下面积的近似值。对于每个模型,我们都选取了使CR1000最大化的超参数,其可达到的最大值为40。假设1)我们有一个固定的分析师每日预算,不能从一天转到下一天,2)真正的阳性很少,3)漏检的成本远远大于假阳性的成本,我们认为像CR-k这样的回忆导向指标比精确导向的指标更适合用来衡量表现。

6.3 实验结果

我们提出了三组实验结果,每组都被设计用来回答一个关于我们模型性能的特定问题。首先,我们评估在我们的模型输入和输出中包括或排除分类变量的影响。表3显示了两个LSTM模型之间的比较,区别仅在于它们是否包含类别信息。结果表明,虽然差异不大,但在没有类别信息的情况下,模型的性能明显更好。虽然包含分类特征的最初目的是为模型提供上下文,但我们假设我们的数据集可能足够简单,这样的上下文是不必要的(或者模型不需要显式上下文:它可以推断出上下文)。也可能是增加的模型复杂性阻碍了可训练性,导致了性能上的净损失。

在这里插入图片描述
因为包含分类特征会增加模型的计算复杂度,并损害性能,所以本文中报告的所有剩余实验都只使用计数特征。

我们的第二组实验旨在确定哪种预测模式对我们的任务最有效:相同时间步长(eq . 13)或下一个时间步长(eq . 8)。表4显示了这些结果,比较了两个DNN模型和两个LSTM模型。同样的时间步长方法可以为两个模型带来更好的性能,尽管LSTM的差异更大。基于这个结果,我们只使用相同的时间步长,我们的其余实验集。有趣的是,DNN和LSTM的表现相当。我们怀疑,CERT数据集没有包含足够多的时间模式,无法为LSTM提供任何真正的优势,尽管我们希望它能在现实世界的数据集上提供优势。
在这里插入图片描述
我们最后一组实验的目的是评估协方差类型对我们的连续特征的影响(同一性与对角线),并与我们的基线模型进行对比。表5显示了这些结果。在基线中,隔离森林模型最强,性能仅次于DNN-Diag和LSTM-Diag。这些结果还表明,对角线协方差比恒等协方差带来更好的性能。对角协方差的一个明显优势是,它能够更有效地规范化数据(通过计算方差的趋势)。想知道如果数据提前归一化,身份模型会有多好,我们进行了一个试点研究,其中的计数是标准化的指数加权移动平均估计的平均值和方差,并没有发现任何改进的身份模型。
在这里插入图片描述

7.总结

我们提出了一个采用在线深度学习体系结构的系统,该体系结构为流式系统用户日志中的内部威胁检测任务生成可解释的异常评估。由于内部威胁以新的和不同的形式出现,明确地对其建模是不实际的;相反,我们的系统模拟正常行为,并使用异常作为潜在恶意行为的指示器。我们的方法旨在支持流场景,允许将高容量的流过滤为一个可管理的事件数量,以便分析人员进行审查。此外,我们的概率异常分数也允许我们的系统传达为什么它感觉某个用户在某一天是异常的(例如,因为用户在下午6点到中午12点之间上传的文件数量异常)。我们希望这种可解释性将提高人类分析人员的速度和准确性。

在我们使用CERT内部威胁v6.2数据集进行评估时,我们的DNN和LSTM模型优于三个标准异常检测技术基线(基于隔离森林、支持向量机和主成分分析)。当我们的概率输出模型使用上下文相关的对角协方差矩阵(作为输入的函数)而不是固定的单位协方差矩阵时,它提供了更好的性能。我们还对比了两种预测场景:1)给定一个压缩隐藏表示(同一时间步)概率性地重构当前输入和2)概率性地预测下一个时间步(下一个时间步)。在我们的实验中,我们发现前者的效果稍好一些。

有很多方法可以扩展这项工作。首先,我们希望将其应用于更广泛的流任务。虽然我们这里的重点是内部威胁,但我们的底层模型提供了一种与领域无关的异常检测方法。在我们的实验中,LSTM的表现与DNN相当,但我们怀疑,当应用于具有更复杂的时间模式的大规模现实世界问题时,LSTM将产生更好的性能。

另一个有希望的角度是探索时代的不同粒度。当前的工作将每天的功能聚合到每个用户身上;这有可能忽略一天内发生的异常模式。同样,我们的LSTM模型具有最大的推广潜力:该模型可以应用于单个事件/日志线,使用其隐藏状态作为内存来检测异常的动作序列。这样做将减少或消除聚集计数样式的特征所需的特征工程。它还可以极大地缩小分析师为确定异常行为是否构成内部威胁而必须检查的单个事件的范围。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值