[发明专利]一种基于rust-IR2Graph与RGNN的rust漏洞检测方法在审
申请号: | 202210459302.X | 申请日: | 2022-04-27 |
公开(公告)号: | CN115408698A | 公开(公告)日: | 2022-11-29 |
发明(设计)人: | 刘政坤;王宝钰;王梓旭;童维华;赵佳棋 | 申请(专利权)人: | 内蒙古大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06N3/04;G06N3/08 |
代理公司: | 北京深川专利代理事务所(普通合伙) 16058 | 代理人: | 张彦 |
地址: | 010021 内蒙古自*** | 国省代码: | 内蒙古;15 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 rust ir2graph rgnn 漏洞 检测 方法 | ||
本发明公开了一种基于rust‑IR2Graph与RGNN的rust漏洞检测方法。能够进一步提高rust漏洞检测的准确率。具体是通过rust‑IR2Graph进行rust‑IR转图操作,极大地丰富了代码的语法语义信息。使用创新的RGNN网络对图中各种类型的边有效建模,学习代码的结构特点,生成对应的特征向量以完成启代码漏洞检测任务。rust‑IR2Graph首先将标准化的rust程序进行解析,获取rust Mid‑Level IR,解析IR里的所有token和block,提取对应的数据流和控制流(有源码),在指令级别进行转图操作,同时使用Word2Vec算法为节点生成特征向量。之后进入RGNN网络,该网络充分考虑到图中边的信息,通过邻域聚合学习待更新节点的邻域信息,从而自动学习代码的高维抽象特征用于代码漏洞检测任务。本发明在现有rust漏洞数据集上检测漏洞准确率达到90.7%。
技术领域
本发明属于rust代码漏洞检测技术领域,更具体地说,本发明涉及一种基于rust-IR2Graph与RGNN的rust漏洞检测方法。
背景技术
Rust的快速发展,对漏洞检测需求更加迫切。同时Rust漏洞造成的影响较大,如CVE-2022-21658的高危漏洞,该漏洞让攻击者可以从易受攻击的系统删除文件和目录。
Rust漏洞当前的一些解决方案:机器学习方法,静态方法,fuzzing
为了解决上述几个问题,本专利提出了一种基于rust Mid-Level IR与RGNN的Rust漏洞检测方法,我们与cargo-autit漏洞检测工具进行实验对比。实验结果表明,cargo-autit获得86.4%的准确率,而本方法在最佳情况下能够达到90.7%的准确率。
发明内容
为了克服现有技术的上述缺陷,本发明提出并设计了一种基于rust-IR2Graph与RGNN的rust漏洞检测方法。本发明能够进一步提高rust漏洞检测的准确率。其核心是通过rust-IR2Graph进行rust-IR转图操作,极大地丰富了代码的语法语义信息。使用创新的RGNN网络对图中各种类型的边有效建模,学习代码的结构特点,生成对应的特征向量以完成启代码漏洞检测任务。rust-IR2Graph首先将标准化的rust程序进行解析,获取rustMid-Level IR,解析IR里的所有token和block,提取对应的数据流和控制流图(有源码)CDFG。同时使用Word2Vec算法为节点生成特征向量。之后进入RGNN网络,该网络充分考虑到图中边的信息,通过邻域聚合学习待更新节点的邻域信息,从而自动学习代码的高维抽象特征用于代码漏洞检测任务。本发明在现有rust漏洞数据集上检测漏洞准确率达到90.7%。
与现有技术相比,本发明具有以下技术效果:
(1)本发明能够有效的检测rust代码的代码漏洞,准确率能够达到90.7%。
(2)本发明能够在源码转图过程中不仅能够充分的保留源码的结构信息,同时还丰富了代码的语法语义信息。首先在rust2Graph过程中解析出数据流控制流图CDFG,这种图形数据结构本身保存的代码内容及结构信息要高于文本的顺序关系信息,其次通过加边算法进一步丰富了代码的结构信息,记录代码多个生命周期的特点,为后续的图网络研究提供有效的技术支持。
(3)本发明中的关系图神经网络能够有效对节点与节点之间的关系建模,不仅考虑到节点本身的信息,同时也考虑节点与节点之间连接关系的信息,利用邻域节点信息的通信学习每个节点的更新最终学习出图的嵌入向量,为图神经网络提供新的思路。
(4)本发明具有良好的灵活性及可扩展性,适用于有关代码的其他相关任务,由于使用LLVM-IR的中间指令表示,因此其天然兼容LLVM支持的语言如C、C++、OpenCL等高级语言。本发明使用迁移学习技术为具有少量数据集的任务提供便利,例如本发明可扩展至OpenCL代码异构平台。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于内蒙古大学,未经内蒙古大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210459302.X/2.html,转载请声明来源钻瓜专利网。