[发明专利]一种基于多尺度代码度量的软件安全漏洞检测方法在审
申请号: | 202111419662.9 | 申请日: | 2021-11-26 |
公开(公告)号: | CN114036531A | 公开(公告)日: | 2022-02-11 |
发明(设计)人: | 郭军军;宋慧雨;王正源 | 申请(专利权)人: | 西安工业大学 |
主分类号: | G06F21/57 | 分类号: | G06F21/57;G06N3/04 |
代理公司: | 陕西电子工业专利中心 61205 | 代理人: | 程晓霞;王品华 |
地址: | 710021 陕*** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 尺度 代码 度量 软件 安全漏洞 检测 方法 | ||
1.一种基于多尺度代码度量的软件安全漏洞检测方法,其特征在于:使用多尺度代码度量特征对源代码进行漏洞检测,包括有以下步骤,
步骤1)获取漏洞信息:从公开漏洞数据网站NVD获取待检测漏洞信息,从代码托管平台GitHub上获取待检测漏洞的软件源代码,待检测漏洞信息包括漏洞的CVE编号、漏洞的CWE编号、漏洞描述、漏洞类型、漏洞函数信息、CVSS等级、受影响版本、漏洞编程语言,将待检测漏洞信息和其软件源代码作为一个漏洞信息数据,按漏洞类型存储;
步骤2)构建多尺度代码度量数据集:对获取的漏洞信息和对应的源代码分别进行分析与处理,通过统计确定软件源代码部分行粒度下的代码行数、空行数、改变行数,得到软件源代码部分行粒度代码度量;从软件的版本历史、搭建平台、组件版本获得漏洞的组件粒度代码度量;并用代码度量计算公式计算得到软件源代码函数粒度和剩余部分行粒度两种不同粒度下的代码度量数据,其中行粒度代码度量为:程序简单长度、程序预测长度、程序可维护性指数、行均漏洞提交数、圈复杂度;函数粒度代码度量为:不同操作符数、不同操作数数、总操作符数、总操作数数、程序词汇数、程序容量;将三种不同粒度的代码度量数据按照列序号顺序整合成为单个多尺度代码度量数据样本,生成代码度量一维序列;
重复执行步骤1-2,即通过重复获取漏洞信息数据和软件源代码数据构成的漏洞信息样本,扩大样本数量,由所有的多尺度代码度量数据样本按行序号顺序排列,完成多尺度代码度量数据集的构建;
步骤3)使用卷积神经网络进行多尺度代码度量特征抽取:多尺度代码度量数据集的最小单位为代码度量一维序列,使用目标识别中的图像金字塔理论,将多尺度代码度量数据集按照列序号自左到右的顺序分割为组件粒度、函数粒度和行粒度下的代码度量序列,使用一组非对称卷积核,形成依次包含有输入层、卷积层、池化层和输出层的卷积神经网络,分别对不同尺度下的代码度量序列进行特征抽取,使用1*1、1*3和1*5大小的卷积核分别对组件粒度、函数粒度和行粒度下的代码度量序列进行卷积操作,将卷积得到的结果分别输入到神经网络中的池化层进行池化以减小输出大小和降低过拟合,最终得到了组件粒度、函数粒度和行粒度多尺度下代码度量的特征向量;
步骤4)多尺度代码度量特征向量拼接:采用向量首尾拼接Concat的方法,将三种粒度下的代码度量特征向量按照组件粒度、函数粒度和行粒度的顺序拼接成一个多尺度代码度量特征向量,简称为特征向量,即将前一向量的末尾位置与后一向量的起始位置连接在一起,将三种不同尺度下代码度量的特征向量拼接在一起,使用多尺度代码度量表征方法更好的表征了软件源代码;
步骤5)使用双向长短期记忆网络进行漏洞表征学习:将拼接完成的软件源代码的多尺度代码度量特征向量输入到双向长短期记忆网络Bi-LSTM中进行训练,双向长短期记忆网络的最小单元为长短期记忆网络LSTM,每个LSTM单元中,通过对每个单元状态中信息遗忘和记忆新的信息使得对后续时刻的计算有用的信息得以传递,将经Bi-LSTM训练得到的向量输入池化层,对多尺度代码度量特征向量进行降采样,得到的结果输入稠密层DenseLayer,最后将稠密层输出的特征向量输入分类器中进行检测结果判定;
步骤6)检测结果判定:分类器采用S型曲线函数Sigmoid作为激活函数,Sigmoid函数的定义域为任意常数,值域为(0,1),Sigmoid函数将分类器的原始输入值映射为概率,得到基于多尺度代码度量的软件安全漏洞检测结果,若经过激活函数处理后的概率大于或等于0.5,则分类器输出1,为待检测软件源代码中存在漏洞;若经激活函数处理后的概率小于0.5,则分类器输出0,表示待检测软件源代码中不存在漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安工业大学,未经西安工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111419662.9/1.html,转载请声明来源钻瓜专利网。