基于开源仓库与图网络相结合的源代码漏洞检测方法研究

来源 :西北大学 | 被引量 : 0次 | 上传用户:resume_002
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
源代码漏洞检测是确保软件系统免受网络安全攻击的关键。构建深度学习模型进行漏洞检测是目前重要的研究方向,但已有的工作在模型训练时大多将程序视为顺序序列或无类型代码属性图,由于忽略了代码本身的结构信息,因而导致产生大量的误报情况。为了改进上述问题,本文提出一个新型漏洞检测模型框架FUNDED,利用图神经网络(GNNs)构建基于图关系的漏洞模式匹配方法,用以捕获程序的控制,数据,调用和依赖等代码间的关系。与以前的工作相比,FUNDED可以学习并提取程序源代码的图形表示,其中每条语句通过不同边关系与其他语句连接。通过上述方法,FUNDED可以捕获多种程序语法,语义和数据流关系,从而提升漏洞模型检测的精度。为了提升模型训练数据集的质量并扩充数据的泛化能力,本文将概率学习和统计评估相结合,实现自动从开源项目中收集高质量的训练样本。这一方法提供了许多真实环境下易受攻击的代码样本,以补充标准漏洞数据库中有限的训练样本,从而提供了足够的训练数据来构建有效的深度学习模型。本文的主要贡献如下:(1)首先,针对漏洞检测模型的训练代码样本不足,质量参差不齐的问题。我们使用集成学习技术,基于多种传统分类器,提出了一种基于“专家集成”的软投票机制,通过多个分类器的预测分数来帮助收集漏洞数据。同时,使用保型评估分类技术对不符合漏洞训练数据质量要求的样本进行过滤,并且利用这些技术构建了一个高质量的漏洞数据集。(2)其次,为了解决由于程序表征方法和传统神经网络造成的对源代码的深层语义信息和结构信息的学习限制而导致的模型漏洞检测效果差的问题,本文通过扩展抽象语法树的边的关系并借助代码数据流和控制流,提出了一种具有八种不同关系的代码属性图;并且使用门控图神经网络对代码属性图的结构信息进行学习,来学习更有效的漏洞模式对漏洞进行检测。(3)最后,本文结合上述方法实现了一个全自动的漏洞收集和检测系统,并且在C,Java,Php和Swift语言上进行了数据集质量评估,与五个最新的数据收集模型和六个漏洞检测系统进行了比较。实验表明,FUNDED在所有评估中均明显优于其他方法。
其他文献
随着计算机视觉领域的不断发展,以及人机交互需求的提升,基于计算机视觉的手部姿态估计方法近几年来层出不穷。深度卷积网络的提出对手部姿态估计研究发展有着显著的效果提升,具有极大的应用意义与研究潜力。目前为止,三维手部姿态估计的方法根据输入信息不同可以分为两种:一种方法为基于普通单目RGB图像,另一种则基于深度图像或RGB-D序列。在基于深度图像的手部姿态估计方法中,一些方法取得了较好的实验结果。但由于
随着信息技术的发展,由于推荐系统通过采用海量数据挖掘的方式,为用户快速准确地筛选出所需要的信息,提供个性化服务和决策支持,而成为近年来的研究热点。特别是随着深度学习的发展,研究人员已经提出了大量高效的智能推荐算法和应用平台。但是由于推荐系统的数据稀疏性、冷启动以及难以解释性等问题,个性化推荐方法仍存在一些问题亟需进一步的改进。本文通过结合用户评论信息缓解数据稀疏性和冷启动问题,并结合上下文信息,构
尿液中的主要成分来自于血液经过肾脏过滤、重吸收后产生的排泄物,与人体的血液循环、泌尿系统、循环系统等密切相关,因此尿液检测对于医学研究与临床诊断具有重要的价值。由于尿沉渣检测技术受制于显微成像较差的稳定性,目前的尿沉渣检测方法仍然依赖于人工镜检法。临床通过显微镜成像采集的尿沉渣图像容易出现失焦,导致人工镜检的过程中过分依赖主观经验判断。本文的研究旨在解决尿沉渣显微图像画面整体失焦以及有形成分边缘模
众包平台“海纳百川”,集中群众智慧,完成凭个人力量难以完成的任务。对于特定任务,招募最佳的工人子集是任务顺利完成的关键,即工人招募(任务分配)乃众包平台的基本任务。任务具有各自的完成质量需求和预算限制,若任务完成的质量不小于需求,则任务顺利完成,否则失败。工人参与任务,由任务发布者支付报酬,报酬取决于工人的技能水平。工人和任务均有不同的偏好,任务偏好高水平工人,而工人偏好性价比高的任务。如何在任务
谱聚类作为聚类算法中较为优秀的算法,近年在各个领域取得了不错的进展。相比较单视图,许多现实世界的应用程序涉及从不同视图收集的数据,并且具有较高的数据维度和不可避免的噪声。由于维度灾难、无效去噪和多视图集成的结果不佳等问题,在此类高维且含有噪声的数据集上进行聚类仍然是一个挑战。因此如何设计一种算法,使得算法能够有效的处理高维含噪数据,对于多视图聚类有着重要的意义。在收集数据的过程中,数据总是处于不断
随着信息化技术的不断发展,借助计算机辅助数字化技术对文物的虚拟拼接方式也日益成为主流,相比于传统手工拼接方法,数字化虚拟拼接不仅更加高效,并且能够避免与文物的“亲密”接触从而造成二次破坏。对于因局部碎片缺失和断裂面受损所导致碎片特征提取不准确的问题,本文提出了两种文物碎片的拼接方法,并开发了文物碎片虚拟拼接系统对本文算法进行了验证,主要研究工作如下:(1)针对文物碎片拼接过程中存在因局部碎片缺失和
随着视频数量的不断增加以及深度学习的发展,人体动作识别研究取得了不错的进展。基于视频内容的人体动作识别技术在智能监控、动作预测以及视频目标追踪等领域都具有重要应用。比较成功的人体动作识别方法是双流卷积神经网络模型,该模型通过时间流和空间流两个网络联合视频中人体动作的外观特征以及运动特征对动作进行识别。但是该模型输入的信息(光流图和RGB图像)容易受到背景混乱、视角变化、物体遮挡等因素的影响。考虑到
在当下移动互联网时代,受到时代万物互联互通的影响,互联网流量的变化情况也相应表现出了指数级增长的特点,相关专家提出了边缘计算的理念。移动内容分发网络技术是一种将移动边缘计算与内容分发网络(Content Delivery Network,简称CDN)技术相结合的增强型内容分发网络,在移动内容分发网络的整体网络环境中,处于同一个边缘服务器覆盖范围内的用户可以通过D2D(Device to Devic
在对兵马俑模型进行三维重建建立完整仿真模型,使用计算机辅助进行虚拟修复等过程中,由于兵马俑本身的特性以及3D激光扫描仪的限制,需要使用多个站点获取不同坐标角度下的点云模型,对模型进行配准使其构成一个完整兵马俑仿真模型。兵马俑模型配准的结果将直接影响三维重建以及后续应用的效果。本文研究基于三维点云的兵马俑配准,主要研究内容如下:(1)针对点云规模过大以及搜索配准点对费时的问题,提出一种基于内部形状描
兵马俑是我国优秀历史文化的重要载体。随着光学感知和计算能力的提升,基于三维扫描的数字化建模广泛应用于兵马俑的保护和展示中。三维扫描构建的兵马俑稠密点云冗余数据多,数据量大,降低了处理、传输和展示的效率,现有点云简化方法往往强调执行效率而忽视了点云特征的保持。本文针对兵马俑点云在应用和展示中对特征保持的要求,提出了一种基于深度学习的三维点云简化方法,通过二维图像特征线提取三维点云的特征点,对非特征点