VULOC:基于汇编切片的漏洞定位框架,精准锁定二进制中的危险代码

" 在软件漏洞检测领域,"是否存在漏洞"只是第一步,更关键的问题是:漏洞究竟位于哪里?尤其是在二进制程序分析中,由于缺乏源代码语义信息,漏洞定位面临更大挑战:指令级语义复杂,难以直接建模;控制流与数据流交织,定位粒度粗糙;传统方法往往只能做到函数级或基本块级检测。

针对上述问题,论文提出:VULOC,一种基于汇编代码切片的漏洞定位框架,实现细粒度漏洞位置识别。"

  • 📄 论文标题:VULOC: Vulnerability location framework based on assembly code slicing

01---方法介绍

图1是一个"数组越界"的例子。论文的研究动机如下:

  1. 变量命名不影响汇编语义:源代码中变量名改变可能导致基于源码的模型失效(如图1(a)→(b)),但汇编代码行为不变(图1(c))。因此,采用汇编级别分析可避免变量名等表面特征的干扰。

2.内存大小在汇编中显式表达:源码中分配内存大小需计算得出、较为隐式(图1(d)),易被模型误判;而汇编中直接通过指令显式给出(图1(e)),有利于神经网络识别内存操作相关漏洞。

3.漏洞在汇编中呈现为多条指令:汇编将一行源码扩展为多条指令,通过建立汇编到源码的行号映射,可将模型在汇编上的预测结果映射回源码,实现细粒度漏洞定位。

图1. 使用汇编代码的动机

VULOC的核心思想是:通过程序切片提取"与漏洞相关的关键指令子图",并在此基础上进行精准定位。整体流程可以概括为4步:

① 程序切片生成

围绕潜在敏感操作构建依赖切片;

② 汇编语义建模

编码指令及其上下文关系;

③ 漏洞打分

预测每条指令的漏洞概率;

④ 精确定位

输出最可能存在漏洞的代码位置。

图2. VULOC模型架构

小结:通过 slicing 将"无关代码"剔除,使模型专注于真正相关的执行路径。

02---关键机制

  1. 汇编级程序切片

    直接在二进制层面提取漏洞相关上下文;

  2. 细粒度定位能力

    从函数级提升至指令级;

  3. 结构感知表示

    融合数据流与控制流信息;

  4. 高可解释性

    定位结果可直接映射到具体指令。

模块 设计思路 作用
汇编切片构建 基于数据流与控制流依赖提取关键指令子图 缩小分析范围,突出漏洞相关上下文
特征表示学习 将指令序列与依赖关系编码为向量表示 捕获底层语义信息
漏洞评分机制 对切片中每条指令进行风险打分 实现细粒度定位(statement-level)
位置聚合策略 融合多条高风险指令形成漏洞区域 提升定位稳定性与可解释性

小结:VULOC 将"函数级检测"细化为"指令级定位",实现从检测到解释的跃迁。

03---实验结果

实验使用2个数据集来验证方法的有效性,包括:Juliet Test Suite for C/C++ 1.3 和NVD-SARD。数据集中的漏洞被细分为18个不同的CWE ID,以及7种不同的漏洞类型(缓冲区溢出、整数溢出、内存泄漏、释放后使用、未初始化变量、空指针解引用和死代码)。主要实验结果如下。


(1)评估VULOC的漏洞检测和定位能力,结果见表1-2。

  • Juliet:FNR提高了6.6%,输出漏洞行的平均数量从5.2提升到1.0,平均漏洞距离减少到0.78。

  • NVD-SARD:AD降至1.41行,同时VL最小为1.0。

表1. VULOC与SoTA方法在Juliet测试套件数据集上的漏洞检测能力比较。

表2. VULOC与SoTA方法在NVD-SARD数据集上的漏洞检测能力比较。

(2)VULOC在现实世界项目中的有效性结果见表3。VULOC在参与测试的100个程序中检测到83个漏洞。

表3. VULOC在实际软件产品中检测到或遗漏的一部分漏洞。

小结:VULOC通过执行汇编代码切片技术,利用汇编代码和源代码行号之间的映射关系以及所提出的BLSTM-LOC模型,提高了漏洞检测的粒度和准确性。

📌 总结

VULOC代表了一类重要趋势------漏洞检测正从"发现问题"走向"精准定位问题"。通过切片 + 细粒度建模,使漏洞定位从"粗粒度判断"迈向"精准命中"。

📣 欢迎留言讨论

  • 你认为漏洞定位是否会成为下一阶段研究的核心问题?

  • 相比直接检测漏洞,"精准定位"在实际安全工程中的价值是否更高?

📌 点赞 + 收藏 + 分享,你的支持,是我们持续解析高水平软件安全论文的最大动力!

相关推荐
会编程的吕洞宾1 小时前
LangChain4j Tool Calling 实战:让大模型自动查数据库发邮件,一句话搞定复杂任务
数据库·人工智能
xcLeigh1 小时前
编程语言的 AI 友好度排名:Python、JavaScript、TypeScript 谁更适合 AI 辅助
javascript·人工智能·python·ai·typescript·ai编程
玖妍呐1 小时前
做小红书封面图,用哪个AI绘图工具生成出来好看?
人工智能
明源云1 小时前
资产管理软件哪个好?不动产资产管理系统的选型逻辑与标杆实践
大数据·人工智能·架构
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-08-08
人工智能·经验分享·深度学习·神经网络·产品运营
数据知道2 小时前
IDOR 不安全的直接对象引用:API 越权实战检测
java·开发语言·网络·安全·网络安全
硅谷秋水2 小时前
人工智能医疗健康机器人研究综述与分析
人工智能·深度学习·计算机视觉·语言模型·机器人
Industio_触觉智能2 小时前
瑞芯微RV1126B安防视觉场景解析|AI门禁+智能IPC+边缘分析
人工智能·硬件工程·智能硬件·核心板·瑞芯微·rv1126b·rv1126bj
guo_xiao_xiao_2 小时前
YOLO三相电能表数字与单位符号目标检测数据集
人工智能·yolo·目标检测