首页 专利交易 科技果 科技人才 科技服务 国际服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

一种基于CodeBERT和R-GCN的源代码漏洞多分类检测的方法 

买专利卖专利找龙图腾,真高效! 查专利查商标用IPTOP,全免费!专利年费监控用IP管家,真方便!

申请/专利权人:四川大学

摘要:本发明公开了一种基于CodeBERT和R‑GCN的源代码漏洞多分类检测的方法,将数据根据其标签和相关漏洞信息进行归类得到CWE编号,然后将所有的CWE编号归类到第二层级;将包含源代码数据流和控制流的PDG图结构,通过特定切点对PDG图结构进行前后向切片,得到切片子图,并将其进行处理形成代码语句,进一步形成代码符号表征集;对标准的CodeBERT微调得到新的CodeBERT模型;使用其对代码表征集进行预训练,将其转化为向量表征集;将切片子图和向量表征集作为训练数据训练设计的图神经网络整体架构,得到基于软件源代码的多分类漏洞检测模型,即可对漏洞数据集进行预测,完成漏洞类型的检测。

主权项:1.一种基于CodeBERT和R-GCN的源代码漏洞多分类检测的方法,其特征在于:包括下述步骤:1)数据预处理并进行归类:将数据根据其标签和相关漏洞信息进行归类得到CWE编号,然后根据CWEResearchConcept的树状分类图结构将所有的CWE编号归类到第二层级,具体步骤为:1.1)对于已经给定CWE编号的数据保留其编号;1.2)对于仅给出CVE编号的数据,根据CVE到CWE的映射数据库得到CWE编号;1.3)对于未给定CWE编号和CVE编号的数据,根据其漏洞描述信息查找CVE编号,并根据CVE到CWE的映射数据库得到CWE编号;若未得到CVE编号,直接根据漏洞描述判断给出CWE编号;1.4)在得到所有数据的CWE编号后,根据CWEResearchConcept的树状分类图结构将所有的CWE编号归类到第二层级,并替换为所属第二层级的CWE编号;2)生成程序切片后的切片子图:将包含源代码数据流和控制流的PDG图结构,通过特定切点对PDG图结构进行前后向切片,从而得到切片子图,并根据该切片子图是否包含漏洞所在的代码语句判断其是否为安全子图;3)生成代码的符号表征:将切片子图与源代码对应还原成代码语句,并进一步将代码语句符号化处理得到代码符号表征集;4)对标准的CodeBERT微调:将步骤3)得到的代码符号表征集作为标准CodeBERT模型的训练集,再把训练集中的数据逐条转化为CodeBERT要求的数据格式,并将其输入标准CodeBERT模型进行训练,微调得到新的CodeBERT模型;5)生成节点的向量表征:使用新的CodeBERT模型对代码符号表征集进行预训练,将其转化为向量表征集;使用新的CodeBERT模型对代码表征集进行预训练,具体为:5.1)通过调用新的CodeBERT模型的库函数convert_tokens_to_ids将token转化为数字id;5.2)将数字id进一步转为tensor张量后,送入新的CodeBERT模型中得到对应的特征向量;5.3)利用一个线性层将特征向量维度转化为128;6)将切片子图和向量表征集作为训练数据训练设计的图神经网络整体架构,得到基于软件源代码的多分类漏洞检测模型,其中,所述图神经网络整体架构包括3个图卷积层图池化层、一个读出层以及一个多层感知机,图卷积层的损失函数为,其中,为每一类样本的概率,是用于缓解类别不平衡的权重参数,γ是用于处理难易样本不均衡的参数;所述训练数据按照训练集、验证集、测试集以8:1:1的比例进行划分;7)采用基于软件源代码的多分类漏洞检测模型对漏洞数据集进行预测,完成漏洞类型的检测。

全文数据:

权利要求:

百度查询: 四川大学 一种基于CodeBERT和R-GCN的源代码漏洞多分类检测的方法

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。