[发明专利]一种基于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 漏洞 检测 方法 | ||
1.基于rust2Graph与RGNN的rust启发式漏洞检测方法,其特征在于,包括以下步骤:
首先对爬取及生成的rust程序进行源代码重写标准化,即在源代码上进行不影响逻辑功能的形式性修改,使其编程风格统一化;
对于标准化的rust程序开始进行rust2Graph的转换操作,首先获取rust编译器前端的rust代码中间表示Mid Level IR,通过本专利核心工具CFFG提取工具进行一系列解析获得程序的CDFG数据流控制流图。定位CDFG开始节点,进行遍历,在遍历过程中通过节点属性记录节点关系,根据加边算法进行加边操作,从而丰富CDFG图的形式。遍历CDFG图的过程中记录节点属性并顺序化,使用Word2Vec算法进行节点属性嵌入,获得对应的特征矩阵和节点数字化表示;
将准备好的特征矩阵和节点数字化表示数据集作为RGNN网络的输入,使用关系图神经网络根据边的类型学习源代码有效的抽象表示,最终使用决策网络预测最终的启发式漏洞检测结果。
2.如权利要求1所述的基于rust2Graph与RGNN的rust启发式漏洞检测方法,其特征在于,对爬取及生成的rust程序进行源代码重写标准化,包括:
源代码重写标准化包括了宏定义替换、函数名替换、变量名替换以及注释消除,为了减少不必要的变量,直接使用宏定义在源码中进行替换,其次使用大小写字母依此对函数名及变量名进行替换,目的是统一代码风格。最后,对不影响程序执行的注释进行消除,较少代码体积。
3.如权利要求1所述的基于rust2Graph与RGNN的rust启发式漏洞检测方法,其特征在于,对于标准化的rust程序开始进行rust2Graph的转换操作,包括:
利用rust编译器前端通过命令“rustc--emiit=llvm-irrust源码”输出rust源码对应的llvm-IR格式的中间指令集rust-IR,rust-IR更加规范,只包含代码的上下文逻辑关系,因此对于提取数据流和控制流更加准确。通过本文自定义的数据流控制流CDFG提取工具,进行解析,解析过程包括词法分析、语法分析、语义分析以及CDFG的生成,CDFG能够有效表示代码的语法结构。为了丰富代码的语义语法信息,添加顺序流最终完成rust2Graph的过程。在遍历过程中使用邻接矩阵的形式对图结构进行存储。
4.如权利要求1所述的基于rust2Graph与RGNN的rust启发式漏洞检测方法,其特征在于,遍历rust2Graph过程中记录节点属性并顺序化,使用Word2Vec算法进行节点属性嵌入,获得对应的特征矩阵。包括:
我们使用Word2Vec算法为节点属性字段进行向量嵌入,该过程主要根据Skip-Gram算法去学习节点类型和节点上下文之间的关系,这种嵌入方法可以将稀疏的整数编码词汇表中的标记转换为较低维度的向量空间。
5.如权利要求1所述的基于rust2Graph与RGNN的rust启发式漏洞检测方法,其特征在于,使用关系图神经网络根据边的类型学习源代码有效的抽象表示,包括:
首先根据边的类型进行特征向量的更新,之后进行不同边对应特征向量的叠加,这里考虑到边信息的重要性,因此创新的RGNN网络能够捕获图中边的信息,训练过程中通过多次节点信息的迭代传递更新,学习出一个抽象的代码特征表示向量。
6.如权利要求1所述的基于rust2Graph与RGNN的rust启发式漏洞检测方法,其特征在于,使用决策网络预测最终的启发式优化结果以及性能提升的加速比。包括:
使用双层全连层网络对特征向量进行建模学习,通过Dropout层对特征中的噪声进行过滤,此外决策网络可以根据不同的任务进行更改,仅需更改输出层的神经元来适配其他的优化任务,提升了方法的可扩展性。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于内蒙古大学,未经内蒙古大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210459302.X/1.html,转载请声明来源钻瓜专利网。