【摘 要】
:
软件漏洞在软件开发中不可避免,在软件正式版本发布前,通常需要对软件源代码进行审计,尽可能检出软件中潜在的安全问题,并对其进行修复。为此,研究人员提出了一系列基于规则和基于机器学习的代码漏洞检测方法。基于规则的漏洞检测方法由于需要人工专家参与规则的制订,因此对漏洞变体和新漏洞类型的检测能力差。基于机器学习的漏洞检测方法虽然功能强大,但仍需要先验知识,人工定义漏洞特征。随着深度学习和代码表征技术的发展
论文部分内容阅读
软件漏洞在软件开发中不可避免,在软件正式版本发布前,通常需要对软件源代码进行审计,尽可能检出软件中潜在的安全问题,并对其进行修复。为此,研究人员提出了一系列基于规则和基于机器学习的代码漏洞检测方法。基于规则的漏洞检测方法由于需要人工专家参与规则的制订,因此对漏洞变体和新漏洞类型的检测能力差。基于机器学习的漏洞检测方法虽然功能强大,但仍需要先验知识,人工定义漏洞特征。随着深度学习和代码表征技术的发展,代码属性图被用于表达程序的语义,并结合双向长短时记忆网络(Bidirectional Long Short-Term Memory,BLSTM)、双向门控循环单元(Bidirectional Gate Recurrent Unit,BGRU)等深度学习框架构建漏洞检测模型,进一步提高了检测模型的准确率。然而,代码属性图中的控制流、数据流信息只包含了代码的静态属性,并不能反映代码的运行时特征(即其动态属性),因此仅以代码属性图为基础的深度学习模型必然存在漏报率与误报率高的问题。此外,基于动态分析的漏洞检测方法不仅效率低,而且需要不同的漏洞样本覆盖足够多的代码分支,才能达到较好检测效果。但现存的标准漏洞库的数据漏洞模式单一,因此该漏洞检测方法的检测能力严重受限。针对以上问题,本文提出了一种基于图神经网络(Graph Neural Network,GNN)的动静结合的源代码漏洞检测方法Hybrid VDS(Hybrid Vulnerability Detection System),该方法一方面解决漏洞库样本漏洞模式单一的问题,另一方面为漏洞检测模型提供充分的代码静态和动态语法、语义信息,降低了误报率和漏报率。本文的研究内容如下:(1)针对标准漏洞库数据样本质量低、漏洞模式单一的问题,提出了一种基于开源仓库的漏洞训练数据收集方法。通过对Git Hub仓库星级、Fork数量、仓库大小和所用语言等信息进行初次筛选获得候选数据,再使用两类模型朴素贝叶斯(Naive Bayes,NB)和BLSTM对候选数据进行综合评估,实现对数据的二次筛选,以此对现有漏洞库数据样本进行有效扩充。(2)针对目前漏洞检测方法存在的高误报和高漏报问题,提出了Hybrid VDS方法。在静态特征方面,利用代码属性图并添加了三类与代码属性图关联的边。在动态特征方面,提取了应用程序接口(API)的调用序列和代码实际执行序列,此执行序列包括具体执行到的路径、路径中各变量的值、函数参数值等。将这些静态特征和动态执行特征信息输入到图网络,使漏洞代码的静态语法、语义特征与动态语义特征被漏洞检测模型充分利用。(3)设计并实现了基于Hybrid VDS的原型系统。分析了该原型系统各模块及其功能,对其中关键算法进行了介绍,描述了完整的训练检测流程。通过多类不同来源的数据,从不同维度进行了综合实验,结果表明该原型系统通过使用动态特征,在标准仓库数据集上的22类漏洞数据中平均误报率从25.5%下降到6%,平均漏报率从9%降低到8%。在开源仓库数据集上的10类漏洞类型中平均误报率从25.31%下降到了19.74%,平均漏报率从19.72%降低到19.33%。
其他文献
中国书法以其独特的艺术风格魅力和历史文化承载能力成为众多中华优秀历史文化遗产的代表之一,历史上代表性书法家的作品蕴含了书法家个人书写风格和文化内容。因保存环境等方面的影响,大量书法作品存在破损和缺失,人工修复存在效率低、技术要求高等问题。随着深度学习的发展,应用深度学习方法生成特定书法家书法文字成为修复书法作品的有益探索之一。针对现有书法风格迁移方法存在准确性差、生成效率低和训练过程复杂等问题,本
随着物联网的快速发展与广泛应用,多类不兼容的无线通信协议和多元化无线通信设备共享世界通用的2.4G ISM(Industrial,Scientific and Medical)频段,致使Wi-Fi、Zig Bee等异构无线网络共存于同一空间。由于异构设备共存而导致的跨协议干扰问题,将会大幅度降低系统性能。这是多协议共存环境中数据传输要解决的难题之一。不同于传统无线通信,异构无线网络共存环境对应高度
陶瓷文物是中华民族历史长河所遗留的文化瑰宝,承载着巨大的历史传承意义。但受其环境及自身特性限制,使得陶瓷文物不易保存且易受损,故文物修复是亟待解决的一大难题。因传统人工拼接代价昂贵、准确率低的局限,结合计算机辅助技术修复文物是重点研究方向。深度学习模型在提取特征及后续拼接工作中性能突出,但同时存在信息冗余、过拟合及计算复杂等缺点,因此本文引入能够求解大规模、非线性、多重约束等复杂问题的群智能算法解
时空旅行电影一直是观众和市场的心头好,但此类电影的空间问题却很少被提及,这令之前的时空旅行电影研究都不可避免地走向了缺憾和偏颇,而福柯的异质空间理论的介入使得时空旅行电影的空间问题得到重视。在这个理论视野的观照下,时空旅行电影呈现出强烈的异质空间性,其不仅与异质空间的六个特征都相符合,而且在分为时空平行、时空穿越、时空循环三类后,仍能看到其独特的异质空间建构。作为一个开放的理论,异质空间理论指引人
古代壁画图像采集过程中受到成像设备和环境因素的制约,造成捕获图像存在分辨率低、纹理不清以及细节模糊等失真现象,从而影响壁画图像的观赏效果。因此,作为一种软件解决方案,图像超分辨率能够从低分辨率图像中重建出高分辨率图像,成为当今图像处理和计算机视觉研究领域的热点。然而,现有图像超分辨率技术主要针对自然图像进行处理,在古代壁画领域的应用仍处于起步阶段。与自然图像不同,古代壁画图像呈现丰富线稿和大量平滑
随着电子商务与短视频业务的快速扩增,互联网空间中各种数据信息呈现指数式增长,“信息过载”已经成为人们在当今时代面临的巨大挑战。推荐系统的出现极大的缓解了这个困难。推荐系统以优化用户体验、提高商户利润为目标,在系统中通过分析用户行为日志,构建出用户画像信息,进而主动产生推荐结果。虽然目前推荐系统已取得一定的进展,但其仍然在冷启动问题、共现矩阵稀疏、跟踪用户兴趣变化等方面面临巨大挑战。为缓解上述问题对
受库水位大幅升降和极端强降雨的影响,我国三峡地区滑坡灾害频发,防灾减灾形势严峻。建立高效的滑坡位移预测模型能够直观的反映出滑坡变形趋势,是解决滑坡灾害问题的有效手段。针对三峡地区的阶跃型滑坡,变分模态分解(VMD)可以自适应地将滑坡总位移分解为趋势项位移与周期项位移,对各项位移单独预测可以减小位移曲线急剧增加对预测模型造成的干扰,使预测结果更加精确。针对成因复杂的滑坡位移预测任务,深度学习可以挖掘
陶瓷文物在挖掘出土过程中,会产生大量碎片,很难被完整保存,因此陶瓷文物修复是其保护的一项重要内容。陶瓷修复过程大致包含碎片分类、碎片拼接以及孔洞修补等步骤,其中准确的碎片分类可提高修复效率,减少二次损伤。但现有陶瓷碎片分类方法的准确率和效率较低,其原因涉及两方面:1)碎片数量众多、标记困难;2)宏观陶瓷观察到的特征信息较少。针对上述问题,本文提出两种无监督深度学习方法对陶瓷碎片显微图像进行分类模型
三维人体姿态是描述人体输入指令的重要信息点,机器能够很好地阅读人体姿态的含义,对于人机交互有着非常重要的意义。目前三维人体姿态识别存在着生成动作序列抖动、识别速度过慢以及环境遮挡时检测不准确等问题。本文针对上述问题展开研究并提出改进策略,最后根据改进内容制作了实时三维人体姿态识别系统。本文着眼于三维人体姿态识别技术,结合现有技术,分析其中存在的不足,提出了将TCN网络与Open Pose结合的二维
互联网迅猛发展,促使医疗、金融、娱乐、购物等不同领域逐渐互联网化,软件在人们生活中随处可见。软件漏洞屡见不鲜,已经严重危害到国家和社会的经济,影响人们的正常生活。在众多漏洞类型中,Java反序列化漏洞自2015年,呈持续上涨的趋势,由于其很容易被非法利用,因此成为目前最具威胁的软件漏洞之一。在反序列化漏洞被发现之前,对软件所使用的第三方公共组件库进行检测,能够提前发现并防御潜在的反序列化漏洞。目前