在入侵检测领域中,离散事件日志的异常检测是一个很大的挑战,早期的研究大多是基于工程特性的非监督学习,作者受自然语言处理的启发,提出了一种基于LSTM自动编码器的异常检测模型,用于对事件序列进行重组,可以检测序列的结构和单个事件之间的双向因果关系。
以往常用的预测模型方法有一个基本的局限性:事件预测可能不能充分利用序列特征。EventRepresersation方法假设事件的分布只受之前事件的影响(e.g.,当模型看到一个打开的文件操作时,它可以猜测这个打开操作之后是一个读取操作),但是分布也可能受后面事件的影响(e.g.,当模型看到一个打开操作时,它应该检查是否看到过打开操作)。所以,异常检测方法也应该对事件的顺序结构和双向因果关系有更深的认识。这种局限性使得目前广泛采用的方法会产生大量的FP和FN。
在此基础上,提出了基于LSTM自动编码器的离散事件日志异常检测方法。LSTM自动编码器通过分析(编码)和重构(解码)给定序列,而不是预测即将发生的单个事件,判断序列是正常还是异常,这是与现有方法的根本区别。该方法不但能检测出不可见或罕见事件序列,而且还能检测出结构异常序列,评价结果表明,该方法能显著降低FP数,同时提高F1分。
克服了传统基于预测变量的建模方法的局限性。DabLog可以通过HDFS控制台日志数据集进行评估。
首先,在离散事件日志中,可以使用自动编码器有效地检测时间敏感异常的情况,在这些日志中,事件涉及的上下文包含了更多不同的事件。
数据库日志包含四个主要组件(如下图所示):嵌入层、深层LSTM自动编码器、事件分类器和异常注释器。例外检测接受离散事件序列作为输入,需要将离散事件嵌入可识别特定模型的矢量中。在嵌入中增加一个嵌入层,将其实例化为V(唯一离散事件的数量)和δ(输出维数)的大小,然后包含一个随机矩阵,该矩阵将日志事件et=ki(离散事件键)映射到xt(大小为δ的嵌入矢量)。在训练过程中,将该矩阵与时间敏感的编码-解码网络一起进行逆传播训练。此外,还将在嵌入层中添加三个特殊的填充键:begin-and-sequence、endo-and-sequence和ekknown。begin-and-sequence和endo-and-sequence用ekknown来提高计算性能,为LSTM模型提供了额外的顺序特征(以前工作中的嵌入功能为所有未知事件启动未训练的嵌入向量,事件分类器也为未知事件启动未使用的logit维,当不必要地使用大量资源时,模型训练效率较低)。