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

基于脆弱性类型和Bi-LSTM的跨软件脆弱性检测方法及系统 

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

申请/专利权人:中国人民解放军国防科技大学

摘要:本发明公开了一种基于脆弱性类型和Bi‑LSTM的跨软件脆弱性检测方法及系统,本发明包括对代码样本提取代码属性图,提取抽象语法树序列以及脆弱性类型强相关特征序列并合成代码样本的特征序列;将特征序列通过向量映射器映射得到表征向量、通过Bi‑LSTM模型提取得到代码样本的特征向量、并利用脆弱性检测器得到代码样本为脆弱性代码的概率,若概率超过预设阈值则判定为脆弱性代码。本发明旨在保留源代码较多的语法语义和脆弱性特征等信息,解决不同项目间的源代码编码风格差异,缓解样本不平衡带来的影响,根据脆弱性类型实现按类型的脆弱性检测,提高面向跨软件源代码混合的真实数据集的脆弱性检测效果,降低误报率和漏报率。

主权项:1.一种基于脆弱性类型和Bi-LSTM的跨软件脆弱性检测方法,其特征在于,包括:S1、对代码样本提取代码属性图;S2、从代码属性图中提取抽象语法树序列以及脆弱性类型强相关特征序列,所述脆弱性类型强相关特征序列是指去除指定的脆弱性类型无关的代码语句类型的代码语句后得到的代码语句序列;S3、将抽象语法树序列以及脆弱性类型强相关特征序列合成代码样本的特征序列;S4、将特征序列通过预先训练好的向量映射器映射得到代码样本的表征向量;S5、将表征向量通过预先训练好的脆弱性特征提取器提取得到代码样本的特征向量,所述脆弱性特征提取器为Bi-LSTM模型;S6、将特征向量利用预先训练好的脆弱性检测器得到代码样本为脆弱性代码的概率,若该概率超过预设阈值则判定该代码样本为脆弱性代码;步骤S1中的代码样本为一个预处理后的函数,所述预处理包括:针对所有的参数和变量,将名称按照出现的顺序替换为第一指定符号加顺序编号的形式;针对所有的字符串常量,将名称替换为第二指定符号;针对所有函数名,如果函数名为变量名和动词的组合形式,则将变量名替换成对应变量名的第一指定符号加动词加顺序编号的形式,如果函数名不含有变量名但含有动词,则将动词命名成第三指定符号加动词加顺序编号的形式,如果函数名既不含有变量名也不含有动词,则将函数名命名为第三指定符号加顺序编号的形式;步骤S4中预先训练好的向量映射器由分词器Tokenizer和词向量转换模型Word2Vec构成,输入是文本型向量,输出为N1*N2维的数值型向量,用于将文本型向量转换成机器学习算法可识别的N1*N2维向量,其中N1为词向量转换模型Word2Vec训练得到的单个映射向量的长度,N2为单个代码样本的文本型向量的长度;步骤S5中的Bi-LSTM模型由双层LSTM、池化层和多个密集层依次相连构成,所述双层LSTM用于提取向量中的语法和语义信息、并将多维向量转化成一维向量以提取函数的特征,所述池化层用于保留主要特征并减少参数,脆弱性特征提取器的输入是N1*N2维的数值型向量,输出是提取得到的一维特征向量,密集层用于将前一层的每个神经元都连接到后侧相邻层的每个神经元,最终通过最后一个密集层输出提取得到的一维特征向量。

全文数据:

权利要求:

百度查询: 中国人民解放军国防科技大学 基于脆弱性类型和Bi-LSTM的跨软件脆弱性检测方法及系统

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

相关技术
相关技术
相关技术
相关技术