[发明专利]一种基于图卷积网络的源代码漏洞检测方法有效
申请号: | 202010168037.0 | 申请日: | 2020-03-11 |
公开(公告)号: | CN111460450B | 公开(公告)日: | 2023-02-10 |
发明(设计)人: | 孔维星;叶贵鑫;王焕廷;汤战勇;房鼎益 | 申请(专利权)人: | 西北大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06N3/0464;G06N3/08;G06N20/00 |
代理公司: | 西安恒泰知识产权代理事务所 61216 | 代理人: | 李郑建 |
地址: | 710069 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 图卷 网络 源代码 漏洞 检测 方法 | ||
本发明涉及一种基于图卷积网络的源代码漏洞自动检测方法,在训练阶段,进行数据获取和数据预处理,判断源代码是否有sink方法调用,对sink方法调用进行数据流分析,构造为代码属性图,计算代码属性图的邻接矩阵与特征矩阵,给代码属性图加标签,将代码属性图中的邻接矩阵和特征矩阵作为图卷积网络的输入,训练图卷积网络,得到训练好的网络模型;测试阶段进行数据获取和数据预处理,判断源代码是否有sink方法调用,进行数据流分析,构造为代码属性图,计算代码属性图的邻接矩阵与特征矩阵,输入训练好的图卷积网络模型,输出代码属性图的分类结果,表示代码属性图是否有漏洞即对应的sink方法调用是否含有漏洞。
技术领域
本发明属于计算机网络安全技术领域,涉及源代码中的漏洞检测,具体涉及一种基于图卷积网络的源代码漏洞检测方法,该方法可以自动对源代码进行漏洞扫描,判断源代码是否含有漏洞,并报告漏洞位置,为后续代码漏洞自动检测的研究提供了技术支持。
背景技术
软件中隐藏的漏洞可能导致安全问题,使攻击者危害计算机系统和应用程序。每年有数千个这样的漏洞被公开地报告给公共漏洞和暴露数据库(CVE),更多的漏洞在专有代码中被内部发现并修补。正如从最近许多备受关注的攻击中所看到的,如HeartBleedBug、Wannacry勒索软件密码蠕虫和Equifax信贷历史数据库的黑客攻击,这些安全漏洞在财务和社会上都会产生灾难性的影响。这些漏洞通常是由程序员所犯的细微错误引起的,并且由于开源软件和代码重用的普遍性,可以迅速传播。
软件漏洞是影响网络安全的一个基本问题,对漏洞的挖掘和发现也成为网络安全的核心技术之一。漏洞的挖掘和发现集中融合了计算机安全和软件测试这两个领域的技术手段。传统软件缺陷测试和漏洞挖掘研究通常按照两个维度来分类:根据被测程序是否有源代码,分为白盒和黑盒测试;根据程序是否执行,分为静态分析(static analysis)和动态分析(dynamic analysis)。在全球网络安全竞争日益激烈的情况之下,漏洞挖掘技术也在不断智能化,集中体现为测试手段更多样化、技术形态更丰富,以及引入机器学习辅助甚至替代人工分析。
虽然有用于程序静态(运行前)或动态(运行时)分析的现有工具,但这些工具通常只检测基于预定义规则的有限的可能错误子集。随着近些年开源代码库的广泛使用,使用数据驱动技术研究程序特性已成为可能。
在利用机器学习进行源代码漏洞检测时,核心技术是源代码中可疑代码的提取与可疑代码的表示法以及将可疑代码作为输入的机器学习模型。在2018年NDSS会议上,Li等人设计了一种检测C/C++代码上的库函数/API调用漏洞的系统VulDeePecker,首先提取函数调用相关代码切片作为可疑代码,之后用Word2Vec对可疑代码向量化,最后用双向长短时神经网络(BLSTM)对可疑代码进行分类,在SARD和NVD漏洞数据库的测试上取得了较低的误报率。在2017年的SecurityPrivacy会议上,Kim等人将源代码视作字符串,用源代码字符串的哈希值作为源代码的表示,利用大量的数据集,构建了检测代码复制行为的工具VUDDY,可以用于漏洞检测。
在2016年的ICSE会议上,Wang将源代码中的关键类型的代码节点作为可疑代码,利用深度信念网络(DBN)将可疑代码编码为向量,以自动学习代码的语义表达,建立起缺陷预测和程序语义之间的桥梁,之后利用传统机器学习方法训练编码后的向量,利用公开的PROMISE数据集研究了项目内和跨项目的漏洞检测,在部分项目的检测上取得了较好的效果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北大学,未经西北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010168037.0/2.html,转载请声明来源钻瓜专利网。