[发明专利]提高基于深度学习的源代码漏洞检测健壮性的方法及装置有效
申请号: | 202110263311.7 | 申请日: | 2021-03-10 |
公开(公告)号: | CN112989358B | 公开(公告)日: | 2022-07-01 |
发明(设计)人: | 邹德清;唐静;李珍;金海 | 申请(专利权)人: | 华中科技大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06K9/62;G06N3/04;G06N3/08 |
代理公司: | 北京之于行知识产权代理有限公司 11767 | 代理人: | 何志欣 |
地址: | 430074 湖北*** | 国省代码: | 湖北;42 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 提高 基于 深度 学习 源代码 漏洞 检测 健壮性 方法 装置 | ||
1.一种提高基于深度学习的源代码漏洞检测健壮性的装置,其特征在于,所述装置至少包括代码变换模块(1)、映射模块(2)和神经网络模块(3),所述映射模块(2)与代码变换模块(1)、映射模块(2)和神经网络模块(3)分别建立数据连接关系,所述神经网络模块(3)包括至少两个第一分类器(21),
所述代码变换模块(1)基于接收的第一训练程序源码以代码变换的方式生成具有可攻击性的第二训练程序源码,
所述映射模块(2)将由所述第二训练程序源码分离形成的若干代码片段映射为第二样本向量,
所述神经网络模块(3)基于与所述第一训练程序源码对应的第一样本向量和与所述第二训练程序源码对应的第二样本向量分别训练至少两个第一分类器(21)直至训练数据达到训练阈值,
所述神经网络模块(3)基于循环神经网络模型训练特征生成器和/或分类器的方式至少包括:
基于与所述第一训练程序源码对应的第一样本向量训练至少一个第一特征生成器和至少两个所述第一分类器的直至至少两个第一分类器的预测差异最小化;
基于与所述第二训练程序源码对应的第二样本向量训练至少两个第二分类器直至至少两个第二分类器的预测差异最大化;
基于与所述第二训练程序源码对应的第二样本向量和经过预测差异最大化训练的至少两个所述第二分类器训练经过预测差异最小化训练的第一特征生成器为第二特征生成器。
2.根据权利要求1所述的提高基于深度学习的源代码漏洞检测健壮性的装置,其特征在于,所述神经网络模块(3)基于循环神经网络模型训练特征生成器和/或分类器的方式还包括:
以迭代训练的方式训练第二分类器和所述第一特征生成器。
3.根据权利要求2所述的提高基于深度学习的源代码漏洞检测健壮性的装置,其特征在于,
基于与所述第二训练程序源码对应的第二样本向量训练至少两个第二分类器的方式包括:
计算所述第二分类器分类第一样本向量的第一损失值,
计算所述第二分类器分类第二样本向量中的难样本的第二损失值,
基于所述第一损失值和所述第二损失值的差值确定循环神经网络模型的预测差异。
4.根据权利要求3所述的提高基于深度学习的源代码漏洞检测健壮性的装置,其特征在于,
所述第一损失值的计算公式为:
其中,xs表示向量,ys表示样本标签,表示第二分类器对漏洞样本的预测概率值。
5.根据权利要求3所述的提高基于深度学习的源代码漏洞检测健壮性的装置,其特征在于,
所述第二损失值的计算公式为:
其中,表示一个第二分类器对难样本的预测概率值,表示另一个第二分类器对难样本的预测概率值。
6.根据权利要求3所述的提高基于深度学习的源代码漏洞检测健壮性的装置,其特征在于,基于所述第一损失值和所述第二损失值的差值确定循环神经网络模型的预测差异的计算方法为:
其中,Lc(X)表示第一损失值,Lh(X″)表示难样本的第二损失值。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华中科技大学,未经华中科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110263311.7/1.html,转载请声明来源钻瓜专利网。