一种基于中间语言的软件漏洞智能检测与定位方法与系统技术方案

技术编号:22076485 阅读:124 留言:0更新日期:2019-09-12 14:23
本发明专利技术公开了一种基于中间语言的软件漏洞智能检测与定位方法与系统,属于漏洞检测领域。包括:分别将训练程序源码和目标源码转化为中间语言程序切片,其包含与可疑漏洞元素相关的代码;若训练程序源码对应的中间语言程序切片包含已知漏洞代码,为其添加“有漏洞”标签并记录其在切片中的位置;否则,为其添加“无漏洞”标签;训练基于样本差异性的循环神经网络;使用训练好的基于样本差异性的循环神经网络,对目标程序源码对应的中间语言程序切片进行漏洞智能检测与定位。本发明专利技术使用中间语言切片作为漏洞检测的单位,提高检测准确率。循环神经网络的输出序列中只选取已知漏洞行对应数据参与正向传播,从而使训练好的模型能够识别出漏洞行。

An Intelligent Software Vulnerability Detection and Location Method and System Based on Intermediate Language

【技术实现步骤摘要】
一种基于中间语言的软件漏洞智能检测与定位方法与系统
本专利技术属于漏洞检测领域,更具体地,涉及一种基于中间语言的软件漏洞智能检测与定位方法与系统。
技术介绍
软件漏洞是网络安全的罪魁祸首,然而尽管人们使用各种手段消除漏洞,从公共漏洞与暴露库(CommonVulnerabilitiesandExposures,CVE)的报告来看仍然有大量的漏洞存在。检测漏洞并及时为它们打上补丁是消除漏洞的关键手段,理想情况下漏洞检测工具应当能够具备高准确率、低漏报率、低误报率,并且能够精确判定漏洞位置,但现有的漏洞检测工具无法达到令人满意的效果。静态漏洞检测由于具有检测速度快、较全面地考虑执行路径的信息等优点,被代码审计人员广泛用来发现软件源码中潜在的漏洞。漏洞检测方法中较流行的静态检测方法大致可分为四类:一是基于代码相似度的方法,能够检测由于代码克隆导致的漏洞,但难以发现由于其他原因导致的漏洞且无法获悉漏洞的位置;二是基于符号执行的方法,通过结合符号执行和约束求解检测漏洞,但不适用于处理大规模软件,也无法精确定位漏洞;三是基于规则的方法,例如现有的软件工具Checkmarx、ITS4等均使用专家知识本文档来自技高网...

【技术保护点】
1.一种基于中间语言的软件漏洞智能检测与定位方法,其特征在于,该方法包括以下步骤:S1.分别将训练程序源码和目标源码转化为与各可疑漏洞元素对应的中间语言程序切片,所述中间语言程序切片包含与该可疑漏洞元素之间存在依赖关系的代码;S2.若训练程序源码对应的中间语言程序切片包含已知漏洞代码,为其添加“有漏洞”标签并记录已知漏洞代码在该切片中的位置;否则,为其添加“无漏洞”标签;S3.基于训练程序源码对应的中间语言程序切片集合,训练基于样本差异性的循环神经网络;S4.使用训练好的基于样本差异性的循环神经网络,对目标程序源码对应的中间语言程序切片进行漏洞智能检测与定位。

【技术特征摘要】
1.一种基于中间语言的软件漏洞智能检测与定位方法,其特征在于,该方法包括以下步骤:S1.分别将训练程序源码和目标源码转化为与各可疑漏洞元素对应的中间语言程序切片,所述中间语言程序切片包含与该可疑漏洞元素之间存在依赖关系的代码;S2.若训练程序源码对应的中间语言程序切片包含已知漏洞代码,为其添加“有漏洞”标签并记录已知漏洞代码在该切片中的位置;否则,为其添加“无漏洞”标签;S3.基于训练程序源码对应的中间语言程序切片集合,训练基于样本差异性的循环神经网络;S4.使用训练好的基于样本差异性的循环神经网络,对目标程序源码对应的中间语言程序切片进行漏洞智能检测与定位。2.如权利要求1所述的智能检测与定位方法,其特征在于,步骤S1包括以下子步骤:S101.根据语法特征,从程序源码中提取可疑漏洞元素;S102.根据所述可疑漏洞元素,从程序源码编译得到的中间语言文件中提取与所述可疑漏洞元素对应的中间语言程序切片;S103.根据函数执行顺序调整中间语言程序切片中的代码顺序。3.如权利要求1或2所述的智能检测与定位方法,其特征在于,可疑漏洞元素是指API调用类型元素和指针类型元素。4.如权利要求1至3任一项所述的智能检测与定位方法,其特征在于,所述依赖关系包括控制依赖关系和数据依赖关系。5.如权利要求1至4任一项所述的智能检测与定位方法,其特征在于,步骤S3包括以下子步骤:S301.对各中间语言程序切片进行预处理,将单词序列编码为向量;S302.将该向量输入循环神经网络,读取该循环神经网络顶层输出序列;S303.基于该向量的标签类型和漏洞位置,生成掩码对角矩阵;S304.掩码对角矩阵和顶层输出序列相乘,得到基于样本差异性的循环神经网络的输出序列,输出序列中预设数量的最大值的均值即为预测结果。6.如权利要求5所述的智能检测与定位方法,其特征在于,所述预处...

【专利技术属性】
技术研发人员:邹德清朱亚威李珍金海李道祥
申请(专利权)人:华中科技大学深圳华中科技大学研究院
类型:发明
国别省市:湖北,42

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1