此篇文章发布距今已超过1天,您需要注意文章的内容或图片是否可用!
早上读到一篇论文《Top Score on the Wrong Exam: On Benchmarking in Machine Learning for Vulnerability Detection》 ,来自德国马普所,发表在今年软件测试顶会ISSTA 2025。这是一篇少见的“打假学术界”的论文,作者洞察2020~2024年顶会论文中关于使用机器学习检测漏洞的相关论文,人工筛选后得到81篇论文。我简单总结下结论:- 大多论文出现的高分评测存在虚假特征的引入,仅使用词频统计也可获取高分。作者使用梯度提升分类器,在完全忽略代码结构和语义的情况下,基于词频统计也可以主流漏洞数据集上实现高性能。
- 主流漏洞数据集存在不少标签错误,在错误数据集上评测本身就意义不大。Devign中至少20%标签是错误的,BigVul至少45.7%是错误的。错误标签的原因主要是自动识别补丁commit时仅基于安全关键词来识别,而有些补丁就不是针对漏洞函数进行修复的,甚至有些只是仅仅只是样式上的调整,如删除空格或添加注释。
- 机器学习漏洞检测(ML4VD)无法在函数级别上被合理地评估为经典的二元分类问题。研究案例缺少漏洞上下文,绝大部分都是单函数识别,作者研究中的所有 151 个易受攻击函数都需要额外的上下文才能准确识别漏洞,没有一个函数可以在不考虑函数本身之外的任何额外上下文(上下文无关)的情况下被检测到。在实际漏洞场景中,很难抛开上下文代码来检测漏洞,这导致其很难实际应用。
所以,之前各种顶会上利用AI挖洞获取高分的情况,存在诸多“虚假繁荣”的景象。感兴趣的同学可以看看原文:https://arxiv.org/abs/2408.12986LLM辅助漏洞挖掘存在潜力,但个人认为目前还无法替换传统方法,当前Fuzzing都比LLM更靠谱,但是二者可以相互协同,而非二选一,非得比个高下。也许,你会说之前project zero用LLM挖到sqlite漏洞,最近深蓝用LLM挖到linux kernel漏洞,先不管真假,这毕竟是少数现象。此问题有如造芯片一般,实验室搞出3nm芯片,跟流片量产是另一回事,不可相提并论。故而,对于AI挖洞,应该重视潜力,严谨探索,理性看待,不要被当前虚假繁荣蒙蔽双眼。 推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
宙飒天下网
还没有评论,来说两句吧...