This application provides a software vulnerability automatic classification method based on deep neural network, including: S1, pre-processing vulnerability information to form a word set list; S2, calculating the weight of each word using TF IDF algorithm and IG algorithm for the sample vulnerability description information set, obtaining a list of important feature word sets; S3, generating a word vector space according to the list of important feature word sets. Each vulnerability description information is expressed as an m-dimensional vector, m is the number of feature words in the important feature set; S4, using DNN model to obtain software vulnerability classifier; S5, new vulnerability description information set to classify. The deep neural network vulnerability automatic classification model is constructed based on TF IDF and IG algorithm, which reduces the dimension of high-dimensional word vector space, adapts to constantly updated software vulnerability data sets, effectively handles the high-dimensional and sparse character of word vector space, and shows better performance in accuracy, recall rate, accuracy and other multi-dimensional evaluation indicators.
【技术实现步骤摘要】
基于深度神经网络的软件漏洞自动分类方法
本专利技术属于计算机软件安全领域,具体地涉及一种基于深度神经网络的软件漏洞自动分类方法。
技术介绍
随着信息技术的快速发展,互联网与计算机的应用给各行各业带来了极大的便利,同时也带来了巨大的风险和隐患。近些年来,伴随着各个行业信息化程度的提高,信息安全问题也日渐凸显。漏洞是指系统的软硬件缺陷,可被非授权的人员非法利用。一旦信息系统的漏洞被恶意攻击利用,信息系统的安全性将会有很大的风险,可能会造成不可估量的后果。近些年来,漏洞的种类和数量逐渐增多,因此对软件漏洞的管理和分析变得越来越重要。如果能够对漏洞进行有效地分类管理,不但可以提高漏洞的修复和管理的效率,也可以减少系统被攻击和破坏的风险,对系统的安全性能尤为重要。由于软件漏洞在网络安全攻击事件中扮演着重要的角色,使得相关安全研究员针对软件漏洞分类的研究越来越多。目前主要有传统的人工漏洞分类方法和自动化漏洞分类方法。传统的RISOS漏洞分类方法,它所针对的特性是计算机的操作系统,主要从攻击的角度将操作系统的漏洞分为七类并且描述了如何利用漏洞。PA漏洞分类方法,不仅对操作系统漏洞进行了研究,而且还针对应用程序存在的漏洞进行了分类。近年来,机器学习算法被广泛应用于各个研究领域,并取得了进展,同样将机器学习应用于软件漏洞分类上形成了自动漏洞分类方法,并取得了较好的效果。基于LDA模型的SVM分类方法被BoShuai等人应用于漏洞分类领域,构建的基于主题模型的SVM可以充分利用分布的漏洞数量进行分类,实验证明了SVM在漏洞分类上取得了较好的效果。DumiduWijayasek ...
【技术保护点】
1.一种基于深度神经网络的软件漏洞自动分类方法,其特征在于,具体步骤如下:S1,漏洞描述信息集合中包括多条漏洞描述信息,对漏洞信息进行预处理后形成词集列表,预处理包括:对漏洞描述信息进行分词、词性还原和停用词过滤;S2,对样本漏洞描述信息集合将TF‑IDF算法和信息增益算法相融合对经过分词、词性还原和停用词过滤后的漏洞描述信息中的每个词的权重进行计算,获取重要特征词集列表,具体步骤包括:S21,遍历词集列表中的每个词,对词集列表进行词统计,存储在词统计字典里;S22,遍历词统计字典,计算每个词的词频值存入词频字典,计算每个词的逆向文件频率值,存入逆向文件频率字典,再计算每个词的TF‑IDF权重值存入TF‑IDF字典中;S23,按每个词的TF‑IDF权重值对TF‑IDF字典进行降序排序,选择前n个词作为特征词集,将特征词集存入特征列表;S24,遍历特征列表,根据漏洞类别数目划分特征词集并将子集并存入特征子集列表中,每个漏洞类别对应一个特征子集,然后计算相应漏洞类别对应的样本数目与样本漏洞描述信息集合中样本总数目的比例作为漏洞类别出现的概率;S25,采用信息增益算法计算特征列表中每个词的经 ...
【技术特征摘要】
1.一种基于深度神经网络的软件漏洞自动分类方法,其特征在于,具体步骤如下:S1,漏洞描述信息集合中包括多条漏洞描述信息,对漏洞信息进行预处理后形成词集列表,预处理包括:对漏洞描述信息进行分词、词性还原和停用词过滤;S2,对样本漏洞描述信息集合将TF-IDF算法和信息增益算法相融合对经过分词、词性还原和停用词过滤后的漏洞描述信息中的每个词的权重进行计算,获取重要特征词集列表,具体步骤包括:S21,遍历词集列表中的每个词,对词集列表进行词统计,存储在词统计字典里;S22,遍历词统计字典,计算每个词的词频值存入词频字典,计算每个词的逆向文件频率值,存入逆向文件频率字典,再计算每个词的TF-IDF权重值存入TF-IDF字典中;S23,按每个词的TF-IDF权重值对TF-IDF字典进行降序排序,选择前n个词作为特征词集,将特征词集存入特征列表;S24,遍历特征列表,根据漏洞类别数目划分特征词集并将子集并存入特征子集列表中,每个漏洞类别对应一个特征子集,然后计算相应漏洞类别对应的样本数目与样本漏洞描述信息集合中样本总数目的比例作为漏洞类别出现的概率;S25,采用信息增益算法计算特征列表中每个词的经验条件熵存入熵值字典,再计算特征列表中每个词的信息增益值,将每个词和对应的信息增益值存入信息增益值字典;S26,对信息增益值进行权重处理后,将信息增益值字典进行降序排序,选择前m个词作为重要特征词集,将重要特征词集存入重要特征词集列表;S3,生成词向量空间,把每一条漏洞描述信息表述成一个m维的向量,m是重要特征词集中特征词的数量;对于样本漏洞描述信息集合中每一个样本漏洞描述信息进行向量化后,形成样本集合,将样本集合分为训练集和测试集;对于需要进行分类的漏洞描述信息集合中每一个样本漏洞描述信息进行向量化后,形成分类集合;S4,使用深度神经网络模型获得软件漏洞分类器,具体步骤包括:S41,输入训练集,初始化权重系数矩阵W和偏置向量bS42,对每个神经元xi进行线性计算,计算公式为:其中,xi为每个神经元,Wi为每个神经元对应的权值矩阵,b是偏置向量,m为神经元总数,z是神经元线性计算输出,使用tanh激活函数进行激活运算,然后根据前向传播算法逐层计算得到最终输出结果al=σ(zl)=σ(Wlal-1+bl);S43,对最终输出结果使用softmax激活函数给不同的最终输出结果分配概率...
【专利技术属性】
技术研发人员:任家东,王倩,李亚洲,胡昌振,
申请(专利权)人:燕山大学,
类型:发明
国别省市:河北,13
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。