System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术属于网络安全,更为具体地讲,涉及一种基于分层强化学习的网络安全防御方法。
技术介绍
1、网络信息系统如今已经深深融入到人们的日常生活、政府运作、工业发展和学术研究之中,网络安全的重要性因此日益凸显。随着科技的快速发展,各种网络安全威胁也在不断增长,特别是高级持续性威胁(advanced persistent threats,简称apts)给各个领域带来了严峻的挑战。同时,网络信息系统变得越来越复杂和互联,这加剧了网络安全问题的严重性和破坏性。因此,确保网络安全已经成为当前急需解决的重大问题,自动化网络安全防御是确保网络安全的一个重要措施。
2、目前,自动化网络安全防御面临着诸多挑战。为了有效抵御恶意攻击,需要进行持续的监控、流量分析和漏洞修补,这不仅成本高昂,而且需要大量的人力投入。另外,网络安全领域存在明显的不对称性,攻击者常常能轻易发动攻击,而防御者却面临巨大困难,这增加了网络安全防御的难度。
3、传统的网络安全防御措施,如防火墙、入侵检测系统(intrusion detectionsystem,简称ids)和入侵防御系统(intrusion prevention system,简称ips),在互联网快速发展的过程中已经显现出一定的局限性。随着网络环境的不断复杂化和安全风险的不断增加,开发出高效、智能的自动化防御方法,已经成为网络安全领域的重要研究方向。自动化防御机制能够有效地监控网络活动,并及时发现并阻止各种类型的网络攻击,为网络环境的安全运行提供强有力的保障。然而,如何在这种复杂形势下自
技术实现思路
1、本专利技术的目的在于克服现有技术的不足,提供一种基于分层强化学习的网络安全防御方法,在面对不同攻击模式的攻击者时,主智能体通过识别攻击模式,选择最合适的预训练强化学习子智能体进行防御,从而更好地应对网络安全领域的各种挑战,提升整体的网络安全防御能力。
2、为了实现上述专利技术目的,本专利技术基于分层强化学习的网络安全防御方法,其特征在于,包括以下步骤:
3、(1)、子智能体训练
4、对于m种不同的攻击模式,分别训练相应的、用于选取各自攻击模式下当前环境状态最优的防御动作的子智能体,然后存入子智能体库中;所述子智能体为一估值网络enetchild,其动作价值函数为qchildevaluat(s,a;ω),根据当前环境状态s,选择其动作价值函数qchildevaluati(s,a;ω)最大的防御动作a输出,其中,ω为估值网络enetchild的网络参数;
5、为训练子智能体,构建目标动作价值函数为qchildtarge(s,a;ω′),用一目标网络tnetchild实现,其中,ω′为目标网络tnetchild的网络参数;
6、每个攻击模式的子智能体的训练过程为:
7、1.1)、设定一个攻击模式,并将其视为环境的一部分,然后,初始化子智能体的经验缓冲区dchild的容量为nchild,初始化估值网络enetchild的网络参数ω,初始化目标网络tnetchild的网络参数ω′;
8、子智能体一共进行n轮与环境的交互,每一轮交互包含t个时间步骤,在每个时间步骤t:
9、1.2)、环境的状态为s,子智能体有∈的概率在子智能体的防御动作空间中随机选择一个防御动作a、有1-∈的概率依据动作价值函数qchildevaluati(s,a;ω)最大值在子智能体的防御动作空间选择防御动作a即a=argmaxa qchildevaluat(s,a;ω);
10、1.3)、选择防御动作后,子智能体在环境中执行防御动作a,环境返回给子智能体奖励r以及环境的下一个环境状态s′,当前环境状态s、防御动作a、奖励r以及下一个环境状态s′构成的经验条dchild=(s,a,r,s′,t),存储在经验缓冲区dchild中;
11、1.4)、当经验缓冲区dchild中经验条dchild达到设定的数量后,每个时间步骤t存入经验条dchild后,从经验缓冲区dchild中随机抽取一批经验条dchild,用于更新估值网络enetchild的网络参数ω即更新动作价值函数qchildevaluation(s,a;ω):
12、首先,计算每一经验条dchild的目标值y′:
13、
14、其中,a′=argmaxa′qchildevaluat(s′,a′;ω)即依据动作价值函数qchildevaluation(s′,a′;ω)最大值在子智能体防御动作空间选择防御动作a′;
15、然后计算差值lchild:
16、lchild=(y′-qchildevaluat(s,a;ω))2
17、将该批所有经验条dchild得到的差值lchild取平均作为损失值,以最小化损失值为目标,通过梯度下降更新估值网络enetchild的网络参数ω;
18、同时,每隔c个时间步骤,将目标网络tnetchild的网络参数设置ω′为估值网络enetchild的网络参数ω,当经验缓冲区dchild存满后即经验条数达到nchild,存入新的经验条dchild时,将最先存入的经验条移除后存入;
19、n轮交互结束后,子智能体存入子智能体库中;
20、(2)、主智能体训练
21、对于m种不同的攻击模式,训练一主智能体,以识别当前环境下的攻击模式,所述主智能体为一估值网络enetmain,其动作价值函数为qmainevaluation(s,a;θ),根据当前环境状态s,选择其动作价值函数qmainevaluation(s,a;θ)最大的子智能体选取动作a输出,其中,θ为估值网络enetmain的网络参数;
22、为训练主智能体,构建目标动作价值函数为qmaintarge(s,a;θ′),用一目标网络tnetmain实现,其中,θ′为目标网络tnetmain的网络参数;
23、主智能体的训练过程为:
24、2.1)、初始化主智能体的经验缓冲区dmain的容量为nmain,初始化估值网络enetmain的网络参数θ,初始化目标网络tnetmain的网络参数θ′;
25、主智能体一共进行n轮与环境的交互,每一轮交互开始时,从m种攻击模式中选择一种,并将其视环境的一部分,一直到本轮结束再重新选择,每一轮交互包含t个时间步骤,在每个时间步骤t:
26、2.2)、环境的状态为s,主智能体有∈的概率在主智能体的子智能体选取动作空间中随机选择一个子智能体选取动作a、有1-∈的概率依据动作价值函数qmainevaluation(s,a;θ)最大值在主智能体的子智能体选取动作空间选择子智能体选取动作a即a=argmaxaqmainevaluation(s,a;θ);
27、2.3)、选择智能体选取动作后,主智能体执行子智能本文档来自技高网...
【技术保护点】
1.一种基于分层强化学习的网络安全防御方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于分层强化学习的网络安全防御方法,其特征在于,所述概率∈初始化为0.95,在每1000轮交互结束后都更新一次∈=∈×0.99。
3.根据权利要求1所述的基于分层强化学习的网络安全防御方法,其特征在于,每隔C=5000个时间步骤,将目标网络Tnetchild的网络参数设置ω′为估值网络Enetchild的网络参数ω,每隔C=5000个时间步骤,将目标网络Tnetmain的网络参数设置θ′为估值网络Enetmain的网络参数θ。
4.根据权利要求1所述的基于分层强化学习的网络安全防御方法,其特征在于,所述防御动作包括睡眠、监控、分析、蜜罐、移除、恢复。
【技术特征摘要】
1.一种基于分层强化学习的网络安全防御方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于分层强化学习的网络安全防御方法,其特征在于,所述概率∈初始化为0.95,在每1000轮交互结束后都更新一次∈=∈×0.99。
3.根据权利要求1所述的基于分层强化学习的网络安全防御方法,其特征在于,每隔c=5000个时间...
【专利技术属性】
技术研发人员:任婧,朱洪曦,王雄,王晟,徐世中,
申请(专利权)人:电子科技大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。