[论文解读] Language Models for Novelty Detection in System Call Traces
该论文提出了一种新颖的、与数据和任务无关的系统调用轨迹异常检测方法,利用神经语言模型(LSTM、Transformer、Longformer)通过测量序列似然度来检测偏差。该方法在大多数异常类型上实现了超过95%的F值和AUC-ROC值,并引入了一个包含200多万条网络请求的新型开源数据集,涵盖七种行为类型。
Due to the complexity of modern computer systems, novel and unexpected behaviors frequently occur. Such deviations are either normal occurrences, such as software updates and new user activities, or abnormalities, such as misconfigurations, latency issues, intrusions, and software bugs. Regardless, novel behaviors are of great interest to developers, and there is a genuine need for efficient and effective methods to detect them. Nowadays, researchers consider system calls to be the most fine-grained and accurate source of information to investigate the behavior of computer systems. Accordingly, this paper introduces a novelty detection methodology that relies on a probability distribution over sequences of system calls, which can be seen as a language model. Language models estimate the likelihood of sequences, and since novelties deviate from previously observed behaviors by definition, they would be unlikely under the model. Following the success of neural networks for language models, three architectures are evaluated in this work: the widespread LSTM, the state-of-the-art Transformer, and the lower-complexity Longformer. However, large neural networks typically require an enormous amount of data to be trained effectively, and to the best of our knowledge, no massive modern datasets of kernel traces are publicly available. This paper addresses this limitation by introducing a new open-source dataset of kernel traces comprising over 2 million web requests with seven distinct behaviors. The proposed methodology requires minimal expert hand-crafting and achieves an F-score and AuROC greater than 95% on most novelties while being data- and task-agnostic. The source code and trained models are publicly available on GitHub while the datasets are available on Zenodo.
研究动机与目标
- 解决在复杂计算机系统中检测新型、意外行为的挑战,包括正常的更新和恶意异常。
- 克服用于训练和评估异常检测模型的大型公开内核轨迹数据集缺乏的问题。
- 开发一种机器学习方法,最大限度减少专家干预,并与数据类型和异常类型无关。
- 评估最先进的神经语言模型(LSTM、Transformer、Longformer)在检测新型系统调用序列方面的有效性。
- 提供一种可扩展、具备实时处理能力的方法,通过序列似然估计检测已知系统行为的偏差。
提出的方法
- 在系统调用序列上训练神经语言模型(LSTM、Transformer、Longformer),以学习有效序列上的概率分布。
- 通过链式法则利用每个系统调用在其前驱条件下的条件概率,计算序列的联合似然度:$ P(w_1,\dots,w_N) = \prod_{i=1}^N P(w_i|w_{i-1},\dots,w_1) $。
- 通过识别在训练模型下似然度低(困惑度高)的序列来检测异常,因为异常会偏离已知行为模式。
- 在训练过程中使用交叉熵损失,以最大化观测序列的似然度,从而隐式学习正常系统行为。
- 在单张V100 GPU上,对新序列进行实时推理,每批16条序列的推理时间低于100毫秒。
- 采用随机搜索进行超参数调优,以减少对专家知识的依赖,提升自动化与可复现性。
实验结果
研究问题
- RQ1神经语言模型是否能在无需手工特征工程或领域特定标注的情况下,有效检测新型系统调用序列?
- RQ2在检测系统调用轨迹中多种类型的异常时,不同架构(LSTM、Transformer、Longformer)的表现如何比较?
- RQ3该方法在不同行为和系统状态(包括正常更新和异常事件)下的泛化能力如何?
- RQ4新引入的、包含200多万条系统调用轨迹的开源数据集在减少数据偏差的前提下,能否支持高性能的异常检测?
- RQ5在实时推理约束下,模型性能表现如何?各类架构的计算权衡是什么?
主要发现
- 所提出的基于语言模型的方法在大多数异常类型上实现了超过95%的F值和AUC-ROC,表现出极高的检测性能。
- 出人意料的是,尽管LSTM具有对局部依赖关系的归纳偏置,它在六种行为类型中的三种上表现优于Transformer和Longformer。
- 该方法具有数据和任务无关性:可检测任何偏离已知行为的偏差,包括软件更新、新用户、入侵行为和硬件问题。
- 该方法支持实时推理,在单张V100 GPU上每批16条序列的处理时间低于100毫秒,适用于生产环境监控。
- 开源的、包含超过200万条网络请求的七种不同行为的数据集,为未来研究提供了真实、大规模的基准。
- 训练好的模型和源代码已公开发布于GitHub和Zenodo,支持可复现性,并可在私有数据集上进行评估。
更好的研究,从现在开始
从阅读论文到最终审阅,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。