一种自动化渗透推演系统及方法与流程
未命名
08-07
阅读:92
评论:0

1.本技术涉及一种网络安全评估系统及方法,属于网络安全技术领域,尤其涉及一种自动化渗透推演系统及方法。
背景技术:
2.渗透测试是网络安全中重要的评估工具和手段,通过评估现有网络设备的脆弱性、网络安全工具的有效性和完整性,进而实现对现有网络安全实施构成威胁的风险因素的全面、综合而详细的评估。渗透测试以黑客视角对目标系统进行渗透,采用黑客攻击手段模拟攻击,挖掘、检测目标网络系统中存在的漏洞,验证系统安全性,以抢先黑客一步发现目标网络中的弱点,从而制定有效的安全策略进行安全防范,因此,渗透测试也是网络安全主动防御系统攻击面管理的重要一环。
3.传统的渗透测试技术主要存在以下不足:一方面,传统测试主要是渗透测试人员的人工操作,测试过程中需要测试人员进行基于渗透测试工具的经验判断,从而利用多种方法获取目标系统信息,探索并确定脆弱点,进行漏洞利用和后渗透测试,最后使用报告文档来描述渗透测试的整个流程、分析系统存在的风险点以及提供修复建议。不难发现,传统测试技术对测试人员的经验水平有很强的依赖性,这也对测试人员的相关知识掌握情况提出了很高的要求;同时,渗透测试复杂繁琐,且存在大量重复的操作,因此需要投入较大的时间和人力成本。另一方面,传统渗透测试只能够视作为某个时刻的系统安全态势快照,而测试之后的环境可能已历经多次更新,期间会引入测试时并不存在的新的潜在漏洞和配置错误,因此,很多渗透测试报告在交付之前就已经过时,时效性低。
技术实现要素:
4.根据本技术的一个方面,提供了一种自动化渗透推演系统,该系统能够自动分析目标系统所在网络环境,发现并验证目标系统潜在的漏洞点和脆弱性,实现测试报告的即时交付,降低了渗透测试的时间和人力成本。所述自动化渗透推演系统包括问题定义模块、要素模块和强化学习模块;其中,
5.所述问题定义模块,用于建立多域网络空间中的最短隐藏攻击路径发现问题的强化学习模型;
6.所述要素模块,用于定义智能体agent的状态和动作,并根据动作的结果设置奖励;
7.所述强化学习模块,用于基于agent的动作和状态之间的约束关系进行多域动作选择,根据所述强化学习模型进行强化学习,找到最短攻击序列步长,继而发现网络中最薄弱的地方。
8.优选地,所述问题定义模块,用于将最短隐藏攻击路径发现问题看作马尔可夫决策过程mdp:
9.m=(s,a,p,r,γ)
10.其中,s∈s是网络空间的当前状态,a∈a是当前可用的攻击动作,p是状态之间转换的概率,r是agent采取行动到达下一个状态后的奖励值,γ为折扣率;
11.在初始状态s0,训练agent作为一个攻击者,配置网络空间环境;将最终的状态s
t
定义为攻击者在有限的步骤中成功或失败的攻击;
12.在每个攻击步骤序列中,agent将采取一个动作完成一个攻击步骤;在每一步t,agent从状态s
t
开始,采取一个动作a
t
,到达一个新的状态s
t+1
,并得到从网络环境中奖励的r
t
;
13.其中,s
t
表示t时刻的状态,包括;agent所处的位置、计算机运行状态、服务运行状态、服务访问状态;s
t+
1表示下一时刻状态,包含以下至少一种信息:agent的新的位置信息、agent可能获取的新服务信息、agent访问某个服务后可能获得的权限信息。
14.优选地,所述要素模块对智能体agent的状态、动作、奖励定义如下:
15.所述状态为多域网络空间中可能的状态的集合;
16.所述动作为agent可以采取的动作集合并可以改变网络空间的状态;
17.所述奖励为在一种状态下,对agent采取行动的进行奖励。
18.优选地,所述强化学习模块采用改进的ddpg算法,用于使agent在不同状态下可以选择不同的动作。
19.优选地,所述强化学习模块用于执行以下步骤:
20.通过在线策略网络来存储序列(s
t
,a
t
,r
t
,s
t+1
),该动作序列表示:执行状态为s
t
的动作,获得奖励值r
t
,并将下一个状态转换为s
t+1
;
21.当策略网络在状态中选择一个不可操作的动作a
t
时,使用线性变换将其映射到一个可行的动作a
t
',相关的动作序列定义为(s
t
,a
t
,-∞,s
t+1
),表示:该动作a
t
在状态s
t
和随后的状态中执行所获得的仍然是s
t
,奖励则是一个巨大的负值,以保证相关的动作不会在训练过程中被选择。
22.优选地,所述强化学习模块包括一个记忆回放单元和四个网络,其中,
23.所述记忆回放单元,用于存储状态的转移过程s,a,r
t
,s0;对于小批量采样,提取相应的样本来训练相应的神经网络从而避免样本之间的强相关性;所述四个网络包括在线策略网络、目标策略网络、在线q网络、目标q网络;所述策略网络用于模拟攻击者的行为,该神经网络以当前状态为输入,输出为在agent在该状态下采取的行动;所述q网络用于估计当前动作在某一时刻执行后,如果继续执行该策略,最终得到的奖励的期望状态,其输入是当前状态和当前操作,输出的是q值。
24.根据本技术的又一个方面,提供了一种自动化渗透推演方法,包括:
25.根据多域网络空间中的最短隐藏攻击路径发现问题,构建强化学习模型;
26.定义智能体agent的状态和动作,并根据动作的结果设置奖励;
27.基于agent的动作和状态之间的约束关系进行多域动作选择,根据所述强化学习模型进行强化学习,找到最短攻击序列步长,继而发现网络中最薄弱的地方。
28.优选地,所述根据多域网络空间中的最短隐藏攻击路径发现问题,构建强化学习模型包括:
29.将最短隐藏攻击路径发现问题看作马尔可夫决策过程mdp:m=(s,a,p,r,γ)。其中,s∈s是网络空间的当前状态,s为状态空间;a∈a是当前可用的攻击动作,a为动作空间,
表示状态s
t
的所有有效动作,也即在该状态下agent能够采取的行动的集合;p是状态之间转换的概率;r是agent采取行动到达下一个状态后的奖励值;γ为折扣率;
30.在初始状态s0,通过训练agent作为一个攻击者,和一个配置好的网络空间环境;最终的状态s
t
对应于攻击者在有限的步骤中成功或失败的攻击;在每个攻击步骤序列中,agent将采取一个动作完成一个攻击步骤;在每一步t,agent从状态s
t
开始,采取一个动作a
t
,到达一个新的状态s
t+1
,并得到从网络环境中奖励的r
t
;将s
t
定义为t时刻的状态,包括agent所处的位置,计算机运行状态,服务运行状态,服务访问状态;s
t+1
为下一时刻的状态,表示状态的更新,其中包含:关于agent的新的位置信息、agent可能获取的新服务信息以及agent访问了某个服务后可能获得的权限信息。
31.优选地,所述agent的状态定义为:多域网络空间中可能的状态的集合;
32.所述动作定义为:agent可以采取的动作集合并可以改变网络空间的状态;
33.所述奖励定义为:在一种状态下,对agent采取行动的进行奖励。
34.优选地,所述最短攻击序列步长的寻找采用改进的ddpg算法,使用agent来表示攻击者;在发现攻击路径的过程中,agent在当前状态选择动作后获得一定的奖励或负面奖励;
35.找到相应的策略映射函数r(s)
→
a,使agent的长期奖励最大,输出需要执行的多域动作,找到网络空间中的最短攻击序列步长;
36.当选择的动作a
t
不可操作时,使用线性变换将其映射到一个可行的动作a
t
'定义此时的动作序列定义为(s
t
,a
t
,-∞,s
t+1
),表示:该动作a
t
在状态s
t
和随后的状态中执行所获得的仍然是s
t
,奖励则是一个巨大的负值,以保证相关的动作不会在训练过程中被选择。
37.本技术能产生的有益效果包括:
38.(1)本技术能够自动分析目标系统所在网络环境,发现并验证目标系统潜在的漏洞点和脆弱性,将网络安全专家从复杂重复的劳动中解放出来,降低了渗透测试的成本;
39.(2)本技术采用了一种基于强化学习的方法来发现渗透路径,对现有的ddpg算法进行了改进,引入了多域动作选择,解决了强化学习在不同状态下可选动作不一致的问题,能够更好地找到隐藏在多域网络空间中的最优攻击路径,发现网络空间最薄弱的缺陷,以进行有效修复;
40.(3)本技术的系统或方法适用于日常渗透测试,在每天甚至每次更改后,渗透测试均可以自动执行,检测可能遭到利用的配置更改,规避了现有渗透测试技术的迟滞局限,能够满足即时交付测试报告的需求。
附图说明
41.图1为本技术一种实施方式中自动化渗透推演系统框架示意图。
具体实施方式
42.下面结合实施例详述本技术,但本技术并不局限于这些实施例。
43.如图1所示,本技术所述的自动化渗透推演系统包括问题定义模块、要素模块和强化学习模块。
44.所述问题定义模块,用于建立多域网络空间中的最短隐藏攻击路径发现问题的强
化学习模型。
45.在一种实施方式中,所述问题定义模块将所述最短隐藏攻击路径发现问题看作马尔可夫决策过程mdp:
46.m=(s,a,p,r,γ)
47.其中,s∈s是网络空间的当前状态,a∈a是当前可用的攻击动作,p是状态之间转换的概率,r是agent采取行动到达下一个状态后的奖励值,γ为折扣率;
48.在初始状态s0,训练agent作为一个攻击者,配置网络空间环境;将最终的状态s
t
定义为攻击者在有限的步骤中成功或失败的攻击;
49.在每个攻击步骤序列中,agent将采取一个动作完成一个攻击步骤;在每一步t,agent从状态s
t
开始,采取一个动作a
t
,到达一个新的状态s
t+1
,并得到从网络环境中奖励的r
t
;
50.其中,s
t
表示t时刻的状态,包括;agent所处的位置、计算机运行状态、服务运行状态、服务访问状态;s
t+1
表示下一时刻状态,包含以下至少一种信息:agent的新的位置信息、agent可能获取的新服务信息、agent访问了某个服务后可能获得的权限信息。
51.所述要素模块,用于定义智能体agent的状态和动作,并根据动作的结果设置奖励。
52.在一种实施方式中,所述agent的状态定义为:多域网络空间中可能的状态的集合。
53.在一种实施方式中,所述agent的动作定义为:agent可以采取的动作集合并可以改变网络空间的状态。
54.在一种实施方式中,所述奖励是指:在一种状态下,对agent采取行动的进行奖励。
55.所述强化学习模块,用于基于agent的动作和状态之间的约束关系进行多域动作选择,根据所述强化学习模型进行强化学习,找到最短攻击序列步长,继而发现网络中最薄弱的地方。
56.在一种实施方式中,所述强化学习模块采用改进的ddpg算法,能够使agent在不同状态下可以选择不同的动作。
57.在一种实施方式中,所述强化学习模块的具体执行步骤如下:
58.通过在线策略网络来存储序列(s
t
,a
t
,r
t
,s
t+1
),该动作序列表示:执行状态为s
t
的动作,获得奖励值r
t
,并将下一个状态转换为s
t+1
;
59.当策略网络在状态中选择一个不可操作的动作a
t
时,使用线性变换将其映射到一个可行的动作a
t
',相关的动作序列定义为(s
t
,a
t
,-∞,s
t+1
),表示:该动作a
t
在状态s
t
和随后的状态中执行所获得的仍然是s
t
,奖励则是一个巨大的负值,以保证相关的动作不会在训练过程中被选择。
60.在一种实施方式中,所述强化学习模块包括一个记忆回放单元和四个网络,其中,
61.所述记忆回放单元,用于存储状态的转移过程s,a,r
t
,s0;对于小批量采样,提取相应的样本来训练相应的神经网络从而避免样本之间的强相关性;
62.所述四个网络包括在线策略网络、目标策略网络、在线q网络、目标q网络;所述策略网络用于模拟攻击者的行为,该神经网络以当前状态为输入,输出为在agent在该状态下采取的行动;所述q网络用于估计当前动作在某一时刻执行后,如果继续执行该策略,最终
得到的奖励的期望状态,其输入是当前状态和当前操作,输出的是q值。
63.本技术所述的自动化渗透推演方法包括:定义智能体(agent)的状态和动作,即在网络环境中的agent所观察到的状态和根据状态选择相应的动作。根据行动的结果来设置奖励。引入强化学习模块的ddpg算法,即如何在该网络环境下选择相应的动作,以及从学习环境中观察到的经验然后继续学习。
64.在一种实施方式中,上述方法的具体流程如下:
65.步骤1:问题定义。
66.该步骤的目的在于发现最短的隐藏渗透路径,也即所述最短隐藏攻击路径,从而使网络管理员能够发现网络中最薄弱的环节,以采取措施加强网络空间安全。
67.以图1所示为例,在给定的网络空间环境中,服务器s2上存储有敏感数据。如果攻击者能够访问服务器s2并获取敏感数据,表示攻击成功。因此,在本实施例中,利用强化学习训练攻击者agent能够访问服务器s2并获取其敏感数据。
68.对所述最短隐藏攻击路径进行定义:攻击者能够访问并从服务器s2获取敏感数据,并且攻击序列步长是最短的。
69.将对所述最短隐藏攻击路径的发现问题看成一个马尔可夫决策过程mdp,即:
70.m=(s,a,p,r,γ)
71.其中,s∈s是网络空间的当前状态,a∈a是当前可用的攻击动作,p是状态之间转换的概率,r是agent采取行动到达下一个状态后的奖励值。γ为折扣率。
72.在该设置中,在初始状态s0中,对网络空间环境进行配置(包括建立访问控制列表等操作),然后agent作为一个攻击者不断渗透该网络以进行训练。同时,根据部分环境状态进行矩阵补全,即根据agent获取到的新信息对网络空间环境所处的状态进行更新。最终的状态s
t
对应于攻击者在有限的步骤中成功或失败的攻击。在每个攻击步骤序列中,agent将采取一个动作完成一个攻击步骤。在每一步t,agent从状态s
t
开始,采取一个动作a
t
,到达一个新的状态s
t+1
,并得到从网络环境中奖励的r
t
。将s
t
定义为t时刻的状态,包括agent所处的位置、计算机运行状态、服务运行状态、服务访问状态等等。s
t+1
表示状态的更新,其中包含关于agent的新的位置信息、agent可能获取的新服务信息、agent访问了某个服务后可能获得的权限信息。动作空间a包含状态s
t
的所有有效动作,也即在状态s
t
下agent能够采取的行动的集合。这项工作的目标是找到最短的攻击路径,因此在后面奖励设置中,将奖励设置为一个固定的价值除以渗透攻击序列步长。
73.步骤2:强化学习各要素。
74.待强化学习的要素主要包括智能体agent的状态、动作、奖励。
75.状态:多域网络空间中可能的状态的集合,这些状态包括agent的位置、正在操作的设备以及所拥有的设备权限。其中,所述多域网络空间的核心权限是攻击者可以通过一连串的行动获得。
76.动作:agent可以采取的动作集合并可以改变网络空间的状态。例如,进入一个房间,操作或控制一台终端计算机,通过终端计算机终端端口访问服务端口。
77.奖励:在一种状态下,对agent采取行动的进行奖励。在本实施例中,agent的目标是获得位于服务器s2的敏感数据,并获取密钥或者密码来解密该信息。在这种情况下,攻击者的首要目标是获得服务器s2的设备使用权和设备支配权,为了得到密码来解密敏感数
据,获取的敏感数据的信息知晓权限,表示攻击成功。由于多域安全规则,攻击者不能直接访问服务器s2。为了访问服务器s2,攻击者需要访问防火墙修改访问控制列表,允许攻击者可以通过终端访问服务器s1和s2,那么攻击者可以访问服务器s2,如果他成功地获得了机密信息的信息知晓权限,之后会再次访问防火墙,将防火墙状态恢复到原来的状态。
78.步骤3:引入强化学习的ddpg算法。
79.由agent发现隐藏在一定网络空间配置下的攻击路径。采用ddpg算法,使用agent来表示攻击者。在发现攻击路径的过程中,agent首先在当前状态选择动作,这可以改变环境和agent的状态。同时agent将获得一定的奖励或负面奖励。此外,agent的变化状态使它能够执行其他行动以获得更多奖励。这样,agent就会在这个网络空间环境中反复试验。
80.上述过程的目的是寻找最短攻击序列步长,根据所处的状态选择相应的动作,也意味着找到相应的策略映射函数r(s)
→
a,使agent的长期奖励最大。在这个过程中,策略可以分为两类,即确定性策略和随机性策略。确定性策略是针对状态动作值选择相应的动作。一般情况下,确定性策略算法效率较高,但存在探索和改进能力不足的问题。不同于确定性策略,随机性策略则加入了相应的随机值,使随机性策略具有一定的探索能力。对于所提模型,由于引入了强化学习模块,在同一状态下可选动作的不多,采用确定性策略以确保更好的模型性能。
81.上述模型是一个标准强化学习模型,agent在该网络空间中采取动作并获得奖励,目标是使agent获得的奖励最大化,然后对agent进行进一步的训练。在本技术中,采用ddpg算法并对其动作选择部分进行改进。
82.与标准的ddpg算法相比,本技术的模型包括四个网络和一个记忆回放单元。其中,记忆回放单元主要负责存储状态的转移过程s,a,r
t
,s0;对于小批量采样,提取相应的样本来训练相应的神经网络从而避免样本之间的强相关性。在四个网络中,有两个策略网络和两个q网络,即在线和目标策略网络、在线q和目标q网络。策略网络主要模拟攻击者的行为,该神经网络以当前状态为输入,输出为agent在该状态下采取的行动。q网络主要用于估计当前动作在某一时刻执行后,如果继续执行该策略,最终得到的奖励的期望状态。输入是当前状态和当前操作,输出的是q值。如果只使用单一的神经网络模拟策略或q值,学习过程是不稳定的,所以在ddpg算法中,分别为策略网络和q值网络创建了两个网络的副本,两个网络作为在线网络,两个网络作为目标网络。其中,在线网络是实时训练网络,在训练完一段时间后,将在线网络的模型参数更新到目标网络,从而保证了训练过程稳定,易于收敛。
83.本技术对标准的ddpg算法进行了改进,较标准的ddpg算法主要存在以下两个方面的区别:
84.第一,在多域动作选择的ddpg算法中,引入了强化学习模块。在标准的ddpg算法中,agent可以选择执行的动作在每个状态下的选择都是一样的。但在这种网络空间环境下,当攻击者在网络空间中选择攻击路径时,它在每个状态下都有不同的可选择动作。例如,如果攻击者处于最外层空间时,它只有动作“进入房间”或“保持不动”两种动作可以选择,但在标准ddpg算法中,所有在该网络环境下的动作都应可以选择。显然,在最外层空间的agent不能有动作“控制计算机终端”。因此,为了使ddpg算法在不同的状态下可以选择不同的动作,本技术加入了强化学习模块。该模块的输入是在线策略网络的输出,输出动作a在此状态下线性变化,并执行实际动作a
t
',实际执行动作a
t
'进入多域动作执行模块,得到
相应的奖励r
t
'。最后,实际执行相应的动作a
t
'和相应的奖励r
t
'返回给在线策略网络。通过这种方法,可以实现在不同的状态下合理的选择相关动作。
85.第二,经验回放机制的输入是不同的。为了保证多域动作选择符合动作对状态的约束,增加经验回放机制的输入,不仅通过在线策略网络来存储序列(s
t
,a
t
,r
t
,s
t+1
),即执行状态为s
t
的动作,获得奖励值r
t
,并将下一个状态转换为s
t+1
。而且,由于对应关系,在选择时需要考虑当前所处的状态和agent动作,避免了策略网络的选择在该状态下不可行的动作。因此,当策略网络在状态中选择一个不可操作的动作a
t
,不仅需要强化学习模块使用线性变换将其映射到一个可行的动作a
t
',还需要将相关的动作序列写作(s
t
,a
t
,-∞,s
t+1
)的形式,表示该动作a
t
在状态s
t
和随后的状态中执行所获得的仍然是s
t
,而此时的奖励则是一个巨大的负值,这样才能保证相关的动作不会在训练过程中被选择。在网络结构上,两个策略网络拥有相同的结构,输入是网络状态,输出是agent要选择的动作。从结构上看,策略网络主要由5层组成。第一层是输入层,第二层为隐含层,第三层和第四层是全连接层,第五层是输出层,最后输出一个多维向量a,a表示需要执行的多域动作。
86.以上所述,仅是本技术的几个实施例,并非对本技术做任何形式的限制,虽然本技术以较佳实施例揭示如上,然而并非用以限制本技术,任何熟悉本专业的技术人员,在不脱离本技术技术方案的范围内,利用上述揭示的技术内容做出些许的变动或修饰均等同于等效实施案例,均属于技术方案范围内。
技术特征:
1.一种自动化渗透推演系统,其特征在于,该系统包括问题定义模块、要素模块和强化学习模块;其中,所述问题定义模块,用于根据多域网络空间中的最短隐藏攻击路径发现问题,构建强化学习模型;所述要素模块,用于定义智能体agent的状态和动作,并根据动作的结果设置奖励;所述强化学习模块,用于基于agent的动作和状态之间的约束关系进行多域动作选择,根据所述强化学习模型进行强化学习,找到最短攻击序列步长,继而发现网络中最薄弱的地方。2.根据权利要求1所述的自动化渗透推演系统,其特征在于,所述问题定义模块,用于将最短隐藏攻击路径发现问题看作马尔可夫决策过程mdp:m=(s,a,p,r,γ)其中,s∈s是网络空间的当前状态,a∈a是当前可用的攻击动作,p是状态之间转换的概率,r是agent采取行动到达下一个状态后的奖励值,γ为折扣率;在初始状态s0,训练agent作为一个攻击者,配置网络空间环境;将最终的状态s
t
定义为攻击者在有限的步骤中成功或失败的攻击;在每个攻击步骤序列中,agent将采取一个动作完成一个攻击步骤;在每一步t,agent从状态s
t
开始,采取一个动作a
t
,到达一个新的状态s
t+1
,并得到从网络环境中奖励的r
t
;其中,s
t
表示t时刻的状态,包括;agent所处的位置、计算机运行状态、服务运行状态、服务访问状态;s
t+
1表示下一时刻状态,包含以下至少一种信息:agent的新的位置信息、agent可能获取的新服务信息、agent访问了某个服务后可能获得的权限信息。3.根据权利要求1所述的自动化渗透推演系统,其特征在于,所述要素模块对智能体agent的状态、动作、奖励定义如下:所述状态为多域网络空间中可能的状态的集合;所述动作为agent可以采取的动作集合并可以改变网络空间的状态;所述奖励为在一种状态下,对agent采取行动的进行奖励。4.根据权利要求1所述的自动化渗透推演系统,其特征在于,所述强化学习模块采用改进的ddpg算法,用于使agent在不同状态下可以选择不同的动作。5.根据权利要求4所述的自动化渗透推演系统,其特征在于,所述强化学习模块用于执行以下步骤:通过在线策略网络来存储序列(s
t
,a
t
,r
t
,s
t+1
),该动作序列表示:执行状态为s
t
的动作,获得奖励值r
t
,并将下一个状态转换为s
t+1
;当策略网络在状态中选择一个不可操作的动作a
t
时,使用线性变换将其映射到一个可行的动作a
t
',相关的动作序列定义为(s
t
,a
t
,-∞,s
t+1
),表示:该动作a
t
在状态s
t
和随后的状态中执行所获得的仍然是s
t
,奖励则是一个巨大的负值,以保证相关的动作不会在训练过程中被选择。6.根据权利要求4所述的自动化渗透推演系统,其特征在于,所述强化学习模块包括一个记忆回放单元和四个网络,其中,所述记忆回放单元,用于存储状态的转移过程s,a,r
t
,s0;对于小批量采样,提取相应的样本来训练相应的神经网络从而避免样本之间的强相关性;所述四个网络包括在线策略网
络、目标策略网络、在线q网络、目标q网络;所述策略网络用于模拟攻击者的行为,该神经网络以当前状态为输入,输出为在agent在该状态下采取的行动;所述q网络用于估计当前动作在某一时刻执行后,如果继续执行该策略,最终得到的奖励的期望状态,其输入是当前状态和当前操作,输出的是q值。7.一种自动化渗透推演方法,其特征在于,该方法包括:根据多域网络空间中的最短隐藏攻击路径发现问题,构建强化学习模dd221034i型;定义智能体agent的状态和动作,并根据动作的结果设置奖励;基于agent的动作和状态之间的约束关系进行多域动作选择,根据所述强化学习模型进行强化学习,找到最短攻击序列步长,继而发现网络中最薄弱的地方。8.根据权利要求7所述的自动化渗透推演方法,其特征在于,所述根据多域网络空间中的最短隐藏攻击路径发现问题,构建强化学习模型包括:将最短隐藏攻击路径发现问题看作马尔可夫决策过程mdp:m=(s,a,p,r,γ),其中s∈s是网络空间的当前状态,a∈a是当前可用的攻击动作,p是状态之间转换的概率,r是agent采取行动到达下一个状态后的奖励值,γ为折扣率;在初始状态s0,通过训练agent作为一个攻击者,和一个配置好的网络空间环境;最终的状态s
t
对应于攻击者在有限的步骤中成功或失败的攻击;在每个攻击步骤序列中,agent将采取一个动作完成一个攻击步骤;在每一步t,agent从状态s
t
开始,采取一个动作a
t
,到达一个新的状态s
t+1
,并得到从网络环境中奖励的r
t
;将s
t
定义为t时刻的状态,包括agent所处的位置,计算机运行状态,服务运行状态,服务访问状态;s
t+
1为下一时刻的状态,表示状态的更新,其中包含:关于agent的新的位置信息、agent可能获取的新服务信息、agent访问了某个服务后可能获得的权限信息。9.根据权利要求7所述的自动化渗透推演方法,其特征在于,所述agent的状态定义为:多域网络空间中可能的状态的集合;所述动作定义为:agent可以采取的动作集合并可以改变网络空间的状态;所述奖励定义为:在一种状态下,对agent采取行动的进行奖励。10.根据权利要求7所述的自动化渗透推演方法,其特征在于,所述最短攻击序列步长的寻找采用改进的ddpg算法,使用agent来表示攻击者;在发现攻击路径的过程中,agent在当前状态选择动作后获得一定的奖励或负面奖励;找到相应的策略映射函数r(s)
→
a,使agent的长期奖励最大,输出需要执行的多域动作,找到网络空间中的最短攻击序列步长;当选择的动作a
t
不可操作时,使用线性变换将其映射到一个可行的动作a
t
'定义此时的动作序列定义为(s
t
,a
t
,-∞,s
t+1
),表示:该动作a
t
在状态s
t
和随后的状态中执行所获得的仍然是s
t
,奖励则是一个巨大的负值,以保证相关的动作不会在训练过程中被选择。
技术总结
本申请公开了一种自动化渗透推演系统及方法,其中系统包括:问题定义模块,用于针对最短隐藏攻击路径发现问题建立一种强化学习模型;要素模块,用于定义强化学习中的动作、状态、奖励和策略;强化学习模块,用于采用引入了多域动作选择的DDPG算法,在网络环境下选择相应的动作,并通过从学习环境中观察到的经验后继续学习,找到最短攻击序列步长,继而发现网络中最薄弱的地方。本申请能够自动分析目标系统所在网络环境,发现并验证目标系统潜在的漏洞点和脆弱性,降低了渗透测试的成本。降低了渗透测试的成本。降低了渗透测试的成本。
技术研发人员:傅涛 潘志松 詹达之 张磊 谢艺菲 王海洋 郑轶 余鹏
受保护的技术使用者:博智安全科技股份有限公司
技术研发日:2023.04.13
技术公布日:2023/8/5
版权声明
本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)
航空之家 https://www.aerohome.com.cn/
飞机超市 https://mall.aerohome.com.cn/
航空资讯 https://news.aerohome.com.cn/