用于系统调用迹中新颖性检测的语言模型
机器学习
2023-09-06 v1 操作系统
软件工程
摘要
由于现代计算机系统的复杂性,新颖且出乎意料的行为频繁发生。此类偏离或是正常事件(如软件更新与新用户活动),或是异常(如错误配置、延迟问题、入侵与软件缺陷)。无论如何,新颖行为对开发者极具价值,且切实需要高效有效的方法予以检测。如今,研究者认为系统调用是考察计算机系统行为最细粒度且最准确的信息来源。据此,本文引入一种新颖性检测方法,其依赖于系统调用序列上的概率分布,可视作一种语言模型。语言模型估计序列的似然,而由于新颖性按定义偏离既往观测行为,其在模型下似然较低。继神经网络语言模型取得成功之后,本工作评估了三种架构:广泛使用的 LSTM、最先进的 Transformer 与较低复杂度的 Longformer。然而,大型神经网络通常需海量数据方可有效训练,且据我们所知,尚无公开的现代内核迹大规模数据集。本文通过引入一个包含逾 200 万次 Web 请求、具七种不同行为的开源内核迹数据集弥补此局限。所提方法仅需极少专家手工设计,在大多数新颖性上取得大于 95% 的 F 值(F-score)与 AuROC,且数据与任务无关。源代码与训练模型已在 GitHub 公开,数据集发布于 Zenodo。
引用
@article{arxiv.2309.02206,
title = {Language Models for Novelty Detection in System Call Traces},
author = {Quentin Fournier and Daniel Aloise and Leandro R. Costa},
journal= {arXiv preprint arXiv:2309.02206},
year = {2023}
}
备注
12 pages, 7 figures, 3 tables