西华盛顿大学:利用递归神经网络RNN 从计算机日志中预测用户角色
AAAI 2017 Student Abstracts
利用递归神经网络RNN从计算机日志中预测用户角色
Predicting User Roles from Computer Logs Using Recurrent Neural Networks
西华盛顿大学
Western Washington University
【摘要】网络和其他计算机管理员通常可以访问一个可以用来跟踪用户的操作的数量丰富的日志集。然而,他们往往缺乏元数据,如用户角色,年龄和性别,这些可以为用户的行动提供宝贵的背景。自动推断用户属性具有广泛的影响;包含在其他里,用于定制(预测用户需求和优先级)、管理资源(预测需求)和安全性(解释异常行为)。
在社交媒体的背景下,使用词汇和社交图形数据,用户属性剖析得到了最广泛的探索。Ikeda等人(2013)通过一个用户的追随者follwers和被追随者follwees连接了一个分析用户的推特历史的支持向量机的集群来使用混合系统预测用户的人口统计信息。Oentaryo等人(2016)利用一个社会网络关系数据的逻辑回归泛化来预测用户属性,如年龄、性别和宗教。
其他研究人员考虑了网络和网络安全领域中的用户属性分析。伊格莱希亚斯(2012)提出了一种无监督的基于规则的分类器,它基于UNIX的shell命令序列将用户划分成学习的和自适应的分类。Meng等人(2008)从网络行为序列的表现模板中学习了一个混合模型。Panda和Patra(2008)探讨了几种决策树分类器和朴素贝叶斯在网络事件序列分类中的有效性。Udoeyop(2010)采用K-means和核密度估计来从细粒度的用户的网络活动中,其中包括处理、加工时间和文件读取,写入和打开,检测正常和不正常的用户配置文件。
在本文中所描述的工作中,我们通过计算机日志来预测用户的角色,尽管我们的方法是对其他类别属性的预测。我们使用递归神经网络,随着时间的推移越来越精细的预测,与我们的基线相比,达到了相对减少了30%的角色分类错误。
1 模型
我们的模型使用一个用户u的一系列T个特征向量
作为输入,并产生一系列T个概率向量
作为输出,为该用户提供角色分布。因为我们使用递归神经网络来产生概率,
是一个所有包括时间t的特征向量的函数。与
只取决于
的模型作相反,这种方法提供了两个主要优点:首先,它使我们能够捕捉任何可能只存在于用户每一天的行为中的时间模式;其次,它使我们能够有信心预测一系列天以来的积累证据。
具体来说,我们的模型是一个堆叠的LSTM(Hochreiter和Schmidhuber1997)。让
和
分别表示隐藏状态和(长期记忆)神经元状态。对于有C个分类的LSTM和一个单独的隐藏层,
按照下述方式进行计算:
其中,☉代表element-wise乘法,σ代表logistic sigmoid function。模型参数为八个权重矩阵W和4阶偏置向量b,这些在所有用户间共享。对于一个堆叠的有不止一个在和之间的隐藏层的堆叠LSTM,第n层的输入是第n-1层的隐藏状态。
为了适应网络用户角色分类任务的流特性,我们同时训练多个用户操作序列。这是通过保存对于网络中的每个用户来说固定数量的时间步骤的LSTM隐藏和神经元状态来完成的。
2 实验设置
为了评估我们的模型的有效性,我们进行了一系列基于CERT内部威胁v6.2数据集(Glasser和Lindauer2013)的角色分类实验。这些数据包括从一个组织的计算机网络中的用户行为的复杂模拟中收集来的日志行。日志行从五个不同的来源产生:用户登录/注销行为、网络流量、文件的读/写/访问,电子邮件流量,和外部设备的使用。4000个用户在516天的模拟活动中生成135117169条日志行。在假设90天是识别用户角色的足够时间的前提下,我们只使用前90天的数据。为每个用户的每一天,相对于这五个来源,我们得到一个408维的特征矢量来获取用户的行为(例如一个特征是用户从早上12点到早上6点之间发送的带有附件的电子邮件)。用户角色在数据集中提供,并用作我们的预测标签。只有极少数代表(10岁以下)的角色被合并到单个捕捉全部角色中,剩下33个包括捕捉全部在内的不同的用户角色。我们依据用户将数据分成训练(80%)、开发(10%)和测试(10%)集。
随机搜索用来在开发集调几个超参数,包括堆叠的LSTM的层数,隐藏的和神经元状态向量的维数和学习率。我们的模型用Tensorflow工具包实现。
3 结果
我们评估我们的模型的交叉熵,这是我们的模型分配给真正的角色的负对数概率。图1显示我们的作为时间的函数的预测交叉熵。正如预期的那样,性能开始不佳(高交叉熵),但随着更多的意见被送入模型,性能稳步提高。预测继续改善,直到大约40天之后性能开始稳定在一个水平线上。经过90天的观察,我们的模型达到了38%的准确率,比预测大多数类角色的11%个基线要好得多。
4 结论
在流式网络环境中,用户属性分析是一个重要且具有挑战性的问题;在这篇摘要中,我们提出了一种深度学习的方法。我们的初步结果是令人欢欣鼓舞的,结果表明该模型显示了随着时间推移的稳步的提高,最终实现了准确率为38%的33路角色的分类任务。
我们有几种方法来扩展这项正在进行的工作。首先,我们想探索一组更丰富的特征集,这些特性可能对用户角色更具有区分性。我们还计划通过重采样/重放学习来解决角色不平衡问题,并使用诸如丢弃和层规范化等技术来改进泛化和/或加速训练。最后,我们计划在额外的数据集上评估我们的模型。
图1:作为时间函数的表现
论文下载链接:
https://aaai.org/ocs/index.php/AAAI/AAAI17/paper/view/14228/14238