基于自适应编排的内网横向渗透测试方法、装置、设备及介质与流程

摘要: 本发明涉及计算机,特别涉及一种基于自适应编排的内网横向渗透测试方法、装置、设备及介质。背景技术:1、随着企业网络规模不断扩大以及网络环境日益复杂,内网横向渗透测...
基于自适应编排的内网横向渗透测试方法、装置、设备及介质与流程

本发明涉及计算机,特别涉及一种基于自适应编排的内网横向渗透测试方法、装置、设备及介质。

背景技术:

1、随着企业网络规模不断扩大以及网络环境日益复杂,内网横向渗透测试已成为评估网络安全防护能力的重要手段。现有内网横向渗透测试通常依赖多种独立工具协同完成,例如分别采用网络探测工具进行存活主机和端口扫描,采用漏洞利用框架进行漏洞验证,采用凭证处理工具获取或使用用户凭证,并通过不同协议执行横向移动操作。部分集成化渗透测试工具虽然能够整合多种测试功能,但其测试流程通常较为固定。

2、在实际测试过程中,目标内网中主机数量较多,操作系统、开放端口、服务类型及可用协议存在差异,已有凭证的权限、有效性及可访问资产也会随着测试过程不断变化。现有技术通常需要测试人员根据经验选择凭证、目标资产及横向移动协议,难以根据横向移动的实际执行结果对后续测试路径进行动态调整。当凭证数量或资产数量增加时,人工分析可达关系和选择横向移动路径的工作量进一步增大。

3、此外,现有测试工具之间的数据通常缺乏统一关联,凭证获取结果、资产发现结果以及横向移动执行结果难以形成持续更新的状态关系。当某次横向移动执行失败、超时或者触发安全检测告警时,测试过程中形成的临时状态可能继续保留,进而影响后续路径判断和测试结果的准确性。因此,如何基于测试过程中动态产生的凭证数据、资产数据及实际执行结果,对横向移动过程进行自适应编排,并在异常情况下对相关状态进行有效处理,成为本领域需要解决的技术问题。

技术实现思路

1、有鉴于此,本发明的目的在于提供一种基于自适应编排的内网横向渗透测试方法、装置、设备及介质,可以减少人工凭经验重复选择横向移动路径造成的无效尝试,降低失败会话对状态数据造成的污染,使横向渗透测试在成功和失败两类反馈下均可继续自适应推进,并最终形成可追溯的目标内网横向渗透测试结果。其具体方案如下:

2、第一方面,本技术公开了一种基于自适应编排的内网横向渗透测试方法,包括:

3、获取目标内网横向渗透测试过程中产生的凭证数据和资产数据,基于所述凭证数据生成相应的凭证状态信息,并基于所述资产数据生成相应的资产状态信息;

4、基于所述凭证状态信息以及所述资产状态信息确定待执行的横向移动会话,并根据执行所述横向移动会话的实际执行结果更新所述凭证状态信息和所述资产状态信息,以得到相应的更新后凭证状态信息以及更新后资产状态信息,然后保存与本次横向移动会话引起的状态变化对应的状态补偿信息;所述横向移动会话至少包括源凭证、目标资产和执行协议;

5、若所述横向移动会话执行失败或触发安全检测告警,则根据所述状态补偿信息对所述凭证状态信息和所述资产状态信息进行状态补偿,并基于状态补偿后的凭证状态信息和资产状态信息确定下一横向移动会话;

6、若所述横向移动会话执行成功,则基于所述更新后凭证状态信息以及所述更新后资产状态信息确定下一横向移动会话;

7、基于所述下一横向移动会话继续执行横向渗透测试,直至满足预设测试结束条件,并根据各横向移动会话的实际执行结果生成所述目标内网的横向渗透测试结果。

8、可选的,所述基于所述凭证数据生成相应的凭证状态信息,并基于所述资产数据生成相应的资产状态信息,包括:

9、基于所述凭证数据构建凭证演化图谱,所述凭证演化图谱包括与各凭证对应的凭证节点以及表征不同凭证之间衍生关系的凭证衍生关系;

10、基于所述凭证演化图谱确定各凭证对应的凭证使用状态,并根据所述凭证使用状态以及所述凭证衍生关系确定相应的凭证状态信息;

11、基于所述资产数据构建资产演化图谱,所述资产演化图谱包括与目标内网中的资产对应的资产节点以及与所述资产节点关联的凭证可达关系;

12、基于所述资产演化图谱确定相应的资产状态信息。

13、可选的,所述基于所述凭证状态信息以及所述资产状态信息确定待执行的横向移动会话,包括:

14、根据所述凭证状态信息从已有凭证中确定满足预设条件的至少一个候选源凭证;

15、根据所述资产状态信息确定与各所述候选源凭证对应的候选目标资产以及用于访问相应候选目标资产的候选执行协议;

16、根据各所述候选源凭证对应的所述凭证使用状态以及各所述候选源凭证与对应候选目标资产之间相应的凭证可达状态,确定对应的候选横向移动会话的会话评价结果;

17、根据所述会话评价结果从所述候选横向移动会话中确定所述待执行的横向移动会话。

18、可选的,所述根据执行所述横向移动会话的实际执行结果更新所述凭证状态信息和所述资产状态信息,以得到相应的更新后凭证状态信息以及更新后资产状态信息,然后保存与本次横向移动会话引起的状态变化对应的状态补偿信息,包括:

19、基于所述横向移动会话中的执行协议,利用所述横向移动会话中的所述源凭证对所述横向移动会话中的目标资产执行网络认证和/或远程访问,并根据所述目标资产返回的响应信息确定相应的实际执行结果;

20、根据所述实际执行结果更新所述源凭证对应的凭证状态信息,以得到更新后凭证状态信息,并更新所述目标资产对应的资产状态信息,以得到更新后资产状态信息;

21、确定所述横向移动会话执行前后的凭证状态信息变化以及资产状态信息变化,并根据所述凭证状态信息变化以及所述资产状态信息变化生成相应的状态补偿信息。

22、可选的,所述根据所述状态补偿信息对所述凭证状态信息和所述资产状态信息进行状态补偿,并基于状态补偿后的凭证状态信息和资产状态信息确定下一横向移动会话,包括:

23、根据所述状态补偿信息确定本次横向移动会话引起的凭证状态变化和资产状态变化;

24、对所述凭证状态变化进行逆向处理,以得到状态补偿后的凭证状态信息,并对所述资产状态变化进行逆向处理,以得到状态补偿后的资产状态信息;

25、基于所述状态补偿后的凭证状态信息确定可用源凭证,并基于所述状态补偿后的资产状态信息确定与所述可用源凭证对应的目标资产和执行协议;

26、基于所述可用源凭证、所述目标资产以及所述执行协议确定相应的下一横向移动会话。

27、可选的,基于所述更新后凭证状态信息以及所述更新后资产状态信息确定下一横向移动会话,包括:

28、保留所述更新后凭证状态信息以及所述更新后资产状态信息;

29、若所述横向移动会话执行过程中产生经验证有效的新凭证数据,则基于所述新凭证数据更新所述更新后凭证状态信息;

30、基于所述更新后凭证状态信息确定至少一个下一源凭证,并基于所述更新后资产状态信息确定与所述下一源凭证对应的下一目标资产以及下一执行协议;

31、基于所述下一源凭证、所述下一目标资产以及所述下一执行协议确定下一横向移动会话。

32、可选的,所述基于所述更新后凭证状态信息以及所述更新后资产状态信息确定下一横向移动会话,包括:

33、根据所述更新后凭证状态信息确定当前可用凭证集合,并根据所述当前可用凭证集合中的凭证多样性确定凭证池熵值;

34、基于所述更新后凭证状态信息以及所述更新后资产状态信息生成若干候选下一横向移动会话;

35、基于置信上限算法以及所述凭证池熵值,从广度优先调度策略和深度优先调度策略中确定当前调度策略;

36、按照所述当前调度策略对所述若干候选下一横向移动会话进行调度,以从所述若干候选下一横向移动会话中确定下一横向移动会话。

37、第二方面,本技术公开了一种基于自适应编排的内网横向渗透测试装置,包括:

38、状态信息生成模块,用于获取目标内网横向渗透测试过程中产生的凭证数据和资产数据,基于所述凭证数据生成相应的凭证状态信息,并基于所述资产数据生成相应的资产状态信息;

39、执行更新模块,用于基于所述凭证状态信息以及所述资产状态信息确定待执行的横向移动会话,并根据执行所述横向移动会话的实际执行结果更新所述凭证状态信息和所述资产状态信息,以得到相应的更新后凭证状态信息以及更新后资产状态信息,然后保存与本次横向移动会话引起的状态变化对应的状态补偿信息;所述横向移动会话至少包括源凭证、目标资产和执行协议;

40、失败补偿模块,用于若所述横向移动会话执行失败或触发安全检测告警,则根据所述状态补偿信息对所述凭证状态信息和所述资产状态信息进行状态补偿,并基于状态补偿后的凭证状态信息和资产状态信息确定下一横向移动会话;

41、成功编排模块,用于若所述横向移动会话执行成功,则基于所述更新后凭证状态信息以及所述更新后资产状态信息确定下一横向移动会话;

42、测试结果生成模块,用于基于所述下一横向移动会话继续执行横向渗透测试,直至满足预设测试结束条件,并根据各横向移动会话的实际执行结果生成所述目标内网的横向渗透测试结果。

43、第三方面,本技术公开了一种电子设备,包括:

44、存储器,用于保存计算机程序;

45、处理器,用于执行所述计算机程序,以实现如前述的基于自适应编排的内网横向渗透测试方法。

46、第四方面,本技术公开了一种计算机可读存储介质,用于保存计算机程序,其中,所述计算机程序被处理器执行时实现如前述的基于自适应编排的内网横向渗透测试方法。

47、本技术中,需要获取目标内网横向渗透测试过程中产生的凭证数据和资产数据,基于所述凭证数据生成相应的凭证状态信息,并基于所述资产数据生成相应的资产状态信息;基于所述凭证状态信息以及所述资产状态信息确定待执行的横向移动会话,并根据执行所述横向移动会话的实际执行结果更新所述凭证状态信息和所述资产状态信息,以得到相应的更新后凭证状态信息以及更新后资产状态信息,然后保存与本次横向移动会话引起的状态变化对应的状态补偿信息;所述横向移动会话至少包括源凭证、目标资产和执行协议;若所述横向移动会话执行失败或触发安全检测告警,则根据所述状态补偿信息对所述凭证状态信息和所述资产状态信息进行状态补偿,并基于状态补偿后的凭证状态信息和资产状态信息确定下一横向移动会话;若所述横向移动会话执行成功,则基于所述更新后凭证状态信息以及所述更新后资产状态信息确定下一横向移动会话;基于所述下一横向移动会话继续执行横向渗透测试,直至满足预设测试结束条件,并根据各横向移动会话的实际执行结果生成所述目标内网的横向渗透测试结果。

48、由此可见,通过本技术的方法,可以将目标内网中获得的凭证数据和资产数据首先转换为可持续更新的凭证状态信息和资产状态信息,使原本离散的凭证状态信息和资产状态信息成为可直接参与计算的状态输入。在此基础上,待执行的横向移动会话不是固定预设,而是由当前状态共同确定;会话执行后,真实网络响应又反向修正凭证使用状态、资产控制状态和凭证可达状态,使下一轮决策依据随测试过程同步变化。对于执行失败或触发安全检测告警的情况,通过状态补偿信息撤销或恢复本次会话造成的不可靠状态变化,避免异常结果继续影响后续判断;对于执行成功的情况,则保留已经验证有效的状态变化,并将新获得的凭证或新的可达关系纳入下一轮编排。上述反馈、更新和补偿过程持续循环至满足测试结束条件,使每一轮横向移动均建立在当前有效状态之上。这样一来,能够将横向渗透测试由依赖人工经验的静态路径选择转变为受实际执行反馈驱动的动态过程,减少对已被证明不可达、失效或风险较高组合的重复尝试;同时,通过失败补偿保持状态数据与真实测试环境的一致性,通过成功状态保留持续扩展可用凭证和资产可达范围,从而提高连续测试过程的可靠性、可追溯性和自适应程度,并形成能够反映完整横向移动过程的测试结果。