基于深度学习和程序语言处理的漏洞挖掘技术研究

来源 :西安电子科技大学 | 被引量 : 0次 | 上传用户:liongliong576
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着计算软件数量和规模的不断增长,软件安全漏洞的数量也在飞速增加,这为网络空间安全带来了巨大的威胁,也使得漏洞挖掘成为了一个重要的研究方向。传统的漏洞挖掘依赖于安全研究人员手工对程序进行分析,或基于预定义的规则来发现漏洞,无法有效应对迅速增长的软件数量。目前已经有一些方法结合机器学习或深度学习技术进行自动化的漏洞挖掘,但是这些方法仅仅在函数级别或代码块级别对程序源代码进行检测,来预测给定程序是否具有漏洞,这使得漏洞挖掘的结果难以被解释和利用,也导致了较低的准确率和较高的误报率。另一方面,目前的程序处理方法常常将程序源代码当作纯文本进行处理,或基于动态分析提取的程序属性图进行处理,这导致了大量的数据冗余,也带来了额外的计算开销。为了解决目前工作的诸多不足,本文提出了一个基于深度学习的漏洞挖掘模型,来达到具有可解释性的细粒度漏洞挖掘。本文的创新点和主要工作如下:(1)本文将分层注意力网络应用于基于程序源代码的漏洞挖掘模型。本文的模型包含两个级别的循环注意力网络层,每个循环注意力网络层由一个双向GRU层作为编码器提取输入向量的隐藏表示,一个注意力网络层分配向量的注意力权重。本模型分别将两层级别的循环注意力网络层应用于程序源代码的行级别和语法元素级别来同时提取关键的漏洞代码特征。基于分层注意力机制,本模型可以有效区分不同行和不同语法元素对于漏洞的重要性,这使得本模型可以更加准确地定位漏洞的相关信息,达到细粒度的漏洞挖掘。通过对注意力权重进行重要性分析,本模型可以直接标记漏洞的关键特征,这使得本模型具有良好的可解释性,并在实际漏洞挖掘中,可以为进一步的漏洞利用和修复提供关键信息。另一方面,本文在两个级别的循环神经网络层都应用了打包填充方法来处理可变长度的向量数据,从而避免了其他方法对程序的向量特征进行截断和补零所导致的数据损失,并增强了神经网络模型训练效果的稳定性和准确性。(2)程序源代码是具有语法意义的结构化文本,需要转化为合适的向量表示才能使用神经网络进行学习。本文提出了一种基于抽象语法树的程序处理方法来将程序源代码转化为其对应的向量表示,并在减少冗余的情况下保留完整的语法信息。本模型首先将程序源代码解析为抽象语法树,基于抽象语法树提取相应的函数结点,并将用户自定义的向量名和函数名映射到统一的表示。然后提取程序的全部语法元素来训练词嵌入模型,将所有的语法元素对映射到对应的向量表示。最后再将提取出的语法元素序列按程序分割符号进行重新排列,获得分层的程序向量表示。本文的程序语言处理方法易于并行化处理,并且能够完整保留程序源代码的语法语义信息。(3)本文使用两个目前广泛使用的基准数据集,SARD的CWE-119(缓冲区错误)和CWE-399(资源管理错误),对本模型进行测试。实验结果表明本模型在多个方面都相比于目前最新的方法具有更好的效果,本模型在两个基准数据集上的F1分数分别达到了85.1%(CWE-119)和90.0%(CWE-399)。特别的,本模型可以直接在程序源代码上标注不同行和不同语法元素对于漏洞的重要性,具有很好的可解释性,因此可以提供有效信息用于漏洞利用和修复。
其他文献
晋城市水务局水利管理科主要负责指导全市水利设施的管理、保护和综合利用,承担全市水情预警工作。在原有的较为简单的供排水日常管理系统的基础上,根据山西省“数字城市”建设总要求,水利管理科引进更加先进的技术,结合自动化、系统化的管理手段,针对供排水的安全管理工作开发新的系统,并对安全管理系统展开研究,探讨如何进行系统建设。供排水安全管理系统,是一套利用Spring MVC轻量级框架开发,结合供排水安全管
随着智能终端的广泛普及和多媒体应用的迅猛增长,第五代(the Fifth Generation,5G)移动通信系统面临着数据流量激增带来的巨大挑战。协作通信技术作为移动通信系统的重要技术手段之一,有效提高了系统的数据传输性能,尤其是带有缓冲区的协作中继系统,其利用缓冲区的缓冲能力可突破中继节点的性能瓶颈。然而,缓冲区的缓冲过程会给源节点和目的节点之间的通信带来额外的时延,而占有数据流量较大比例的在
中国作为目前世界上电梯保有量及年增长量最大的国家,无齿轮曳引机技术已广泛应用在中高层建筑中且技术已相当成熟,而伊朗市场目前则仍然在使用相对落后的有齿轮曳引技术,电梯曳引技术更新升级需求迫切,市场空间广阔。本文通过对B公司无齿轮曳引机在伊朗市场中的本地化生产进行探究,从宏观上讲,符合国家“一带一路”的发展战略,通过输出先进的技术、装备,帮助“一带一路”沿线国家基础设施建设,实现“共赢”;从微观上讲,
近年来,随着经济的发展和人民生活水平的不断提高,私家车的数量急剧增长。我国交通路线错综复杂,交通拥堵频频发生,车位资源利用率低,出现停车难的问题。与此同时,竞争停车、大面积巡航停车造成交通拥堵的进一步加剧,带来环境污染问题。因此,设计一套智能、高效、自动化的智能停车系统是解决这些问题的关键。本文设计了一套基于预约的智能停车管理系统,并针对停车场车位占用失衡问题提出了动态调价算法,针对用户体验及停车
负荷预测是保证电力系统安全稳定运行的重要工作之一,传统负荷预测方法已经不能适应日益复杂的电网发展要求。另一方面智能电网的发展促进电力系统领域技术变革,以BP神经网络为代表的人工智能技术在配电网负荷预测中应用越来越广泛,其预测精度直接影响到电力系统合理调度运行、合理安排检修计划、合理规划电网结构以及提高供电质量。本文采用改进型BP人工神经网络对配电网进行短期负荷预测,将外推法与BP神经网络预测方法结
随着移动互联网技术的飞速发展,新兴业务类型井喷式涌现,无线数据流量呈非线性高速增长,不断挑战网络容量的极限。6GHz以下的授权频谱资源十分稀缺,难以满足当前持续增长的数据业务流量的需求,于是3GPP国际标准组织在第四代移动通信系统长期演进(The Forth Generation Long Term Evolution,4G LTE)阶段提出将授权频段的数据流量卸载到非授权频段,缓解授权频段的网络
现代环境民事公益诉讼制度起源于美国公民诉讼,之后在世界各国迅速发展。具备起诉主体的资格是接近正义的第一步,环境民事公益诉讼的起诉主体问题是对环境公益进行司法保护的核心问题。我国近年来修订《民事诉讼法》《环境保护法》,发布相关司法解释,初步建立了环境民事公益诉讼制度。该项制度的司法实践也对我国生态环境和公民环境权益的保护发挥了积极作用。目前我国关于起诉主体的立法和相关理论已渐渐无法满足环境保护的司法
柔性制造系统(FMS-Flexible Manufacturing System)被广泛应用于先进制造业的生产。由于灵活的加工模式,使得柔性制造系统能够在保证产品质量的前提下,缩短产品的生产周期,提高加工精度和生产效率,从而降低生产成本。但是大型制造系统的内部结构很复杂,可靠性不高,因此导致柔性制造系统难推广到大型制造系统。当系统运转出现故障时,短时间内很难排查问题所在,因此确保大型制造系统的可靠
在党中央第十八届五中全会通过的国民经济与社会发展规划中指出:我国要在2020年,全面完成扶贫工作,保证贫困地区贫困户完全实现脱贫。当前精准扶贫的重点由贫困人口脱贫向控制脱贫人口返贫的方向迈进,因此构建更符合当前现状的精准扶贫工作措施显得至关重要。我国东北地区经济发展缓慢,缺乏内在的发展动力,导致脱贫难度增大。近几年来海林市新安镇经济发展呈平稳增长态势,农民人均可支配收入逐年提升,精准扶贫工作也得到
研究目的通过比较暴发性心肌炎组急性期、恢复期与非暴发性心肌炎组的细胞因子的变化,同时分析两组临床特征、辅助检查、治疗、预后等多方面特点,为暴发性心肌炎病情的早期评估及预后判断等提供理论依据。研究方法通过分析浙江大学附属儿童医院从2013年1月至2018年12月期间首次确诊暴发性心肌炎(FMC)共42例,收集同时期急性心肌炎(非暴发性、NFC)患儿共65例(完善细胞因子检测),应用SPSS 20.0