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

📣 欢迎留言讨论

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

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

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

相关推荐
老余说AI3 小时前
AI 漫剧赛道转向:游戏 IP 改编如何走出同质化,AI 多语种工具如何补上海外分发缺口
人工智能·短剧
hhzz3 小时前
【OpenCV 入门到精通 03】图像入门:读取、显示、保存完全指南
人工智能·python·opencv·计算机视觉
金融小师妹4 小时前
AI趋势识别:黄仁勋宣布“AGI时代”到来,Astra能力跃迁背后的AI安全边界
大数据·python·深度学习·重构·逻辑回归
hfywmsj7 小时前
广州餐饮铺位招租决策模型:多因子选址系统设计
开发语言·人工智能·python·广州餐饮铺位招租
沧沧凉凉9 小时前
同一个 Blender 建模,Claude 两个模型都翻车,GPT-6 一次过
人工智能·游戏·ai编程
三8449 小时前
redis防御加固与安全基线
数据库·redis·安全·应急响应·防御
X54先生(人文科技)9 小时前
ELR-SELLM Edge 神经元网络架构评估报告
人工智能·深度学习·架构·开源
今年下半年10 小时前
从零开始搭建一套大语言模型 + LangGraph 多智能体编排 + RAG 知识库检索** 的智能问答平台
人工智能·语言模型·自然语言处理
Lifangyun_WD10 小时前
RTX 5090 与 RTX PRO 6000 怎么选?32GB 和 96GB 显存分别适合哪些 AI 任务
人工智能·aigc·gpu算力·芯片·gpu租赁