CN117692252B - 渗透测试路线规划方法和装置、电子设备及存储介质 - Google Patents
渗透测试路线规划方法和装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117692252B CN117692252B CN202410130660.5A CN202410130660A CN117692252B CN 117692252 B CN117692252 B CN 117692252B CN 202410130660 A CN202410130660 A CN 202410130660A CN 117692252 B CN117692252 B CN 117692252B
- Authority
- CN
- China
- Prior art keywords
- scene
- attack
- route
- similarity
- att
- 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
- 230000035515 penetration Effects 0.000 title claims abstract description 99
- 238000000034 method Methods 0.000 title claims abstract description 83
- 238000012360 testing method Methods 0.000 title claims abstract description 66
- 238000004364 calculation method Methods 0.000 claims abstract description 42
- 238000004422 calculation algorithm Methods 0.000 claims description 66
- 238000004088 simulation Methods 0.000 claims description 65
- 239000003795 chemical substances by application Substances 0.000 claims description 57
- 239000013598 vector Substances 0.000 claims description 55
- 230000009471 action Effects 0.000 claims description 30
- 238000012549 training Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 23
- 230000002787 reinforcement Effects 0.000 claims description 22
- 239000011159 matrix material Substances 0.000 claims description 20
- 238000005516 engineering process Methods 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 12
- 230000006870 function Effects 0.000 claims description 11
- 230000009467 reduction Effects 0.000 claims description 10
- 238000000605 extraction Methods 0.000 claims description 9
- 238000000513 principal component analysis Methods 0.000 claims description 6
- 238000013528 artificial neural network Methods 0.000 claims description 5
- 238000004590 computer program Methods 0.000 claims description 4
- 238000010276 construction Methods 0.000 claims description 4
- 238000000354 decomposition reaction Methods 0.000 claims description 4
- 238000010845 search algorithm Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 238000013459 approach Methods 0.000 description 4
- 230000035699 permeability Effects 0.000 description 4
- 230000002688 persistence Effects 0.000 description 4
- 238000010998 test method Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000007123 defense Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- 101100070115 Arabidopsis thaliana HACL gene Proteins 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000009411 base construction Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000010606 normalization Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
- 238000012038 vulnerability analysis Methods 0.000 description 1
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
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- 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/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明实施例提供了一种渗透测试路线规划方法和装置、电子设备及存储介质。其中,方法包括:从目标场景获取目标场景信息;对目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征;计算目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征的相似度和资产漏洞特征的相似度加权平均计算而得到;根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线,基于此,本发明实施例能够在渗透测试路线规划上有效提高测试效率,并可以快速找到相似场景的渗透路线,从而极大提升渗透路线的可复用性,有利于维护网络安全。
Description
技术领域
本发明实施例涉及网络安全技术领域,尤其涉及一种渗透测试路线规划方法和装置、电子设备及存储介质。
背景技术
随着信息化时代的到来,网络安全已经成为了亟待解决的重要问题。渗透测试是一种模拟恶意攻击的方式,用来评估系统、网络或WEB应用的安全性。传统的渗透测试方法高度依赖测试人员专业技能和经验,手动操作过程复杂且耗时,使得大规模网络系统安全评估成为一项艰巨的任务。人为因素的介入可能带来测试结果的偏差,无法准确反映系统的安全状态。因此,渗透测试方法已经成为了当前网络安全领域的研究重点。
当前渗透测试方法面临的主要挑战在于渗透测试路线规划,现有方法依赖高级工程师的专业经验设计渗透路线,面向复杂的大规模网络系统安全评估任务,现有的渗透测试方法在渗透测试路线规划上存在效率低下、渗透路线难以复用的技术问题。
发明内容
本发明实施例提供了一种渗透测试路线规划方法和装置、电子设备及存储介质,能够在渗透测试路线规划上有效提高测试效率,并可以快速找到相似场景的渗透路线,从而极大提升渗透路线的可复用性,有利于维护网络安全。
第一方面,本发明实施例提供了一种渗透测试路线规划方法,包括:
从目标场景获取目标场景信息;
对所述目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,所述网络拓扑特征用于表征所述目标场景中各个网络设备之间的连接关系,所述资产漏洞特征用于表征所述目标场景中所有数据资产的漏洞数据集合;
计算所述目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,所述场景相似度由所述网络拓扑特征的相似度和所述资产漏洞特征的相似度加权平均计算而得到,所述网络拓扑特征的相似度采用地动量距离EMD算法进行计算,所述资产漏洞特征的相似度采用余弦相似度算法进行计算;
根据所述相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线。
在一些实施例中,所述场景渗透路线知识库的构建方法包括:
收集场景信息,所述场景信息包括网络拓扑信息和资产漏洞信息;
提取所述场景信息中的场景特征,所述场景特征包括网络拓扑特征向量和资产漏洞特征向量;
根据所述场景信息生成逻辑模拟攻击图;
基于反向搜索算法从所述逻辑模拟攻击图中提取逻辑模拟攻击路线;
基于强化学习算法训练ATT&CK智能体,得到训练好的所述ATT&CK智能体,其中,所述ATT&CK智能体是基于所述逻辑模拟攻击路线和ATT&CK攻击框架作为训练集训练神经网络而得到;
采用训练好的所述ATT&CK智能体对所述逻辑模拟攻击路线进行预测和更新,得到完整逻辑模拟攻击路线;
根据所述完整逻辑模拟攻击路线和所述场景特征构建所述场景渗透路线知识库。
在一些实施例中,所述提取所述场景信息中的场景特征,包括:
采用点向量嵌入技术从所述网络拓扑信息提取所述网络拓扑特征向量;
采用独热编码和降维算法从所述资产漏洞信息提取所述资产漏洞特征向量。
在一些实施例中,所述采用点向量嵌入技术从所述网络拓扑信息提取所述网络拓扑特征向量,包括:
将所述网络拓扑信息中的每个节点特征表示为点向量,每个节点代表一个网络设备;
根据所述点向量的集合生成网络拓扑图;
采用邻接矩阵表示所述网络拓扑图;
对所述邻接矩阵进行特征值分解,得到所述网络拓扑特征向量。
在一些实施例中,所述采用独热编码和降维算法从所述资产漏洞信息提取所述资产漏洞特征向量,包括:
采用独热编码对所述资产漏洞信息进行数值向量化,得到资产漏洞特征二维矩阵,其中,所述资产漏洞特征属于离散型文本特征;
采用主成分分析PCA算法对所述资产漏洞特征二维矩阵进行降维处理,得到所述资产漏洞特征向量。
在一些实施例中,所述根据所述场景信息生成逻辑模拟攻击图,包括:
将所述网络拓扑信息和所述资产漏洞信息转换为数据逻辑语言;
基于预设的安全规则,采多元逻辑攻击图生成工具根据所述数据逻辑语言生成所述逻辑模拟攻击图。
在一些实施例中,所述基于反向搜索算法从所述逻辑模拟攻击图中提取逻辑模拟攻击路线,包括:
确定所述逻辑模拟攻击图的攻击者节点和攻击目标节点;
采用广度优先搜索BFS算法反向搜索所述逻辑模拟攻击图中连接所述攻击目标节点的每个节点,且在搜索过程中,只保留椭圆形节点,以所述椭圆形节点作为攻击路线的攻击步骤;
将到达所述攻击步骤的非椭圆形节点设置为所述椭圆形节点的前置条件,并将所述攻击步骤和所述前置条件关联到一个或多个ATT&CK技战术标签,所述ATT&CK技战术标签用于标识ATT&CK技战术;
将搜索到的攻击路线进行反向处理,得到从所述攻击者节点到所述攻击目标节点的所述逻辑模拟攻击路线。
在一些实施例中,所述基于强化学习算法训练ATT&CK智能体,得到训练好的所述ATT&CK智能体,包括:
基于所述ATT&CK攻击框架对强化学习进行建模,其中,以马尔可夫决策过程四元组(S, A, R, P)的形式表示强化学习,S为状态空间,A为动作空间,R为奖励函数,P为更新策略;
基于所述状态空间、所述动作空间、所述奖励函数和所述更新策略训练所述ATT&CK智能体,以使得所述ATT&CK智能体根据所述更新策略在每个状态下选择最大化预期奖励的动作,得到训练好的所述ATT&CK智能体。
在一些实施例中,所述采用训练好的所述ATT&CK智能体对所述逻辑模拟攻击路线进行预测和更新,得到完整逻辑模拟攻击路线,包括:
在网络靶场环境中执行所述逻辑模拟攻击路线,到达目标攻击步骤;
将所述目标攻击步骤转换为所述ATT&CK智能体的初始状态和当前动作,并设定新的攻击目标,在这个新状态下,所述ATT&CK智能体持续进行预测和更新,直到达到设定的攻击目标,得到所述完整逻辑模拟攻击路线。
第二方面,本发明实施例还提供了一种渗透测试路线规划装置,所述装置包括:
获取模块,用于从目标场景获取目标场景信息;
提取模块,用于对所述目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,所述网络拓扑特征用于表征所述目标场景中各个网络设备之间的连接关系,所述资产漏洞特征用于表征所述目标场景中所有数据资产的漏洞数据集合;
计算模块,用于计算所述目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,所述场景相似度由所述网络拓扑特征的相似度和所述资产漏洞特征的相似度加权平均计算而得到,所述网络拓扑特征的相似度采用地动量距离EMD算法进行计算,所述资产漏洞特征的相似度采用余弦相似度算法进行计算;
匹配模块,用于根据所述相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线。
第三方面,本发明实施例还提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如第一方面所述的渗透测试路线规划方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如第一方面所述的渗透测试路线规划方法。
根据本发明实施例提供的渗透测试路线规划方法和装置、电子设备及存储介质,其中,渗透测试路线规划方法包括:从目标场景获取目标场景信息;对目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,网络拓扑特征用于表征目标场景中各个网络设备之间的连接关系,资产漏洞特征用于表征目标场景中所有数据资产的漏洞数据集合;计算目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征的相似度和资产漏洞特征的相似度加权平均计算而得到,网络拓扑特征的相似度采用地动量距离EMD算法进行计算,资产漏洞特征的相似度采用余弦相似度算法进行计算;根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线。基于此,在实际渗透测试场景中,自动从目标场景中提取场景拓扑特征和资产漏洞特征,然后计算目标场景和知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征相似度S1和资产漏洞特征相似度S2加权平均计算而得,S1相似度采用地动量距离EMD算法进行计算,S2相似度则采用余弦相似度算法进行计算。再根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中确定与目标场景相似的渗透路线,并基于该渗透路线在目标场景进行渗透测试,整个过程无需依赖测试人员专业技能和经验,也无需手动操作,且可以为目标场景自动推荐相似场景的渗透路线。因此,本发明实施例能够在渗透测试路线规划上有效提高测试效率,并可以快速找到相似场景的渗透路线,从而极大提升渗透路线的可复用性,有利于维护网络安全。
附图说明
图1A是本发明一个实施例提供的渗透测试路线规划方法的流程图;
图1B是本发明一个实施例提供的目标场景渗透测试路线规划流程图;
图2A是本发明一个实施例提供的场景渗透路线知识库的构建方法流程图;
图2B是本发明一个实施例提供的场景渗透路线知识库构建流程图;
图3是本发明一个实施例提供的图2A中的步骤S202的流程图;
图4是本发明一个实施例提供的图3中的步骤S301的流程图;
图5是本发明一个实施例提供的图3中的步骤S302的流程图;
图6A是本发明一个实施例提供的图2A中的步骤S203的流程图;
图6B是本发明一个实施例提供的网络拓扑信息和资产漏洞信息转换为Datalog语言表示图;
图6C是本发明一个实施例提供的逻辑模拟攻击图;
图7A是本发明一个实施例提供的图2A中的步骤S204的流程图;
图7B是本发明一个实施例提供的逻辑模拟攻击路线图;
图8是本发明一个实施例提供的图2A中的步骤S205的流程图;
图9A是本发明一个实施例提供的图2A中的步骤S206的流程图;
图9B是本发明一个实施例提供的ATT&CK攻击路线图;
图10是本发明一个实施例提供的渗透测试路线规划装置的示意图;
图11是本发明一个实施例提供的电子设备的示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及下述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
本发明实施例中,“进一步地”、“示例性地”或者“可选地”等词用于表示作为例子、例证或说明,不应被解释为比其它实施例或设计方案更优选或更具有优势。使用“进一步地”、“示例性地”或者“可选地”等词旨在以具体方式呈现相关概念。
为了后续更方便地描述本发明实施例的工作原理,以下先给出相关技术场景的介绍。
随着信息化时代的到来,网络安全已经成为了亟待解决的重要问题。渗透测试是一种模拟恶意攻击的方式,用来评估系统、网络或WEB应用的安全性。传统的渗透测试方法高度依赖测试人员专业技能和经验,手动操作过程复杂且耗时,使得大规模网络系统安全评估成为一项艰巨的任务。人为因素的介入可能带来测试结果的偏差,无法准确反映系统的安全状态。因此,渗透测试方法已经成为了当前网络安全领域的研究重点。
当前渗透测试方法面临的主要挑战在于渗透测试路线规划,现有方法依赖高级工程师的专业经验设计渗透路线,面向复杂的大规模网络系统安全评估任务,现有的渗透测试方法在渗透测试路线规划上存在效率低下、渗透路线难以复用的技术问题。
基于此,本发明提供了一种渗透测试路线规划方法和装置、电子设备及存储介质。其中,渗透测试路线规划方法包括:从目标场景获取目标场景信息;对目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,网络拓扑特征用于表征目标场景中各个网络设备之间的连接关系,资产漏洞特征用于表征目标场景中所有数据资产的漏洞数据集合;计算目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征的相似度和资产漏洞特征的相似度加权平均计算而得到,网络拓扑特征的相似度采用地动量距离EMD算法进行计算,资产漏洞特征的相似度采用余弦相似度算法进行计算;根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线。基于此,在实际渗透测试场景中,自动从目标场景中提取场景拓扑特征和资产漏洞特征,然后计算目标场景和知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征相似度S1和资产漏洞特征相似度S2加权平均计算而得,S1相似度采用地动量距离EMD算法进行计算,S2相似度则采用余弦相似度算法进行计算。再根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中确定与目标场景相似的渗透路线,并基于该渗透路线在目标场景进行渗透测试,整个过程无需依赖测试人员专业技能和经验,也无需手动操作,且可以为目标场景自动推荐相似场景的渗透路线。因此,本发明实施例能够在渗透测试路线规划上有效提高测试效率,并可以快速找到相似场景的渗透路线,从而极大提升渗透路线的可复用性,有利于维护网络安全。
下面结合附图,对本发明实施例作进一步阐述。
如图1A所示,图1A是本发明一个实施例提供的渗透测试路线规划方法的流程图,该渗透测试路线规划方法可以包括但不限于步骤S101至S104。
步骤S101:从目标场景获取目标场景信息;
步骤S102:对目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,网络拓扑特征用于表征目标场景中各个网络设备之间的连接关系,资产漏洞特征用于表征目标场景中所有数据资产的漏洞数据集合;
步骤S103:计算目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征的相似度和资产漏洞特征的相似度加权平均计算而得到,网络拓扑特征的相似度采用地动量距离EMD算法进行计算,资产漏洞特征的相似度采用余弦相似度算法进行计算;
步骤S104:根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线。
在一实施例中,如图1B所示,从目标场景获取目标场景信息,例如,收集目标场景的网络拓扑、漏洞信息、弱口令、防护信息等。
在一实施例中,如图1B所示,对目标场景信息进行场景特征提取,可以得到场景特征,场景特征主要由网络拓扑特征和资产漏洞特征组成,网络拓扑特征用于表征目标场景中各个网络设备之间的连接关系,具体地,网络拓扑结构可以抽象为图结构来表示网络设备(如主机、路由器、防火墙等)之间的连接关系,将每个节点特征表示为点向量(Nodeembedding),网络拓扑则抽象为这些点向量的集合。资产漏洞特征用于表征目标场景中所有数据资产的漏洞数据集合,具体地,资产漏洞数据包括应用,应用版本,操作系统,操作系统版本,漏洞CVE编号,漏洞名称,漏洞类型,漏洞影响范围及程度等。
在一实施例中,如图1B所示,场景渗透路线知识库包含有不同已知场景的场景特征以及相对应的场景渗透路线,通过计算目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果。需要指出的是,场景相似度由网络拓扑特征的相似度和资产漏洞特征的相似度加权平均计算而得到,网络拓扑特征的相似度采用地动量距离EMD(Earth Mover's Distance)算法进行计算,资产漏洞特征的相似度采用余弦相似度算法进行计算。
在一实施例中,如图1B所示,根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线,其中,相似度阈值的具体数值可以根据实际需要进行设置,本发明实施例对此不作限制。以相似度阈值为90%为例,根据相似度计算结果,可以基于推荐算法在场景渗透路线知识库中自动匹配并推荐相似度超过90%的已知场景特征以及对应的场景渗透路线作为目标场景渗透路线。需要说明的是,若计算出的场景相似度未到达预设的相似度阈值,则需要重新构建场景渗透路线知识库。
在实际渗透测试场景中,自动从目标场景中提取场景拓扑特征和资产漏洞特征,然后计算目标场景和知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征相似度S1和资产漏洞特征相似度S2加权平均计算而得,S1相似度采用地动量距离EMD算法进行计算,S2相似度则采用余弦相似度算法进行计算。再根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中确定与目标场景相似的渗透路线,并基于该渗透路线在目标场景进行渗透测试,整个过程无需依赖测试人员专业技能和经验,也无需手动操作,且可以为目标场景自动推荐相似场景的渗透路线。基于此,本发明实施例能够在渗透测试路线规划上有效提高测试效率,并可以快速找到相似场景的渗透路线,从而极大提升渗透路线的可复用性,有利于维护网络安全。
如图2A所示,本发明的一个实施例,场景渗透路线知识库的构建方法包括但不限于步骤S201至S207。
步骤S201:收集场景信息,场景信息包括网络拓扑信息和资产漏洞信息;
步骤S202:提取场景信息中的场景特征,场景特征包括网络拓扑特征向量和资产漏洞特征向量;
步骤S203:根据场景信息生成逻辑模拟攻击图;
步骤S204:基于反向搜索算法从逻辑模拟攻击图中提取逻辑模拟攻击路线;
步骤S205:基于强化学习算法训练ATT&CK智能体,得到训练好的ATT&CK智能体,其中,ATT&CK智能体是基于逻辑模拟攻击路线和ATT&CK攻击框架作为训练集训练神经网络而得到;
步骤S206:采用训练好的ATT&CK智能体对逻辑模拟攻击路线进行预测和更新,得到完整逻辑模拟攻击路线;
步骤S207:根据完整逻辑模拟攻击路线和场景特征构建场景渗透路线知识库。
需要说明的是,场景渗透路线知识库的构建流程可以分为场景信息收集、场景特征提取、逻辑模拟攻击图生成、逻辑模拟攻击路线抽取、ATT&CK(Adversarial Tactics,Techniques,and Common Knowledge,对抗性战术、技术以及公共知识库)智能体训练、场景渗透路线规划几个步骤。
在一实施例中,如图2B所示,首先,基于网络靶场仿真不同行业目标场景,收集目标场景网络拓扑、漏洞、弱口令、防护信息等,可以基于MULVAL(Multihost MultistageVulnerability Analysis,多主机多阶段漏洞分析)生成逻辑模拟攻击图,抽取场景初始攻击步骤,结合强化学习算法训练ATT&CK智能体,ATT&CK智能体用于渗透路线规划,其中,智能体的动作空间从ATT&CK攻击框架技战术中定义,满足智能体攻击路线规划对ATT&CK矩阵的覆盖率。其次,利用ATT&CK智能体预测攻击步骤,得到该场景ATT&CK攻击路线,以此构建场景渗透路线知识库。
在一实施例中,对于场景信息收集,可以基于网络靶场仿真行业典型目标场景,使用主机扫描、端口扫描、服务识别、漏洞扫描、弱口令检测等信息收集工具收集目标场景资产信息和漏洞信息,资产信息包含网络拓扑,操作系统、端口应用、安全防御信息、web站点,漏洞信息包括弱口令、主机漏洞、web漏洞。
在一实施例中,对于场景特征提取,场景特征主要由网络拓扑特征向量和资产漏洞特征向量组成,网络拓扑结构可以抽象为图结构来表示网络设备(如主机、路由器、防火墙等)之间的连接关系,将每个节点特征表示为点向量(Node embedding),网络拓扑则抽象为这些点向量的集合。 资产漏洞数据包括应用,应用版本,操作系统,操作系统版本,漏洞CVE编号,漏洞名称,漏洞类型,漏洞影响范围及程度等。网络拓扑所有资产漏洞数据集合形成的二维矩阵则为场景资产漏洞特征。
在一实施例中,将上述步骤收集的场景网络拓扑和资产漏洞信息,设置重要资产为攻击目标,通过转换网络拓扑和资产漏洞信息为Datalog语言,MULVAL分析器会通过漏洞利用规则、危害传播规则或多跳网络接入规则等安全规则生成逻辑模拟攻击图。需要说明的是,MULVAL是一种以Datalog语言为模型语言的逻辑模拟攻击图生成工具,Datalog语言模型包含漏洞、规则、配置、权限系统和安全策略等。
在一实施例中,基于反向搜索算法从逻辑模拟攻击图中提取逻辑模拟攻击路线,具体地,经过反向搜索后将得到以攻击目标为初始节点,攻击者为目标节点的逻辑模拟攻击路线,将该攻击路线反向便可获得从攻击者出发到目标节点的逻辑模拟攻击路线。通过为攻击步骤标记ATT&CK技战术,可以清晰地了解到攻击路线覆盖了哪些技战术,这不仅有助于全面理解攻击过程,也能引导ATT&CK智能体训练过程中探索更多覆盖ATT&CK技战术的攻击路线,增强攻击路线的全面性。
在一实施例中,基于强化学习算法训练ATT&CK智能体,得到训练好的ATT&CK智能体,其中,ATT&CK智能体是基于逻辑模拟攻击路线和ATT&CK攻击框架作为训练集训练神经网络而得到。采用强化学习算法训练ATT&CK智能体,利用ATT&CK攻击框架技战术体系作为智能体动作空间。基于逻辑模拟攻击路线,使用已训练的ATT&CK智能体对每条攻击路线进行预测和规划,从而提高ATT&CK攻击技战术的覆盖率,增强攻击路线全面性,并有效降低人为因素干扰提高测试效率。
在一实施例中,采用训练好的ATT&CK智能体对逻辑模拟攻击路线进行预测和更新,得到完整逻辑模拟攻击路线。针对攻击目标采用反向搜索算法生成具有ATT&CK技战术标签的逻辑模拟攻击路线,并将逻辑模拟攻击路线最终步骤转换为智能体的初始状态和动作,并设置新的攻击目标,在这个新状态下,智能体持续进行预测和更新,直到达到设定的攻击目标,从而构建出覆盖更多ATT&CK技战术的攻击路线。
在一实施例中,首先,在网络靶场环境中自动化执行逻辑模拟攻击路线,到达目标攻击步骤,然后将当前步骤ATT&CK技战术设定为当前动作,其状态设置为当前状态,将初始状态输入到ATT&CK智能体,并设定新的攻击目标为该资产利用持久化。在这个新状态下,智能体会持续进行预测和更新,直到达到设定的攻击目标。这样,便可以在原来的逻辑模拟攻击路线上基于ATT&CK技战术进一步完善攻击路线,构建出更完整的攻击路线。最后,将场景网络拓扑和资产漏洞特征向量以及场景攻击路线存储于知识库,便于相似场景攻击路线推荐。
如图3所示,本发明的一个实施例,对步骤S202进行进一步说明,步骤S202包括但不限于步骤S301至S302。
步骤S301:采用点向量嵌入技术从网络拓扑信息提取网络拓扑特征向量;
步骤S302:采用独热编码和降维算法从资产漏洞信息提取资产漏洞特征向量。
在一实施例中,基于网络靶场仿真目标场景,采用点向量嵌入技术提取目标场景网络拓扑特征向量,并使用地动量距离算法EMD(Earth Mover's Distance)计算相似度S1。采用独热编码和PCA降维算法提取资产漏洞特征向量,并使用余弦相似度算法进行计算相似度S2。通过加权平均算法计算目标场景与知识库场景相似度,并根据相似度阈值推荐攻击路线。
如图4所示,本发明的一个实施例,对步骤S301进行进一步说明,步骤S301包括但不限于步骤S401至S404。
步骤S401:将网络拓扑信息中的每个节点特征表示为点向量,每个节点代表一个网络设备;
步骤S402:根据点向量的集合生成网络拓扑图;
步骤S403:采用邻接矩阵表示网络拓扑图;
步骤S404:对邻接矩阵进行特征值分解,得到网络拓扑特征向量。
在一实施例中,场景特征主要由网络拓扑特征和资产漏洞特征组成,网络拓扑结构可以抽象为图结构来表示网络设备(如主机、路由器、防火墙等)之间的连接关系,将每个节点特征表示为点向量(Node embedding),网络拓扑则抽象为这些点向量的集合。给定网络拓扑图G=(V,E),V是顶点集合,E是边集合。使用邻接矩阵A表示图G,表示为第i个顶点和第j个顶点/>之间是否存在边,邻接矩阵A定义如下所示:
将邻接矩阵A进行特征值分解,分解公式为,并用其特征向量作为图顶点的向量表示。具体来说,U的第i行/>对应于顶点/>的嵌入向量,这种嵌入方式可以有效捕获图的全局信息。然后,使用最大(绝对值大小)的d个特征值的特征向量,将所有顶点向量映射到d维向量空间/>,因此,每个顶点可以看作是d维单位超立方体中的一个点。
如图5所示,本发明的一个实施例,对步骤S302进行进一步说明,步骤S302包括但不限于步骤S501至S502。
步骤S501:采用独热编码对资产漏洞信息进行数值向量化,得到资产漏洞特征二维矩阵,其中,资产漏洞特征属于离散型文本特征;
步骤S502:采用主成分分析PCA算法对资产漏洞特征二维矩阵进行降维处理,得到资产漏洞特征向量。
在一实施例中,资产漏洞信息包括应用,应用版本,操作系统,操作系统版本,漏洞CVE编号,漏洞名称,漏洞类型,漏洞影响范围及程度等。首先对应用版本和操作系统版本数值型数据进行归一化处理,将其范围限制在[0,1]区间。有序的离散型数据如漏洞影响程度和范围则被转换为有序数值,比如低,中,高可以被编码为1,2,3。其他离散型文本特征如应用、操作系统、漏洞CVE编号,漏洞名称,漏洞类型等则采用独热编码进行数值向量化。比如,如果操作系统取值范围为(windows, linux, macos),那么windows编码为[1,0,0],linux编码为[0,1,0],macos编码为[0,0,1]。网络拓扑所有资产漏洞数据集合形成的二维矩阵则为场景资产漏洞特征。由于这种构造方式产生的特征向量大多数情况下非常稀疏,因此可以采用主成分分析算法(Principal Component Analysis,PCA)进行降维处理,得到低维密集的特征向量。需要说明的是,主成分分析算法是一种常用的无监督学习算法,用于对数据集进行降维处理。
如图6A所示,本发明的一个实施例,对步骤S203进行进一步说明,步骤S203包括但不限于步骤S601至S602。
步骤S601:将网络拓扑信息和资产漏洞信息转换为数据逻辑语言;
步骤S602:基于预设的安全规则,采用多元逻辑攻击图生成工具根据数据逻辑语言生成逻辑模拟攻击图。
在一实施例中,数据逻辑语言可以采用Datalog语言,多元逻辑攻击图生成工具可以采用MULVAL工具,MULVAL是一种以Datalog语言为模型语言的多元逻辑攻击图生成工具,Datalog语言模型包含漏洞、规则、配置、权限系统和安全策略等。比如,apache用户在webServer运行httpd的服务,且使用TCP协议监听80端口,可以表示为networkService(webServer, httpd, TCP, 80, apache)。网络访问配置了TCP数据可以internet流向webServer的80端口,则表示为HACL(internet, webServer, TCP, 80)。如果webServer服务器存在涉及httpd漏洞,则表示为valExists(webServer, ‘CAN-200200392’, httpd)。将上述步骤收集场景的网络拓扑信息和资产漏洞信息,设置重要资产为攻击目标,将其转换为Datalog语言,如图6B所示。图6B表示网络拓扑信息和资产漏洞信息转换为Datalog语言的案例,如攻击目标是在historianServer执行任意代码,则表示为attackGoal(execCode(historianServer,_)),攻击者从互联网attackerLocated(internet)通过vpnServer访问historianServer,表示为hacl(internet,vpnServer,_,_),hacl(vpnServer,historianServer,_,_),然后vpnServer运行的软件Moxa EDR-G902存在漏洞CVE-2020-14511,该漏洞可以远程执行任意代码,则表示为networkServiceInfo(vpnServer,’MoxaEDR-G902’,_,_,_)、vulExists(vpnServer, ‘CVE-2020-14511’, ‘Moxa EDR-G902’)、vulProperty(‘CVE-2020-14511’, remoteExploit,privEscalation),同理,historianServer运行的软件Solaris Sadmind存在漏洞CVE-2008-3870,可以表示为networkServiceInfo(historianServer,’Solaris Sadmind’,_,_,_)、vulExists(historianServer,’CVE-2008-3870’,’Solaris Sadmind’)。通过转换网络拓扑和资产漏洞信息为Datalog语言,MULVAL分析器会通过漏洞利用规则、危害传播规则或多跳网络接入规则等安全规则生成逻辑模拟攻击图,如图6C所示。图中详细展示了攻击者如何到达historianServer执行任意代码的逻辑模拟攻击图。首先攻击者节点11首先通过规则节点9访问vpnServer,然后基于vpnServer软件漏洞节点12和漏洞属性节点13,利用规则节点7在vpnServer远程执行任意代码,访问historianServer。最后利用historianServer漏洞和属性实现远程代码任意执行。基于MULVAL生成逻辑模拟攻击图,结合强化学习算法训练ATT&CK智能体,以降低人为因素干扰并提高测试效率,从而提高渗透测试路线规划效率。
如图7A所示,本发明的一个实施例,对步骤S204进行进一步说明,步骤S204包括但不限于步骤S701至S704。
步骤S701:确定逻辑模拟攻击图的攻击者节点和攻击目标节点;
步骤S702:采用广度优先搜索BFS算法反向搜索逻辑模拟攻击图中连接攻击目标节点的每个节点,且在搜索过程中,只保留椭圆形节点,以椭圆形节点作为攻击路线的攻击步骤;
步骤S703:将到达攻击步骤的非椭圆形节点设置为椭圆形节点的前置条件,并将攻击步骤和前置条件关联到一个或多个ATT&CK技战术标签,ATT&CK技战术标签用于标识ATT&CK技战术;
步骤S704:将搜索到的攻击路线进行反向处理,得到从攻击者节点到攻击目标节点的逻辑模拟攻击路线。
在一实施例中,基于反向搜索算法提取逻辑模拟攻击图中攻击目标的攻击路线,每个攻击目标攻击路线提取算法逻辑如下:首先,从目标节点出发,通过每个连接反向搜索图中节点,可以使用广度优先搜索(BFS)算法逆向搜索。在搜索过程中,只保留椭圆形节点(Rule节点),这些节点作为攻击路线的攻击步骤。同时将到达该攻击步骤的其他非Rule节点设置为其前置条件属性,将该攻击步骤和前置条件关联到一个或多个ATT&CK技战术标签。MITRE ATT&CK是一个全球知名的描述网络攻击行为的攻击框架,它为每一种攻击技术分配了唯一的编号,因此可以根据攻击步骤的具体行为,找到ATT&CK中对应的技战术,并将其编号标记在攻击路线上。最后,将搜索到攻击路线进行反向处理,得到从起始节点到目标节点的攻击路线,如图7B所示。图7B中展示了逻辑模拟攻击图经过反向搜索转换为逻辑模拟攻击路线的过程,首先从图6C中攻击目标节点1开始反向搜索,保留Rule节点2远程代码执行,并将节点3,14,15作为该节点的前置条件,同时关联ATT&CK技战术标签为Execution:T1204。然后继续反向搜索到下一个Rule节点4横向移动,通过节点5,6两个前置条件可以从vpnServer横向移动到historianServer,其ATT&CK技战术标签为Lateral Movement:T1021。同样地,反向搜索出Rule节点7远程代码执行,其前置条件为节点8,12,13,ATT&CK技战术标签为Execution:T1204。最后反向搜索出Rule节点9初始访问,通过互联网直接访问,前置条件为节点10,11,ATT&CK技战术标签为Initial Access:T1133。经过反向搜索后将得到以攻击目标为初始节点,攻击者为目标节点的逻辑模拟攻击路线,将该攻击路线反向便可获得从攻击者出发到目标节点的逻辑模拟攻击路线。通过为攻击步骤标记ATT&CK技战术,可以清晰地了解到攻击路线覆盖了那些技战术,这不仅有助于全面理解攻击过程,也能引导ATT&CK智能体训练过程中探索更多覆盖ATT&CK技战术的攻击路线,增强攻击路线的全面性。
如图8所示,本发明的一个实施例,对步骤S205进行进一步说明,步骤S205包括但不限于步骤S801至S802。
步骤S801:基于ATT&CK攻击框架对强化学习进行建模,其中,以马尔可夫决策过程四元组(S, A, R, P)的形式表示强化学习,S为状态空间,A为动作空间,R为奖励函数,P为更新策略;
步骤S802:基于状态空间、动作空间、奖励函数和更新策略训练ATT&CK智能体,以使得ATT&CK智能体根据更新策略在每个状态下选择最大化预期奖励的动作,得到训练好的ATT&CK智能体。
在一实施例中,逻辑模拟攻击路线是一个基于漏洞利用的模拟攻击路线。然而,这种方法存在一定的局限性。例如,它可能难以适用复杂APT攻击的关键攻击步骤,如利用持久性、防御规避和提权等战术。此外,由于漏洞扫描工具本身的局限性,有些漏洞可能无法被扫描出来,这进一步限制了逻辑模拟攻击图的全面性。因此,需要新的算法对每个攻击目标的攻击路线进行深入探索,并根据ATT&CK技战术对已有攻击目标进行拓展。一种可能的方法是使用规则驱动的方法,这需要遍历ATT&CK技战术,设置技战术组合规则,定义状态转移逻辑,但这种方法非常依赖专业人员的经验。为此,本发明提出使用强化学习算法来学习状态转移矩阵,即Q值表,从而减少对专业人员经验的依赖。在最新的ATT&CK攻击路线中,如Turla、Fin7、APT29等,其攻击目标几乎都是利用持久性,而实现持久性通常需要提权。因此,在学习过程中,应当给予这些步骤成功或失败更高的奖励或惩罚,以更准确地反映其在攻击过程中的重要性。这样,便可更有效地利用最新的ATT&CK攻击技战术,来弥补逻辑模拟攻击路线的局限性。首先,以MDP四元组(S, A, R, P)的形式表示强化学习,S为状态空间,A为动作空间,R为奖励函数,P为更新策略,以下是基于ATT&CK框架进行强化学习建模过程:
a.状态空间S:状态可以定义为当前攻击的进度,包括已经成功执行的ATT&CK技战术的当前攻击者在网络中的位置(例如已经控制的资产)。状态空间就是所有可能的状态集合。
b.动作空间:动作定义为从当前状态执行一个ATT&CK技战术。动作空间就是所有可能的动作的集合。在这个问题中,动作空间的大小等于ATT&CK技战术的数量。
c.奖励函数:奖励函数用于衡量每个动作的效果。它可以基于攻击步骤的重要性、执行成功或失败等因素来定义。例如,如果一个动作成功地实施了一个关键的攻击步骤(如提权或持久化),那么奖励应该较高。反之,如果动作失败或者执行了一个不重要的攻击步骤,那么奖励应该较低。
d.更新策略:策略定义了在每个状态下应该执行哪个动作。在强化学习中,策略通常通过学习得到。例如,可以使用Q-learning或者深度强化学习算法来学习一个策略,该策略在每个状态下都选择能够最大化预期奖励的动作。
采用ATT&CK攻击框架技战术体系作为智能体动作空间,提高ATT&CK攻击技战术的覆盖率,增强攻击路线全面性,从而提高渗透测试路线规划全面性。
如图9A所示,本发明的一个实施例,对步骤S206进行进一步说明,步骤S206包括但不限于步骤S901至S902。
步骤S901:在网络靶场环境中执行逻辑模拟攻击路线,到达目标攻击步骤;
步骤S902:将目标攻击步骤转换为ATT&CK智能体的初始状态和当前动作,并设定新的攻击目标,在这个新状态下,ATT&CK智能体持续进行预测和更新,直到达到设定的攻击目标,得到完整逻辑模拟攻击路线。
在一实施例中,首先,在网络靶场环境中自动化执行逻辑模拟攻击路线,到达目标攻击步骤,然后将当前步骤ATT&CK技战术设定为当前动作,其状态设置为当前状态,将初始状态输入到ATT&CK智能体,并设定新的攻击目标为该资产利用持久化。在这个新状态下,智能体会持续进行预测和更新,直到达到设定的攻击目标。这样,便可以在原来的逻辑模拟攻击路线上基于ATT&CK技战术进一步完善攻击路线,构建出更完整的攻击路线,如图9B所示。最后,将场景网络拓扑特征向量和资产漏洞特征向量以及场景攻击路线存储于场景渗透路线知识库,便于相似场景攻击路线推荐。
在实际渗透测试场景中,首先从目标场景中提取场景网络拓扑和资产漏洞特征,然后计算目标场景和知识库已知场景相似度,基于预设的相似度阈值推荐相似场景的攻击路线。其中场景相似度由网络拓扑特征相似度S1和资产漏洞特征相似度S2加权平均计算而得,S1相似度采用地动量距离EMD算法进行计算,S2相似度则采用余弦相似度算法进行计算。
综上所述,本发明提供的渗透测试路线规划方法,首先,基于网络靶场仿真不同行业目标场景,收集目标场景网络拓扑、漏洞、弱口令、防护信息等,基于MULVAL生成逻辑模拟攻击图,抽取场景初始攻击步骤,结合强化学习算法训练ATT&CK智能体,其中智能体的动作空间从ATT&CK攻击框架技战术中定义,满足智能体攻击路线规划对ATT&CK矩阵的覆盖率。其次,利用ATT&CK智能体预测攻击步骤,得到该场景ATT&CK攻击路线,以此构建场景渗透路线知识库。最后,在实际渗透测试场景中,提取场景特征并采用相似度算法匹配相似渗透路线。基于网络靶场和ATT&CKATT&CK智能体构建场景渗透路线知识库,采用相似度算法推荐相似场景的渗透路线,从而提高渗透测试路线复用性。
基于上述,相较于现有的方法,本发明在安全性、准确性和计算效率方面至少具有如下优势:
1.智能化渗透路线规划:采用强化学习算法训练ATT&CK智能体,利用ATT&CK攻击框架技战术体系作为智能体动作空间。基于逻辑模拟攻击路线,使用已训练的ATT&CK智能体对每条渗透路线进行预测和规划,从而提高ATT&CK攻击技战术的覆盖率,增强渗透路线全面性,并有效降低人为因素干扰提高测试效率。
2目标场景攻击路线推荐:基于网络靶场和智能化攻击路线规划技术构建场景渗透路线知识库,通过提取场景特征向量,采用相似度算法推荐相似场景的渗透路线,有利于快速找到相似场景的渗透路线,并极大提升渗透路线的可复用性。
另外,如图10所示,本发明的一个实施例还公开了一种渗透测试路线规划装置,该装置包括:
获取模块110,用于从目标场景获取目标场景信息;
提取模块120,用于对目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,网络拓扑特征用于表征目标场景中各个网络设备之间的连接关系,资产漏洞特征用于表征目标场景中所有数据资产的漏洞数据集合;
计算模块130,用于计算目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,场景相似度由网络拓扑特征的相似度和资产漏洞特征的相似度加权平均计算而得到,网络拓扑特征的相似度采用地动量距离EMD算法进行计算,资产漏洞特征的相似度采用余弦相似度算法进行计算;
匹配模块140,用于根据相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线。
本发明实施例的渗透测试路线规划装置用于执行上述实施例中的渗透测试路线规划方法,其具体处理过程与上述实施例中的渗透测试路线规划方法相同,此处不再一一赘述。
另外,如图11所示,本发明的一个实施例还公开了一种电子设备,包括:至少一个处理器210;至少一个存储器220,用于存储至少一个程序;当至少一个程序被至少一个处理器210执行时实现如前面任意实施例中的渗透测试路线规划方法。
另外,本发明的一个实施例还公开了一种计算机可读存储介质,其中存储有计算机可执行指令,计算机可执行指令用于执行如前面任意实施例中的渗透测试路线规划方法。
本发明实施例描述的系统架构以及应用场景是为了更加清楚的说明本发明实施例的技术方案,并不构成对于本发明实施例提供的技术方案的限定,本领域技术人员可知,随着系统架构的演变和新应用场景的出现,本发明实施例提供的技术方案对于类似的技术问题,同样适用。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、设备中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。
在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程或执行线程中,部件可位于一个计算机上或分布在二个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自于自与本地系统、分布式系统或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地或远程进程来通信。
Claims (10)
1.一种渗透测试路线规划方法,其特征在于,所述方法包括:
从目标场景获取目标场景信息;
对所述目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,所述网络拓扑特征用于表征所述目标场景中各个网络设备之间的连接关系,所述资产漏洞特征用于表征所述目标场景中所有数据资产的漏洞数据集合;
计算所述目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,所述场景相似度由所述网络拓扑特征的相似度和所述资产漏洞特征的相似度加权平均计算而得到,所述网络拓扑特征的相似度采用地动量距离EMD算法进行计算,所述资产漏洞特征的相似度采用余弦相似度算法进行计算;
根据所述相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线;
其中,所述场景渗透路线知识库的构建方法包括:
收集场景信息,所述场景信息包括网络拓扑信息和资产漏洞信息;
提取所述场景信息中的场景特征,所述场景特征包括网络拓扑特征向量和资产漏洞特征向量;
根据所述场景信息生成逻辑模拟攻击图;
确定所述逻辑模拟攻击图的攻击者节点和攻击目标节点;
采用广度优先搜索BFS算法反向搜索所述逻辑模拟攻击图中连接所述攻击目标节点的每个节点,且在搜索过程中,只保留椭圆形节点,以所述椭圆形节点作为攻击路线的攻击步骤;
将到达所述攻击步骤的非椭圆形节点设置为所述椭圆形节点的前置条件,并将所述攻击步骤和所述前置条件关联到一个或多个ATT&CK技战术标签,所述ATT&CK技战术标签用于标识ATT&CK技战术;
将搜索到的攻击路线进行反向处理,得到从所述攻击者节点到所述攻击目标节点的逻辑模拟攻击路线;
基于强化学习算法训练ATT&CK智能体,得到训练好的所述ATT&CK智能体,其中,所述ATT&CK智能体是基于所述逻辑模拟攻击路线和ATT&CK攻击框架作为训练集训练神经网络而得到;
采用训练好的所述ATT&CK智能体对所述逻辑模拟攻击路线进行预测和更新,得到完整逻辑模拟攻击路线;
根据所述完整逻辑模拟攻击路线和所述场景特征构建所述场景渗透路线知识库。
2.根据权利要求1所述的方法,其特征在于,所述提取所述场景信息中的场景特征,包括:
采用点向量嵌入技术从所述网络拓扑信息提取所述网络拓扑特征向量;
采用独热编码和降维算法从所述资产漏洞信息提取所述资产漏洞特征向量。
3.根据权利要求2所述的方法,其特征在于,所述采用点向量嵌入技术从所述网络拓扑信息提取所述网络拓扑特征向量,包括:
将所述网络拓扑信息中的每个节点特征表示为点向量,每个节点代表一个网络设备;
根据所述点向量的集合生成网络拓扑图;
采用邻接矩阵表示所述网络拓扑图;
对所述邻接矩阵进行特征值分解,得到所述网络拓扑特征向量。
4.根据权利要求2所述的方法,其特征在于,所述采用独热编码和降维算法从所述资产漏洞信息提取所述资产漏洞特征向量,包括:
采用独热编码对所述资产漏洞信息进行数值向量化,得到资产漏洞特征二维矩阵,其中,所述资产漏洞特征属于离散型文本特征;
采用主成分分析PCA算法对所述资产漏洞特征二维矩阵进行降维处理,得到所述资产漏洞特征向量。
5.根据权利要求1所述的方法,其特征在于,所述根据所述场景信息生成逻辑模拟攻击图,包括:
将所述网络拓扑信息和所述资产漏洞信息转换为数据逻辑语言;
基于预设的安全规则,采用多元逻辑攻击图生成工具根据所述数据逻辑语言生成所述逻辑模拟攻击图。
6.根据权利要求1所述的方法,其特征在于,所述基于强化学习算法训练ATT&CK智能体,得到训练好的所述ATT&CK智能体,包括:
基于所述ATT&CK攻击框架对强化学习进行建模,其中,以马尔可夫决策过程四元组(S,A, R, P)的形式表示强化学习,S为状态空间,A为动作空间,R为奖励函数,P为更新策略;
基于所述状态空间、所述动作空间、所述奖励函数和所述更新策略训练所述ATT&CK智能体,以使得所述ATT&CK智能体根据所述更新策略在每个状态下选择最大化预期奖励的动作,得到训练好的所述ATT&CK智能体。
7.根据权利要求1所述的方法,其特征在于,所述采用训练好的所述ATT&CK智能体对所述逻辑模拟攻击路线进行预测和更新,得到完整逻辑模拟攻击路线,包括:
在网络靶场环境中执行所述逻辑模拟攻击路线,到达目标攻击步骤;
将所述目标攻击步骤转换为所述ATT&CK智能体的初始状态和当前动作,并设定新的攻击目标,在这个新状态下,所述ATT&CK智能体持续进行预测和更新,直到达到设定的攻击目标,得到所述完整逻辑模拟攻击路线。
8.一种渗透测试路线规划装置,其特征在于,所述装置包括:
获取模块,用于从目标场景获取目标场景信息;
提取模块,用于对所述目标场景信息进行场景特征提取,得到网络拓扑特征和资产漏洞特征,其中,所述网络拓扑特征用于表征所述目标场景中各个网络设备之间的连接关系,所述资产漏洞特征用于表征所述目标场景中所有数据资产的漏洞数据集合;
计算模块,用于计算所述目标场景与场景渗透路线知识库中各个已知场景的场景相似度,得到相似度计算结果,其中,所述场景相似度由所述网络拓扑特征的相似度和所述资产漏洞特征的相似度加权平均计算而得到,所述网络拓扑特征的相似度采用地动量距离EMD算法进行计算,所述资产漏洞特征的相似度采用余弦相似度算法进行计算;
匹配模块,用于根据所述相似度计算结果和预设的相似度阈值从场景渗透路线知识库中匹配目标场景渗透路线;
其中,所述场景渗透路线知识库的构建方法包括:
收集场景信息,所述场景信息包括网络拓扑信息和资产漏洞信息;
提取所述场景信息中的场景特征,所述场景特征包括网络拓扑特征向量和资产漏洞特征向量;
根据所述场景信息生成逻辑模拟攻击图;
确定所述逻辑模拟攻击图的攻击者节点和攻击目标节点;
采用广度优先搜索BFS算法反向搜索所述逻辑模拟攻击图中连接所述攻击目标节点的每个节点,且在搜索过程中,只保留椭圆形节点,以所述椭圆形节点作为攻击路线的攻击步骤;
将到达所述攻击步骤的非椭圆形节点设置为所述椭圆形节点的前置条件,并将所述攻击步骤和所述前置条件关联到一个或多个ATT&CK技战术标签,所述ATT&CK技战术标签用于标识ATT&CK技战术;
将搜索到的攻击路线进行反向处理,得到从所述攻击者节点到所述攻击目标节点的逻辑模拟攻击路线;
基于强化学习算法训练ATT&CK智能体,得到训练好的所述ATT&CK智能体,其中,所述ATT&CK智能体是基于所述逻辑模拟攻击路线和ATT&CK攻击框架作为训练集训练神经网络而得到;
采用训练好的所述ATT&CK智能体对所述逻辑模拟攻击路线进行预测和更新,得到完整逻辑模拟攻击路线;
根据所述完整逻辑模拟攻击路线和所述场景特征构建所述场景渗透路线知识库。
9.一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至7任意一项所述的渗透测试路线规划方法。
10.一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至7任意一项所述的渗透测试路线规划方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410130660.5A CN117692252B (zh) | 2024-01-31 | 2024-01-31 | 渗透测试路线规划方法和装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410130660.5A CN117692252B (zh) | 2024-01-31 | 2024-01-31 | 渗透测试路线规划方法和装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117692252A CN117692252A (zh) | 2024-03-12 |
CN117692252B true CN117692252B (zh) | 2024-04-16 |
Family
ID=90137396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410130660.5A Active CN117692252B (zh) | 2024-01-31 | 2024-01-31 | 渗透测试路线规划方法和装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117692252B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818351A (zh) * | 2021-01-18 | 2021-05-18 | 哈尔滨工业大学(威海) | 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质 |
CN114329484A (zh) * | 2021-12-24 | 2022-04-12 | 安天科技集团股份有限公司 | 一种目标网安全风险自动评估方法、装置、设备及介质 |
CN116405246A (zh) * | 2023-02-24 | 2023-07-07 | 广州大学 | 一种基于攻防结合的漏洞利用链构建技术 |
CN116566674A (zh) * | 2023-05-11 | 2023-08-08 | 网络通信与安全紫金山实验室 | 自动化渗透测试方法、系统、电子设备及存储介质 |
-
2024
- 2024-01-31 CN CN202410130660.5A patent/CN117692252B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112818351A (zh) * | 2021-01-18 | 2021-05-18 | 哈尔滨工业大学(威海) | 一种面向工控系统的漏洞优先级分析方法、系统、设备及存储介质 |
CN114329484A (zh) * | 2021-12-24 | 2022-04-12 | 安天科技集团股份有限公司 | 一种目标网安全风险自动评估方法、装置、设备及介质 |
CN116405246A (zh) * | 2023-02-24 | 2023-07-07 | 广州大学 | 一种基于攻防结合的漏洞利用链构建技术 |
CN116566674A (zh) * | 2023-05-11 | 2023-08-08 | 网络通信与安全紫金山实验室 | 自动化渗透测试方法、系统、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN117692252A (zh) | 2024-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zeng et al. | Survey of attack graph analysis methods from the perspective of data and knowledge processing | |
CN105991521B (zh) | 网络风险评估方法和装置 | |
CN112019569B (zh) | 恶意域名检测方法、装置及存储介质 | |
Shandilya et al. | Use of attack graphs in security systems | |
Yang et al. | Attack projection | |
CN113269228B (zh) | 一种图网络分类模型的训练方法、装置、系统及电子设备 | |
He et al. | Inferring application type information from tor encrypted traffic | |
CN114547415A (zh) | 工业物联网中基于网络威胁情报的攻击模拟方法 | |
Pashaei et al. | Early Intrusion Detection System using honeypot for industrial control networks | |
Al-Utaibi et al. | Intrusion detection taxonomy and data preprocessing mechanisms | |
CN115080756A (zh) | 一种面向威胁情报图谱的攻防行为和时空信息抽取方法 | |
Che et al. | KNEMAG: key node estimation mechanism based on attack graph for IOT security | |
CN115758337A (zh) | 基于时序图卷积网络的后门实时监测方法、电子设备、介质 | |
Kallitsis et al. | Detecting and interpreting changes in scanning behavior in large network telescopes | |
Gaba et al. | A systematic analysis of enhancing cyber security using deep learning for cyber physical systems | |
Gaurav et al. | Deep learning based approach for secure Web of Things (WoT) | |
Wang et al. | DQfD‐AIPT: An Intelligent Penetration Testing Framework Incorporating Expert Demonstration Data | |
Sharmin et al. | Bayesian models for node-based inference techniques | |
Shukla et al. | UInDeSI4. 0: An efficient Unsupervised Intrusion Detection System for network traffic flow in Industry 4.0 ecosystem | |
Mesadieu et al. | Leveraging Deep Reinforcement Learning Technique for Intrusion Detection in SCADA Infrastructure | |
CN117714097A (zh) | 网络靶场攻击路径的规划方法、装置、设备及存储介质 | |
CN117235600A (zh) | 一种用户异常行为检测方法及系统 | |
CN117692252B (zh) | 渗透测试路线规划方法和装置、电子设备及存储介质 | |
CN116846645A (zh) | 基于自监督协作对比学习的网络入侵检测方法及应用 | |
Zhang et al. | Knowledge graph and behavior portrait of intelligent attack against path planning |
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 |