CN117749534B - 网络安全分析方法、装置、电子设备及可读存储介质 - Google Patents
网络安全分析方法、装置、电子设备及可读存储介质 Download PDFInfo
- Publication number
- CN117749534B CN117749534B CN202410190586.6A CN202410190586A CN117749534B CN 117749534 B CN117749534 B CN 117749534B CN 202410190586 A CN202410190586 A CN 202410190586A CN 117749534 B CN117749534 B CN 117749534B
- Authority
- CN
- China
- Prior art keywords
- entity
- network security
- attack
- neighbor
- data
- 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
Links
- 238000004458 analytical method Methods 0.000 title claims abstract description 92
- 238000000034 method Methods 0.000 claims abstract description 53
- 238000005516 engineering process Methods 0.000 claims description 58
- 230000007547 defect Effects 0.000 claims description 43
- 238000012545 processing Methods 0.000 claims description 24
- 235000008694 Humulus lupulus Nutrition 0.000 claims description 19
- 230000008520 organization Effects 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 11
- 230000003993 interaction Effects 0.000 claims description 9
- 238000012502 risk assessment Methods 0.000 claims description 8
- 230000000977 initiatory effect Effects 0.000 claims description 4
- 230000000007 visual effect Effects 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 20
- 238000004422 calculation algorithm Methods 0.000 description 13
- 238000001514 detection method Methods 0.000 description 13
- 238000013473 artificial intelligence Methods 0.000 description 10
- 239000000243 solution Substances 0.000 description 10
- 230000000875 corresponding effect Effects 0.000 description 8
- 230000006399 behavior Effects 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 238000003058 natural language processing Methods 0.000 description 6
- 230000007123 defense Effects 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 238000004088 simulation Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 238000011160 research Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 238000012098 association analyses Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000007418 data mining Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000002347 injection Methods 0.000 description 1
- 239000007924 injection Substances 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000005065 mining Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000005728 strengthening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请实施例提供了一种网络安全分析方法、装置、电子设备及计算机可读存储介质,属于网络安全技术领域。该方法包括:基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,所述网络安全实体集合中的每一个所述实体表征一种网络安全知识类型;在所述网络安全知识图谱中,分别对两个所述实体进行路径查询以确定查询路径;根据所述查询路径确定网络安全分析结果。本申请实施例能够在海量网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理。
Description
技术领域
本申请涉及网络安全技术领域,尤其涉及一种网络安全分析方法、装置、电子设备及计算机可读存储介质。
背景技术
在网络靶场中,有效存储和表示大规模的网络安全知识至关重要;在现有的工程实践中,常见的处理大规模网络安全知识存储和表示方式包括图数据库、标准化数据格式等各种工具和方法。图数据库存储网络安全知识,基于图形模型将知识元素表示为节点,节点之间的关系表示为边,这种方式相比传统关系型数据库能够解决知识之间复杂关联带来的严重随机访问问题。标准化数据格式表示网络安全知识,主要采用关系数据库存储标准化数据,数据库表的结构和字段通常按照标准格式进行设计,以确保数据的一致性和可查询性。然而,在网络靶场中,面对海量网络安全知识的处理过程中,存在性能瓶颈,无法快速对网络中存在的威胁和漏洞进行分析评估处理。
发明内容
本申请实施例的主要目的在于提出一种网络安全分析方法、装置、电子设备及计算机可读存储介质,能够在海量网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理。
为实现上述目的,本申请实施例的第一方面提出了一种网络安全分析方法,所述方法包括:
基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,所述网络安全实体集合中的每一个所述实体表征一种网络安全知识类型;
在所述网络安全知识图谱中,分别对两个所述实体进行路径查询以确定查询路径;
根据所述查询路径确定网络安全分析结果。
在一些实施例,所述分别对两个所述实体进行路径查询以确定查询路径,包括:
将两个所述实体作为起始实体和终止实体;
将所述起始实体和终止实体分别作为起点进行一跳查询,得到对应于所述起始实体的第一邻居实体和对应于所述终止实体的第二邻居实体;
判断所述第一邻居实体和所述第二邻居实体是否存在相同节点;
在所述第一邻居实体和所述第二邻居实体存在相同节点的情况下,根据所述起始实体、所述终止实体、所述第一邻居实体和所述第二邻居实体确定所述查询路径;
在所述第一邻居实体和所述第二邻居实体不存在相同节点的情况下,将查询跳数与预设的路径长度设定阈值进行对比;
在所述查询跳数小于所述路径长度设定阈值的情况下,分别以所述第一邻居实体和所述第二邻居实体作为新的所述起点重新进行一跳查询,直至得到的新的所述第一邻居实体和新的所述第二邻居实体存在相同节点或者所述查询跳数大于或者等于所述路径长度设定阈值。
在一些实施例,所述将查询跳数与预设的路径长度设定阈值进行对比后,所述方法还包括:
在所述查询跳数大于或者等于所述路径长度设定阈值的情况下,根据所述起始实体、所述终止实体、第一邻居实体和所述第二邻居实体确定所述查询路径。
在一些实施例,所述分别以所述第一邻居实体和所述第二邻居实体作为新的所述起点重新进行一跳查询,直至得到的新的所述第一邻居实体和新的所述第二邻居实体存在相同节点或者所述查询跳数大于或者等于所述路径长度设定阈值,包括:
分别以所述第一邻居实体和所述第二邻居实体作为新的所述起点进行一跳查询得到新的所述第一邻居实体和新的所述第二邻居实体;
在新的所述第一邻居实体和新的所述第二邻居实体不存在相同节点并且所述查询跳数小于所述路径长度设定阈值的情况下,将新的所述第一邻居实体和所述新的所述第二邻居实体作为新的起点重新进行一跳查询,直至得到的新的所述第一邻居实体和新的所述第二邻居实体存在相同节点或者所述查询跳数大于或者等于所述路径长度设定阈值。
在一些实施例,所述网络安全知识图谱通过以下方式构建:
获取攻击类型枚举和分类数据、通用缺陷枚举数据、攻击者技术通用知识数据、通用漏洞披露数据、通用平台枚举数据;
根据所述攻击类型枚举和分类数据、所述通用缺陷枚举数据、所述攻击者技术通用知识数据、所述通用漏洞披露数据和所述通用平台枚举数据确定所述网络安全实体集合和网络安全知识关系集合;
根据所述网络安全实体集合和所述网络安全知识关系集合构建所述网络安全知识图谱。
在一些实施例,所述网络安全实体集合包括攻击子技术实体、攻击策略实体、攻击技术实体、通用攻击模式枚举与分类实体、通用平台标识实体、通用漏洞披露实体和通用弱点枚举实体,所述根据所述攻击类型枚举和分类数据、所述通用缺陷枚举数据、所述攻击者技术通用知识数据、所述通用漏洞披露数据和所述通用平台枚举数据确定所述网络安全实体集合,包括:
基于所述攻击者技术通用知识数据构建所述攻击子技术实体、所述攻击策略实体和所述攻击技术实体;
基于所述攻击类型枚举和分类数据构建所述通用攻击模式枚举与分类实体;
基于所述通用平台枚举数据构建所述通用平台标识实体;
基于所述通用漏洞披露数据构建所述通用漏洞披露实体;
基于所述通用缺陷枚举数据构建所述通用弱点枚举实体。
在一些实施例,所述网络安全知识关系集合包括漏洞关系、漏洞相近关系、攻击后序关系、攻击先序关系、攻击子类关系、漏洞互动关系、攻击对等关系、攻击相关关系、攻击模式相关关系、前提条件关系和弱点起始状态关系,所述网络安全知识关系通过以下方式得到:
根据所述通用漏洞披露数据和所述通用平台枚举数据确定所述漏洞关系;
根据所述通用缺陷枚举数据之间、所述攻击类型枚举和分类数据之间确定所述漏洞相近关系;
根据所述攻击类型枚举和分类数据之间确定所述攻击后序关系;
根据所述通用缺陷枚举数据之间确定所述攻击先序关系;
根据所述通用缺陷枚举数据之间、所述攻击子技术实体和所述攻击技术实体、所述攻击策略实体和所述攻击子技术实体、所述通用缺陷枚举数据之间确定所述攻击子类关系;
根据所述通用漏洞披露数据和所述通用缺陷枚举数据确定所述漏洞互动关系;
根据所述通用缺陷枚举数据之间、所述攻击类型枚举和分类数据之间确定所述攻击对等关系;
根据所述攻击类型枚举和分类数据和所述攻击子技术实体确定所述攻击相关关系;
根据所述通用缺陷枚举数据和所述攻击类型枚举和分类数据确定所述攻击模式相关关系;
根据所述通用缺陷枚举数据之间确定所述前提条件关系;
根据所述通用缺陷枚举数据之间确定所述弱点起始状态关系。
在一些实施例,所述网络安全分析结果包括威胁分析漏洞评估结果和风险评估结果,所述根据所述查询路径确定网络安全分析结果,包括:
在两个所述实体包括所述通用漏洞披露实体和所述攻击子技术实体或者包括所述通用弱点枚举实体和所述攻击子技术实体的情况下,根据所述查询路径确定所述威胁分析漏洞评估结果;
在两个所述实体包括所述通用平台标识实体和所述通用漏洞披露实体的情况下,根据所述查询路径确定所述风险评估结果。
在一些实施例,所述根据所述查询路径确定网络安全分析结果后,所述方法还包括:
对所述实体、所述查询路径和所述网络安全分析结果进行可视化处理并且生成网络安全分析报告。
在一些实施例,所述路径长度设定阈值通过以下方式得到:
对两个所述实体之间的最大路径长度进行确定;
对所述最大路径长度进行折半运算得到所述路径长度设定阈值。
在一些实施例,所述根据所述网络安全实体集合和所述网络安全知识关系集合构建所述网络安全知识图谱,包括:
根据所述网络安全实体集合中的多个所述实体确定多个实体字段;以及根据所述网络安全知识关系集合中的多个关系组织字段;
将多个所述实体字段和多个所述关系组织字段存储至预设的图数据库得到所述网络安全知识图谱。
在一些实施例,所述基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体前,所述方法还包括:
将所述网络安全知识图谱分布式存储于多台服务器中。
为实现上述目的,本申请实施例的第二方面提出了一种网络安全分析装置,所述装置包括:
第一处理模块,用于基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,所述网络安全实体集合中的每一个所述实体表征一种网络安全知识类型;
第二处理模块,用于在所述网络安全知识图谱中,分别对两个所述实体进行路径查询以确定查询路径;
第三处理模块,用于根据所述查询路径确定网络安全分析结果。
为实现上述目的,本申请实施例的第三方面提出了一种电子设备,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述第一方面所述的网络安全分析方法。
为实现上述目的,本申请实施例的第四方面提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的网络安全分析方法。
本申请提出的网络安全分析方法、装置、电子设备及计算机可读存储介质,网络安全分析方法基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,网络安全实体集合中的每一个实体表征一种网络安全知识类型;在网络安全知识图谱中,分别对两个实体进行路径查询从而可以确定查询路径;最后就可以根据查询路径确定得到网络安全分析结果。通过上述技术方案,能够在海量网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理,从而提高了网络安全监测的效率。
附图说明
图1是本申请实施例提供的网络安全分析方法的流程图;
图2是图1中的步骤S200的具体流程图;
图3是本申请另一种实施例提供的路径查询的具体流程图;
图4是图2中的步骤S260的具体流程图;
图5是本申请另一种实施例提供的路径查询的具体流程图;
图6是本申请一个实施例提供的构建网络安全知识图谱的具体流程图;
图7是图6中的步骤S120的具体流程图;
图8是图1中的步骤S300的具体流程图;
图9是本申请另一种实施例提供的网络安全分析方法的流程图;
图10是本申请一个实施例提供的确定路径长度设置阈值的具体流程图;
图11是图6中的步骤S130的具体流程图;
图12是网络安全知识图谱的实体关系示意图;
图13是本申请一个实施例提供的构建网络安全知识图谱的具体流程图;
图14是本申请实施例提供的网络安全分析装置的结构示意图;
图15是本申请实施例提供的电子设备的硬件结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。
首先,对本申请中涉及的若干名词进行解析:
人工智能:是研究、开发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学;人工智能是计算机科学的一个分支,人工智能企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器,该领域的研究包括机器人、语言识别、图像识别、自然语言处理和专家系统等。人工智能可以对人的意识、思维的信息过程的模拟。人工智能还是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
自然语言处理:自然语言处理用于计算机来处理、理解以及运用人类语言(如中文、英文等),自然语言处理属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。自然语言处理包括语法分析、语义分析、篇章理解等。自然语言处理常用于机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息意图识别、信息抽取与过滤、文本分类与聚类和观点挖掘等技术领域,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。
信息抽取:从自然语言文本中抽取指定类型的实体、关系、事件等事实信息,并形成结构化数据输出的文本处理技术。信息抽取是从文本数据中抽取特定信息的一种技术。文本数据是由一些具体的单位构成的,例如句子、段落、篇章,文本信息正是由一些小的具体的单位构成的,例如字、词、词组、句子、段落或是这些具体的单位的组合。抽取文本数据中的名词短语、人名、地名等都是文本信息抽取,当然,文本信息抽取技术所抽取的信息可以是各种类型的信息。
基于此,本申请实施例提供了一种网络安全分析方法和装置、电子设备及计算机可读存储介质,网络安全分析方法基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,网络安全实体集合中的每一个实体表征一种网络安全知识类型;在网络安全知识图谱中,分别对两个实体进行路径查询从而可以确定查询路径;最后就可以根据查询路径确定得到网络安全分析结果。通过上述技术方案,能够在海量网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理,从而提高了网络安全监测的效率。
本申请实施例提供的网络安全分析方法、装置、电子设备及计算机可读存储介质,具体通过如下实施例进行说明,首先描述本申请实施例中的网络安全分析方法。
本申请实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
本申请实施例提供的网络安全分析方法,涉及网络安全技术领域。本申请实施例提供的网络安全分析方法可应用于网络设备中。
本申请可用于众多通用或专用的计算机系统环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器系统、基于微处理器的系统、置顶盒、可编程的消费电子设备、网络PC、小型计算机、大型计算机、包括以上任何系统或设备的分布式计算环境等等。本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
需要说明的是,在本申请的各个具体实施方式中,当涉及到需要根据用户信息、用户行为数据,用户历史数据以及用户位置信息等与用户身份或特性相关的数据进行相关处理时,都会先获得用户的许可或者同意,而且,对这些数据的收集、使用和处理等,都会遵守相关法律法规和标准。此外,当本申请实施例需要获取用户的敏感个人信息时,会通过弹窗或者跳转到确认页面等方式获得用户的单独许可或者单独同意,在明确获得用户的单独许可或者单独同意之后,再获取用于使本申请实施例能够正常运行的必要的用户相关数据。
图1是本申请第一方面实施例提供的网络安全分析方法的一个可选的流程图,图1中的方法可以包括但不限于包括步骤S100至步骤S300。
步骤S100,基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,网络安全实体集合中的每一个实体表征一种网络安全知识类型;
步骤S200,在网络安全知识图谱中,分别对两个实体进行路径查询以确定查询路径;
步骤S300,根据查询路径确定网络安全分析结果。
本申请实施例所示意的步骤S100至步骤S300,网络安全分析方法基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,网络安全实体集合中的每一个实体表征一种网络安全知识类型;在网络安全知识图谱中,分别对两个实体进行路径查询从而可以确定查询路径;最后就可以根据查询路径确定得到网络安全分析结果。通过上述技术方案,能够在海量网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理,从而提高了网络安全监测的效率。
值得注意的是,本申请实施例的网络安全分析方法基于网络靶场实现;其中,网络靶场基于一组软硬件资源,仿真一个目标网络,供导调方、管理方、攻击方、检测方等多方角色协同使用,支撑网络攻防演练、网络安全技术评测、网络安全人才培养和网络新技术验证。网络靶场的攻防态势评估系统,通过获取文本数据的网络安全知识和攻防行为的网络安全知识,实现有效攻击检测的攻防评估。网络靶场处理的网络安全知识数据可以包括多种;示例性地,网络安全知识数据的类型可以包括如下:攻击类型枚举和分类数据(CommonAttack Pattern Enumeration and Classification, CAPEC),攻击类型枚举和分类数据提供了各种攻击模式的详细描述以及与已知漏洞和脆弱性的关联关系,包括攻击的工作原理、实施方式、目标和可能的后果,通过这些描述和关联关系,网络靶场可以抽取相关的网络安全知识;通用缺陷枚举数据(Common Weakness Enumeration,CWE), 通用缺陷枚举数据提供了有关软件和网络系统的弱点信息,包括应用程序弱点、网络协议和通信弱点、操作系统和服务器弱点、数据库弱点等,通过这些软件和网络系统与弱点的关联关系,网络靶场可以抽取弱点相关的网络安全知识;攻击者技术通用知识数据提供了基于对抗战术技术和通用知识(Adversarial Tactics , Technique ,and Common Knowledge; ATT&CK)框架的各种攻击技术和方法信息、威胁行为的描述信息、攻击周期等各个阶段信息,通过这些知识,网络靶场可以抽取攻击生命周期的各个阶段相关的知识;通用漏洞披露数据(CommonVulnerabilities and Exposures, CVE)包含已知漏洞的受影响软件和应用程序的信息,这些软件可能包括操作系统、数据库管理系统、网络服务、浏览器和应用程序等,通过这些描述和关联关系,网络靶场可以抽取漏与资产相关的网络安全知识;通用平台枚举数据(Common Platform Enumeration, CPE)用于表示硬件平台、操作系统、应用程序和软件、网络设备和服务、数据库管理系统等基本信息,通过上述这些信息,网络靶场可以快速地抽取不同的信息技术资产。
值得注意的是,在网络靶场中,有效存储和表示大规模的网络安全知识至关重要;在相关技术中,常见的处理大规模网络安全知识存储和表示方式包括图数据库、标准化数据格式等各种工具和方法;图数据库存储网络安全知识,基于图形模型将知识元素表示为节点,节点之间的关系表示为边,这种方式相比传统关系型数据库能够解决知识之间复杂关联带来的严重随机访问问题,然而这种数据的存储效率和查询效率依赖于图形模型节点的定义以及边的定义,缺乏合理的知识表示。标准化数据格式表示网络安全知识,主要采用关系数据库存储标准化数据,数据库表的结构和字段通常按照标准格式进行设计,以确保数据的一致性和查询性;这种方式有助于确保数据的一致性,按照特定的规范和结构进行存储,减少了数据错误和不一致性的可能性;面对海量的数据,采用关系数据库存储标准化数据格式存在一些问题。由于数据格式的原因,无法准确表示某些特定的安全知识,因为需要满足不同标准和规范的要求数据会出现大量的冗余,将会导致存储需求增加;复杂的数据格式,需要高技术能力的安全分析师维护和分析数据,因此,在处理海量网络安全知识时,这种存储方式虽然具有优势,但也会带来一些挑战和限制。
可以理解的是,网络安全知识图谱包括有网络安全实体集合,其中,网络安全实体集合包括多个实体,其中,每个实体表示一种网络安全知识类型,示例性地,其中一个实体可以表征通用缺陷枚举数据,一个实体可以表征通用漏洞披露数据;并且网络安全知识图谱中的实体之间存在着关系,就可以利用连接边的形式进行表示;在本申请的实施例中,利用图数据库存储网络安全知识数据,并且利用网络安全知识图谱对网络安全知识类型进行表示。在本申请的一些实施例中,从网络安全知识图谱中获取任意两个实体,接着根据路径查询算法确定查询路径,最后就可以通过查询路径确定得到网络安全分析结果,从而能够在海量的网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理,从而提高了网络安全监测的效率。
请参阅图2,在一些实施例中,步骤S200可以包括但不限于包括步骤S210至步骤S260:
步骤S210,将两个实体作为起始实体和终止实体;
步骤S220,将起始实体和终止实体分别作为起点进行一跳查询,得到对应于起始实体的第一邻居实体和对应于终止实体的第二邻居实体;
步骤S230,判断第一邻居实体和第二邻居实体是否存在相同节点;
步骤S240,在第一邻居实体和第二邻居实体存在相同节点的情况下,根据起始实体、终止实体、第一邻居实体和第二邻居实体确定查询路径;
步骤S250,在第一邻居实体和第二邻居实体不存在相同节点的情况下,将查询跳数与预设的路径长度设定阈值进行对比;
步骤S260,在查询跳数小于路径长度设定阈值的情况下,分别以第一邻居实体和第二邻居实体作为新的起点重新进行一跳查询,直至得到的新的第一邻居实体和新的第二邻居实体存在相同节点或者查询跳数大于或者等于路径长度设定阈值。
本申请实施例所示意的步骤S210至步骤S260,在对选定的两个实体进行路径查询的过程中,首先将两个实体作为起始实体和终止实体;接着将起始实体和终止实体分别作为起点进行一跳查询,得到对应于起始实体的第一邻居实体和对应于终止实体的第二邻居实体;然后判断第一邻居实体和第二邻居实体是否存在相同节点;在第一邻居实体和第二邻居实体存在相同节点的情况下,就可以根据起始实体、终止实体、第一邻居实体和第二邻居实体确定查询路径;在第一邻居实体和第二邻居实体不存在相同节点的情况下,就可以将查询跳数与预设的路径长度设定阈值进行对比;在查询跳数小于路径长度设定阈值的情况下,就可以分别以第一邻居实体和第二邻居实体作为新的起点重新进行一跳查询,直至得到的新的第一邻居实体和新的第二邻居实体存在相同节点或者查询跳数大于或者等于路径长度设定阈值;图的路径算法在网络安全知识图谱中的应用有助于提高网络安全的可见性、识别威胁、降低风险和加强网络防御;以上的路径算法为安全团队提供了有利的工具,以更好地理解网络环境并采取相应的措施来保护关键资产。
请参阅图3,在一些实施例中,执行步骤S250之后还可以包括但不限于包括步骤S251:
步骤S251,在查询跳数大于或者等于路径长度设定阈值的情况下,根据起始实体、终止实体、第一邻居实体和第二邻居实体确定查询路径。
本申请实施例所示意的步骤S251,在将查询跳数与路径长度设定阈值进行对比的过程中,在查询跳数大于或者等于路径长度设定阈值的情况下,就可以根据起始实体、终止实体、第一邻居实体和第二邻居实体来确定查询路径,通过上述技术手段,使得查询路径的确定过程能够更加合理。
请参阅图4,在一些实施例中,步骤S260还可以包括但不限于包括步骤S261至步骤S262:
步骤S261,分别以第一邻居实体和第二邻居实体作为新的起点进行一跳查询得到新的第一邻居实体和新的第二邻居实体;
步骤S262,在新的第一邻居实体和新的第二邻居实体不存在相同节点并且查询跳数小于路径长度设定阈值的情况下,将新的第一邻居实体和新的第二邻居实体作为新的起点重新进行一跳查询,直至得到的新的第一邻居实体和新的第二邻居实体存在相同节点或者查询跳数大于或者等于路径长度设定阈值。
本申请实施例所示意的步骤S261至步骤S262,在进行路径轮询的过程中,首先分别以第一邻居实体和第二邻居实体作为新的起点进行一跳查询就可以得到新的第一邻居实体和新的第二邻居实体;在新的第一邻居实体和新的第二邻居实体不存在相同节点并且查询跳数小于路径长度设定阈值的情况下,将新的第一邻居实体和新的第二邻居实体作为新的起点重新进行一跳查询,直至得到的新的第一邻居实体和新的第二邻居实体存在相同节点或者查询跳数大于或者等于路径长度设定阈值。通过上述技术手段,使得路径查询的过程能够更加合理精确,从而可以很好地在海量网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理,从而提高了网络安全监测的效率。
具体地,本申请的一个具体路径查询过程可以包括如下:
基于已构建的网络安全知识图谱:
G=<E,R>
(E为网络安全实体集合,R为网络安全关系集合)
输入:
I=<,/>,/>>
(为起始实体,/>为终止实体,/>,/>,/>为路径最大长度,)
输出:
=</>,/>,/>,/>,/>>
(其中为中间邻居实体,/>,/>R ,n</>)
=</>,/>,/>,/>,/>>
(其中为中间邻居实体,/>,/>R ,n</>/2)
当起始实体搜索路径与终止实体搜索路径终点相等时得到路径集合P:
P=,/>=/>
通过图的路径分析算法提出以下几个在网络靶场方面的应用,算法步骤如下:
步骤1:给定任意实体,/>及路径最大长度/>;
步骤2:通过网络安全知识图谱的一跳查询不断的搜索起始实体与终止实体/>的邻居实体/>,/>;
步骤3:判断搜索得到的邻居节点,/>是否存在交集,如果存在则存在从起始实体/>到邻居实体到终止实体/>的路径集合P/></>,/>>,如果不存在交集,则判断检索跳数是否大于/>/2,小于则跳到步骤1继续以各自的邻居实体为起始实体和终止实体进行一跳检索,大于则到步骤4。
步骤4:输出路径集合P=。具体过程如图5所示。
请参阅图6,在一些实施例中,网络安全知识图谱通过但不限于步骤S110至步骤S130构建。
步骤S110,获取攻击类型枚举和分类数据、通用缺陷枚举数据、攻击者技术通用知识数据、通用漏洞披露数据、通用平台枚举数据;
步骤S120,根据攻击类型枚举和分类数据、通用缺陷枚举数据、攻击者技术通用知识数据、通用漏洞披露数据和通用平台枚举数据确定网络安全实体集合和网络安全知识关系集合;
步骤S130,根据网络安全实体集合和网络安全知识关系集合构建网络安全知识图谱。
本申请实施例所示意的步骤S110至步骤S130,在进行网络安全知识图谱的构建过程中,首先获取攻击类型枚举和分类数据、通用缺陷枚举数据、攻击者技术通用知识数据、通用漏洞披露数据和通用平台枚举数据;接着根据攻击类型枚举和分类数据、通用缺陷枚举数据、攻击者技术通用知识数据、通用漏洞披露数据和通用平台枚举数据来确定网络安全实体集合和网络安全知识关系集合;最后就可以根据网络安全实体集合和网络安全知识关系集合就可以构建网络安全知识图谱。
值得注意的是,在网络仿真平台环境里,本申请的一些实施例提供了基于网络靶场的网络安全知识存储方案,该方案将网络安全知识抽取成易于理解的实体和关系,采用图数据存储的表示方式,同时方案考虑了扩展性,可以将图数据库分布式地存储在多台服务器上,从而可以支持多应用场景以及多种图算法。
值得注意的是,在本申请的一些实施例中,引入分布式图数据库技术、优化了图模式匹配算法,提升了大规模网络安全知识数据下的查询和关联分析效率,加强了网络安全事件检测的响应能力;基于不同的网络安全知识,按照数据在网络仿真平台中的应用,定义了网络安全知识实体和实体间的关系,直观地展示了攻击者、被攻击者、攻击类型以及攻击路径等关系。基于网络靶场的海量数据设计最短路径算法挖掘潜在的攻击路径,从而可以快速提供网络安全专家了解网络仿真平台的模拟环境中的漏洞和潜在威胁;基于网络靶场的海量数据设计图遍历算法,通过分析攻击IP的行为轨迹,还可以快速完成攻击链路分析。
请参阅图7,所述网络安全实体集合包括攻击子技术实体、攻击策略实体、攻击技术实体、通用攻击模式枚举与分类实体、通用平台标识实体、通用漏洞披露实体和通用弱点枚举实体,步骤S120包括但不限于步骤S121至步骤S124。
步骤S121,基于攻击者技术通用知识数据构建攻击子技术实体、攻击策略实体和攻击技术实体;
步骤S122,基于攻击类型枚举和分类数据构建通用攻击模式枚举与分类实体;
步骤S123,基于通用平台枚举数据构建通用平台标识实体;
步骤S124,基于通用漏洞披露数据构建通用漏洞披露实体;
步骤S125,基于通用缺陷枚举数据构建通用弱点枚举实体。
本申请实施例所示意的步骤S121至步骤S125,首先基于攻击者技术通用知识数据构建攻击子技术实体、攻击策略实体和那估计技术实体;基于攻击类型枚举和分类数据构建通用攻击模式枚举与分类实体;基于通用平台枚举数据可以构建通用平台标识实体;基于通用漏洞披露数据可以构建通用漏洞披露实体;基于通用缺陷枚举数据可以构建通用弱点枚举实体。
示例性地,基于网络空间安全知识的各类属性、网络仿真平台的使用场景和安全知识的使用场景,本方案将CAPEC、CWE、ATT&CK、CVE和CPE等网络安全知识数据,高效的整合成实体的形式,定义如下实体集合E={e1,e2,e3,e4,e5,e6,e7}:
e1定义为攻击子技术(Attack Subtechnique):该数据来源于ATT&CK官网知识,我们提取以下数据字段:attack_id(ATT&CK的id)、name(ATT&CK 的名称)、description(ATT&CK的描述)作为实体的属性。在本方案中该实体会同CVE、CWE、CAPEC等实体关联,可快速查询和直观的展示,用于网络靶场安全分析师分析威胁情报。
e2定义为攻击策略(Attack Tactics):该数据来源于ATT&CK官网知识,我们提取以下数据字段:attack_id(ATT&CK的id)、name(ATT&CK 的名称)、description(ATT&CK的描述)作为实体的属性。在本方案中该实体会同CVE、CWE、CAPEC等实体关联,将攻击模式、攻击漏洞等和攻击策略关联,在网络靶场中为网络安全态势提供数据支撑和直观的可视化展示。
e3定义为攻击技术(Attack Technique):该数据来源于ATT&CK官网知识,我们提取以下数据字段:attack_id(ATT&CK的id)、name(ATT&CK 的名称)、description(ATT&CK的描述)作为实体的属性。在本方案中该实体会同CVE、CWE、CAPEC等实体关联,将攻击技术、攻击模式、攻击漏洞、资产等信息关联,在网络靶场中为网络安全态势提供数据支撑和直观的可视化展示。
e4定义为通用攻击模式枚举与分类(CAPEC):该数据来源于CAPEC官网知识我们提取以下数据字段:capec_id(CAPEC的id)、name(CAPEC的名称)、description(CAPEC的描述)作为实体的属性。在本方案中该实体同Attack Subtechnique、cve、cwe等实体关联,将规范网络靶场的攻击类别,如SQL注入、跨站脚本攻击(XSS)、拒绝服务攻击(DoS)等,完成与各个实体的关联和可视化展示,实现网络攻击检测的准确性。
e5定义为通用平台标识(CPE):该数据来源于CPE(Common PlatformEnumeration)官网数据,我们提取以下数据字段:cpe_id,type(类型包括软件、操作系统、硬件),product(产品名称)、vendor(产品供应商)作为实体的属性。本方案中该实体同CAPEC、CWE、ATT&CK等实体关联,在网络靶场中完成软件资产、硬件资产、操作系统同漏洞、攻击策略等关联,支撑平台攻击检测以及网络安全工程师快速的分析并提供防御措施。
e6定义为通用漏洞披露(CVE):该数据来源于CVE官网数据,我们提取以下数据字段:cve_id(CVE的id号),description(CAPEC的描述)作为实体的属性。本方案中该实体同CAPEC、ATT&CK等实体关联,在网络靶场中完成各类操作系统同资产、攻击策略等关联,支撑平台攻击检测以及网络安全工程师快速的分析并提供防御措施。
e7定义为通用弱点枚举(CWE):该数据来源于CWE官网数据,我们提取以下数据字段:cwe_id(CWE的id号)、name(CWE的名称)、description(CWE的描述)作为实体的属性。本方案中该实体同CAPEC、ATT&CK等实体关联,在网络靶场中完成各类操作系统同资产、攻击策略等关联,支撑平台攻击检测以及网络安全工程师快速的分析并提供防御措施。
在本申请的一些实施例中,网络安全知识关系集合包括漏洞关系、漏洞相近关系、攻击后序关系、攻击先序关系、攻击子类关系、漏洞互动关系、攻击对等关系、攻击相关关系、攻击模式相关关系、前提条件关系和弱点起始状态关系,网络安全知识关系通过以下方式得到:
根据通用漏洞披露数据和通用平台枚举数据确定漏洞关系;
根据通用缺陷枚举数据之间、攻击类型枚举和分类数据之间确定漏洞相近关系;
根据攻击类型枚举和分类数据之间确定攻击后序关系;
根据通用缺陷枚举数据之间确定攻击先序关系;
根据通用缺陷枚举数据之间、攻击子技术实体和攻击技术实体、攻击策略实体和攻击子技术实体、通用缺陷枚举数据之间确定攻击子类关系;
根据通用漏洞披露数据和通用缺陷枚举数据确定漏洞互动关系;
根据通用缺陷枚举数据之间、攻击类型枚举和分类数据之间确定攻击对等关系;
根据攻击类型枚举和分类数据和攻击子技术实体确定攻击相关关系;
根据通用缺陷枚举数据和攻击类型枚举和分类数据确定攻击模式相关关系;
根据通用缺陷枚举数据之间确定前提条件关系;
根据通用缺陷枚举数据之间确定弱点起始状态关系。
示例性地,按照网络靶场的使用场景,通过各个网络安全知识数据源给出的各类型数据之间的联系,我们抽取了网络安全知识数据之间的关系集合R={r1, r2,r3,r4,r5,r6,r7,r8,r9,r10,r11}:
r1定义为漏洞影响关系(Affect): CVE与CPE之间的一种关系,表示一个实体(通常是攻击或漏洞CVE)对其他实体(CPE例如系统、应用程序或数据)产生的影响,支撑靶场中各个系统及应用与漏洞之间的存在性关系。
r2定义为漏洞相近关系(Canalsobe):CWE与CWE以及CAPEC与CAPEC之间的一种关系,表示某事物除了所描述的标签外,还可能有其他标签或属性,它们具有某种相似性,支撑靶场中对各个系统存在的漏洞、弱点进一步关系描述。
r3定义为攻击后序关系(Canfollow):CAPEC与CAPEC之间的一种关系,表示一个事件或行动可以在另一个事件或行动之后发生。支撑靶场攻击检测中可能存在的攻击方式。
r4定义为攻击先序关系(Canprecede):CWE与CWE之间的一种关系,表示一个事件或行动可以在另一个事件或行动之前发生。支撑靶场攻击检测中可能存在的攻击方式。
r5定义为攻击子类关系(Childof): CAPEC与CAPEC、Attack Subtechnique与Attack Technique、Attack Tactics 与Attack Subtechnique 、CWE与CWE之间的一种关系,表示一个实体是另一个实体的子代或从属于它。描述靶场各个系统中弱点之间的一种关系形式,为技术分析人员提供更多信息。
r6定义为漏洞互动关系(Interact):CVE与CWE之间的一种关系,表示特定弱点与已知漏洞之间的关系。对靶场各个系统存在的漏洞与弱点进行关联。
r7定义为攻击对等关系(Peerof):CWE与CWE、CAPEC与CAPEC之间的一种关系,表示两个实体在某些方面是对等的或类似的支撑靶场攻击检测中描述可能发生的攻击模式。
r8定义为攻击相关关系(Relatedattack):CAPEC与Attack Subtechnique之间的一种关系,表示一个攻击与另一个攻击存在某种关联,这可能包括相似性、共享的资源或其他因素,支撑靶场攻击检测中描述攻击模式之间的关系。
r9定义为攻击模式相关关系(Relatedpattern):CWE与CAPEC之间的一种关系,表示两个或多个攻击或漏洞的模式之间存在某种关联,支撑靶场攻击检测中描述攻击模式之间的关系。
r10定义为前提条件关系(Requires):CWE与CWE之间的一种关系,表示实体需要满足某些条件或要求才能实现某个目标或执行某个操作,支撑靶场攻击检测中可能存在的攻击方式。
r11定义为弱点起始状态关系(Startswith):CWE与CWE之间的一种关系,表示某个事件或过程从某个特定点或状态开始,支撑靶场攻击检测中可能存在的攻击方式。
以上的这些关系用于构建网络安全知识图谱,用于描述攻击、漏洞、漏洞利用以及它们之间的关系和属性。这些信息有助于靶场研究人员、安全专家和分析师更好地理解和应对各种威胁和漏洞。
请参阅图8,网络安全分析结果包括威胁分析漏洞评估结果和风险评估结果,步骤S300包括但不限于步骤S310至步骤S320。
步骤S310,在两个实体包括通用漏洞披露实体和攻击子技术实体或者包括通用弱点枚举实体和攻击子技术实体的情况下,根据查询路径确定威胁分析漏洞评估结果;
步骤S320,在两个实体包括通用平台标识实体和通用漏洞披露实体的情况下,根据查询路径确定风险评估结果。
本申请实施例所示意的步骤S310至步骤S320,在根据查询路径确定网络安全分析结果的过程中,在两个实体包括通用漏洞披露实体和攻击子技术实体或者包括通用弱点枚举实体和攻击子技术实体的情况下,就可以根据查询路径确定威胁分析漏洞评估结果。在两个实体包括通用平台标识实体和通用漏洞披露实体的情况下,就可以根据查询路径确定风险评估结果。
需要说明的是,基于靶标中存在的漏洞(CVE、CWE)与攻击技巧和恶意行为模式(CAPEC、Attack Subtechnique)实体,使用路径算法可用于挖掘靶场网络中的漏洞和潜在的攻击路径。通过构建好的知识图谱,其中包括已知的漏洞、攻击技巧和恶意行为模式,安全分析师可以使用最短路径算法查找从潜在威胁到关键资产的最短路径,以便识别可能的攻击路径。基于CPE、CVE等实体信息,路径算法可帮助安全专家确定靶场网络中哪些资源或系统容易受到攻击,以及攻击者如何可能渗透到关键资产,这有助于进行风险评估和制定相应的安全策略。
请参阅图9,在得到网络安全分析结果之后,本申请的网络安全分析方法还包括但不限于步骤S400。
步骤S400,对实体、查询路径和网络安全分析结果进行可视化处理并且生成网络安全分析报告。
本申请实施例所示意的步骤S400,在得到网络安全分析结果之后,还可以对实体、查询路径和网络安全分析结果进行可视化处理并且还可以生成网络安全分析报告,以使得网络安全分析人员可以更加直观地对网络中存在的安全隐患进行了解分析。
值得注意的是,通过将靶场中攻击者使用的攻击手法、步骤,通过路径的方式可视化展示,安全专家可以更容易地理解和传达网络威胁的复杂性;这对于向非技术人员解释威胁和风险非常有用。
请参阅图10,路径长度设置阈值可以通过但不限于步骤S510和步骤S520而得到。
步骤S510,对两个实体之间的最大路径长度进行确定;
步骤S520,对最大路径长度进行折半运算得到路径长度设定阈值。
本申请实施例所示意的步骤S510至步骤S520,在计算路径长度设置阈值的过程中,首先对两个实体之间的最大路径长度进行确定;接着对最大路径长度进行折半运算就可以得到路径长度设定阈值。其中,将最大路径长度的一半作为路径长度设定阈值,使得在进行路径查询的过程中能够更加合理准确。
请参阅图11,上述步骤S130可以包括但不限于步骤S131至步骤S132。
步骤S131,根据网络安全实体集合中的多个实体确定多个实体字段;以及根据网络安全知识关系集合中的多个关系确定多个关系组织字段;
步骤S132,将多个实体字段和多个关系组织字段存储至预设的图数据库得到网络安全知识图谱。
本申请实施例所示意的步骤S131至步骤S132,在构建网络安全知识图谱的过程中,首先根据网络安全实体集合中的多个实体确定多个实体字段;以及根据网络安全知识关系集合中的多个关系确定多个关系组织字段;最后将多个实体字段和多个关系组织字段存储到预设的图数据库就可以得到网络安全知识图谱;通过上述方式,使得网络安全知识图谱的构建可以更加全面地涵盖各种网络安全数据类型以及各种数据类型之间的关系,从而可以更加全面地反映各种网络安全问题。
值得注意的是,网络安全知识目的是为了体现各个网络安全实体之间的关联关系,因此,基于网络靶场应用场景充分分析各类网络安全知识数据源,提取出部分字段构成网络安全实体和关系,并去除重复冗余的数据,从而达到降低存储开销及数据重复存储问题的目的。各实体关系如下图12所示。
各类型实体字段组织形式,实体字段组织形式包括实体id,实体属性部分,各类型实体字段组织形式如下:e3(Attack_technique)、e2(Attack_tactics)、e1(Attack_subtechnique) 3类实体字段包含:attack-id(ATT&CK的id)、name(ATT&CK 的名称)、description(ATT&CK的描述);
e4(CAPEC)实体字段包含:capec-id(CAPEC的id)、name(CAPEC的名称)、description(CAPEC的描述);
e5(CPE)实体字段包含:cpe-id,type(类型包括软件、操作系统、硬件),product(产品名称)、vendor(产品供应商);
e6(CWE)实体字段包含:cwe-id(CWE的id号)、name(CWE的名称)、description(CWE的描述);
e7(CVE)实体字段包含:cve_id(CVE的id号),description(CAPEC的描述)。
关系之间的组织形式:头实体ID,尾实体ID的形式:
由于实体e6(CWE)内部之间存在多种关系,因此关系r2,r4,r5,r7,r10,r11的组织形式:头实体e6-h和尾实体e6-k都是CWE实体的id号,即ri:cwe-h,cwe-k(ri为关系,h,k为实体id号);
由于e4(CAPEC)内部之间存在多种关系,因此关系r2,r4,r5,r7,r10,r11的组织形式:头实体e4-h和尾实体e4-k都是CAPEC实体的id号,即ri:capec-h,capec-k(ri为关系,h,k为实体id号);
由于e1(Attack Subtechnique)可以是e2(Attack Tactics)或e3(AttackTechnique)实体的子类,因此关系r5的组织形式:头实体e2-h或者e3-h和尾实体e1-k实体的id号,即r5包括:Attack Tactics-h,Attack Subtechnique-k或者Attack Technique-h,Attack Subtechnique-k(h,k为实体id号);
实体e7(CVE)对e5(CPE)产生影响,因此关系r1的组织形式:头实体e7-h,尾实体e5-k实体的id号,即r1:cve-h,cpe-k(h,k为实体id号);
实体e7(CVE)与e6(CWE)之间存在关系,因此关系r6的组织形式:头实体e7-h,尾实体e6-k实体的id号,即r1:cve-h,cwe-k(h,k为实体id号);
实体e7(CVE)与e4(CAPEC)之间存在关系,因此关系r9的组织形式:头实体e7-h,尾实体e4-k实体的id号,即r1:cve-h,capec-k(h,k为实体id号);
实体e4(CAPEC)与e1(Attack Subtechnique)之间存在关系,因此关系r8的组织形式:头实体e4-h,尾实体e1-k实体的id号,即r8:CAPEC-h,Attack Subtechnique-k(h,k为实体id号);
从网安数据源中抽取基于上述定义的实体关系数据,然后存储到图数据库中,从而实现亿级节点规模下两跳可达路径搜索P90时间优化到100ms,实现了网络靶场的秒级图模式匹配。
请参阅图13,在执行上述步骤S100之前还可以包括但不限于步骤S140。
步骤S140,将网络安全知识图谱分布式存储于多台服务器中。
本申请实施例所示意的步骤S140,将图数据库分布式存储在多台服务器上,从而可以支持多应用场景以及多种图算法。
请参阅图14,本申请实施例还提供一种网络安全分析装置10,可以实现上述网络安全分析方法,该装置包括:
第一处理模块100,用于基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,网络安全实体集合中的每一个所述实体表征一种网络安全知识类型;
第二处理模块200,用于在网络安全知识图谱中,分别对两个实体进行路径查询以确定查询路径;
第三处理模块300,用于根据查询路径确定网络安全分析结果。
该网络安全分析装置的具体实施方式与上述网络安全分析方法的具体实施例基本相同,在此不再赘述。
本申请实施例还提供了一种电子设备,电子设备包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述网络安全分析方法。该电子设备可以为包括平板电脑、车载电脑等任意智能终端。
请参阅图15,图15示意了另一实施例的电子设备700的硬件结构,电子设备700包括:
处理器710,可以采用通用的CPU(CentralProcessingUnit,中央处理器)、微处理器、应用专用集成电路(ApplicationSpecificIntegratedCircuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本申请实施例所提供的技术方案;
存储器720,可以采用只读存储器(ReadOnlyMemory,ROM)、静态存储设备、动态存储设备或者随机存取存储器(RandomAccessMemory,RAM)等形式实现。存储器720可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器720中,并由处理器710来调用执行本申请实施例的网络安全分析方法。
本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机程序,该计算机程序被处理器执行时实现上述网络安全分析方法。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
本申请实施例提供的网络安全分析方法和装置、电子设备及计算机可读存储介质,网络安全分析方法基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,网络安全实体集合中的每一个实体表征一种网络安全知识类型;在网络安全知识图谱中,分别对两个实体进行路径查询从而可以确定查询路径;最后就可以根据查询路径确定得到网络安全分析结果。通过上述技术方案,能够在海量网络安全知识中快速对网络中存在的威胁和漏洞进行分析评估处理,从而提高了网络安全监测的效率。
本申请实施例描述的实施例是为了更加清楚的说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域技术人员可知,随着技术的演变和新应用场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
本领域技术人员可以理解的是,图中示出的技术方案并不构成对本申请实施例的限定,可以包括比图示更多或更少的步骤,或者组合某些步骤,或者不同的步骤。
以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,上述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
上述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括多指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例的方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序的介质。
以上参照附图说明了本申请实施例的优选实施例,并非因此局限本申请实施例的权利范围。本领域技术人员不脱离本申请实施例的范围和实质内所作的任何修改、等同替换和改进,均应在本申请实施例的权利范围之内。
Claims (14)
1.一种网络安全分析方法,其特征在于,所述方法包括:
基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,所述网络安全实体集合中的每一个所述实体表征一种网络安全知识类型;
在所述网络安全知识图谱中,分别对两个所述实体进行路径查询以确定查询路径;
根据所述查询路径确定网络安全分析结果;
其中,所述分别对两个所述实体进行路径查询以确定查询路径,包括:
将两个所述实体作为起始实体和终止实体;
将所述起始实体和终止实体分别作为起点进行一跳查询,得到对应于所述起始实体的第一邻居实体和对应于所述终止实体的第二邻居实体;
判断所述第一邻居实体和所述第二邻居实体是否存在相同节点;
在所述第一邻居实体和所述第二邻居实体存在相同节点的情况下,根据所述起始实体、所述终止实体、所述第一邻居实体和所述第二邻居实体确定所述查询路径;
在所述第一邻居实体和所述第二邻居实体不存在相同节点的情况下,将查询跳数与预设的路径长度设定阈值进行对比;
在所述查询跳数小于所述路径长度设定阈值的情况下,分别以所述第一邻居实体和所述第二邻居实体作为新的所述起点重新进行一跳查询,直至得到的新的所述第一邻居实体和新的所述第二邻居实体存在相同节点或者所述查询跳数大于或者等于所述路径长度设定阈值。
2.根据权利要求1所述的网络安全分析方法,其特征在于,所述将查询跳数与预设的路径长度设定阈值进行对比后,所述方法还包括:
在所述查询跳数大于或者等于所述路径长度设定阈值的情况下,根据所述起始实体、所述终止实体、第一邻居实体和所述第二邻居实体确定所述查询路径。
3.根据权利要求1所述的网络安全分析方法,其特征在于,所述分别以所述第一邻居实体和所述第二邻居实体作为新的所述起点重新进行一跳查询,直至得到的新的所述第一邻居实体和新的所述第二邻居实体存在相同节点或者所述查询跳数大于或者等于所述路径长度设定阈值,包括:
分别以所述第一邻居实体和所述第二邻居实体作为新的所述起点进行一跳查询得到新的所述第一邻居实体和新的所述第二邻居实体;
在新的所述第一邻居实体和新的所述第二邻居实体不存在相同节点并且所述查询跳数小于所述路径长度设定阈值的情况下,将新的所述第一邻居实体和所述新的所述第二邻居实体作为新的起点重新进行一跳查询,直至得到的新的所述第一邻居实体和新的所述第二邻居实体存在相同节点或者所述查询跳数大于或者等于所述路径长度设定阈值。
4.根据权利要求1所述的网络安全分析方法,其特征在于,所述网络安全知识图谱通过以下方式构建:
获取攻击类型枚举和分类数据、通用缺陷枚举数据、攻击者技术通用知识数据、通用漏洞披露数据、通用平台枚举数据;
根据所述攻击类型枚举和分类数据、所述通用缺陷枚举数据、所述攻击者技术通用知识数据、所述通用漏洞披露数据和所述通用平台枚举数据确定所述网络安全实体集合和网络安全知识关系集合;
根据所述网络安全实体集合和所述网络安全知识关系集合构建所述网络安全知识图谱。
5.根据权利要求4所述的网络安全分析方法,其特征在于,所述网络安全实体集合包括攻击子技术实体、攻击策略实体、攻击技术实体、通用攻击模式枚举与分类实体、通用平台标识实体、通用漏洞披露实体和通用弱点枚举实体,所述根据所述攻击类型枚举和分类数据、所述通用缺陷枚举数据、所述攻击者技术通用知识数据、所述通用漏洞披露数据和所述通用平台枚举数据确定所述网络安全实体集合,包括:
基于所述攻击者技术通用知识数据构建所述攻击子技术实体、所述攻击策略实体和所述攻击技术实体;
基于所述攻击类型枚举和分类数据构建所述通用攻击模式枚举与分类实体;
基于所述通用平台枚举数据构建所述通用平台标识实体;
基于所述通用漏洞披露数据构建所述通用漏洞披露实体;
基于所述通用缺陷枚举数据构建所述通用弱点枚举实体。
6.根据权利要求5所述的网络安全分析方法,其特征在于,所述网络安全知识关系集合包括漏洞关系、漏洞相近关系、攻击后序关系、攻击先序关系、攻击子类关系、漏洞互动关系、攻击对等关系、攻击相关关系、攻击模式相关关系、前提条件关系和弱点起始状态关系,所述网络安全知识关系通过以下方式得到:
根据所述通用漏洞披露数据和所述通用平台枚举数据确定所述漏洞关系;
根据所述通用缺陷枚举数据之间、所述攻击类型枚举和分类数据之间确定所述漏洞相近关系;
根据所述攻击类型枚举和分类数据之间确定所述攻击后序关系;
根据所述通用缺陷枚举数据之间确定所述攻击先序关系;
根据所述通用缺陷枚举数据之间、所述攻击子技术实体和所述攻击技术实体、所述攻击策略实体和所述攻击子技术实体、所述通用缺陷枚举数据之间确定所述攻击子类关系;
根据所述通用漏洞披露数据和所述通用缺陷枚举数据确定所述漏洞互动关系;
根据所述通用缺陷枚举数据之间、所述攻击类型枚举和分类数据之间确定所述攻击对等关系;
根据所述攻击类型枚举和分类数据和所述攻击子技术实体确定所述攻击相关关系;
根据所述通用缺陷枚举数据和所述攻击类型枚举和分类数据确定所述攻击模式相关关系;
根据所述通用缺陷枚举数据之间确定所述前提条件关系;
根据所述通用缺陷枚举数据之间确定所述弱点起始状态关系。
7.根据权利要求6所述的网络安全分析方法,其特征在于,所述网络安全分析结果包括威胁分析漏洞评估结果和风险评估结果,所述根据所述查询路径确定网络安全分析结果,包括:
在两个所述实体包括所述通用漏洞披露实体和所述攻击子技术实体或者包括所述通用弱点枚举实体和所述攻击子技术实体的情况下,根据所述查询路径确定所述威胁分析漏洞评估结果;
在两个所述实体包括所述通用平台标识实体和所述通用漏洞披露实体的情况下,根据所述查询路径确定所述风险评估结果。
8.根据权利要求1所述的网络安全分析方法,其特征在于,所述根据所述查询路径确定网络安全分析结果后,所述方法还包括:
对所述实体、所述查询路径和所述网络安全分析结果进行可视化处理并且生成网络安全分析报告。
9.根据权利要求1所述的网络安全分析方法,其特征在于,所述路径长度设定阈值通过以下方式得到:
对两个所述实体之间的最大路径长度进行确定;
对所述最大路径长度进行折半运算得到所述路径长度设定阈值。
10.根据权利要求4所述的网络安全分析方法,其特征在于,所述根据所述网络安全实体集合和所述网络安全知识关系集合构建所述网络安全知识图谱,包括:
根据所述网络安全实体集合中的多个所述实体确定多个实体字段;以及根据所述网络安全知识关系集合中的多个关系确定多个关系组织字段;
将多个所述实体字段和多个所述关系组织字段存储至预设的图数据库得到所述网络安全知识图谱。
11.根据权利要求6所述的网络安全分析方法,其特征在于,所述基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体前,所述方法还包括:
将所述网络安全知识图谱分布式存储于多台服务器中。
12.一种网络安全分析装置,其特征在于,所述装置包括:
第一处理模块,用于基于预设的网络安全知识图谱的网络安全实体集合中获取任意两个实体;其中,所述网络安全实体集合中的每一个所述实体表征一种网络安全知识类型;
第二处理模块,用于在所述网络安全知识图谱中,分别对两个所述实体进行路径查询以确定查询路径;
第三处理模块,用于根据所述查询路径确定网络安全分析结果;
其中,所述第二处理模块还用于:
将两个所述实体作为起始实体和终止实体;
将所述起始实体和终止实体分别作为起点进行一跳查询,得到对应于所述起始实体的第一邻居实体和对应于所述终止实体的第二邻居实体;
判断所述第一邻居实体和所述第二邻居实体是否存在相同节点;
在所述第一邻居实体和所述第二邻居实体存在相同节点的情况下,根据所述起始实体、所述终止实体、所述第一邻居实体和所述第二邻居实体确定所述查询路径;
在所述第一邻居实体和所述第二邻居实体不存在相同节点的情况下,将查询跳数与预设的路径长度设定阈值进行对比;
在所述查询跳数小于所述路径长度设定阈值的情况下,分别以所述第一邻居实体和所述第二邻居实体作为新的所述起点重新进行一跳查询,直至得到的新的所述第一邻居实体和新的所述第二邻居实体存在相同节点或者所述查询跳数大于或者等于所述路径长度设定阈值。
13.一种电子设备,其特征在于,所述电子设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现权利要求1至11任意一项所述的网络安全分析方法。
14.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至11任意一项所述的网络安全分析方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410190586.6A CN117749534B (zh) | 2024-02-21 | 2024-02-21 | 网络安全分析方法、装置、电子设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410190586.6A CN117749534B (zh) | 2024-02-21 | 2024-02-21 | 网络安全分析方法、装置、电子设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117749534A CN117749534A (zh) | 2024-03-22 |
CN117749534B true CN117749534B (zh) | 2024-05-07 |
Family
ID=90261350
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410190586.6A Active CN117749534B (zh) | 2024-02-21 | 2024-02-21 | 网络安全分析方法、装置、电子设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117749534B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108933793A (zh) * | 2018-07-24 | 2018-12-04 | 中国人民解放军战略支援部队信息工程大学 | 基于知识图谱的攻击图生成方法及其装置 |
CN113158189A (zh) * | 2021-04-28 | 2021-07-23 | 绿盟科技集团股份有限公司 | 一种恶意软件分析报告生成方法、装置、设备和介质 |
CN116527288A (zh) * | 2022-01-21 | 2023-08-01 | 上海交通大学 | 基于知识图谱的网络攻击安全风险评估系统及方法 |
CN116561337A (zh) * | 2023-04-20 | 2023-08-08 | 鹏城实验室 | 网络攻击知识图谱生成方法、装置、电子设备及存储介质 |
CN116610815A (zh) * | 2023-05-29 | 2023-08-18 | 华侨大学 | 一种知识图谱的关系预测方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20230412634A1 (en) * | 2022-06-15 | 2023-12-21 | Accenture Global Solutions Limited | Automated prediction of cyber-security attack techniques using knowledge mesh |
-
2024
- 2024-02-21 CN CN202410190586.6A patent/CN117749534B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108933793A (zh) * | 2018-07-24 | 2018-12-04 | 中国人民解放军战略支援部队信息工程大学 | 基于知识图谱的攻击图生成方法及其装置 |
CN113158189A (zh) * | 2021-04-28 | 2021-07-23 | 绿盟科技集团股份有限公司 | 一种恶意软件分析报告生成方法、装置、设备和介质 |
CN116527288A (zh) * | 2022-01-21 | 2023-08-01 | 上海交通大学 | 基于知识图谱的网络攻击安全风险评估系统及方法 |
CN116561337A (zh) * | 2023-04-20 | 2023-08-08 | 鹏城实验室 | 网络攻击知识图谱生成方法、装置、电子设备及存储介质 |
CN116610815A (zh) * | 2023-05-29 | 2023-08-18 | 华侨大学 | 一种知识图谱的关系预测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117749534A (zh) | 2024-03-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3287927B1 (en) | Non-transitory computer-readable recording medium storing cyber attack analysis support program, cyber attack analysis support method, and cyber attack analysis support device | |
CN112131882B (zh) | 一种多源异构网络安全知识图谱构建方法及装置 | |
Karatas et al. | Increasing the performance of machine learning-based IDSs on an imbalanced and up-to-date dataset | |
Ren et al. | Cskg4apt: A cybersecurity knowledge graph for advanced persistent threat organization attribution | |
CN111813960B (zh) | 基于知识图谱的数据安全审计模型装置、方法及终端设备 | |
CN113496033B (zh) | 访问行为识别方法和装置及存储介质 | |
CN111368302B (zh) | 基于攻击者攻击策略生成的自动威胁检测方法 | |
CN108520180A (zh) | 一种基于多维度的固件Web漏洞检测方法及系统 | |
CN114547415A (zh) | 工业物联网中基于网络威胁情报的攻击模拟方法 | |
CN113965469B (zh) | 网络数据分析模型的构建方法 | |
CN116405246A (zh) | 一种基于攻防结合的漏洞利用链构建技术 | |
Jia et al. | Artificial intelligence enabled cyber security defense for smart cities: A novel attack detection framework based on the MDATA model | |
Shlomo et al. | Temporal pattern-based malicious activity detection in SCADA systems | |
CN114205128A (zh) | 网络攻击分析方法、装置、电子设备及存储介质 | |
CN108171054A (zh) | 一种针对社交欺骗的恶意代码的检测方法及系统 | |
CN115329770A (zh) | 基于语义分析的威胁情报提取方法和系统 | |
Layton et al. | Authorship analysis of the Zeus botnet source code | |
CN117749534B (zh) | 网络安全分析方法、装置、电子设备及可读存储介质 | |
CN116319077B (zh) | 网络攻击检测方法和装置、设备、存储介质和产品 | |
CN115567325B (zh) | 一种基于图匹配的威胁狩猎方法 | |
CN115860117B (zh) | 基于攻防行为的mdata知识抽取方法及其系统 | |
CN117061202A (zh) | 一种基于多源漏洞数据知识图谱的攻击链路生成方法 | |
WO2023151257A1 (zh) | 模拟攻击杀伤链的方法、装置、存储介质及电子设备 | |
Liu et al. | An intrusion alert correlation approach based on finite automata | |
CN113572781A (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 |