基于汇编代码和源代码融合的漏洞检测系统

文章介绍了一种基于深度学习的漏洞检测系统,通过结合源代码和汇编代码特征,尤其是提出了一种代码对齐算法,显著提高了检测性能,尤其在处理像数组越界这类难以在源代码级别检测的漏洞时表现出色。

这篇文章通过结合漏洞源代码和汇编代码的特征实现了一个漏洞检测系统。实现步骤如下:(1)从源代码和汇编代码中提取代码切片;(2)通过提出的代码对齐算法对这些片断进行对齐;(3)对齐的代码切片被转换为矢量,并输入到基于超融合的深度学习模型中。

1 提出问题

一些使用单一代码表征的方法,仅从源代码中提取漏洞相关特征,在检测一些漏洞时表现不稳定,导致漏报(如数组越界访问)。

2 解决方案

2.1 提出方法

融合了汇编代码和源代码的信息来预测结果。使用多模态混合融合策略来进行网络搭建。首先通过早期融合将汇编代码片和源代码片段结合起来。然后,这些混合片断,连同源代码片断和汇编代码片断被送入三个单独的网络中。最后,这三个网络的结果被用来通过后期融合给出最终决定。

2.2 主要贡献

文章的主要贡献如下:

  • 通过融合汇编代码和源代码漏洞的特征来提高漏洞检测性能。
  • 提出一种在源代码和汇编代码之间快速对齐数据片的数据对齐算法。
  • 收集了一个由源代码和汇编代码组成的漏洞数据集,该数据集可用于训练和验证所提出的基于多模态融合的漏洞检测方法。

3 系统设计

3.1 系统概述

基本定义:

定义1(源代码切片)。源代码切片Si是一个语义相关的多行源代码的片段,表示为Si=(si1, si2, si3,…, sin),其中sij(1 ≤ jn)是Si中的第j行。

定义2(汇编代码切片)。汇编代码切片Di是一个语义相关的多行汇编代码片段,表示为Di=(di1, di2, di3

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿航的博客

我比你有钱,请不要打赏!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值