CN110008699B - 一种基于神经网络的软件漏洞检测方法及装置 - Google Patents

一种基于神经网络的软件漏洞检测方法及装置 Download PDF

Info

Publication number
CN110008699B
CN110008699B CN201910206153.4A CN201910206153A CN110008699B CN 110008699 B CN110008699 B CN 110008699B CN 201910206153 A CN201910206153 A CN 201910206153A CN 110008699 B CN110008699 B CN 110008699B
Authority
CN
China
Prior art keywords
feature
vulnerability
dictionary
words
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910206153.4A
Other languages
English (en)
Other versions
CN110008699A (zh
Inventor
陈杰
韩承锋
唐云善
邹旎彬
朱春雷
王强
陈皓立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
NARI Group Corp
Nari Information and Communication Technology Co
Original Assignee
State Grid Corp of China SGCC
State Grid Jiangsu Electric Power Co Ltd
NARI Group Corp
Nari Information and Communication Technology Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by State Grid Corp of China SGCC, State Grid Jiangsu Electric Power Co Ltd, NARI Group Corp, Nari Information and Communication Technology Co filed Critical State Grid Corp of China SGCC
Priority to CN201910206153.4A priority Critical patent/CN110008699B/zh
Publication of CN110008699A publication Critical patent/CN110008699A/zh
Application granted granted Critical
Publication of CN110008699B publication Critical patent/CN110008699B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Molecular Biology (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Virology (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了提出了一种基于神经网络的软件漏洞检测方法及装置,只需提供基于该漏洞的文本描述,通过TF‑IDF算法和信息增益算法提取特征并进行词向量化,通过最终得到的词向量来训练一个能适用于漏洞识别分类的5层神经网络,然后将待检测漏洞样本经处理后输入该神经网络即可实现漏洞类型检测。本发明不需要提供软件样本的源代码或二进制代码,这样对于检测过程能显得更加透明,同时也能降低检测人员的技术门槛。

Description

一种基于神经网络的软件漏洞检测方法及装置
技术领域
本发明涉及一种基于神经网络的软件漏洞检测方法及装置,属于信息安全技术领域。
背景技术
随着计算机科学技术的日益发展,各种软件产品也被逐渐应用到人们生活中的方方面面。然而,计算机软件产业的发展在给人们生活带来便利的同时,也带来了一些问题:由于软件漏洞或缺陷而导致信息安全泄漏、经济财产损失等。因此,即使地找出软件样本中可能潜在的漏洞或缺陷,保证软件系统的可靠性与稳定性,一直是近年来备受瞩目的问题。目前常见的软件漏洞检测技术大都是基于源代码或二进制代码,检测技术大致可分为静态检测方法和动态检测方法。
关于检测方法,无论采用何种检测方法,都要求检测人员有一定的代码基础,并且整个检测过程显得不那么透明。同时,检测人员还需要深入理解各种软件漏洞检测的开源工具,目前各种开源检测工具层出不穷,增加了检测人员的负担,也无形中增加了检测成本。最后,不同的漏洞样本大小不一,传统检测方法的检测时间也可能又长又短,对于单进程的检测系统来说也增加了检测成本。
发明内容
本发明的目的在于提供一种基于神经网络的软件漏洞检测方法及装置,在已有漏洞文本描述的前提下,基于TF-IDF算法与信息增益算法等提取特征,训练一个检测用的神经网络,可快速预测出该样本含有何种类型的漏洞。
为达到上述目的,本发明采用的技术方案如下:
一种基于神经网络的软件漏洞检测方法,包括以下步骤:
1)将待检测的漏洞样本中的漏洞文本描述进行预处理;所述每条漏洞样本均包含了三个字段“样本编号-漏洞文本描述-漏洞类别”;
2)提取预处理后的漏洞文本描述的关键词;
3)利用所述步骤2)提取的关键词,构造特征向量及特征矩阵;
4)计算所述特征矩阵的信息增益,构造特征字典;
5)提取所述特征词典的重要特征,并还原为对应的单词;
6)利用所述步骤5)获取的单词,再次构造特征向量;
7)将所述步骤6)得到的特征向量,输入漏洞预测模型,识别出漏洞类型。
前述的步骤1)中,对漏洞文本描述进行预处理包括漏洞文本分词、词性还原和停用词过滤三个步骤;所述漏洞文本分词是指基于python中的jieba分词模块中的精确模式,将每条漏洞文本都切分为若干个具有独立语义的单词;所述词性还原是指在英文文本的情况下,将单词还原为最一般的形式;所述停用词过滤是指去除漏洞文本中经常出现却又没有实际意义的单词。
前述的步骤2)中,提取关键词的方式为:对预处理后得到的单词,统计每个单词出现的频率,然后根据TF-IDF算法计算每个单词的TF-IDF值,构造一个字典;所述字典的键为单词,值为该单词的TF-IDF值,对字典的值进行由大到小的排序,取字典中前2000个键作为关键词。
前述的步骤3)中,构造特征向量的具体操作为:针对每一条样本构造一个初始值全为0的2000维向量,将所得到的2000个关键词与该样本的漏洞文本描述进行逐单词匹配,若第i个关键词在样本的漏洞文本描述中出现,则将该2000维向量中第i-1个位置的值置为1,全部匹配完成后,得到一个2000维的特征向量;
所有样本的特征向量构成特征矩阵;所述特征矩阵,按列看,每一列代表了一个特征,特征下标用0-1999表示。
前述的步骤4)中,构造特征字典的方式为:根据信息增益算法计算2000维特征矩阵中每个特征的信息增益,构造一个特征字典,所述特征字典的键为特征下标,所述特征字典的值为该特征对应的信息增益值。
前述的步骤5)中,将所述特征字典的值从大到小进行排序,取前1024个作为重要特征,然后根据特征下标还原为对应的单词。
前述的步骤7)中,漏洞预测模型的构建过程为:
71)获取数据集,所述数据集来自国家信息安全漏洞库所发布的漏洞数据;所述数据集中的每条样本包含了三个字段“样本编号-漏洞文本描述-漏洞类别”;
72)对所述步骤71)获取的数据集中的漏洞文本描述进行预处理,得到若干个单词;
73)从所述步骤72)得到的单词中提取2000个关键词;
74)利用所述步骤73)提取的2000个关键词,构造一个2000维的特征向量及特征矩阵;
75)计算所述特征矩阵的信息增益,构造特征字典;
76)从所述特征词典中提取1024个重要特征,并还原为对应的单词;
77)利用所述步骤76)获取的单词,再次构造得到一个1024维的特征向量;
78)将所述步骤77)得到的特征向量,送入神经网络进行训练,得到一个适用于漏洞识别分类的漏洞预测模型。
前述的采用5层前馈神经网络作为漏洞预测模型,所述漏洞预测模型配置如下:
a、五层节点数依次为1024-2000-2000-1000-23;
b、隐含层的激活函数均使用tanh函数;
c、输出层采用softmax函数;
d、采用随机梯度下降算法来更新连接神经元之间的权值;
e、采用dropout方法防止过拟合;
d、batch-size取100。
前述的更新权值的学习率取0.2。
一种基于神经网络的软件漏洞检测装置,包括预处理模块,关键词提取模块,特征向量构造模块,特征字典构造模块,重要特征提取模块,输入向量模块和识别模块;
所述预处理模块用于对待检测漏洞样本所包含的漏洞文本描述进行预处理;
所述关键词提取模块用于提取预处理后的漏洞文本描述的关键词;
所述特征向量构造模块用于基于所述关键词构造一个特征向量;所有待检测漏洞样本的特征向量构成特征矩阵;
所述特征字典构造模块用于基于所述特征矩阵的信息增益构造一个特征字典;
所述重要特征提取模块用于提取所述特征字典的重要特征;
所述输入向量模块用于基于所述重要特征所对应的单词,构造一个特征向量作为输入向量;
所述识别模块用于将输入向量输入漏洞预测模型,识别出待检测漏洞样本的漏洞类型。
前述的关键词提取模块根据TF-IDF算法计算预处理后所得到的每个单词的TF-IDF值,构造一个字典;所述字典的键为单词,值为该单词的TF-IDF值,对字典的值进行由大到小的排序,取字典中前2000个键作为关键词。
前述的特征向量构造模块针对每一条样本构造一个初始值全为0的2000维向量,将所得到的2000个关键词与该样本的漏洞文本描述进行逐单词匹配,若第i个关键词在样本的漏洞文本描述中出现,则将该2000维向量中第i-1个位置的值置为1,全部匹配完成后,得到一个2000维的特征向量。
前述的特征字典构造模块根据信息增益算法计算2000维特征矩阵中每个特征的信息增益,构造一个特征字典,所述特征字典的键为特征下标,所述特征字典的值为该特征对应的信息增益值。
前述的重要特征提取模块将所述特征字典的值从大到小进行排序,取前1024个作为重要特征,然后根据特征下标还原为对应的单词。
本发明所得到的有益效果为:
本发明方法对于未知的漏洞样本,只需提供对于该样本客观的文本描述,便可快速预测出该样本含有何种类型的漏洞,整个检测过程绕开了代码层面且忽略了软件样本大小之间的差异,具有更高的便利性与透明性,同时也能降低检测人员的技术门槛。
附图说明
图1为本发明中构造漏洞预测模型的流程图;
图2为本发明的基于神经网络的漏洞预测模型结构图。
具体实施方式
下面对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
本发明提出一种基于神经网络的软件漏洞检测方法,包括以下具体步骤:
(1)将待检测的漏洞样本中的漏洞文本描述进行预处理,每条漏洞样本均包含了三个字段“样本编号-漏洞文本描述-漏洞类别”;对漏洞文本描述进行预处理主要包含漏洞文本的分词、词性还原、停用词过滤三个步骤;具体为:文本的分词主要是利用jieba分词技术中的精确模式(本发明参数cut_all=False,HMM=True),将每条漏洞文本都切分为若干个具有独立语义的单词;词性还原主要是英文文本的情况下,将单词还原为最一般的形式,避免同单词不同形式的重复;停用词过滤是去除漏洞文本中经常出现却又没有什么意义的单词,能降低数据维度与提高检索效率。由于本发明中分词采用的是jieba分词技术中的精确模式,并且漏洞文本描述为英文,因此分词后的单词指的是由1-3个邻近英文单词组成的具有独立语义的词组。本发明的这三步预处理操作均基于python中的jieba和nltk两个模块来完成,中英文均适用于初始数据集的漏洞文本描述。
(2)利用TF-IDF算法提取关键词,具体做法为:对步骤(1)中三步预处理后得到的单词,统计每个单词出现的频率,然后根据TF-IDF算法计算每个单词的TF-IDF值,构造一个字典,字典的键为单词,值为该单词的TF-IDF值,对字典的值进行由大到小的排序,取字典中前2000个键作为关键词,相当于初步过滤一些重要性低的单词。
(3)利用步骤(2)中得到的2000个关键词,利用one-hot编码的方法构造特征向量;具体做法为:针对每一个样本构造一个初始值全为0的2000维向量,将步骤(2)中得到的2000个关键词与该样本的漏洞文本描述进行逐单词匹配,若第i个关键词在样本的漏洞文本描述中出现,则将该2000维向量中第i-1个位置的值置为1,全部匹配完成后,得到2000维的特征向量,方便后续进行信息增益的计算。
(4)经过步骤(3)以后,每条样本中的特征文本描述被转化为一个2000维的0-1特征向量,这样一条样本就用对应的特征向量来表示,所有的漏洞样本就由若干个特征向量组成的特征矩阵来表示。构成的特征矩阵,按列看,每一列代表了一个特征,一共2000个特征,特征下标用0-1999表示。计算特征向量化后数据集特征矩阵的信息增益,构造特征字典;具体操作为:针对所构造的特征矩阵,根据信息增益算法计算2000维特征向量中每个特征的信息增益,构造一个特征字典,字典的键为特征下标,特征下标指的是该特征在2000维特征向量中的位置,范围是0-1999;值为对应的信息增益值,对特征字典的值进行从大到小的排序,可分辨哪些特征起到重要的决策作用,提取前1024个重要特征作为进一步提取的结果。
(5)将步骤(4)得到的1024个重要特征根据特征下标还原为对应的单词,然后再采用步骤(3)的过程,利用one-hot编码方法再次进行特征向量化,得到一个1024维的值为0或1的特征向量。
(6)将步骤(5)最终得到特征向量,输入漏洞预测模型,识别出漏洞类型。
本发明中漏洞预测模型构建过程如图1所示,从来自CNNVD国家信息安全漏洞库所发布的漏洞数据(下载地址:http://www.cnnvd.org.cn/web/xxk/xmlDown.tag)中获取漏洞数据集,数据集中的每条样本包含了三个字段“样本编号-漏洞文本描述-漏洞类别”;然后采用步骤(1)至(5)的过程构造一个1024维的特征向量,送入神经网络进行训练,得到一个适用于漏洞识别分类的漏洞预测模型。
本发明采用5层前馈神经网络来训练漏洞预测模型,如图2所示(图中各层节点数已省略),各项配置如下:
①五层节点数依次为1024-2000-2000-1000-23;
②隐含层的激活函数均使用tanh函数;
③输出层采用softmax函数进行归一化处理;
④利用随机梯度下降算法来更新连接神经元之间的权值参数Wi,j,学习率取0.2;
⑤利用dropout方法防止过拟合,参数keep_prob即神经元被保留的概率取0.95;
⑥batch-size取100。
为实现上述方法,本发明同时提供了一种基于神经网络的软件漏洞检测装置包括预处理模块,关键词提取模块,特征向量构造模块,特征字典构造模块,重要特征提取模块,输入向量模块和识别模块;各模块功能具体如下:
预处理模块用于对待检测漏洞样本所包含的漏洞文本描述进行预处理。预处理主要包含漏洞文本的分词、词性还原、停用词过滤三个步骤;具体为:文本的分词主要是利用jieba分词技术中的精确模式,将每条漏洞文本都切分为若干个具有独立语义的单词;词性还原主要是英文文本的情况下,将单词还原为最一般的形式,避免同单词不同形式的重复;停用词过滤是去除漏洞文本中经常出现却又没有什么意义的单词,能降低数据维度与提高检索效率。
关键词提取模块根据TF-IDF算法计算预处理后所得到的每个单词的TF-IDF值,构造一个字典;所述字典的键为单词,值为该单词的TF-IDF值,对字典的值进行由大到小的排序,取字典中前2000个键作为关键词。
特征向量构造模块针对每一条样本构造一个初始值全为0的2000维向量,将所得到的2000个关键词与该样本的漏洞文本描述进行逐单词匹配,若第i个关键词在样本的漏洞文本描述中出现,则将该2000维向量中第i-1个位置的值置为1,全部匹配完成后,得到一个2000维的特征向量。所有待检测漏洞样本的特征向量构成特征矩阵。特征矩阵的每一列代表一个特征。
特征字典构造模块根据信息增益算法计算2000维特征矩阵中每个特征的信息增益,构造一个特征字典,所述特征字典的键为特征下标,所述特征字典的值为该特征对应的信息增益值。
重要特征提取模块将所述特征字典的值从大到小进行排序,取前1024个作为重要特征,然后根据特征下标还原为对应的单词。
输入向量模块用于基于所述重要特征所对应的单词,构造一个特征向量作为输入向量。
识别模块用于将输入向量输入漏洞预测模型,识别出待检测漏洞样本的漏洞类型。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。

Claims (11)

1.一种基于神经网络的软件漏洞检测方法,其特征在于,包括以下步骤:
1)将待检测的漏洞样本中的漏洞文本描述进行预处理;每条所述漏洞样本均包含了三个字段“样本编号-漏洞文本描述-漏洞类别”;所述预处理包括漏洞文本分词、词性还原和停用词过滤三个步骤;所述漏洞文本分词是指基于python中的jieba分词模块中的精确模式,将每条漏洞文本都切分为若干个具有独立语义的单词;所述词性还原是指在英文文本的情况下,将单词还原为最一般的形式;所述停用词过滤是指去除漏洞文本中经常出现却又没有实际意义的单词;
2)提取预处理后的漏洞文本描述的关键词,具体为:对预处理后得到的单词,统计每个单词出现的频率,然后根据TF-IDF算法计算每个单词的TF-IDF值,构造一个字典;所述字典的键为单词,值为该单词的TF-IDF值,对字典的值进行由大到小的排序,取字典中前2000个键作为关键词;
3)利用所述步骤2)提取的关键词,构造特征向量及特征矩阵;
4)计算所述特征矩阵的信息增益,构造特征字典;
5)提取所述特征字典的重要特征,并还原为对应的单词;
6)利用所述步骤5)获取的单词,再次构造特征向量;
7)将所述步骤6)得到的特征向量,输入漏洞预测模型,识别出漏洞类型。
2.根据权利要求1所述的一种基于神经网络的软件漏洞检测方法,其特征在于,所述步骤3)中,构造特征向量的具体操作为:针对每一条样本构造一个初始值全为0的2000维向量,将所得到的2000个关键词与该样本的漏洞文本描述进行逐单词匹配,若第i个关键词在样本的漏洞文本描述中出现,则将该2000维向量中第i-1个位置的值置为1,全部匹配完成后,得到一个2000维的特征向量;
所有样本的特征向量构成特征矩阵;所述特征矩阵,按列看,每一列代表了一个特征,特征下标用0-1999表示。
3.根据权利要求2所述的一种基于神经网络的软件漏洞检测方法,其特征在于,所述步骤4)中,构造特征字典的方式为:根据信息增益算法计算2000维特征矩阵中每个特征的信息增益,构造一个特征字典,所述特征字典的键为特征下标,所述特征字典的值为该特征对应的信息增益值。
4.根据权利要求3所述的一种基于神经网络的软件漏洞检测方法,其特征在于,所述步骤5)中,将所述特征字典的值从大到小进行排序,取前1024个作为重要特征,然后根据特征下标还原为对应的单词。
5.根据权利要求4所述的一种基于神经网络的软件漏洞检测方法,其特征在于,所述步骤7)中,漏洞预测模型的构建过程为:
71)获取数据集,所述数据集来自国家信息安全漏洞库所发布的漏洞数据;所述数据集中的每条样本包含了三个字段“样本编号-漏洞文本描述-漏洞类别”;
72)对所述步骤71)获取的数据集中的漏洞文本描述进行预处理,得到若干个单词;
73)从所述步骤72)得到的单词中提取2000个关键词;
74)利用所述步骤73)提取的2000个关键词,构造一个2000维的特征向量及特征矩阵;
75)计算所述特征矩阵的信息增益,构造特征字典;
76)从所述特征词典中提取1024个重要特征,并还原为对应的单词;
77)利用所述步骤76)获取的单词,再次构造得到一个1024维的特征向量;
78)将所述步骤77)得到的特征向量,送入神经网络进行训练,得到一个适用于漏洞识别分类的漏洞预测模型。
6.根据权利要求5所述的一种基于神经网络的软件漏洞检测方法,其特征在于,采用5层前馈神经网络作为漏洞预测模型,所述漏洞预测模型配置如下:
a、五层节点数依次为1024-2000-2000-1000-23;
b、隐含层的激活函数均使用tanh函数;
c、输出层采用softmax函数;
d、采用随机梯度下降算法来更新连接神经元之间的权值;
e、采用dropout方法防止过拟合;
f、batch-size取100。
7.根据权利要求6所述的一种基于神经网络的软件漏洞检测方法,其特征在于,所述权值的学习率取0.2。
8.一种基于神经网络的软件漏洞检测装置,其特征在于,包括预处理模块,关键词提取模块,特征向量构造模块,特征字典构造模块,重要特征提取模块,输入向量模块和识别模块;
所述预处理模块用于对待检测漏洞样本所包含的漏洞文本描述进行预处理;
所述关键词提取模块用于根据TF-IDF算法计算预处理后所得到的每个单词的TF-IDF值,构造一个字典;所述字典的键为单词,值为该单词的TF-IDF值,对字典的值进行由大到小的排序,取字典中前2000个键作为关键词;
所述特征向量构造模块用于基于所述关键词构造一个特征向量;所有待检测漏洞样本的特征向量构成特征矩阵;
所述特征字典构造模块用于基于所述特征矩阵的信息增益构造一个特征字典;
所述重要特征提取模块用于提取所述特征字典的重要特征;
所述输入向量模块用于基于所述重要特征所对应的单词,构造一个特征向量作为输入向量;
所述识别模块用于将输入向量输入漏洞预测模型,识别出待检测漏洞样本的漏洞类型。
9.根据权利要求8所述的一种基于神经网络的软件漏洞检测装置,其特征在于,所述特征向量构造模块针对每一条样本构造一个初始值全为0的2000维向量,将所得到的2000个关键词与该样本的漏洞文本描述进行逐单词匹配,若第i个关键词在样本的漏洞文本描述中出现,则将该2000维向量中第i-1个位置的值置为1,全部匹配完成后,得到一个2000维的特征向量。
10.根据权利要求9所述的一种基于神经网络的软件漏洞检测装置,其特征在于,所述特征字典构造模块根据信息增益算法计算2000维特征矩阵中每个特征的信息增益,构造一个特征字典,所述特征字典的键为特征下标,所述特征字典的值为该特征对应的信息增益值。
11.根据权利要求10所述的一种基于神经网络的软件漏洞检测装置,其特征在于,所述重要特征提取模块将所述特征字典的值从大到小进行排序,取前1024个作为重要特征,然后根据特征下标还原为对应的单词。
CN201910206153.4A 2019-03-19 2019-03-19 一种基于神经网络的软件漏洞检测方法及装置 Active CN110008699B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910206153.4A CN110008699B (zh) 2019-03-19 2019-03-19 一种基于神经网络的软件漏洞检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910206153.4A CN110008699B (zh) 2019-03-19 2019-03-19 一种基于神经网络的软件漏洞检测方法及装置

Publications (2)

Publication Number Publication Date
CN110008699A CN110008699A (zh) 2019-07-12
CN110008699B true CN110008699B (zh) 2022-07-01

Family

ID=67167613

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910206153.4A Active CN110008699B (zh) 2019-03-19 2019-03-19 一种基于神经网络的软件漏洞检测方法及装置

Country Status (1)

Country Link
CN (1) CN110008699B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110502898B (zh) * 2019-07-31 2022-07-05 达闼机器人股份有限公司 审计智能合约的方法、系统、装置、存储介质和电子设备
CN110502902A (zh) * 2019-08-07 2019-11-26 杭州海康威视数字技术股份有限公司 一种漏洞分类方法、装置及设备
CN110866254B (zh) * 2019-09-29 2023-06-30 华为终端有限公司 一种检测漏洞方法与电子设备
CN115563619B (zh) * 2022-09-27 2024-06-18 北京墨云科技有限公司 基于文本预训练模型的漏洞相似性对比方法及系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108763931B (zh) * 2018-05-28 2021-11-16 上海交通大学 基于Bi-LSTM和文本相似性的漏洞检测方法

Also Published As

Publication number Publication date
CN110008699A (zh) 2019-07-12

Similar Documents

Publication Publication Date Title
CN110008699B (zh) 一种基于神经网络的软件漏洞检测方法及装置
CN109299273B (zh) 基于改进seq2seq模型的多源多标签文本分类方法及其系统
CN111061843B (zh) 一种知识图谱引导的假新闻检测方法
US20230031738A1 (en) Taxpayer industry classification method based on label-noise learning
CN109547423B (zh) 一种基于机器学习的web恶意请求深度检测系统及方法
CN110232114A (zh) 语句意图识别方法、装置及计算机可读存储介质
CN112131352A (zh) 一种网页文本类不良信息的检测方法与检测系统
CN111291195A (zh) 一种数据处理方法、装置、终端及可读存储介质
CN111143840B (zh) 一种主机操作指令异常识别的方法及系统
CN112015901A (zh) 文本分类方法及装置、警情分析系统
CN112580346B (zh) 事件抽取方法、装置、计算机设备和存储介质
CN113505200A (zh) 一种结合文档关键信息的句子级中文事件检测的方法
CN113282714B (zh) 一种基于区分性词向量表示的事件检测方法
CN110990562A (zh) 警情分类方法及其系统
CN113051922A (zh) 一种基于深度学习的三元组抽取方法及系统
CN111858878A (zh) 从自然语言文本中自动提取答案的方法、系统及存储介质
CN115292568B (zh) 一种基于联合模型的民生新闻事件抽取方法
CN114756675A (zh) 文本分类方法、相关设备及可读存储介质
CN113239663A (zh) 一种基于知网的多义词中文实体关系识别方法
CN111917788A (zh) 基于hmm模型的sql注入攻击检测方法
CN115481635A (zh) 一种地址要素解析方法和系统
CN117271701A (zh) 一种基于tggat和cnn的系统运行异常事件关系抽取方法及系统
CN113657443B (zh) 一种基于soinn网络的在线物联网设备识别方法
CN111191455A (zh) 一种交通事故损害赔偿中法律条文预测方法
CN115358227A (zh) 一种基于短语增强的开放域关系联合抽取方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant