CN110378126A - 一种漏洞检测方法及系统 - Google Patents
一种漏洞检测方法及系统 Download PDFInfo
- Publication number
- CN110378126A CN110378126A CN201910683868.9A CN201910683868A CN110378126A CN 110378126 A CN110378126 A CN 110378126A CN 201910683868 A CN201910683868 A CN 201910683868A CN 110378126 A CN110378126 A CN 110378126A
- Authority
- CN
- China
- Prior art keywords
- loophole
- software
- map
- entity
- training
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/288—Entity relationship models
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Computing Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及一种漏洞检测方法及系统,其中,所述方法包括:获取安全漏洞数据库中的漏洞数据,并根据所述漏洞数据,构建漏洞图谱的本体结构;获取所述漏洞图谱中的路径特征,并通过准确率和命中率对获取的所述路径特征进行筛选;根据筛选后的路径特征生成用于训练的正样本,以及构造用于训练的负样本,并利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型;通过所述逻辑回归权重模型对软件列表中的软件进行预测,以确定受到漏洞影响的软件。本申请提供的技术方案,能够快速、准确地判定漏洞的影响范围,从而缩减攻击窗口期。
Description
技术领域
本申请涉及数据安全技术领域,特别涉及一种漏洞检测方法及系统。
背景技术
近年来,信息安全问题越来越严重。CVE数据库中的漏洞数量急剧增加,CVE是指公共漏洞和暴露(Common Vulnerabilities and Exposures),用于给广泛认同的信息安全漏洞或已经暴露的脆弱点设定一个标准化的公共名称。在过去3年中,共有37,600个漏洞被披露,而该数据库在20年左右的时间里总共记录了120,125个漏洞。每条漏洞数据是一个实际漏洞的标准化表述,这些数据之间存在一些有价值的关联信息。比如,开源代码能够以功能模块的形式被不同的软件复用,当这些软件中某一个爆发漏洞时,其余软件也会受到影响。CVE数据中记录了广泛认可的安全漏洞的标准化信息,可以帮助研究人员使用标准名称快速定位不同独立漏洞数据库中的相应漏洞信息,并进行进一步的价值挖掘,如漏洞挖掘等。
然而,现有的漏洞挖掘和检测技术(包括动态检测和静态检测),大多分析软件和代码本身的行为。其中,动态检测主要指在可供软件运行的平台上安装软件,模拟用户的操作行为,同时监控软件的运行状况,然后记录和分析软件的行为。静态检测主要是将代码抽象成数据,再根据代码数据的特征来判断其是否有害。这些方法在一定程度上都获得了相应的效果,但并未充分利用软件和漏洞之间的关联信息,且难以通过漏洞检测的方法来全面准确地确定一个漏洞的影响范围。由于人力资源的限制,漏洞数据库在记录已披露的漏洞时往往无法详尽确认其影响范围。对于受到影响但未被记录的漏洞,会导致攻击窗口(攻击窗口是指漏洞披露时间点到厂商修复该漏洞的时间点之间的时间段)的长期暴露,从而带来严重的安全威胁。
现有的自动生成漏洞利用软件的工具最快能够在十几分钟内生成特定漏洞的利用程序,即使是很短的攻击窗口也可能造成严重的后果。
发明内容
本申请的目的在于提供一种漏洞检测方法及系统,能够快速、准确地判定漏洞的影响范围,从而缩减攻击窗口期。
为实现上述目的,本申请提供一种漏洞检测方法,所述方法包括:
获取安全漏洞数据库中的漏洞数据,并根据所述漏洞数据,构建漏洞图谱的本体结构;
获取所述漏洞图谱中的路径特征,并通过准确率和命中率对获取的所述路径特征进行筛选;
根据筛选后的路径特征生成用于训练的正样本,以及构造用于训练的负样本,并利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型;
通过所述逻辑回归权重模型对软件列表中的软件进行预测,以确定受到漏洞影响的软件。
进一步地,根据所述漏洞数据,构建漏洞图谱的本体结构包括:
将所述漏洞数据中用于表示软件和漏洞的信息以实体的形式展示于漏洞图谱中,并设定所述漏洞图谱中各个节点之间的关系类型;其中,所述漏洞图谱的本体结构通过三元组结构数据表示。
进一步地,获取所述漏洞图谱中的路径特征包括:
令关系路径π=<r1,…,rm>为节点v0到vm的关系路径,其中r1,…,rm是漏洞图谱中各个实体之间的关系;
当到达概率P(v0→vm;π)>0时,设定当前的路径特征有效,其中,v0指软件,vm指漏洞的标识符编号,所述到达概率按照以下公式计算:
其中,π′是π的前置关系路径,vi是vm的前置节点,r为vi和vm之间的关系;
当预测r(v0,vm)是否成立时,计算置信分数Score(v0,vm),所述置信分数为:
其中,ρ为枚举节点间的关系路径集合,θj为πj的权重。
进一步地,通过准确率和命中率对获取的所述路径特征进行筛选包括:
对不同的关系路径计算准确率acc(π),单一路径π的准确率指通过该路径到达正确节点的概率,计算公式为:
其中,si和vi代表两个通过路径π连通的节点,并且这两个节点存在目标关系,n为通过路径π连通的节点的总数;
对不同的关系路径计算命中率hits(π),单一路径的命中率指该路径上能够连通的实体对的数量:
其中,P(si→vi;π)>0时I(*)取1,否则I(*)取0。
进一步地,利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型包括:
通过L1-正则和L2-正则构建逻辑回归模型F(θ):
其中,λ1为控制L1-正则的强度的参数,λ2为控制L2-正则的强度的参数;
上述fi(θ)按照以下公式计算:
fi(θ)=yi ln pi(θ)+(1-yi)ln(1-pi(θ))
其中,yi是一个布尔值变量;
上述pi(θ)按照以下公式计算:
其中,xi代表第i个训练样本。
进一步地,通过所述逻辑回归权重模型对软件列表中的软件进行预测包括:
构建漏洞库中存在的软件的列表;
通过训练得到的逻辑回归模型预测与每一个软件存在关系的漏洞;
以漏洞的标识符编号作为键,软件作为值构建字典,得到漏洞影响范围。
进一步地,构建漏洞图谱的本体结构包括:
抽取漏洞主体信息;
抽取漏洞实体;
抽取通用平台枚举实体并构建相应的软件实体;
抽取漏洞属性信息;
根据漏洞数据库的键值抽取实体间关系,以三元组形式构建实体。
为实现上述目的,本申请还提供一种漏洞检测系统,所述系统包括:
图谱构建单元,用于获取安全漏洞数据库中的漏洞数据,并根据所述漏洞数据,构建漏洞图谱的本体结构;
筛选单元,用于获取所述漏洞图谱中的路径特征,并通过准确率和命中率对获取的所述路径特征进行筛选;
模型训练单元,用于根据筛选后的路径特征生成用于训练的正样本,以及构造用于训练的负样本,并利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型;
预测单元,用于通过所述逻辑回归权重模型对软件列表中的软件进行预测,以确定受到漏洞影响的软件。
进一步地,所述图谱构建单元包括:
关系类型设定模块,用于将所述漏洞数据中用于表示软件和漏洞的信息以实体的形式展示于漏洞图谱中,并设定所述漏洞图谱中各个节点之间的关系类型;其中,所述漏洞图谱的本体结构通过三元组结构数据表示。
进一步地,所述预测单元包括:
列表构建模块,用于构建漏洞库中存在的软件的列表;
漏洞预测模块,用于通过训练得到的逻辑回归模型预测与每一个软件存在关系的漏洞;
字典构建模块,用于以漏洞的标识符编号作为键,软件作为值构建字典,得到漏洞影响范围。
由上可见,本申请提供的技术方案,可以构建漏洞知识图谱,并在不同的实体之间建立关联关系,具体体现在漏洞知识图谱中三元组的组成形式。三元组是指形如(实体,关系,实体)的数据结构,实体是现实中具体事物在知识图谱中的体现,而关系则是指实体间的关联信息。并且在构建好的知识图谱上,可以通过知识推理的技术分析漏洞实体和软件实体之间潜在的关系,在漏洞暴露的早期快速、准确的判定漏洞的影响范围,从而达到缩减攻击窗口期的目的。
附图说明
图1为本申请实施例中漏洞检测方法的步骤图;
图2为本申请实施例中漏洞检测系统的功能模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式仅仅是本申请一部分实施方式,而不是全部的实施方式。基于本申请中的实施方式,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施方式,都应当属于本申请保护的范围。
本申请提供一种漏洞检测方法,请参阅图1,所述方法包括:
S1:获取安全漏洞数据库中的漏洞数据,并根据所述漏洞数据,构建漏洞图谱的本体结构;
S2:获取所述漏洞图谱中的路径特征,并通过准确率和命中率对获取的所述路径特征进行筛选;
S3:根据筛选后的路径特征生成用于训练的正样本,以及构造用于训练的负样本,并利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型;
S4:通过所述逻辑回归权重模型对软件列表中的软件进行预测,以确定受到漏洞影响的软件。
具体地,本申请的技术方案可以按照以下步骤来实现:
1)获取开放的安全漏洞数据库中全部的漏洞数据,根据数据库的键值关系设定漏洞图谱的本体结构。针对安全漏洞数据的特性,使用实体抽取模块抽取漏洞数据,搭建安全垂直领域知识图谱体系。并添加软件依赖关系和漏洞描述信息中的数据丰富漏洞之间的关联关系;
2)通过随机游走获取漏洞图谱中的路径特征,即计算不同关系路径类型之间的到达概率作为特征。令关系路径π=<r1,…,rm>为节点v0到vm的关系路径,其中r1,…,rm是实体之间的关系。当P(v0→vm;π)>0时,该特征有效,v0指软件,vm指漏洞的CVE编号。到达概率可以递归的定义为:
其中,π′是π的前置关系路径,vi是vm的前置节点。枚举节点间的关系路径集合ρ,θj为πj的权重。然后将该特征命题化,即当预测r(v0,vm)是否成立时,计算置信分数,该分数越高,三元组为真的可能性越高。置信分数定义为:
3)由于不同路径长度下,关系路径的数量会呈指数增长,通过准确率和命中率对特征进行筛选。
4)通过获取的关系路径、目标节点和关系,直接使用已有数据生成用于训练的正样本。由于知识图谱只包含正确的知识,通过替换实体的方式构造负样本,最后针对漏洞和软件的目标关系hasVulnerability得到训练集{Xi,yi},其中yi代表三元组(A,hasVulnerability,B)是否成立。
5)使用得到的训练集,通过L1正则和L2正则进行逻辑回归模型的训练,得到目标关系为hasVulnerability的逻辑回归权重模型。
6)在训练得到的模型的基础上进行预测,得到漏洞可能影响的软件的列表;
进一步地,步骤1)中实体抽取模块用于从漏洞数据库的结构化数据中抽取实体,主要包括以下几个步骤:
抽取漏洞主体信息;
抽取漏洞实体;
抽取CPE实体并构建相应的软件实体;
抽取漏洞属性信息;
根据漏洞数据库键值抽取实体间关系,以三元组形式构建实体;
进一步地,步骤2)主要包含以下几个步骤:
结合随机游走的特点,通过双向搜索计算实体节点之间的关系路径类型;
针对某一关系路径类型π计算其到达概率,获取一个不同关系路径的概率分布,当P(v0→vm;π)>0时,该特征有效。计算公式递归的定义为(其中,π′为v0到vi的关系路径,vi为vm前一个节点,r为vi和vm的之间的关系):
在随机游走获取的路径特征的基础上,将预测问题命题化。即当预测r(v0,vm)是否成立时(r即hasVulnerability),计算置信分数,该分数越高,三元组为真的可能性越高。算法后续的学习过程就是对不同的关系路径指定不同的权重,从而使置信分数更高。置信分数定义为:
进一步地,步骤3)主要包含以下几个步骤:
对不同的关系路径计算准确率(acc),单一路径π的准确率指通过该路径到达正确节点的概率,计算公式为(其中si和vi代表两个可能通过路径π连通的节点,并且这两个节点存在目标关系,即vi可作为si的“正确节点”):
对不同的关系路径计算命中率(hits),单一路径的命中率指该路径上能够连通的实体对的数量,计算公式为(P(si→vi;π)>0时I()取1否则取0):
进一步地,步骤5)主要包含以下几个步骤:
通过L1-正则和L2-正则构建逻辑回归模型(其中λ1控制L1-正则的强度,λ2控制L2-正则的强度):
定义fi(θ),其中yi是一个布尔值变量,例如代表r(si,ti)是否成立:
fi(θ)=yi ln pi(θ)+(1-yi)ln(1-pi(θ))
定义pi(θ),其中xi代表训练样本,例如xi的第j个参数为P(si→ti;πj):
在步骤4)得到的训练集上,通过调整L2-正则的参数达到最好的准确率(acc),通过调整L1-正则的参数来保持准确率;
进一步地,步骤6)主要包含以下几个步骤:
构建漏洞库中存在的软件的列表;
通过步骤5)中的模型预测与每一个软件存在hasVulnerability关系的漏洞;
以漏洞CVE编号作为键,软件作为值构建字典,得到漏洞影响范围。
在一个实际应用示例中,可以通过以下方式实现本申请的技术方案:
获取开放的安全漏洞数据库中全部的漏洞数据,根据数据库的键值关系设定漏洞图谱的本体结构。主要是将漏洞数据库中的CPE,product,CVE和vendor等能够表示软件和漏洞的信息以实体的形式体现在漏洞图谱中,并设定它们之间的关系类型,比如三元组(CPE,partOf,product)和(product,producedBy,vendor)。其中CPE是指通用平台枚举(Common Platform Enumeration),product是指产品(多为软件产品)实体,vendor是指产品的厂商。通过结构化数据的实体抽取模块获取漏洞实体数据,根据本体结构构建形如(实体-关系-实体)的三元组结构数据,得到基础知识图谱。具体说明如下:
1a)抽取漏洞主体信息,包含漏洞标识符(CVE)、漏洞描述、漏洞评分、相关CPE、产品和厂商等,转到1b);
1b)抽取漏洞实体,即以漏洞标识符(CVE)作为实体,代表一个漏洞,转到1c);
1c)抽取CPE实体并构建相应的软件实体,即将CPE作为直接与漏洞关联的实体,并且将CPE关联到对应的产品上,转到1d);
1d)抽取漏洞属性信息,包含漏洞严重性评分等属性,转到1e);
1e)根据漏洞数据库键值抽取实体间关系,以三元组形式构建实体;
构建漏洞图谱之后,进入知识推理模块。首先是通过随机游走获取漏洞图谱的路径特征,关系路径是指链接两个实体的关系,以如下4个三元组为例:(CVE-2016-5195,comeFrom,mm/gup.c),(mm/gup.c,buildIn,LinuxKernel2.6.18),(LinuxKernel2.6.18,basedOn,enterpriselinux5),(enterpriselinux5,hasVulnerability,CVE-2016-5195)。产品实体enterpriselinux5可以通过关系路径(comeFrom,buildIn,basedOn)以一定的概率(通过随机游走计算得到)到达漏洞实体CVE-2016-5195。并以计算置信分数的方式将问题命题化,即置信分数越高,三元组成立的可能性越高,具体说明如下:
2a)结合随机游走的特点,通过双向搜索计算实体节点之间的关系路径类型,即构建反向关系,以三元组(enterpriselinux5,hasVulnerability,CVE-2016-5195)为例,构建反向三元组用于双向搜索(CVE-2016-5195,_hasVulnerability,enterpriselinux5),转到2b);
2b)针对某一关系路径类型π计算其到达概率,获取一个不同关系路径的概率分布,当P(v0→vm;π)>0时,该特征有效。计算公式递归的定义为:转到2c);
2c)在随机游走获取的路径特征的基础上,将预测问题命题化。即当预测r(v0,vm)是否成立时(r即hasVulnerability),计算置信分数,该分数越高,三元组为真的可能性越高。算法后续的学习过程就是对不同的关系路径指定不同的权重,从而使置信分数更高。置信分数定义为:
通过准确率和命中率对特征进行选择,从而减少计算量并且提高预测精度,具体说明如下:
3a)对不同的关系路径计算准确率(acc),单一路径的准确率指通过该路径到达正确节点的概率,计算公式为:转到3b);
3b)对不同的关系路径计算命中率(hits),单一路径的命中率指该路径上能够连通的实体对的数量,计算公式为(P(si→vi;π)>0时I()取1否则取0):hits(π)=∑iI(P(si→vi;π)>0);
通过上一步获取的关系路径、目标节点和关系,直接使用已有数据生成用于训练的正样本。由于知识图谱只包含正确的知识,通过替换实体的方式构造负样本,最后针对漏洞和软件的目标关系hasVulnerability得到训练集{Xi,yi},其中yi代表三元组(A,hasVulnerability,B)是否成立;
使用上一步获得的训练集,通过L1正则和L2正则进行逻辑回归模型的训练,得到目标关系hasVulnerability的逻辑回归预测模型,具体说明如下:
5a)通过L1-正则和L2-正则构建逻辑回归模型: 转到5b);
5b)定义模型中的参数:fi(θ)=yi ln pi(θ)+(1-yi)ln(1-pi(θ))。转到5c);
5c)定义模型中的参数:转到5d);
5d)在训练集{Xi,yi}上,通过调整L2-正则的参数达到最好的准去率(acc),通过调整L1-正则的参数来保持准确率;
使用上一步训练得到的模型进行预测,得到漏洞可能影响的软件的列表,具体说明如下:
6a)构建漏洞库中存在的软件列表,转到6b);
6b)通过知识推理模型进行预测,获取与软件存在目标关系hasVulnerability的漏洞,剔除置信分数小于阈值的部分,转到6c);
6c)以漏洞CVE编号为键,软件作为值构建字典,得到漏洞影响范围。
请参阅图2,本申请还提供一种漏洞检测系统,所述系统包括:
图谱构建单元,用于获取安全漏洞数据库中的漏洞数据,并根据所述漏洞数据,构建漏洞图谱的本体结构;
筛选单元,用于获取所述漏洞图谱中的路径特征,并通过准确率和命中率对获取的所述路径特征进行筛选;
模型训练单元,用于根据筛选后的路径特征生成用于训练的正样本,以及构造用于训练的负样本,并利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型;
预测单元,用于通过所述逻辑回归权重模型对软件列表中的软件进行预测,以确定受到漏洞影响的软件。
在一个实施方式中,所述图谱构建单元包括:
关系类型设定模块,用于将所述漏洞数据中用于表示软件和漏洞的信息以实体的形式展示于漏洞图谱中,并设定所述漏洞图谱中各个节点之间的关系类型;其中,所述漏洞图谱的本体结构通过三元组结构数据表示。
在一个实施方式中,所述预测单元包括:
列表构建模块,用于构建漏洞库中存在的软件的列表;
漏洞预测模块,用于通过训练得到的逻辑回归模型预测与每一个软件存在关系的漏洞;
字典构建模块,用于以漏洞的标识符编号作为键,软件作为值构建字典,得到漏洞影响范围。
由上可见,本申请提供的技术方案,可以构建漏洞知识图谱,并在不同的实体之间建立关联关系,具体体现在漏洞知识图谱中三元组的组成形式。三元组是指形如(实体,关系,实体)的数据结构,实体是现实中具体事物在知识图谱中的体现,而关系则是指实体间的关联信息。并且在构建好的知识图谱上,可以通过知识推理的技术分析漏洞实体和软件实体之间潜在的关系,在漏洞暴露的早期快速、准确的判定漏洞的影响范围,从而达到缩减攻击窗口期的目的。
上面对本申请的各种实施方式的描述以描述的目的提供给本领域技术人员。其不旨在是穷举的、或者不旨在将本发明限制于单个公开的实施方式。如上所述,本申请的各种替代和变化对于上述技术所属领域技术人员而言将是显而易见的。因此,虽然已经具体讨论了一些另选的实施方式,但是其它实施方式将是显而易见的,或者本领域技术人员相对容易得出。本申请旨在包括在此已经讨论过的本发明的所有替代、修改、和变化,以及落在上述申请的精神和范围内的其它实施方式。
Claims (10)
1.一种漏洞检测方法,其特征在于,所述方法包括:
获取安全漏洞数据库中的漏洞数据,并根据所述漏洞数据,构建漏洞图谱的本体结构;
获取所述漏洞图谱中的路径特征,并通过准确率和命中率对获取的所述路径特征进行筛选;
根据筛选后的路径特征生成用于训练的正样本,以及构造用于训练的负样本,并利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型;
通过所述逻辑回归权重模型对软件列表中的软件进行预测,以确定受到漏洞影响的软件。
2.根据权利要求1所述的方法,其特征在于,根据所述漏洞数据,构建漏洞图谱的本体结构包括:
将所述漏洞数据中用于表示软件和漏洞的信息以实体的形式展示于漏洞图谱中,并设定所述漏洞图谱中各个节点之间的关系类型;其中,所述漏洞图谱的本体结构通过三元组结构数据表示。
3.根据权利要求1所述的方法,其特征在于,获取所述漏洞图谱中的路径特征包括:
令关系路径π=<r1,…,rm>为节点v0到vm的关系路径,其中r1,…,rm是漏洞图谱中各个实体之间的关系;
当到达概率P(v0→vm;π)>0时,设定当前的路径特征有效,其中,v0指软件,vm指漏洞的标识符编号,所述到达概率按照以下公式计算:
其中,π′是π的前置关系路径,vi是vm的前置节点,r为vi和vm之间的关系;
当预测r(v0,vm)是否成立时,计算置信分数Score(v0,vm),所述置信分数为:
其中,ρ为枚举节点间的关系路径集合,θj为πj的权重。
4.根据权利要求3所述的方法,其特征在于,通过准确率和命中率对获取的所述路径特征进行筛选包括:
对不同的关系路径计算准确率acc(π),单一路径π的准确率指通过该路径到达正确节点的概率,计算公式为:
其中,si和vi代表两个通过路径π连通的节点,并且这两个节点存在目标关系,n为通过路径π连通的节点的总数;
对不同的关系路径计算命中率hits(π),单一路径的命中率指该路径上能够连通的实体对的数量:
其中,P(si→vi;π)>0时I(*)取1,否则I(*)取0。
5.根据权利要求3所述的方法,其特征在于,利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型包括:
通过L1-正则和L2-正则构建逻辑回归模型F(θ):
其中,λ1为控制L1-正则的强度的参数,λ2为控制L2-正则的强度的参数;
上述fi(θ)按照以下公式计算:
fi(θ)=yiln pi(θ)+(1-yi)ln(1-pi(θ))
其中,yi是一个布尔值变量;
上述pi(θ)按照以下公式计算:
其中,xi代表第i个训练样本。
6.根据权利要求1所述的方法,其特征在于,通过所述逻辑回归权重模型对软件列表中的软件进行预测包括:
构建漏洞库中存在的软件的列表;
通过训练得到的逻辑回归模型预测与每一个软件存在关系的漏洞;
以漏洞的标识符编号作为键,软件作为值构建字典,得到漏洞影响范围。
7.根据权利要求1所述的方法,其特征在于,构建漏洞图谱的本体结构包括:
抽取漏洞主体信息;
抽取漏洞实体;
抽取通用平台枚举实体并构建相应的软件实体;
抽取漏洞属性信息;
根据漏洞数据库的键值抽取实体间关系,以三元组形式构建实体。
8.一种漏洞检测系统,其特征在于,所述系统包括:
图谱构建单元,用于获取安全漏洞数据库中的漏洞数据,并根据所述漏洞数据,构建漏洞图谱的本体结构;
筛选单元,用于获取所述漏洞图谱中的路径特征,并通过准确率和命中率对获取的所述路径特征进行筛选;
模型训练单元,用于根据筛选后的路径特征生成用于训练的正样本,以及构造用于训练的负样本,并利用所述正样本和所述负样本进行逻辑回归模型的训练,得到逻辑回归权重模型;
预测单元,用于通过所述逻辑回归权重模型对软件列表中的软件进行预测,以确定受到漏洞影响的软件。
9.根据权利要求8所述的系统,其特征在于,所述图谱构建单元包括:
关系类型设定模块,用于将所述漏洞数据中用于表示软件和漏洞的信息以实体的形式展示于漏洞图谱中,并设定所述漏洞图谱中各个节点之间的关系类型;其中,所述漏洞图谱的本体结构通过三元组结构数据表示。
10.根据权利要求8所述的系统,其特征在于,所述预测单元包括:
列表构建模块,用于构建漏洞库中存在的软件的列表;
漏洞预测模块,用于通过训练得到的逻辑回归模型预测与每一个软件存在关系的漏洞;
字典构建模块,用于以漏洞的标识符编号作为键,软件作为值构建字典,得到漏洞影响范围。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683868.9A CN110378126B (zh) | 2019-07-26 | 2019-07-26 | 一种漏洞检测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910683868.9A CN110378126B (zh) | 2019-07-26 | 2019-07-26 | 一种漏洞检测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110378126A true CN110378126A (zh) | 2019-10-25 |
CN110378126B CN110378126B (zh) | 2021-03-26 |
Family
ID=68256491
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910683868.9A Active CN110378126B (zh) | 2019-07-26 | 2019-07-26 | 一种漏洞检测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110378126B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111400197A (zh) * | 2020-05-29 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 应用程序包分析方法、装置及计算机可读存储介质 |
CN111881300A (zh) * | 2020-07-03 | 2020-11-03 | 扬州大学 | 面向第三方库依赖的知识图谱构建方法及系统 |
CN112347486A (zh) * | 2020-11-30 | 2021-02-09 | 山东浪潮商用系统有限公司 | 用于实现隐私保护的代码漏洞审查方法、装置及可读介质 |
CN112417463A (zh) * | 2020-12-14 | 2021-02-26 | 北京金山云网络技术有限公司 | 软件漏洞预测方法、装置、计算机设备及存储介质 |
CN112671716A (zh) * | 2020-12-03 | 2021-04-16 | 中国电子科技网络信息安全有限公司 | 基于图谱的漏洞知识挖掘方法及系统 |
CN112925899A (zh) * | 2021-02-09 | 2021-06-08 | 重庆中科云从科技有限公司 | 排序模型建立方法、案件线索推荐方法、装置及介质 |
CN113495963A (zh) * | 2020-03-19 | 2021-10-12 | 复旦大学 | 网络安全知识图谱的嵌入表示方法及装置 |
CN113688401A (zh) * | 2021-08-31 | 2021-11-23 | 杨馨 | 基于大数据漏洞挖掘的漏洞修复方法及人工智能挖掘系统 |
CN115033894A (zh) * | 2022-08-12 | 2022-09-09 | 中国电子科技集团公司第三十研究所 | 一种基于知识图谱的软件组件供应链安全检测方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166680A (zh) * | 2014-07-12 | 2014-11-26 | 中国信息安全测评中心 | 一种基于开源库与文本挖掘的并行漏洞挖掘方法 |
CN107194260A (zh) * | 2017-04-20 | 2017-09-22 | 中国科学院软件研究所 | 一种基于机器学习的Linux‑Kernel关联CVE智能预测方法 |
US20170353480A1 (en) * | 2016-04-28 | 2017-12-07 | International Business Machines Corporation | Network security apparatus and method of detecting malicious behavior in computer networks via cost-sensitive and connectivity constrained classification |
CN107637041A (zh) * | 2015-03-17 | 2018-01-26 | 英国电讯有限公司 | 恶意加密网络流量识别的习得的简况 |
CN108270785A (zh) * | 2018-01-15 | 2018-07-10 | 中国人民解放军国防科技大学 | 一种基于知识图谱的分布式安全事件关联分析方法 |
US20180205755A1 (en) * | 2017-01-19 | 2018-07-19 | University Of North Texas | Systems and methods for adaptive vulnerability detection and management |
CN109558304A (zh) * | 2017-09-27 | 2019-04-02 | 北京邮电大学 | 一种组件关联分析方法、装置及电子设备 |
CN109614495A (zh) * | 2018-08-08 | 2019-04-12 | 广州初星科技有限公司 | 一种结合知识图谱和文本信息的相关公司挖掘方法 |
-
2019
- 2019-07-26 CN CN201910683868.9A patent/CN110378126B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104166680A (zh) * | 2014-07-12 | 2014-11-26 | 中国信息安全测评中心 | 一种基于开源库与文本挖掘的并行漏洞挖掘方法 |
CN107637041A (zh) * | 2015-03-17 | 2018-01-26 | 英国电讯有限公司 | 恶意加密网络流量识别的习得的简况 |
US20170353480A1 (en) * | 2016-04-28 | 2017-12-07 | International Business Machines Corporation | Network security apparatus and method of detecting malicious behavior in computer networks via cost-sensitive and connectivity constrained classification |
US20180205755A1 (en) * | 2017-01-19 | 2018-07-19 | University Of North Texas | Systems and methods for adaptive vulnerability detection and management |
CN107194260A (zh) * | 2017-04-20 | 2017-09-22 | 中国科学院软件研究所 | 一种基于机器学习的Linux‑Kernel关联CVE智能预测方法 |
CN109558304A (zh) * | 2017-09-27 | 2019-04-02 | 北京邮电大学 | 一种组件关联分析方法、装置及电子设备 |
CN108270785A (zh) * | 2018-01-15 | 2018-07-10 | 中国人民解放军国防科技大学 | 一种基于知识图谱的分布式安全事件关联分析方法 |
CN109614495A (zh) * | 2018-08-08 | 2019-04-12 | 广州初星科技有限公司 | 一种结合知识图谱和文本信息的相关公司挖掘方法 |
Non-Patent Citations (4)
Title |
---|
TAO LIU 等: "Application of Logistic Regression in WEB Vulnerability Scanning", 《2018 INTERNATIONAL CONFERENCE ON SENSOR NETWORKS AND SIGNAL PROCESSING (SNSP)》 * |
YUAN JINGFENG 等: "Modelling residual value risk through ontology to address vulnerability of PPP project system", 《ADVANCED ENGINEERING INFORMATICS》 * |
汪渊 等: "基于安全案例推理的网络安全分析方法研究与应用", 《小型微型计算机系统》 * |
饶志宏 等: "软件与系统漏洞分析与发现技术研究构想和成果展望", 《工程科学与技术》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113495963A (zh) * | 2020-03-19 | 2021-10-12 | 复旦大学 | 网络安全知识图谱的嵌入表示方法及装置 |
CN113495963B (zh) * | 2020-03-19 | 2023-03-14 | 复旦大学 | 网络安全知识图谱的嵌入表示方法及装置 |
CN111400197A (zh) * | 2020-05-29 | 2020-07-10 | 支付宝(杭州)信息技术有限公司 | 应用程序包分析方法、装置及计算机可读存储介质 |
CN111881300A (zh) * | 2020-07-03 | 2020-11-03 | 扬州大学 | 面向第三方库依赖的知识图谱构建方法及系统 |
CN112347486A (zh) * | 2020-11-30 | 2021-02-09 | 山东浪潮商用系统有限公司 | 用于实现隐私保护的代码漏洞审查方法、装置及可读介质 |
CN112671716A (zh) * | 2020-12-03 | 2021-04-16 | 中国电子科技网络信息安全有限公司 | 基于图谱的漏洞知识挖掘方法及系统 |
CN112671716B (zh) * | 2020-12-03 | 2022-07-05 | 中国电子科技网络信息安全有限公司 | 基于图谱的漏洞知识挖掘方法及系统 |
CN112417463A (zh) * | 2020-12-14 | 2021-02-26 | 北京金山云网络技术有限公司 | 软件漏洞预测方法、装置、计算机设备及存储介质 |
CN112925899A (zh) * | 2021-02-09 | 2021-06-08 | 重庆中科云从科技有限公司 | 排序模型建立方法、案件线索推荐方法、装置及介质 |
CN112925899B (zh) * | 2021-02-09 | 2023-06-23 | 重庆中科云从科技有限公司 | 排序模型建立方法、案件线索推荐方法、装置及介质 |
CN113688401A (zh) * | 2021-08-31 | 2021-11-23 | 杨馨 | 基于大数据漏洞挖掘的漏洞修复方法及人工智能挖掘系统 |
CN115033894A (zh) * | 2022-08-12 | 2022-09-09 | 中国电子科技集团公司第三十研究所 | 一种基于知识图谱的软件组件供应链安全检测方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN110378126B (zh) | 2021-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110378126A (zh) | 一种漏洞检测方法及系统 | |
CN105740712B (zh) | 基于贝叶斯网络的Android恶意行为检测方法 | |
CN110233849B (zh) | 网络安全态势分析的方法及系统 | |
CN112910695B (zh) | 基于全局注意力时域卷积网络的网络故障预测方法 | |
Yu et al. | An automatically tuning intrusion detection system | |
CN112131882A (zh) | 一种多源异构网络安全知识图谱构建方法及装置 | |
CN109347801A (zh) | 一种基于多源词嵌入和知识图谱的漏洞利用风险评估方法 | |
CN108347430A (zh) | 基于深度学习的网络入侵检测和漏洞扫描方法及装置 | |
CN108200030A (zh) | 恶意流量的检测方法、系统、装置及计算机可读存储介质 | |
CN108763931A (zh) | 基于Bi-LSTM和文本相似性的漏洞检测方法 | |
CN107682323A (zh) | 一种工业控制系统网络访问安全性预警系统及方法 | |
CN104601591A (zh) | 网络攻击源组织检测方法 | |
Qin et al. | Association analysis-based cybersecurity risk assessment for industrial control systems | |
CN105072214A (zh) | 基于域名特征的c&c域名识别方法 | |
CN105653725A (zh) | 基于条件随机场的mysql数据库强制访问控制自适应优化方法 | |
CN105210078A (zh) | 用于量化系统的漏洞的装置及其方法 | |
CN114422224A (zh) | 面向攻击溯源的威胁情报智能分析方法及系统 | |
CN113326050A (zh) | 基于神经网络与动态模糊测试结合的智能合约漏洞检测方法 | |
CN113157385A (zh) | 一种基于图神经网络的智能合约漏洞自动化检测方法 | |
CN106874762B (zh) | 基于api依赖关系图的安卓恶意代码检测方法 | |
CN110096013A (zh) | 一种工业控制系统的入侵检测方法及装置 | |
CN109936560A (zh) | 恶意软件防护方法及装置 | |
CN108566307B (zh) | 一种定量化的网络安全保护强度评估方法及系统 | |
CN117692242A (zh) | 一种基于图谱分析的网络攻击路径分析方法 | |
Tweed et al. | The role of models in arguments about urban sustainability |
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 |