CN115225338A - 一种基于知识图谱的漏洞关联图生成方法及存储介质 - Google Patents
一种基于知识图谱的漏洞关联图生成方法及存储介质 Download PDFInfo
- Publication number
- CN115225338A CN115225338A CN202210742246.0A CN202210742246A CN115225338A CN 115225338 A CN115225338 A CN 115225338A CN 202210742246 A CN202210742246 A CN 202210742246A CN 115225338 A CN115225338 A CN 115225338A
- Authority
- CN
- China
- Prior art keywords
- vulnerability
- node
- graph
- data
- nodes
- 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
- 238000000034 method Methods 0.000 title claims abstract description 39
- 238000010586 diagram Methods 0.000 claims abstract description 42
- 238000007781 pre-processing Methods 0.000 claims abstract description 23
- 238000011156 evaluation Methods 0.000 claims abstract description 15
- 230000008439 repair process Effects 0.000 claims abstract description 7
- 239000011159 matrix material Substances 0.000 claims description 42
- 230000009191 jumping Effects 0.000 claims description 22
- 238000010276 construction Methods 0.000 claims description 18
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012800 visualization Methods 0.000 abstract description 4
- 230000008520 organization Effects 0.000 abstract description 2
- 230000008569 process Effects 0.000 description 8
- 239000002699 waste material Substances 0.000 description 4
- 238000004140 cleaning Methods 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000012854 evaluation process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1433—Vulnerability analysis
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/12—Discovery or management of network topologies
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明的一种基于知识图谱的漏洞关联图生成方法及存储介质,包括获取原始漏洞信息和实际网络数据,并进行数据预处理;并根据预先设计的漏洞知识图谱本体模型,构建漏洞知识图谱;根据预设的漏洞关联图生成算法,生成漏洞关联图,用于后续漏洞关联评估、漏洞修复、漏洞管理。本发明采用知识图谱组织、存储数据,利用知识图谱图形化存储知识的能力,可以直观的显示出漏洞之间的关联关系,解决漏洞库可视化程度差、可读性差的问题。利用知识图谱的实体和关系可以实现利用弱点和攻击以及已有的攻击之间的关系、攻击和弱点的关系、弱点和漏洞的关系,将数据组织起来,获得理想状态下漏洞的关联关系,实现对漏洞相关数据的高效组织和推理。
Description
技术领域
本发明涉及网络安全技术领域,具体涉及一种基于知识图谱的漏洞关联图生成方法及存储介质。
背景技术
如何更好地管理漏洞、针对漏洞进行修复的研究逐渐成为安全领域的研究重点。而如何评估不同漏洞的危害性大小,从而帮助企业解决漏洞修复的优先级问题,将有限的资源投入到修复和解决更容易被攻击并且被攻击后产生的后果和损失更为严重的高危害性漏洞,是研究修复工作的痛点问题。
美国通用漏洞评估体系(CVSS)是目前行业内通用的漏洞评估体系,但是该评估体系仅仅从技术层面评估单个漏洞的危害性,没有考虑漏之间存在关联关系。
在评估漏洞的危害性时有必要研究漏洞的关联评估。随着网络防御能力的提升,仅仅依靠单步攻击即可完成入侵目的几乎不可能实现,多步攻击已经成为网络攻击主要手段。多步攻击往往是以一系列典型的单步攻击手段组合而成,在攻击过程中利用不同漏洞之间的关联关系,发起攻击。
研究漏洞的关联评估前,需要获得漏洞之间的关联关系(即多步攻击中漏洞的利用顺序关系)。漏洞关联图可以建立一个比较完整的漏洞攻击模型,能够反映***中各个漏洞节点在攻击路径上的关联关系。
目前主流的漏洞关联图生成方法是先利用传统攻击图生成算法生成攻击图,再根据漏洞关联规则将攻击图简化为漏洞关联图。常用的漏洞关联规则是权限提升规则,即攻击者在利用漏洞前后所拥有的受害主机上的权限的提升。
该过程生成的漏洞关联图的质量不仅取决于攻击图生成算法的质量,还与定义的漏洞关联规则有关,引入了更多误差。而且漏洞之间的关联规则是人为定义的,漏洞之间存在的关联关系可解释性较差;在攻击图简化为漏洞关联图过程中还存在资源浪费问题。
传统的漏洞关联评估数据存储在漏洞库中,漏洞和漏洞属性以及漏洞之间的关联关系以文字形式表现,信息可视化程度差、可读性差,漏洞之间潜在的相关性难以直观表达,难以判断漏洞关联图生成的准确性,导致漏洞评估过程可解释性差。
如图1所示美国国家漏洞库(NVD)将漏洞和弱点对应起来,如图2所示通用攻击模式和枚举(CAPEC)将攻击模式和弱点关联起来,可以利用通用攻击模式和弱点将漏洞关联起来。首先利用CAPEC数据集的Relationships将攻击关联起来,获得多步攻击中的攻击顺序;利用CAPEC数据集的Related Weakness将攻击和弱点关联起来,获得多步攻击中利用的弱点顺序;再利用NVD数据集中弱点和漏洞的关系,将漏洞和弱点关联起来,获得多步攻击中漏洞的利用顺序,即可得到理想状态下的漏洞关联关系。
发明内容
本发明提出的一种基于知识图谱的漏洞关联图生成方法,可解决上述技术问题。
为实现上述目的,本发明采用了以下技术方案:
一种基于知识图谱的漏洞关联图生成方法,包括以下步骤,
S1、获取原始漏洞信息,获取待评估的网络的实际网络数据,提取评估方案所需数据进行数据预处理;
S2、基于步骤S1得到的数据,并根据预先设计的漏洞知识图谱本体模型,构建漏洞知识图谱;
S3、基于步骤S2构建好的漏洞知识图谱,根据预设的漏洞关联图生成算法,生成漏洞关联图,所述漏洞关联图用于后续漏洞关联评估、漏洞修复、漏洞管理。
进一步的,步骤S1中所述原始漏洞信息包括json格式的美国国家漏洞库NVD 数据集、csv格式的攻击模式和枚举CAPEC数据集、xml格式的中国国家信息安全共享平台CNVD数据集中的原始数据;
所述实际网络数据包括网络拓扑结构、网络节点漏洞扫描信息、网络节点资产重要性信息。
进一步的,所述数据预处理包括对采集到的json格式的美国国家漏洞库NVD 数据集、csv格式的攻击模式和枚举CAPEC数据集、xml格式的中国国家信息安全共享平台CNVD数据集中的原始数据进行预处理,提取出评估需要的数据包括漏洞CVE编号、弱点CWE编号、攻击模式编号、Relationships、Related Weakness 等,并生成对应的csv文件,方便后续利用构建算法将数据导入图数据库;
数据预处理还需要对采集到的实际网络数据进行预处理,获得网络节点关系矩阵、网络节点漏洞关系、网络节点资产重要性信息,生成网络节点和对应漏洞的csv文件,方便后续利用构建算法将数据导入图数据库。
进一步的,所述构建漏洞知识图谱包括:
第一步:设计的漏洞知识图谱本体模型。设计漏洞知识图谱本体模型,其中本体包括资产、漏洞、弱点、攻击四大类,关系包括漏洞指向资产affect、弱点指向漏洞relate、攻击指向弱点utilize、多步攻击中攻击上一步指向攻击下一步ChildOf、攻击指向同等级攻击PeerOf五大类;其中资产即漏洞所在节点的属性包括资产的价格price、资产在网络中扮演的角色即客户端/服务器,这两个属性反映了资产的重要性;
第二步:选择图数据库;
第三步:设计漏洞知识图谱构建算法,根据漏洞知识图谱本体模型组织数据预处理模块得到的漏洞数据集数据、网络节点集合、网络节点漏洞关系矩阵、网络节点资产重要度属性;构建漏洞知识图谱模块的知识图谱构建算法调用Python 提供的Py2neo库操作Neo4j,构建并存储漏洞知识图谱。
进一步的,漏洞关联图生成包括:
漏洞关联图生成是基于漏洞知识图谱以及实际网络节点邻接矩阵、网络节点漏洞关系,利用设计的漏洞关联图生成算法生成漏洞关联图;
漏洞关联图生成算法是根据实际网络数据获得节点间的关系、节点和漏洞的关系,遍历节点及节点上的漏洞,在节点关系数据中查询两漏洞所在节点是否关联,在漏洞知识图谱漏中查询两漏洞之间是否存在攻击上下步关系,从而生成漏洞关联图。
进一步的,漏洞关联图生成包括:
第一步:获取数据预处理模块得到的节点集合、漏洞集合、网络节点邻接矩阵、网络节点漏洞关系矩阵;具体为基于实际网络拓扑结构,获取网络节点集合 Nodes:[host1host2 host3 host4 host5]、该网络对应的网络节点邻接矩阵Nodes_Adjacent:Nodes_Adjacent[i][j]值为1代表网络节点集合Nodes中第i+1个节点和第j+1个节点邻接,Nodes_Adjacent[i][j]值为 0代表网络节点集合Nodes中第i+1个节点和第j+1个节点不邻接;当节点漏洞扫描信息显示host1存在漏洞vul1,节点host2存在漏洞vul1、vul2,节点host3存在漏洞vul3,节点host4存在漏洞vul4,节点host5存在漏洞vul4,则可获得漏洞集合Vuls:[vul1 vul2 vul3 vul4]、网络节点漏洞关系矩阵Nodes_Vuls:Nodes_Vuls[i][j]值为1代表网络节点集合Nodes中第i+1个节点上存在漏洞集合Vuls中的第j+1个漏洞;
第二步:生成主机host:漏洞vul节点;遍历网络节点集合Nodes、漏洞集合Vuls,查询网络节点漏洞关系矩阵Nodes_Vuls,判断第i个网络节点上是否存在漏洞第j个漏洞,若存在则生成Nodes[i]:Vuls[j]顶点;
第三步:创建主机:漏洞顶点之间的关联边;
(8)遍历节点邻接矩阵Nodes_Adjacent的行,即第i列/行对应节点集合中的第i个节点;
(9)对于第i行,若i=n,遍历结束,输出漏洞知识图谱;否则,从j=i开始遍历节点邻接矩阵中j>=i的列;
(10)对于第i个节点,从0开始遍历漏洞集合,若i_vul<m,遍历未完成,执行步骤(4);否则j+1,跳入(7);
(11)对于第j个节点,从0开始遍历漏洞集合,若j_vul<m,遍历未完成,执行步骤(5);否则i_vul+1,跳入步骤(3);
(12)查询节点漏洞关系矩阵Nodes_Vuls,若第i个节点上的第i_vul个漏洞和第j个节点上的第j_vul个漏洞同时存在,执行步骤(5);否则j_vul+1,跳入步骤(4);
(13)查询漏洞知识图谱,若漏洞知识图谱中漏洞Vuls[i_vul]和漏洞 Vuls[j_vul]存在攻击上下步关系,则在漏洞关联图中的顶点Nodes[i]:Vuls[i_vul]、 Nodes[j]:Vuls[j_vul]之间连接一条有向边,有向边的方向与知识图谱中漏洞 Vuls[i_vul]、Vuls[j_vul]分别关联的攻击模式a1、a2之间的方向相同,j_vul+1,跳入步骤(4);否则直接j_vul+1,跳入步骤(4);
(14)若j<n,查询节点邻接矩阵,若第i个节点和第j个节点相邻,跳入步骤(3);否则j+1,跳入步骤(7),若j=n,i+1,跳入步骤(2)。
另一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述方法的步骤。
由上述技术方案可知,本发明提出一种基于漏洞知识图谱的漏洞关联图生成方法,利用漏洞知识图谱将NVD数据集、CAPEC数据集中漏洞、弱点和攻击以及它们的关系组织起来,并可视化存储,获得理想状态下漏洞的关联关系。并结合实际网络节点的资产信息和漏洞信息,在漏洞知识图谱中利用资产实体和漏洞实体,将漏洞和节点(资产)关联起来。最后遍历根据实际网络拓扑结构和漏洞扫描数据获得的节点邻接矩阵以及节点漏洞关系矩阵,在漏洞知识图谱中查询漏洞间是否存在攻击上下步关系,生成实际网络对应得漏洞关联图。为后续对漏洞进行关联评估打下基础。
本发明的基于知识图谱的漏洞关联图生成方法,采用知识图谱组织、存储数据,利用知识图谱图形化存储知识的能力,可以直观的显示出漏洞之间的关联关系,解决漏洞库可视化程度差、可读性差的问题。利用知识图谱的实体和关系可以实现利用弱点和攻击以及已有的攻击之间的关系、攻击和弱点的关系、弱点和漏洞的关系,将数据组织起来,获得理想状态下漏洞的关联关系,实现对漏洞相关数据的高效组织和推理。
本发明在构建知识图谱时,首先利用从NVD数据集、CNVD数据集、CAPEC 数据集中获取的结构化知识初步构建一个漏洞知识图谱;最后根据网络的节点信息、资产信息、***中安装部署的安全防护措施信息生成资产(节点)实体,补全漏洞知识图谱。根据数据集推理获得的漏洞之间的关联关系,是在假设***无限大、漏洞无限多的理想状态下的漏洞关联关系。最后基于知识图谱中理想状态下的漏洞关联关系,结合实际网络拓扑结构才能生成实际网络对应得漏洞关联图。
总的来说,本发明基于NVD、CAPEC数据集,利用知识图谱充分挖掘现有典型数据库间的关系,获取理想状态下的漏洞关联关系,并结合实际网络拓扑结构、漏洞扫描数据直接生成漏洞关联图,不需要经过传统攻击图生成算法和漏洞关联规则的处理,改善了利用传统的漏洞关联图生成方法生成关联图的过程中引入了更多误差和资源浪费问题。并且漏洞知识图谱能够可视化的展现漏洞的关联关系,可以在知识图谱中验证生成的漏洞关联图中的邻接漏洞之间是否真实存在关联关系以及明确查明邻接漏洞是如何被关联起来的,提高了漏洞关联图生成算法的质量和关联图的可解释性。
附图说明
图1是美国国家漏洞库(NVD)实例;其中,cve_data_meta:表明漏洞的cve 编号,problemtype:表明与此漏洞相关的弱点;
图2是通用攻击模式和枚举(CAPEC)示例;其中,Relationships:显示与此攻击模式相关的其他攻击模式;攻击模式间的关系包括:ChildOf(CanFollow)、 ParentOf(CanPrecede),以及与此攻击模式同等级的类似关系——PeerOf (CanAlsoBe);RelatedWeakness:与该攻击模式相关的弱点;
图3是本发明的整体框架图;
图4是本发明实施例的漏洞知识图谱本体模型示例;
图5是本发明实施例的已构建的漏洞知识图谱截图示例;
图6是本发明实施例的漏洞关联图示例;
图7是本发明实施例的漏洞关联图生成算法流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。
本发明实施例基于构建的漏洞知识图谱,利用漏洞知识图谱组织漏洞、弱点、攻击、漏洞和弱点的关系、弱点和攻击的关系、攻击之间的关系,并利用知识图谱的推理能力获得漏洞之间的关联关系;最后结合实际网络拓扑结构和节点上的漏洞信息,生成漏洞关联图。知识图谱在网络安全领域具有很大的潜力。利用知识图谱强大的组织数据能力,可以根据本发明设计的构建方案统一组织、存储、管理来自不同数据源的网络安全数据。其次,利用知识图谱强大的推理能力,能根据已有数据,推理得到理想状态下漏洞之间的关联关系,充分利用了现有漏洞数据库NVD和攻击数据库CAPEC。最后利用知识图高度的可视化能力,能提高生成的漏洞关联图中漏洞之间关系的可解释性。解决传统漏洞关联图生成方法误差较大、可解释性差和资源浪费问题。
具体如图3所示,本实施例所述的基于知识图谱的漏洞关联图生成方法,包括以下步骤,
S1、获取可靠的原始漏洞信息,如采集到的json格式的美国国家漏洞库NVD 数据集、csv格式的攻击模式和枚举CAPEC数据集、xml格式的中国国家信息安全共享平台CNVD数据集等;获取待评估的网络的实际网络数据,如网络拓扑结构、网络节点漏洞扫描信息、网络节点资产重要性信息等。提取评估方案所需数据,清洗、整理数据,以便后续基于此数据构建漏洞知识图谱。
S2、基于S1得到的数据,并根据方案设计的漏洞知识图谱本体模型,构建漏洞知识图谱,以便后续基于漏洞知识图谱生成漏洞关联图。
S3、基于S2构建好的漏洞知识图谱和S1预处理后获得的网络节点关联关系、节点漏洞关系,根据设计的漏洞关联图生成算法,生成漏洞关联图。该漏洞关联图可用于后续漏洞关联评估、漏洞修复、漏洞管理等工作。
以下分别说明:
整体框架
如图3所示,本发明主要由数据预处理、漏洞知识图谱构建、漏洞关联图生成模块组成。其中漏洞知识图谱的构建数据来源包括两大部分:采集到的json格式的美国国家漏洞库NVD数据集、csv格式的攻击模式和枚举CAPEC数据集、 xml格式的中国国家信息安全共享平台CNVD数据集和实际网络数据。原始数据经数据预处理模块完成数据清洗、数据提取等操作;之后将预处理后的数据输入漏洞知识图谱构建模块,构建漏洞知识图谱;最后将漏洞知识图谱和实际网络信息预处理后得到的节点邻接矩阵、节点集合、节点漏洞关系矩阵输入漏洞关联图生成模块,调用漏洞关联图生成算法生成漏洞关联图。基于生成的漏洞关联图计算漏洞关联度(对漏洞进行关联评估的重要因素),为后续进行漏洞关联评估打下基础。
数据预处理模块
数据预处理模块对采集到的json格式的美国国家漏洞库NVD数据集、csv格式的攻击模式和枚举CAPEC数据集、xml格式的中国国家信息安全共享平台 CNVD数据集中的原始数据进行预处理,提取出评估需要的漏洞数据集数据(如:漏洞CVE编号、弱点CWE编号、攻击模式编号、Relationships、Related Weakness 等)并生成对应的csv文件,方便后续利用构建算法将数据导入图数据库。
数据预处理模块还需要对采集到的实际网络数据进行预处理,获得网络节点集合、网络节点资产重要度属性、漏洞集合、网络节点漏洞关系矩阵,生成网络节点和对应漏洞的csv文件,方便后续利用构建算法将数据导入图数据库;获得网络节点邻接矩阵,方便后续利用漏洞关联图生成算法生成漏洞关联图。
漏洞知识图谱构建模块
漏洞知识图谱构建模块基于设计的漏洞知识图谱本体模型和选择的图数据库,组织数据结构,编写构建算法,生成漏洞知识图谱。
第一步:设计的漏洞知识图谱本体模型。设计如图4所示的漏洞知识图谱本体模型,其中本体包括资产、漏洞、弱点、攻击四大类,关系包括affect(漏洞指向资产)、relate(弱点指向漏洞)、utilize(攻击指向弱点)、ChildOf(多步攻击中攻击上一步指向攻击下一步)、PeerOf(攻击指向同等级攻击)五大类。其中资产 (漏洞所在节点)的属性包括资产的价格(price)、资产在网络中扮演的角色(客户端/服务器),这两个属性在一定程度上反映了资产的重要性。
第二步:选择图数据库。选择使用图数据库Neo4j。
第三步:设计漏洞知识图谱构建算法。根据漏洞知识图谱本体模型组织数据预处理模块得到的漏洞数据集数据、网络节点集合、网络节点漏洞关系矩阵、网络节点资产重要度属性(节点价格、角色等);构建漏洞知识图谱模块的知识图谱构建算法调用Python提供的Py2neo库操作Neo4j,构建并存储如图5所示漏洞知识图谱。
漏洞关联图生成模块
漏洞关联图生成模块是基于漏洞知识图谱以及实际网络节点邻接矩阵、网络节点漏洞关系矩阵,利用设计的漏洞关联图生成算法生成漏洞关联图。以图6为例,实际网络拓扑结构如左图所示时,基于实际网络信息经数据预处理后得到的数据和漏洞知识图谱,调用图7所示漏洞关联图生成算法可生成如右图漏洞关联图。
生成的漏洞关联图中有向箭头由多步攻击中上一步攻击利用的漏洞指向下一步攻击利用的漏洞。有向边用该有向边连接的两个漏洞所在资产的重要性表示:反映了该有向边连接的两个漏洞所在资产(网络节点) 的重要性。有向边的权重用有向边连接的两个漏洞所在资产的重要性的平均值表示:因为攻击者倾向于攻击更重要的漏洞,同一个漏洞指向不同漏洞,指向的漏洞重要性越高,攻击者越有可能选择该漏洞作为下一步攻击目标,而漏洞所在资产的重要性在一定程度上反映了漏洞的重要性。
漏洞关联图生成算法的思想是根据实际网络数据获得节点间的关系、节点和漏洞的关系,遍历节点及节点上的漏洞(深度优先),在漏洞知识图谱漏中查询两漏洞之间是否存在攻击上下步关系,从而生成漏洞关联图。漏洞关联图生成算法流程图如图7所示。
第一步:获取数据预处理模块得到的节点集合、漏洞集合、网络节点邻接矩阵、网络节点漏洞关系矩阵。基于图示实际网络拓扑结构,获取网络节点集合Nodes: [host1host2 host3 host4 host5]、该网络对应的网络节点邻接矩阵 Nodes_Adjacent:Nodes_Adjacent[i][j]值为1代表网络节点集合Nodes中第i+1个节点和第j+1个节点邻接,Nodes_Adjacent[i][j]值为 0代表网络节点集合Nodes中第i+1个节点和第j+1个节点不邻接。当节点漏洞扫描信息显示host1存在漏洞vul1,节点host2存在漏洞vul1、vul2,节点host3存在漏洞vul3,节点host4存在漏洞vul4,节点host5存在漏洞vul4,则可获得漏洞集合Vuls:[vul1 vul2 vul3 vul4]、网络节点漏洞关系矩阵Nodes_Vuls:Nodes_Vuls[i][j]值为1代表网络节点集合Nodes中第i+1个节点上存在漏洞集合Vuls中的第j+1个漏洞。
第二步:生成(主机host:漏洞vul)节点。遍历网络节点集合Nodes、漏洞集合Vuls,查询网络节点漏洞关系矩阵Nodes_Vuls,判断第i个网络节点上是否存在漏洞第j个漏洞,若存在则生成(Nodes[i]:Vuls[j])顶点。
第三步:创建(主机:漏洞)顶点之间的关联边。
(15)遍历节点邻接矩阵Nodes_Adjacent的行。(第i列/行对应节点集合中的第i个节点)。
(16)对于第i行,若i=n,遍历结束,输出漏洞知识图谱;否则,从j=i开始遍历节点邻接矩阵中j>=i的列。
(17)对于第i个节点,从0开始遍历漏洞集合,若i_vul<m,遍历未完成,执行步骤(4);否则j+1,跳入(7)
(18)对于第j个节点,从0开始遍历漏洞集合,若j_vul<m,遍历未完成,执行步骤(5);否则i_vul+1,跳入步骤(3)
(19)查询节点漏洞关系矩阵Nodes_Vuls,若第i个节点上的第i_vul个漏洞和第j个节点上的第j_vul个漏洞同时存在,执行步骤(5);否则j_vul+1,跳入步骤(4)。
(20)查询漏洞知识图谱,若漏洞知识图谱中漏洞Vuls[i_vul]和漏洞 Vuls[j_vul]存在攻击上下步关系,则在漏洞关联图中的顶点(Nodes[i]:Vuls[i_vul])、 (Nodes[j]:Vuls[j_vul])之间连接一条有向边,有向边的方向与知识图谱中漏洞 Vuls[i_vul]、Vuls[j_vul]分别关联的攻击模式a1、a2之间的方向相同,j_vul+1,跳入步骤(4);否则直接j_vul+1,跳入步骤(4)。
(21)若j<n,查询节点邻接矩阵,若第i个节点和第j个节点相邻,跳入步骤(3);否则j+1,跳入步骤(7)。若j=n,i+1,跳入步骤(2)。
总的来说,本发明基于NVD、CAPEC数据集,利用知识图谱充分挖掘现有典型数据库间的关系,获取理想状态下的漏洞关联关系,并结合实际网络拓扑结构、漏洞扫描数据直接生成漏洞关联图,不需要经过传统攻击图生成算法和漏洞关联规则的处理,改善了利用传统的漏洞关联图生成方法生成关联图的过程中引入了更多误差和资源浪费问题。并且漏洞知识图谱能够可视化的展现漏洞的关联关系,可以在知识图谱中验证生成的漏洞关联图中的邻接漏洞之间是否真实存在关联关系以及明确查明邻接漏洞是如何被关联起来的,提高了漏洞关联图生成算法的质量和关联图的可解释性。
又一方面,本发明还公开一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如上述任一方法的步骤。
再一方面,本发明还公开一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如上述任一方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一方法的步骤。
可理解的是,本发明实施例提供的***与本发明实施例提供的方法相对应,相关内容的解释、举例和有益效果可以参考上述方法中的相应部分。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM) 或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态 RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM (DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM (SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (7)
1.一种基于知识图谱的漏洞关联图生成方法,其特征在于,包括以下步骤,
S1、获取原始漏洞信息,获取待评估的网络的实际网络数据,提取评估方案所需数据进行数据预处理;
S2、基于步骤S1得到的数据,并根据预先设计的漏洞知识图谱本体模型,构建漏洞知识图谱;
S3、基于步骤S2构建好的漏洞知识图谱,根据预设的漏洞关联图生成算法,生成漏洞关联图,所述漏洞关联图用于后续漏洞关联评估、漏洞修复、漏洞管理。
2.根据权利要求1所述的基于知识图谱的漏洞关联图生成方法,其特征在于:
步骤S1中所述原始漏洞信息包括json格式的美国国家漏洞库NVD数据集、csv格式的攻击模式和枚举CAPEC数据集、xml格式的中国国家信息安全共享平台CNVD数据集中的原始数据;
所述实际网络数据包括网络拓扑结构、网络节点漏洞扫描信息、网络节点资产重要性信息。
3.根据权利要求2所述的基于知识图谱的漏洞关联图生成方法,其特征在于:所述数据预处理包括对采集到的json格式的美国国家漏洞库NVD数据集、csv格式的攻击模式和枚举CAPEC数据集、xml格式的中国国家信息安全共享平台CNVD数据集中的原始数据进行预处理,提取出评估需要的数据包括漏洞CVE编号、弱点CWE编号、攻击模式编号、Relationships、Related Weakness等,并生成对应的csv文件,方便后续利用构建算法将数据导入图数据库;
数据预处理还需要对采集到的实际网络数据进行预处理,获得网络节点关系矩阵、网络节点漏洞关系、网络节点资产重要性信息,生成网络节点和对应漏洞的csv文件,方便后续利用构建算法将数据导入图数据库。
4.根据权利要求1所述的基于知识图谱的漏洞关联图生成方法,其特征在于:所述构建漏洞知识图谱包括:
第一步:设计的漏洞知识图谱本体模型。设计漏洞知识图谱本体模型,其中本体包括资产、漏洞、弱点、攻击四大类,关系包括漏洞指向资产affect、弱点指向漏洞relate、攻击指向弱点utilize、多步攻击中攻击上一步指向攻击下一步ChildOf、攻击指向同等级攻击PeerOf五大类;其中资产即漏洞所在节点的属性包括资产的价格price、资产在网络中扮演的角色即客户端/服务器,这两个属性反映了资产的重要性;
第二步:选择图数据库;
第三步:设计漏洞知识图谱构建算法,根据漏洞知识图谱本体模型组织数据预处理模块得到的漏洞数据集数据、网络节点集合、网络节点漏洞关系矩阵、网络节点资产重要度属性;构建漏洞知识图谱模块的知识图谱构建算法调用Python提供的Py2neo库操作Neo4j,构建并存储漏洞知识图谱。
5.根据权利要求1所述的基于知识图谱的漏洞关联图生成方法,其特征在于:漏洞关联图生成包括:
漏洞关联图生成是基于漏洞知识图谱以及实际网络节点邻接矩阵、网络节点漏洞关系,利用设计的漏洞关联图生成算法生成漏洞关联图;
漏洞关联图生成算法是根据实际网络数据获得节点间的关系、节点和漏洞的关系,遍历节点及节点上的漏洞,在节点关系数据中查询两漏洞所在节点是否关联,在漏洞知识图谱漏中查询两漏洞之间是否存在攻击上下步关系,从而生成漏洞关联图。
6.根据权利要求5所述的基于知识图谱的漏洞关联图生成方法,其特征在于:漏洞关联图生成包括:
第一步:获取数据预处理模块得到的节点集合、漏洞集合、网络节点邻接矩阵、网络节点漏洞关系矩阵;具体为基于实际网络拓扑结构,获取网络节点集合Nodes:
[host1 host2 host3 host4 host5]、该网络对应的网络节点邻接矩阵Nodes_Adjacent:Nodes_Adjacent[i][j]值为1代表网络节点集合Nodes中第i+1个节点和第j+1个节点邻接,Nodes_Adjacent[i][j]值为0代表网络节点集合Nodes中第i+1个节点和第j+1个节点不邻接;当节点漏洞扫描信息显示host1存在漏洞vul1,节点host2存在漏洞vul1、vul2,节点host3存在漏洞vul3,节点host4存在漏洞vul4,节点host5存在漏洞vul4,则可获得漏洞集合Vuls:[vul1 vul2 vul3 vul4]、网络节点漏洞关系矩阵Nodes_Vuls:Nodes_Vuls[i][j]值为1代表网络节点集合Nodes中第i+1个节点上存在漏洞集合Vuls中的第j+1个漏洞;
第二步:生成主机host:漏洞vul节点;遍历网络节点集合Nodes、漏洞集合Vuls,查询网络节点漏洞关系矩阵Nodes_Vuls,判断第i个网络节点上是否存在漏洞第j个漏洞,若存在则生成Nodes[i]:Vuls[j]顶点;
第三步:创建主机:漏洞顶点之间的关联边;
(1)遍历节点邻接矩阵Nodes_Adjacent的行,即第i列/行对应节点集合中的第i个节点;
(2)对于第i行,若i=n,遍历结束,输出漏洞知识图谱;否则,从j=i开始遍历节点邻接矩阵中j>=i的列;
(3)对于第i个节点,从0开始遍历漏洞集合,若i_vul<m,遍历未完成,执行步骤(4);否则j+1,跳入(7);
(4)对于第j个节点,从0开始遍历漏洞集合,若j_vul<m,遍历未完成,执行步骤(5);否则i_vul+1,跳入步骤(3);
(5)查询节点漏洞关系矩阵Nodes_Vuls,若第i个节点上的第i_vul个漏洞和第j个节点上的第j_vul个漏洞同时存在,执行步骤(5);否则j_vul+1,跳入步骤(4);
(6)查询漏洞知识图谱,若漏洞知识图谱中漏洞Vuls[i_vul]和漏洞Vuls[j_vul]存在攻击上下步关系,则在漏洞关联图中的顶点Nodes[i]:Vuls[i_vul]、Nodes[j]:Vuls[j_vul]之间连接一条有向边,有向边的方向与知识图谱中漏洞Vuls[i_vul]、Vuls[j_vul]分别关联的攻击模式a1、a2之间的方向相同,j_vul+1,跳入步骤(4);否则直接j_vul+1,跳入步骤(4);
(7)若j<n,查询节点邻接矩阵,若第i个节点和第j个节点相邻,跳入步骤(3);否则j+1,跳入步骤(7),若j=n,i+1,跳入步骤(2)。
7.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至6中任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210742246.0A CN115225338B (zh) | 2022-06-28 | 2022-06-28 | 一种基于知识图谱的漏洞关联图生成方法及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210742246.0A CN115225338B (zh) | 2022-06-28 | 2022-06-28 | 一种基于知识图谱的漏洞关联图生成方法及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115225338A true CN115225338A (zh) | 2022-10-21 |
CN115225338B CN115225338B (zh) | 2023-12-12 |
Family
ID=83609061
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210742246.0A Active CN115225338B (zh) | 2022-06-28 | 2022-06-28 | 一种基于知识图谱的漏洞关联图生成方法及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115225338B (zh) |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106549950A (zh) * | 2016-11-01 | 2017-03-29 | 南京理工大学 | 一种基于状态攻防图的矩阵可视化方法 |
CN107526971A (zh) * | 2017-09-28 | 2017-12-29 | 北京计算机技术及应用研究所 | 一种基于漏洞关联分布模型的漏洞发现方法 |
US20180048661A1 (en) * | 2016-08-15 | 2018-02-15 | International Business Machines Corporation | Cognitive offense analysis using contextual data and knowledge graphs |
CN108933793A (zh) * | 2018-07-24 | 2018-12-04 | 中国人民解放军战略支援部队信息工程大学 | 基于知识图谱的攻击图生成方法及其装置 |
CN109948911A (zh) * | 2019-02-27 | 2019-06-28 | 北京邮电大学 | 一种计算网络产品信息安全风险的评估方法 |
CN110138764A (zh) * | 2019-05-10 | 2019-08-16 | 中北大学 | 一种基于层次攻击图的攻击路径分析方法 |
US10496678B1 (en) * | 2016-05-12 | 2019-12-03 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for generating and implementing knowledge graphs for knowledge representation and analysis |
KR102079687B1 (ko) * | 2019-07-12 | 2020-02-20 | 한화시스템(주) | 공격 그래프 기반의 사이버 위협 예측 시스템 및 그 방법 |
CN111163086A (zh) * | 2019-12-27 | 2020-05-15 | 北京工业大学 | 一种多源异构的网络安全知识图谱构建与应用方法 |
CN111177417A (zh) * | 2020-04-13 | 2020-05-19 | 中国人民解放军国防科技大学 | 基于网络安全知识图谱的安全事件关联方法、***、介质 |
CN112613038A (zh) * | 2020-11-27 | 2021-04-06 | 中山大学 | 一种基于知识图谱的安全漏洞分析方法 |
CN113051575A (zh) * | 2021-03-25 | 2021-06-29 | 深圳市联软科技股份有限公司 | 基于图数据库生成红蓝对抗攻击演习方案的方法及*** |
CN114257420A (zh) * | 2021-11-29 | 2022-03-29 | 中国人民解放军63891部队 | 一种基于知识图谱的网络安全测试的生成方法 |
CN114357189A (zh) * | 2021-12-29 | 2022-04-15 | 广州大学 | 一种漏洞利用关系确定方法、装置、设备及存储介质 |
-
2022
- 2022-06-28 CN CN202210742246.0A patent/CN115225338B/zh active Active
Patent Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10496678B1 (en) * | 2016-05-12 | 2019-12-03 | Federal Home Loan Mortgage Corporation (Freddie Mac) | Systems and methods for generating and implementing knowledge graphs for knowledge representation and analysis |
US20180048661A1 (en) * | 2016-08-15 | 2018-02-15 | International Business Machines Corporation | Cognitive offense analysis using contextual data and knowledge graphs |
CN106549950A (zh) * | 2016-11-01 | 2017-03-29 | 南京理工大学 | 一种基于状态攻防图的矩阵可视化方法 |
CN107526971A (zh) * | 2017-09-28 | 2017-12-29 | 北京计算机技术及应用研究所 | 一种基于漏洞关联分布模型的漏洞发现方法 |
CN108933793A (zh) * | 2018-07-24 | 2018-12-04 | 中国人民解放军战略支援部队信息工程大学 | 基于知识图谱的攻击图生成方法及其装置 |
CN109948911A (zh) * | 2019-02-27 | 2019-06-28 | 北京邮电大学 | 一种计算网络产品信息安全风险的评估方法 |
CN110138764A (zh) * | 2019-05-10 | 2019-08-16 | 中北大学 | 一种基于层次攻击图的攻击路径分析方法 |
KR102079687B1 (ko) * | 2019-07-12 | 2020-02-20 | 한화시스템(주) | 공격 그래프 기반의 사이버 위협 예측 시스템 및 그 방법 |
CN111163086A (zh) * | 2019-12-27 | 2020-05-15 | 北京工业大学 | 一种多源异构的网络安全知识图谱构建与应用方法 |
CN111177417A (zh) * | 2020-04-13 | 2020-05-19 | 中国人民解放军国防科技大学 | 基于网络安全知识图谱的安全事件关联方法、***、介质 |
CN112613038A (zh) * | 2020-11-27 | 2021-04-06 | 中山大学 | 一种基于知识图谱的安全漏洞分析方法 |
CN113051575A (zh) * | 2021-03-25 | 2021-06-29 | 深圳市联软科技股份有限公司 | 基于图数据库生成红蓝对抗攻击演习方案的方法及*** |
CN114257420A (zh) * | 2021-11-29 | 2022-03-29 | 中国人民解放军63891部队 | 一种基于知识图谱的网络安全测试的生成方法 |
CN114357189A (zh) * | 2021-12-29 | 2022-04-15 | 广州大学 | 一种漏洞利用关系确定方法、装置、设备及存储介质 |
Non-Patent Citations (3)
Title |
---|
叶子维;郭渊博;李涛;琚安康;: "一种基于知识图谱的扩展攻击图生成方法", 计算机科学, no. 12 * |
王丽敏: "漏洞知识图谱的构建及漏洞态势感知技术研究", 中国优秀硕士学位论文全文数据库 信息科技辑, pages 15 - 50 * |
陈泽 等: "基于知识图谱的电网安全漏洞扩展攻击图研究", 信息技术, pages 30 * |
Also Published As
Publication number | Publication date |
---|---|
CN115225338B (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108933793B (zh) | 基于知识图谱的攻击图生成方法及其装置 | |
CN112131882A (zh) | 一种多源异构网络安全知识图谱构建方法及装置 | |
WO2021242288A1 (en) | Solution automation | |
CN104408584B (zh) | 一种交易关联性的分析方法及*** | |
CN105630988A (zh) | 一种快速检测空间数据变化并更新的方法及*** | |
KR102232641B1 (ko) | 블록체인 기반 IoT 환경에서의 다중 검색을 지원하는 데이터 구조체를 이용한 검색 방법 및 그 방법에 따른 장치 | |
Pastukhov et al. | On maximum degree‐based‐quasi‐clique problem: Complexity and exact approaches | |
CN108268645A (zh) | 大数据处理方法与*** | |
CN111324577B (zh) | 一种Yml文件读写的方法及装置 | |
Kongmanee et al. | Securing smart contracts in blockchain | |
CN114615063A (zh) | 基于日志关联分析的攻击溯源方法及装置 | |
CN110909364A (zh) | 面向源代码双极性软件安全漏洞图谱构建方法 | |
Vörös et al. | Bounded saturation-based CTL model checking | |
Song et al. | Querying process models based on the temporal relations between tasks | |
Wortman et al. | Translation of AADL model to security attack tree (TAMSAT) to SMART evaluation of monetary security risk | |
CN115225338A (zh) | 一种基于知识图谱的漏洞关联图生成方法及存储介质 | |
CN102982282B (zh) | 程序漏洞的检测***和方法 | |
Petrucci et al. | Squeezing state spaces of (attack-defence) trees | |
CN115102796A (zh) | 基于知识图谱和随机游走策略的漏洞关联评估方法及*** | |
Abu-Saleem | Retractions and homomorphisms on some operations of graphs | |
CN114462859A (zh) | 工作流处理方法、装置、计算机设备和存储介质 | |
Lyu et al. | Analyzing Ethereum Smart Contract Vulnerabilities at Scale Based on Inter-Contract Dependency. | |
Boltenhagen et al. | An A*-Algorithm for Computing Discounted Anti-Alignments in Process Mining | |
Wei et al. | Optimal pruned tree-cut mapping-based fast shielding for large-scale networks | |
Meng et al. | Generalizing design of support measures for counting frequent patterns in graphs |
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 |