基于静态污点分析和深度学习的软件漏洞检测技术研究

来源 :哈尔滨工业大学 | 被引量 : 0次 | 上传用户:ianying
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
近年来,互联网技术应用在各个行业,软件数量和规模呈现爆发式增长。开发人员在开发程序的过程中由于疏忽或者编程语言的限制,使得其中产生了缺陷即漏洞,从而被恶意攻击者发现并利用。随着软件安全问题的日益突出,研究人员也越来越重视漏洞检测方面的研究。然而由于软件的更新迭代导致软件结构的复杂化,仅仅依靠研究人员进行人工审查已经远远无法满足日益增长的检测需求。随着深度学习技术的广泛应用,基于深度学习的漏洞检测也成为了一个新的研究方向。过去基于深度学技术在处理源代码进行漏洞挖掘时,通常把源代码当做自然语言文本的形式进行处理,一般采取基于序列的循环神经网络模型进行训练,虽然避免了人工提取漏洞特征的缺陷,但是因为只是对源代码的token序列进行向量化表示,忽略了源码的语义结构信息,无法包含源码中隐含的数据流、控制流信息,分析结果具有较高的漏报率和误报率。针对上述问题,本文研究了一个基于静态污点分析和深度学习相结合的漏洞检测模型。首先,本文研究了基于补丁对比的静态污点分析方法,根据补丁对比生成差异文件,可以准确的定位程序出现问题的位置,这样就可以避免分析整个代码文件,进而关注其中与漏洞相关的局部代码,进一步降低了分析的复杂度,提高了分析的准确性。根据一定的污点源选择规则在生成的差异文件中选择污点源;然后根据差异文件得到的差异行在控制流图上定位差异节点,在该节点处依据不同的污点传播规则做后向污点传播分析和前向污点传播分析,将分析过程中得到后向污染路径和前向污染路径,与差异行做拼接得到污染路径。其次,研究了基于深度学习的漏洞检测模型,该模型实现对漏洞的二分类。为了更好的学习到漏洞特征,本文首先对污染路径进行标准化处理,即去除字符串、注释等信息,对用户自定义变量和函数进行标准化替换。为了生成深度学习模型可识别的输入,本文用词嵌入模型将标准化的污染路径进行向量化表示。最后基于双向长短期记忆神经网络生成检测模型,学习长依赖的信息,学习污染路径中的数据依赖和控制依赖关系,自动提取漏洞特征,从而提高检测效果。实验证明,本文研究的基于静态污点分析的污染路径生成方法和基于深度学习的漏洞检测模型在数据集上表现出很好的检测效果。
其他文献
移动通信技术追求的一个技术指标是更快的数据传输速率。但目前的蜂窝架构网络却可能对此施加限制。于是一种新的被称为Cell-Free Massive MIMO或简称为CF的网络概念被提出。与此同时,随着移动终端设备计算能力的大大增强,一些如VR等的计算密集型任务逐渐需要由被移动设备完成。但用户往往希望这些任务能够以低时延被完成,从而为自身带来良好体验。而设备的便携性又会限制其计算能力,使得上述目标很难
在临床医学中,使用计算机断层图像(Computed Tomography,CT)进行辅助诊断与治疗已非常常见,通过计算机断层图像技术获得患者的身体信息可帮助医生快速,准确的找出患者患病区域与存在的问题,尽快安排治疗方案,帮助患者早日摆脱病魔的困扰。随着计算机技术与人工智能技术的发展,通过计算机对医学图像进行处理,帮助医师快速准确的检测患者病因已获得多方关注,其中,为保证后续诊断的正确性,应当将计算
在现阶段空空攻防战中,末制导律阶段由于其作为弹目最终交汇条件的判断依据,因此在控制领域中收到广泛关注。现如今,基于末制导律的设计方法多采用传统的比例制导律或其变种,其在理想情况下效果尚可,但在现如今目标机动方式多变、环境存在噪声的末制导场景下,其制导性能较差,因此新型制导律的研发与设计成为了当今的研究热点。针对于传统比例制导律中的导航比系数为一定值,而不能随着弹目当前所处状态的变化而令制导导弹采取
卫星电源系统是卫星的核心组成之一,卫星电源故障会造成严重的、无法修复的损失。卫星电源系统的异常作为故障发生的“前兆”,若任其发展将导致星上任务完全失败,这就需要对卫星的运行状态进行持续和准确的异常监测。由于地面对于在轨卫星运行状况的掌握完全来自于卫星监测参数,随着卫星复杂度和监测参数的不断增长,通过数据驱动的方法对监测参数进行分析和建模,学习数据特征并实现对异常的检测,成为了航天领域研究的一个重要
工业机器人在生产领域智能程度的提升极大地扩展了机器人的功能。智能化工业机器人不仅能将人们从复杂恶劣的工作环境中解放出来,还提升了生产效率和产品的品质,已经成功渗透到生产制造的各个环节中。喷涂机器人作为其中的重要组成部分,在家具喷涂行业也逐渐得到了应用。由于座椅类家具种类多且空间结构复杂,喷涂自主规划困难,喷涂机器人仍然使用手动示教方法,这会带来工作效率低而且喷涂的质量由示教人员的操作技巧决定的问题
移动边缘计算通过将云数据中心的计算、储存能力下沉至网络边缘,在网络边缘为用户提供高带宽、低延迟的服务,满足了日益增长的移动设备和计算日益密集任务的迫切需求。本文研究了移动边缘计算中,基于用户移动场景和基于任务依赖关系的协同任务调度问题,构建了移动设备与MEC服务器之间、MEC服务器与MEC服务器之间的两层协同任务调度系统模型,该模型包含了移动设备、MEC服务器等实体模型、移动设备与基站的无线通信模
乳腺癌目前已经成为全球发病人数最多的癌症,对女性生命健康构成严重威胁。乳腺癌早期筛查中,超声起到至关重要的作用。然而,超声的成像质量不高,且易受伪影、血管纹理等因素的干扰,这给乳腺结节的鉴别与分析带来很大的挑战。本文分别基于模型集成与胶囊网络对超声图像中乳腺结节的分割和分类进行了改进。在乳腺结节分割方面,本文针对超声图像分辨率不足、难以提取到关键信息等特点,提出了基于“编码器集成”的网络结构,并采
漫画的创作需要经过草图到简化线稿到上色成稿几个步骤,其中从一张未上色的线稿到上色完成的成稿是赋予一幅漫画作品灵魂的必不可缺的步骤,而上色需要漫画创作者耗费大量的时间和精力。本文在分析国内外漫画自动上色方法的基础之上。以提高漫画上色成稿的质量和真实性为目的,通过理论分析、模型优化、实验迭代和应用开发等步骤全方位地对漫画自动上色方法展开研究,为漫画自动上色问题的解决提供思路。本文针对三种漫画上色方法展
开展小天体探测任务能够有效提升我国深空探测技术水平,推动行星科学的发展。小天体三维建模是深空探测的一个重要组成部分。小天体三维建模需要的图像数据数量大、分辨率高,一方面会使得探测器进行频繁的轨道机动来拍摄足够数量的图像,另一方面会使得探测器数据传输耗时增加。所以进行小天体三维建模的观测任务规划,在满足小天体三维建模图像数据需求的前提下,尽可能的节约探测器燃料资源与通信资源,是小天体三维建模的一项重
在软件开发、测试、维护和使用过程中,会有很多软件缺陷被发现。开发者通常使用缺陷追踪系统管理软件缺陷,但由于开发过程高度并行的特点或者在不同的产品中共用相同的组件等原因,相同的缺陷很容易被不同人员多次提交,从而导致缺陷追踪系统中存在大量重复报告,影响后续的缺陷分派与修复,因此研究者们提出多种自动重复缺陷报告检测方法。以往研究将重复缺陷报告检测视为检索或分类任务。检索任务中基于信息检索的重复缺陷报告检