✨ 要点🔬 技术摘要
想象一下,你是一名大型、繁忙办公大楼(一个 Web 应用程序)的保安。你的职责是发现入侵者或进行违规行为的人。
大多数现代保安(现有软件)只是在盯着日志本 看。每当有人走进门或使用电梯时,日志本上就会增加一行记录。如果保安发现日志中的模式与过去相比看起来很奇怪,他们就会拉响警报。
问题所在: 论文指出,这种“仅靠日志”的方法存在一个致命缺陷。
“拟态”诡计: 罪犯可以走过大门,并在日志中以一种看起来与正常员工完全一致的方式签名。日志显示:“约翰在上午 9:00 进入了大厅。”但实际上,约翰可能拿着一张偷来的门禁卡,或者门是被强行撬开的。日志并不会显示“暴力破坏”,它只显示“结果”。
噪音: 有时日志会很混乱。它可能会说“约翰进入了”,但它并没有告诉你约翰是否真的持有进入该特定房间的凭证。保安会被这些看起来相似的条目搞糊涂,从而错过真正的危险。
解决方案:MINES 作者提出了一种名为 MINES 的新系统。与其仅仅盯着日志看,MINES 会观察建筑物的蓝图 以及建筑物运作的规则 。
可以这样理解:
旧方法(日志学习): 保安学习到“约翰通常进入大厅,然后前往 3 楼”。如果约翰进入大厅并前往 3 楼,保安会认为:“一切正常。”
MINES 方法(蓝图推理): MINES 查看蓝图并指出:“等等,根据建筑设计,你只有在口袋里装有‘已支付票据’,且该票据必须与数据库中的特定座位相关联的情况下,才能前往 3 楼。”
MINES 不仅仅是在阅读日志;它还会根据数据库 (关于谁拥有什么的系统主记录)和环境 (当前实际登录的用户)来检查日志。
MINES 的工作原理(三步流程):
翻译蓝图: MINES 将技术性的“蓝图”(API 签名和数据库表)转化为一张巨大的、互联的地图。它将每一次 API 调用(例如“取消订单”)视为故事中的一个角色,将每个数据库表(例如“订单”)视为一个地点。
询问 AI 侦探: 它使用一个聪明的 AI(大语言模型)来观察这张地图,并询问:“为了让这个故事成立,必须满足哪些条件?”
示例: AI 可能会推断:“要使‘取消订单’事件真实有效,数据库中必须有一个匹配的‘订单’,且该订单的状态必须为‘已支付’。”
这就像保安通过查看蓝图来确认规则是否合理,而不是仅仅根据过去的日志进行猜测。
现实检查: AI 可能会猜错(产生幻觉)。因此,MINES 会将这些新规则与一堆已知的“正常”日志进行对比运行。如果一条规则说“约翰不能进入大厅”,但约翰确实正常地进入了大厅,MINES 就会丢弃这条规则。它只保留那些 100% 准确的规则。
结果: 当攻击发生时(例如有人尝试两次退款),旧的保安(LogRobust, LogFormer)会漏掉它,因为日志看起来很正常。但 MINES 会检查数据库并指出:“等等,这个订单已经退款了!数据库显示状态为‘已取消’,但日志却显示‘已退款’。这违反了蓝图!”
为什么这很重要:
更聪明: 它能捕捉到那些在纸面上看起来完美但在现实中却是伪造的攻击。
更纯净: 它不会被混乱的日志所困扰。它专注于系统的规则。
更快速: 它可以每秒检查数百万条日志。
可解释性: 如果它抓住了罪犯,它可以指出具体违反了哪条规则(例如,“数据库状态与请求不符”),而不仅仅是说“这看起来很奇怪”。
简而言之,MINES 不再试图通过阅读一本混乱的日记来猜测什么是正常的。相反,它学习了应用程序的物理定律 ,并以此捕捉任何试图违反定律的人,即使他们试图在日志中掩盖行踪。
技术摘要:MINES —— 通过 Web API 不变量推断实现可解释的异常检测
问题陈述
现代 Web 应用程序(作为政府和企业关键基础设施的一部分)日益依赖暴露的 Web API(例如 RESTful、SOAP、WebSockets)。这些 API 经常成为蓄意攻击和无意非法访问的目标,从而导致异常的系统行为。现有的基于日志的异常检测方法面临两个根本性的挑战:
超越日志的可观测性 (C1): 真正的系统正常状态往往取决于未被原始日志捕获的信息,例如特定的数据库状态(例如,订单在取消前必须是“已支付”状态)或会话环境信息。仅依赖于经过插桩的日志会遗漏这些至ся关键的因果因素。
从噪声日志实例中提取真实的数学不变量 (C2): 全面的日志记录往往会引入噪声。基于原始日志实例训练的学习型模型可能会捕捉到伪相关性(例如,特定的 API 调用序列),而非因果关系,从而导致误报或漏报。此外,现有的规则学习方法通常从日志模式中导出表层规则,当关键上下文在日志中缺失时,这些规则就会失效。
目前的尖端解决方案,无论是模型学习类(如 LogRobust、LogFormer)还是规则学习类(如 WebNorm),都难以区分正常日志与攻击日志,因为攻击日志在文本上与正常日志非常相似,但违反了底层的系统不变量(例如,数据库约束)。
方法论:MINES
作者提出了 MINES (通过 Schema 进行不变量挖掘以进行异常检测),这是一种通过 Schema 层级 (API 签名和数据库 Schema)而非详细的原始日志实例来推断可解释 API 不变量的技术。MINES 将异常检测视为一个规范挖掘问题。
核心工作流
Schema 解析与增强:
MINES 解析 API 签名、数据库 Schema 和环境信息(例如,会话数据)。
它将 API 签名转换为实体类型 ,其中 API 名称为实体,参数和返回值则为属性。
这些 API 实体与数据库表及环境实体相结合,形成一个增强型实体-关系 (ER) 图 。
关系推断(阶段 1):
利用大语言模型 (LLM),MINES 推断增强实体之间的关系:
API-DB 关系: 将 API 参数与数据库列链接起来的外键约束。
API-API 关系: 不同 API 调用之间的时序依赖关系。
API-Env 关系: API 调用与会话/环境数据之间的联系。
应用启发式规则(例如,数值重叠阈值、用于序列概率的隐马尔可夫模型)来过滤掉虚假关系。
不变量生成(阶段 2):
基于推断出的关系,MINES 对相关的实体表进行连接(Join)。
提示 LLM 在这些连接后的表上生成候选不变量 (约束)。这些不变量涵盖五类:常识约束、格式约束、数据库约束、环境约束以及相关的 API 约束。
推断出的约束被转化为可执行的 Python 代码 。
不变量精炼:
为了减轻 LLM 幻觉和误报问题,MINES 会根据一组已知的正常日志 对生成的约束进行验证。
如果某个不变量在正常数据上触发了误报,该错误会被反馈给 LLM 以修正或丢弃该不变量。这种迭代循环持续进行,直到该不变量对所有正常日志均成立。
运行时验证:
离线检测: 系统以离线方式运行。日志收集器收集运行时日志,随后由离线检查器执行学习到的 Python 不变量并应用于这些日志。
二进制日志追踪: 为了解决动态数据库状态带来的挑战,MINES 通过回放数据库二进制日志来重建每次 API 调用时的历史数据库状态,从而确保不变量评估的准确性。
核心贡献
方法论: 一种基于 Schema 的规范挖掘技术,它统一了 API 签名、数据库 Schema 和会 session 信息来推导因果不变量,解决了仅靠日志方法的局限性。
工具: 一个针对 Java Web 应用程序的框架实现,仅需 API 签名和数据库 Schema 即可实现,便于实际部署。
基准测试: 一个包含 31 种攻击类型的 Web 篡改攻击数据集,涵盖 Train-Ticket 和 NiceFish,具有可动态生成且可复现的脚本,用于生成正常和异常日志。
评估: 对先进的基准模型(LogRobust、LogFormer、WebNorm)进行了广泛评估,并在流行的工业应用(Gitea、Mastodon、NextCloud)上进行了泛化测试。
结果
评估表明,MINES 实现了 Web 异常检测领域的新高度:
高召回率与高精确度: 在 Train-Ticket 和 NiceFish 基准测试中,MINES 达到了 100% 的精确度 ,召回率分别为 94.8% 和 91.7% 。与 LogRobust、LogFormer 和 WebNorm 相比,其召回率提升了 14% 以上。
零误报: 精炼过程成功消除了误报,实现了几乎零误报。
高效性: MINES 在 Train-Ticket 上的处理吞吐量达到 4.0 × 10 5 4.0 \times 10^5 4.0 × 1 0 5 日志/秒,显著快于模型学习类基准模型。
鲁棒性:
LLM 独立性: 该方法在不同 LLM(GPT-4o、Claude 3.7、DeepSeek-V3)之间保持了高性能,尽管较小的模型(如 GPT-4o-mini)在代码生成方面表现略低。
泛化能力: MINES 成功泛化到流行的开源应用(Gitea、Mastodon、NextCloud),取得了高精确度和高召回率。
消融实验: 移除基于 Schema 的推导或特定关系类型(API-DB、API-Env)会导致召回率显著下降,证实了 Schema 层级推断和上下文信息的必要性。
意义
本文声称,MINES 通过将范式从“从噪声日志实例中学习”转变为“从抽象 Schema 中推导规范”,为 Web 应用程序的运行建立了新的标杆。通过利用 API 与数据库之间的结构完整性,MINES 能够检测到仅靠日志无法发现的异常,例如利用数据库状态不一致性的攻击。该方法提供了高可解释性(通过代表不变量的可执行 Python 代码)和高准确性(极低的误报率),使其适用于可靠的 Web 服务维护。作者指出,虽然该方法依赖于有意义的命名规范,但它对常见的工程实践具有鲁棒性,并且可以通过极少的文档支持进一步增强。
每周获取最佳 machine learning 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。