[论文解读] Anomaly Sequences Detection from Logs Based on Compression
本文提出了一种基于语法压缩的新型日志序列异常检测方法,通过测量异常程度(strangeness)来检测异常,而无需依赖统计模型或马尔可夫假设。通过在正常序列上进行训练,并测量在添加可疑序列后压缩大小的增加量,该方法能有效识别高层级和低层级的异常,在真实系统调用轨迹上的错误检测和入侵检测任务中表现优异。
Mining information from logs is an old and still active research topic. In recent years, with the rapid emerging of cloud computing, log mining becomes increasingly important to industry. This paper focus on one major mission of log mining: anomaly detection, and proposes a novel method for mining abnormal sequences from large logs. Different from previous anomaly detection systems which based on statistics, probabilities and Markov assumption, our approach measures the strangeness of a sequence using compression. It first trains a grammar about normal behaviors using grammar-based compression, then measures the information quantities and densities of questionable sequences according to incrementation of grammar length. We have applied our approach on mining some real bugs from fine grained execution logs. We have also tested its ability on intrusion detection using some publicity available system call traces. The experiments show that our method successfully selects the strange sequences which related to bugs or attacking.
研究动机与目标
- 为解决在大规模日志中检测非确定性系统故障的挑战,特别是在云计算环境中。
- 克服传统异常检测方法依赖马尔可夫假设或概率模型的局限性,这些方法常会遗漏高层级异常行为。
- 开发一种轻量级、结构感知的方法,利用压缩技术基于信息内容检测异常日志序列。
- 在真实世界日志上评估该方法在错误检测和入侵检测中的表现,证明其在多样化系统行为下的有效性。
提出的方法
- 该方法使用基于语法规则的压缩(特别是SEQUITUR算法)从训练日志序列中学习正常行为模式。
- 通过计算将候选序列添加到训练集后压缩大小的增加量($I_n = Q_n - Q_0$)来衡量其异常程度。
- 核心思想是:异常序列由于可压缩性低且与正常模式存在结构偏差,会导致压缩大小显著增加。
- 该方法避免使用统计建模,而是依赖信息论原理:可压缩性反映了结构规律性和可预测性。
- 使用前缀树数据结构以优化候选序列与现有语法规则的匹配过程,提升效率。
- 通过绝对压缩大小增加量($I_n$)和信息密度($D_n = I_n / \text{sequence length}$)双重指标对异常序列进行排序。
实验结果
研究问题
- RQ1基于压缩的异常检测方法能否在不依赖统计模型的前提下,有效识别细粒度执行日志中的高层级异常行为?
- RQ2与传统的基于马尔可夫的方法相比,该方法在系统调用轨迹中检测已知入侵行为的表现如何?
- RQ3仅依靠结构特征和可压缩性特征,该方法能否在真实系统调用轨迹中有效区分良性与恶意进程行为?
- RQ4当该方法应用于生产系统中的大规模日志数据时,其性能开销如何?
主要发现
- 在xlock数据集中,该方法成功检测出2个已知被利用的进程,其信息密度($D$)值比排名前几的正常序列高出2倍以上。
- 在named数据集中,该方法识别出5个最异常序列中的3个,其信息密度值显著高于正常序列。
- 在xlock数据集中,前5个正常序列的$I_n$值在46至776之间,而两个被利用的序列的$I_n$值分别为183和176,表明具有强烈的异常信号。
- 该方法表现出高吞吐量:在memcached日志上达到85,409.5条记录/秒,在大型named数据集上达到585.4条记录/秒。
- 该算法正确识别出$I_n = 1$的序列很可能是训练序列的重复,表明其在处理重复模式时具有鲁棒性。
- 与传统基于马尔可夫的模型相比,该方法在检测高层级异常方面表现更优,因为它能捕捉超出局部状态转移的结构模式。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。