论文笔记-VulDeeLocator: A Deep Learning-based Fine-grained Vulnerability Detector

  • A+
所属分类:笔记

使用word embedding编码向量;使用clang将源码转为AST;

论文笔记-VulDeeLocator: A Deep Learning-based Fine-grained Vulnerability Detector
  1. 该篇论文与SySeVR同作者,VulDeeLocator相对于SySeVR有了更高的漏洞检测能力,与高定位精度(加入了漏洞定位)。
  2. 创新点
    1. 加入中间代码来表示语义信息(利用中间代码来容纳基于源代码的表示无法传递的语义信息)
    2. 实现漏洞精确定位 (定位到漏洞所在的行)
  3. VulDeeLocator的输入
    1. 输入的C源码需要满足的要求:
    • c程序可以编译成中间代码,如LLVM中间代码
    • 漏洞程序附带漏洞位置的描述
  4. VulDeeLocator分为两个部分
    1. 将源代码表示为中间代码
    • 源码提取sSyVCs(具有某些漏洞语法特征的代码片段)
    • 根据sSyVCs从中间代码生成iSeVCs
    • 2. 利用中间代码检测和定位漏洞
    • 将从训练程序中提取到的iSeVCs标记为"有漏洞"或"无漏洞"和标记漏洞位置
    • 用ISEVC及其标签的向量训练神经网络模型
    • 用训练好的神经网络模型检测和定位目标程序中的漏洞
  5. 标记iSeVCs :如果一个iSeVC中包含已知漏洞,该iSeVC就会被标记为 iSeVC中的漏洞的行号(即漏洞s的位置) 否则,iSeVC被标记为 "0"
  6. 局限性
    1. 仅支持C源程序中的漏洞
    2. VulDeeLocator 需要将程序源代码编译成中间代码,并且不能在程序源代码无法编译时使用

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: