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

📣 欢迎留言讨论

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

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

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

相关推荐
星云低代码开发平台3 分钟前
AI 工作台点了取消,ERP 订单还会创建吗?从三层状态设计验收
人工智能
Axis tech6 分钟前
通过MANUS手套推进由触觉驱动的机器人学习进程
人工智能·深度学习
数聚天成DeepSData7 分钟前
教育年限数据库跨版本对齐:年龄组、性别与五年间隔怎么处理
人工智能·深度学习·机器学习·数据集·deepsdata
欣欣之王来了9 分钟前
2024主流国产大模型深度对比:文心一言/通义千问/智谱AI/Qwen等选型指南
人工智能·ai·大模型
具身AGI18 分钟前
谁当具身主干,物理AI 世界模型 与 VLA 之争
人工智能
threerocks21 分钟前
速来!认领你的「口播Bot」,妈妈再也不用担心我做口播视频了!
人工智能·aigc·ai编程
YOLO数据集集合26 分钟前
Deepseek融合yolo的行人车辆多目标检测系统 |行人检测 车辆检测 多目标检测 YOLO DeepSeek9165期
人工智能·yolo·目标检测·计算机视觉·车辆检测·行人检测
进击的横打33 分钟前
【人工智能】缓存命中率:从原理到业务场景的全面解读
人工智能·缓存
lisw0534 分钟前
基于人工智能的安全分析技术: 用于实时识别威胁
人工智能·安全
武子康37 分钟前
LingBot-VA 2.0 深度解析:为什么要同时预测未来世界与机器人动作
人工智能·后端·agent