基于资格迹和在线更新式的电力信息系统安全策略系统的制作方法

文档序号:15221483发布日期:2018-08-21 17:31阅读:177来源:国知局

本发明涉及一种电力信息系统安全领域,具体涉及一种基于资格迹和在线更新式的电力信息系统安全策略系统。



背景技术:

电力信息系统是当今社会赖以存在的重要保障。安全、稳定的电力信息系统是电力供应的基本保障。随着社会的发展,全社会用电量不断增长导致电力信息系统越来越复杂,因此电力信息系统也需要不断升级改进,以满足日益增长的需求。在电力信息系统功能越来越强大的同时,电力信息系统规模也变得越来越大。面对越来越复杂的电力信息系统,如何有效地保障电力信息系统的安全与稳定成为了一项紧迫又复杂的任务。现实环境中,电力信息系统遭受攻击的种类多样,攻击强度不一,单纯增加计算机防御能力会消耗极大的计算资源,因此,如何快速地预测攻击智能体的攻击类型和强度,合理分配电力信息系统各个节点的计算资源显得尤为重要。

很多研究人员利用各种机器学习方法对已知的计算资源进行预先分配。然而,随着电力信息系统规模不断增加,电力信息系统中的未知性、不确定性会越来越多,这些未知性、不确定性会随着电力信息系统的变化而动态变化,因此,研究人员很难预先对电力信息系统计算资源进行合理的分配,预备的电力信息系统安全防护机制也无法应用于实际情况。此外,面对复杂的电力信息系统环境,维护人员在遇到突发问题后很难快速找到故障原因。综上所述,设计一种能够快速在线式学习电力信息系统的安全控制系统来全面保障电力信息系统迫在眉睫。

强化学习(reinforcementlearning)可以使智能体通过不断地试错学习来更新自己的模型。目前,强化学习在在线学习方面表现出了良好的性能。如何通过强化学习获得电力信息系统安全策略是本领域亟待解决的问题。



技术实现要素:

在本发明中,攻击智能体和防御智能体模拟对抗在线式学习的安全策略。在模拟的对抗过程中,攻击智能体试图以最小的代价攻击电力信息系统的计算机,而防御智能体则尽力以最小的代价保护电力信息系统,防止其被攻克。攻击智能体采用sarsa算法攻击策略,防御智能体采用利用最优初始值和资格迹的sarsa(λ)防御策略。两个智能体均通过学习算法获得最大的收益。

电力信息系统由作为节点的计算机设备和作为边的线路按照某种拓扑结构连接而成。计算机设备是电力信息系统中的计算机,如服务器,计算机设备通过线路连接,当且仅当计算机设备之间有线路连接时,可以从一个计算机设备访问另一个计算机设备。有以下三种类型的计算机设备:起始计算机设备,是攻击智能体在对抗访问游戏起始阶段的计算机设备;目标计算机设备,是电力信息系统中包含有价值数据的计算机设备,是“重要”计算机设备,不能被入侵,否则将遭受较大的损失,对电力信息系统造成的影响较大,如果攻击智能体成功攻击该目标计算机设备,则以攻击智能体胜利结束;中间计算机设备,位于起始计算机设备和目标计算机设备之间,为了到达目标计算机设备,需要攻击这些中间计算机设备,以形成一条从起始计算机设备到目标计算机设备的电力信息系统通路,这些中间计算机设备是“一般”计算机设备,如果被入侵,则损失相对较小,对电力信息系统造成的影响也较小。

电力信息系统包括了若干“一般”计算机设备和若干“重要”计算机设备。攻击智能体可以选择任意的一个“一般”计算机设备作为“起始”计算机设备,选择一个“重要”计算机设备作为“目标”计算机设备展开攻击。在攻击的过程中,每个计算机设备都有可能成为攻击智能体的目标。

入侵行为可以视为从某个计算机设备攻击其他计算机设备,攻击包括了攻击类型和攻击强度值,攻击强度表示入侵行为的危害程度。由于每个计算机设备的配置不同,因此,不同类型的攻击在不同的攻击强度配置下对计算机设备造成的威胁也不同。在电力信息系统中,有p(p>0)个攻击智能体同时发动攻击,其中某个攻击智能体定义为attackerx(a1,l,an),(1≤x≤p),每个攻击智能体具有n种攻击方法a1,l,an,每种攻击方式包括了攻击类型a_type和攻击强度值a_strength。攻击强度值是取值范围为1到10的整数,值越大,表明攻击能力越强。

防御智能体具备防御能力,防御智能体负责计算机设备的防御优化和资源分配,尽力避免电力信息系统受到破坏,防御智能体通过防御攻击来实现安全防御,电力信息系统中共有q(q>0)个防御智能体,其中某个防御智能体定义为defendery(defence),(1≤y≤q),defence描述防御智能体对攻击的防御情况,defence定义为defence(def1,l,defn),其中defi(a_type,def_strength)(1≤i≤n)是防御智能体对攻击类型a_type的防御值。防御值是取值范围为1到10的整数,值越大,表明防御能力越强。

电力信息系统中某个计算机设备i定义为每个计算机设备分属于3种不同类别start,end,other,攻击智能体从开始攻击,途径节点,若最终能成功攻击重要节点,则攻击成功。

攻击智能体和防御值智能体的攻防模拟过程是一个对抗过程。在电力信息系统中,有p个攻击智能体和q个防御智能体同时进行对抗。为了保证电力信息系统资源的可用性,必须将安全防御限制到一定程度。定义整个电力信息系统的总防御值def_all、总可用防御值def_ava、总已用防御值def_used,其中整个电力信息系统的总防御值def_all、总可用防御值def_ava、总已用防御值def_used均是大于等于0的整数,且满足:def_all=def_ava+def_used。def_all的最大值均不超过10*电力信息系统中所有计算机设备数*攻击类型数。

攻击智能体x从某个计算机设备开始对电力信息系统进行攻击,目标是入侵计算机设备为了保证计算机设备可以访问到计算机设备在整个攻防模拟过程中,计算机设备和计算机设备之间至少存在一条通路。攻击智能体x只能访问所已经入侵的计算机设备,只能攻击与已入侵计算机设备直接连接的计算机设备。

攻击智能体x的可选动作包括:攻击、移动到已入侵计算机设备、与其他攻击智能体交换信息、静默。

(1)如果选择动作为攻击,则从攻击智能体x所能攻击的计算机设备列表中选择一个计算机设备作为攻击目标,攻击智能体从攻击类型和强度信息attackerx(a1,l,an)中选择最适合的攻击方式aj,攻击类型为a_type,攻击强度为a_strength;攻击智能体x每次只能攻击一个计算机设备。

(2)如果选择移动到已入侵计算机设备j,将计算机设备j作为当前计算机设备i;

(3)如果选择与其他攻击智能体交换信息,则从攻击智能体列表中选择攻击智能体k,合并attackerx(a1,l,an)、hackednodesx(node,a_type,a_strength)、attackerk(a1,l,an)、hackednodesk(node,a_type,a_strength)。

(4)如果选择静默,则攻击智能体不做其他操作。

防御智能体可以访问电力信息系统中的每一个计算机设备,可以获得和更新所有计算机设备的防御信息。

防御智能体的可选动作包括:调整计算机设备防御值、与其他防御智能体通信、静默。

在对抗过程中,防御智能体可以通过增加防御值来提高对某种类型攻击的防御能力。随着防御值的提高,攻击智能体使用特定类型的入侵该计算机设备变得越来越困难,但其他计算机设备能使用该计算机设备的服务的便利性也下降。因此,整体电力信息系统的总体防御值应小于等于预设值。通过模拟对抗,以最小的防御代价,获得最优的安全策略。

本发明的发明目的是提供一种基于资格迹和在线更新式的电力信息系统安全策略系统。

为达到上述目的,本发明提供如下的技术方案:一种基于资格迹和在线更新式的电力信息系统安全策略系统,包括设备网络,所述设备网络由作为节点的若干计算机设备和作为边的若干线路按照拓扑结构连接而成,还包括若干攻击智能体和若干防御智能体,若干攻击智能体同时攻击所述设备网络,若干防御智能体同时防御所述若干攻击智能体,所述若干计算机设备包括被入侵后损失较小的一般计算机设备和被入侵后损失较大的重要计算机设备,所述攻击智能体的目标是自某个一般计算机设备入侵某个重要计算机设备,所述防御智能体的目标是防止重要计算机设备被入侵;

某个计算机设备i定义为攻击智能体从开始攻击,途径节点,目标为攻击重要节点;

某个攻击智能体x定义为attackerx(a1,l,an),(1≤x≤p),ai=(a_type,a_strength)(1≤i≤n),其中a_type是攻击类型名,a_strength是1到10之间的一个整数,表示攻击强度;所述攻击智能体x的当前状态包括一已入侵计算机设备列表和一相邻计算机设备列表记录了截止到t时刻,攻击智能体x已经入侵的计算机设备、所使用的攻击类型以及所使用的攻击强度,记录了与攻击智能体x当前计算机设备具有连接的相邻计算机设备列表,攻击智能体只能访问所已经入侵的计算机设备,只能攻击与已入侵计算机设备直接连接的计算机设备;

某个防御智能体y定义为defendery(defence),(1≤y≤q),所述防御智能体y的当前状态包括电力信息系统中所有计算机设备的防御信息defence(def1,l,defn),defi(1≤i≤n)表示计算机设备i对攻击类型a_type的防御值,整个设备网络的总防御值定义为def_all、总可用防御值定义为def_ava、总已用防御值定义为def_used,其中def_all、def_ava、def_used均是大于等于0的整数,且满足:def_all=def_ava+def_useddef_all的最大值均不超过10*设备网络中所有计算机设备数*攻击类型数,def_all值人工预先设定;

如果攻击智能体x所使用攻击类型的攻击强度值>某个攻击智能体x所在计算机设备i对所受攻击类型的防御值,则攻击智能体x攻击计算机设备i成功;

防御智能体y通过增加计算机设备i对攻击类型a_type的防御值来提高对攻击智能体x所使用的攻击类型a_type的防御能力。

上述技术方案中,所述攻击智能体采用sarsa算法攻击策略。

上述技术方案中,所述防御智能体采用利用最优初始值和资格迹的sarsa(λ)算法防御策略。

上述技术方案中,所述电力信息系统安全策略系统同步进行攻击步骤和防御步骤,

所述攻击步骤如下:

1-1:初始化,将攻击智能体列表al中的每个攻击智能体attackerx的每种攻击类型a_type的攻击强度值a_strength初始化为1到10之间的一个随机整数,每个计算机设备的q值初始化为0,转至步骤1-2;

1-2:判断攻击智能体列表al是否为空,如是,则结束对抗,攻击失败,如否,则从攻击智能体列表al中随机选择一个攻击智能体x,转至步骤1-3;

1-3:获得攻击智能体x在当前计算机设备的当前状态转至步骤1-4;

1-4:攻击智能体x以1-ε的概率选择q值最大的动作,以ε的概率随机选择其中一个动作从当前状态达到下一状态,如果选择动作为攻击未入侵计算机设备,则转至步骤1-5,如果选择动作为移入到已入侵计算机设备,则转至步骤1-18,如果选择动作为与其他攻击智能体交换信息,则转至步骤1-14,如果选择动作静默,则转至步骤1-15;

1-5:攻击智能体x从其中选择一个计算机设备nodei作为攻击对象,攻击类型为a_type,攻击强度为a_strength,转至步骤1-6;

1-6:判断攻击类型a_type的攻击值a_strength是否比计算机设备nodei的攻击类型a_type防御值def_strength高,如是,则该攻击成功,将计算机设备nodei、攻击类型a_type、攻击强度a_strength加入到攻击智能体x的已入侵计算机设备列表hackednodesx中,转至步骤1-7,如否,则转至步骤1-12;

1-7:判断在已入侵列表hackednodesx中是否存在连接当前计算机设备到目标计算机设备nodeend的一条路径lx,如是,启动修复步骤,转入步骤1-10;如否,转至步骤1-11;

1-8:在已入侵列表hackednodesx中选择一个计算机设备作为当前计算机设备,转至步骤1-13;

1-9:从攻击智能体列表中选择攻击智能体k,将攻击智能体k的已入侵计算机设备列表信息合并到攻击智能体x的已入侵计算机设备列表信息转至步骤1-14;

1-10:存在通路,攻击智能体x的立即奖赏r为+100,转至步骤1-16;

1-11:不存在通路,攻击智能体x的立即奖赏r为-1;转至步骤1-16;

1-12:攻击失败,攻击智能体x的立即奖赏r为-10;转至步骤1-16;

1-13:转入到已入侵列表,攻击智能体x的立即奖赏r为0,转至步骤1-16;

1-14:交换信息,攻击智能体x的立即奖赏r为10,转至步骤1-16;

1-15:静默,攻击智能体x的立即奖赏r为1,转至步骤1-16;

1-16:更新攻击智能体x下一状态时计算机设备的q值:

其中,是攻击智能体x当前状态所在计算机设备的q值;

α∈(0,1)是0到1之间的实数,表示学习率;

r是每次对抗步中获得的立即奖赏;

γ是折扣率;

q(as′,a′)是攻击智能体x下一状态时计算机设备的q值;

转至步骤1-17;

1-17:更新攻击智能体x下一状态时计算机设备的平均q值:

其中n是攻击智能体列表al中所有的攻击智能体数量,转至步骤1-2;

所述防御步骤如下:

2-1:初始化,将防御智能体列表dl中的每个防御智能体针对每个计算机设备的每种攻击类型的防御值均初始化为1,初始化每个计算机设备的起始q值为500,资格迹e(as,a)=0,转入步骤2-2;

2-2:判断防御智能体列表dl是否为空,如是,则结束对抗,防御失败;如否,从防御智能体列表dl中随机选择一个防御智能体y,获得可用防御值def_ava,转至步骤2-3;

2-3:防御智能体y获取当前电力信息系统状态包括电力信息系统中所有计算机设备的防御信息,转至步骤2-4;

2-4:防御智能体y以1-ε的概率选择q值最大的动作,以ε的概率随机选择其中一个动作从当前状态达到下一状态,如果选择动作为调整某个计算机设备对某种攻击类型的防御值,转至步骤2-5,如果选择动作为与其他防御智能体交换信息,转至步骤2-10,如果选择动作为静默,转至步骤2-11;

2-5:从所有计算机设备中选择一个计算机设备nodei,判断可用防御值def_ava是否大于等于防御调整值δdef,如是,则设置新的防御值为:计算机设备nodei新防御值=计算机设备nodei原有防御值+调整值δdef;可用防御值def_ava=def_ava-δdef,防御智能体y的立即奖赏值r为-50,转至步骤2-6,如否,将nodei加入到需要处理的计算机设备列表pl列表,转至步骤2-6;

2-6:将所有计算机设备按被攻击次数从小到大排列,调整这些计算机设备的防御值,使每个计算机设备满足如下条件:

如果该计算机设备受到攻击:每个类型攻击的防御值大于等于该类型已经所受攻击的攻击值,δ=δ+该类型的原有防御值-该类型的新防御值;否则,该计算机设备的这种类型攻击的防御值=1,δ=δ+该类型的原有防御值-1,转至步骤2-7;

2-7:调整当前可用防御值def_ava=def_ava+δ,转至步骤2-8;

2-8:判断当前可用防御值是否大于0,如大于0,获得被入侵计算机设备列表hackednodes(node,a_type,a_strength),对列表中的所有计算机设备,进行安全漏洞补丁,如成功,防御智能体y的立即奖赏值r为-100,转至步骤2-12,如补丁失败,则当前防御值更新为def_ava=def_ava+100,防御智能体y的立即奖赏值r为-10,转至步骤2-12,如小于0,转至步骤2-9;

2-9:判断当前需要处理的计算机设备列表pl列表是否为空,如是,立即奖赏设置为-10,转至步骤2-12,如否,对pl列表中每一个计算机设备node,按照如下条件设置对攻击类型a_type的防御值:

如果计算机设备node现有防御值>需要设置的防御值,将计算机设备从pl列表中移除,立即奖赏设为-50,转至步骤2-12;

如果当前可用防御值def_ava<计算机设备node需要设置的防御值-计算机设备node现有防御值,增加当前防御值def_ava=def_ava+100,立即奖赏设为-100,转至步骤2-12;

2-10:防御智能体y的立即奖赏值r为-10

2-11:防御智能体y的立即奖赏值r为-1,转至步骤2-12;

2-12:按照如下公式更新防御智能体y下一状态时计算机设备的资格迹:

e(as,a)=(1-α)e(as,a)+1,

其中,α是资格迹的折扣率;

转至步骤2-13;

2-13:按照如下公式更新防御智能体y下一状态时计算机设备的q值:

δ=r+γq(as′,a′)-q(as,a);

q(as,a)=q(as,a)+αδe(as,a);

e(as,a)=γλe(as,a),

其中,q(as,a)是防御智能体y当前状态时计算机设备的q值;

q(as′,a′)是防御智能体y下一状态时计算机设备的q值;

α∈(0,1),是0到1之间的实数,表示学习率;

r是每次对抗步中获得的立即奖赏;

γ是折扣率;

λ∈[0,1];

转至步骤2-2。

上述技术方案中,所述攻击智能体的可选动作如下:(a)攻击未入侵计算机设备;(b)移入到已入侵计算机设备;(c)与其他攻击智能体交换信息;(d)静默;所述防御智能体的可选动作如下:(e)调整某个计算机设备对某种攻击类型的防御值;(f)与其他防御智能体交换信息;(g)静默。

上述技术方案中,所述修复步骤如下

3-1:获得路径lx,转至步骤3-2;

3-2:取作为当前计算机设备nodej,转至步骤3-3;

3-3:获得nodej的攻击类型a_type和攻击强度a_strength,转至步骤3-4;

3-4:设置nodej的防御类型a_type的防御强度为def_strength=a_strength+1;

3-5:判断计算机设备nodej是否为如是,则修复终止;如否,找出当前计算机设备在路径lx上的下一个计算机设备作为当前计算机设备nodej,转至步骤3-3。

上述技术方案中,所述安全漏洞补丁包括如下步骤:

4-1:获得需要进行安全漏洞补丁的计算机设备node,攻击类型a_type,攻击强度a_strength,计算机设备防御值d_strength,转至步骤4-2;

4-2:判断是否满足如下条件:当前可用防御值def_ava≥计算机设备对攻击类型a_type的原有防御值d_strength-a_strength;

如是,将计算机设备node对攻击类型a_type的防御值设为a_strength,调整当前可用防御值:def_ava=def_ava+a_strength-计算机设备的a_type攻击的原有防御值;返回计算机设备node,安全漏洞补丁成功;

如否,返回计算机设备node,安全漏洞补丁失败。

由于上述技术方案运用,本发明与现有技术相比具有以下优点:

1)本发明公开的基于资格迹和在线更新式的电力信息系统安全策略系统,在对抗过程中,防御智能体可以通过增加防御值来提高对某种类型攻击的防御能力,随着防御值的提高,攻击智能体使用特定类型的入侵该节点变得越来越困难,但其他计算机节点能使用该计算机节点的服务的便利性也下降。因此,整体电力信息系统的总体防御值小于等于预设值。通过模拟对抗,以最小的防御代价,获得最优的安全策略;

2)本发明公开的基于资格迹和在线更新式的电力信息系统安全策略系统,攻击智能体采用sarsa算法攻击策略,防御智能体采用利用最优初始值和资格迹的sarsa(λ)算法防御策略,sarsa算法是强化学习中的一种经典算法。通过利用智能体先前经验不断学习以得到最优策略,由于sarsa算法采用了ε-greedy策略,该算法保证了智能体动作的多样性,有效加速了学习时间。sarsa(λ)算法是sarsa算法的延伸。sarsa(λ)算法利用了多步经验,该算法较sarsa算法更能逼近真实值,强化学习算法通过模拟电力信息系统系统中的随机现象,可以获得解决问题的近似解。

附图说明

图1是本发明的设备网络示意图。

图2是本发明攻击智能体攻击步骤流程图。

图3是本发明防御智能体防御步骤流程图。

具体实施方式

下面结合本发明的原理、附图以及实施例对本发明进一步描述

参见图1所示,一种基于强化学习智能体攻防对抗的电力信息系统安全策略学习装置,包括设备网络、若干攻击智能体以及若干防御智能体,

设备网络由若干计算机设备101-119和线路按照拓扑结构连接而成。

若干攻击智能体同时攻击上述设备网络,若干防御智能体同时防御上述若干攻击智能体,上述若干计算机设备包括被入侵后损失较小的一般计算机设备101-109,111-119和被入侵后损失较大的重要计算机设备110,攻击智能体的目标是自某个一般计算机设备入侵重要计算机设备110,防御智能体的目标是防止重要计算机设备110被入侵;

某个计算机设备i定义为攻击智能体从开始攻击,途径节点,目标为攻击重要节点;

某个攻击智能体x定义为attackerx(a1,l,an),(1≤x≤p),ai=(a_type,a_strength)(1≤i≤n),其中a_type是攻击类型名,a_strength是1到10之间的一个整数,表示攻击强度;所述攻击智能体x的当前状态包括一已入侵计算机设备列表和一相邻计算机设备列表记录了截止到t时刻,攻击智能体x已经入侵的计算机设备、所使用的攻击类型以及所使用的攻击强度,记录了与攻击智能体x当前计算机设备具有连接的相邻计算机设备列表,攻击智能体只能访问所已经入侵的计算机设备,只能攻击与已入侵计算机设备直接连接的计算机设备;

某个防御智能体y定义为defendery(defence),(1≤y≤q),所述防御智能体y的当前状态包括电力信息系统中所有计算机设备的防御信息defence(def1,l,defn),defi(1≤i≤n)表示计算机设备i对攻击类型a_type的防御值,整个设备网络的总防御值定义为def_all、总可用防御值定义为def_ava、总已用防御值定义为def_used,其中def_all、def_ava、def_used均是大于等于0的整数,且满足:def_all=def_ava+def_useddef_all的最大值均不超过10*设备网络中所有计算机设备数*攻击类型数,def_all值人工预先设定;

如果攻击智能体x所使用攻击类型的攻击强度值>某个攻击智能体x所在计算机设备i对所受攻击类型的防御值,则攻击智能体x攻击计算机设备i成功;

防御智能体y通过增加计算机设备i对攻击类型a_type的防御值来提高对攻击智能体x所使用的攻击类型a_type的防御能力。

其中,所述攻击智能体采用sarsa算法攻击策略,所述防御智能体采用利用最优初始值和资格迹的sarsa(λ)算法防御策略。

上述电力信息系统安全策略系统同步进行攻击步骤和防御步骤,

参见图2,如其中的图例所示,上述攻击步骤如下:

1-1:初始化,将攻击智能体列表al中的每个攻击智能体attackerx的每种攻击类型a_type的攻击强度值a_strength初始化为1到10之间的一个随机整数,每个计算机设备的q值初始化为0,转至步骤1-2;

1-2:判断攻击智能体列表al是否为空,如是,则结束对抗,攻击失败,如否,则从攻击智能体列表al中随机选择一个攻击智能体x,转至步骤1-3;

1-3:获得攻击智能体x在当前计算机设备的当前状态转至步骤1-4;

1-4:攻击智能体x以1-ε的概率选择q值最大的动作,以ε的概率随机选择其中一个动作从当前状态达到下一状态,如果选择动作为攻击未入侵计算机设备,则转至步骤1-5,如果选择动作为移入到已入侵计算机设备,则转至步骤1-18,如果选择动作为与其他攻击智能体交换信息,则转至步骤1-14,如果选择动作静默,则转至步骤1-15;

1-5:攻击智能体x从其中选择一个计算机设备nodei作为攻击对象,攻击类型为a_type,攻击强度为a_strength,转至步骤1-6;

1-6:判断攻击类型a_type的攻击值a_strength是否比计算机设备nodei的攻击类型a_type防御值def_strength高,如是,则该攻击成功,将计算机设备nodei、攻击类型a_type、攻击强度a_strength加入到攻击智能体x的已入侵计算机设备列表hackednodesx中,转至步骤1-7,如否,则转至步骤1-12;

1-7:判断在已入侵列表hackednodesx中是否存在连接当前计算机设备到目标计算机设备nodeend的一条路径lx,如是,启动修复步骤,转入步骤1-10;如否,转至步骤1-11;

1-8:在已入侵列表hackednodesx中选择一个计算机设备作为当前计算机设备,转至步骤1-13;

1-9:从攻击智能体列表中选择攻击智能体k,将攻击智能体k的已入侵计算机设备列表信息合并到攻击智能体x的已入侵计算机设备列表信息转至步骤1-14;

1-10:存在通路,攻击智能体x的立即奖赏r为+100,转至步骤1-16;

1-11:不存在通路,攻击智能体x的立即奖赏r为-1;转至步骤1-16;

1-12:攻击失败,攻击智能体x的立即奖赏r为-10;转至步骤1-16;

1-13:转入到已入侵列表,攻击智能体x的立即奖赏r为0,转至步骤1-16;

1-14:交换信息,攻击智能体x的立即奖赏r为10,转至步骤1-16;

1-15:静默,攻击智能体x的立即奖赏r为1,转至步骤1-16;

1-16:更新攻击智能体x下一状态时计算机设备的q值:

其中,是攻击智能体x当前状态所在计算机设备的q值;

α∈(0,1)是0到1之间的实数,表示学习率;

r是每次对抗步中获得的立即奖赏;

γ是折扣率;

q(as′,a′)是攻击智能体x下一状态时计算机设备的q值;

转至步骤1-17;

1-17:更新攻击智能体x下一状态时计算机设备的平均q值:

其中n是攻击智能体列表al中所有的攻击智能体数量,转至步骤1-2;

参见图3,如其中的图例所示,上述防御步骤如下:

2-1:初始化,将防御智能体列表dl中的每个防御智能体针对每个计算机设备的每种攻击类型的防御值均初始化为1,初始化每个计算机设备的起始q值为500,资格迹e(as,a)=0,转入步骤2-2;

2-2:判断防御智能体列表dl是否为空,如是,则结束对抗,防御失败;如否,从防御智能体列表dl中随机选择一个防御智能体y,获得可用防御值def_ava,转至步骤2-3;

2-3:防御智能体y获取当前电力信息系统状态包括电力信息系统中所有计算机设备的防御信息,转至步骤2-4;

2-4:防御智能体y以1-ε的概率选择q值最大的动作,以ε的概率随机选择其中一个动作从当前状态达到下一状态,如果选择动作为调整某个计算机设备对某种攻击类型的防御值,转至步骤2-5,如果选择动作为与其他防御智能体交换信息,转至步骤2-10,如果选择动作为静默,转至步骤2-11;

2-5:从所有计算机设备中选择一个计算机设备nodei,判断可用防御值def_ava是否大于等于防御调整值δdef,如是,则设置新的防御值为:计算机设备nodei新防御值=计算机设备nodei原有防御值+调整值δdef;可用防御值def_ava=def_ava-δdef,防御智能体y的立即奖赏值r为-50,转至步骤2-6,如否,将nodei加入到需要处理的计算机设备列表pl列表,转至步骤2-6;

2-6:将所有计算机设备按被攻击次数从小到大排列,调整这些计算机设备的防御值,使每个计算机设备满足如下条件:

如果该计算机设备受到攻击:每个类型攻击的防御值大于等于该类型已经所受攻击的攻击值,δ=δ+该类型的原有防御值-该类型的新防御值;否则,该计算机设备的这种类型攻击的防御值=1,δ=δ+该类型的原有防御值-1,转至步骤2-7;

2-7:调整当前可用防御值def_ava=def_ava+δ,转至步骤2-8;

2-8:判断当前可用防御值是否大于0,如大于0,获得被入侵计算机设备列表hackednodes(node,a_type,a_strength),对列表中的所有计算机设备,进行安全漏洞补丁,如成功,防御智能体y的立即奖赏值r为-100,转至步骤2-12,如补丁失败,则当前防御值更新为def_ava=def_ava+100,防御智能体y的立即奖赏值r为-10,转至步骤2-12,如小于0,转至步骤2-9;

2-9:判断当前需要处理的计算机设备列表pl列表是否为空,如是,立即奖赏设置为-10,转至步骤2-12,如否,对pl列表中每一个计算机设备node,按照如下条件设置对攻击类型a_type的防御值:

如果计算机设备node现有防御值>需要设置的防御值,将计算机设备从pl列表中移除,立即奖赏设为-50,转至步骤2-12;

如果当前可用防御值def_ava<计算机设备node需要设置的防御值-计算机设备node现有防御值,增加当前防御值def_ava=def_ava+100,立即奖赏设为-100,转至步骤2-12;

2-10:防御智能体y的立即奖赏值r为-10

2-11:防御智能体y的立即奖赏值r为-1,转至步骤2-12;

2-12:按照如下公式更新防御智能体y下一状态时计算机设备的资格迹:

e(as,a)=(1-α)e(as,a)+1,

其中,α是资格迹的折扣率;

转至步骤2-13;

2-13:按照如下公式更新防御智能体y下一状态时计算机设备的q值:

δ=r+γq(as′,a′)-q(as,a);

q(as,a)=q(as,a)+αδe(as,a);

e(as,a)=γλe(as,a),

其中,q(as,a)是防御智能体y当前状态时计算机设备的q值;

q(as′,a′)是防御智能体y下一状态时计算机设备的q值;

α∈(0,1),是0到1之间的实数,表示学习率;

r是每次对抗步中获得的立即奖赏;

γ是折扣率;

λ∈[0,1];

转至步骤2-2。

上述攻击步骤中,攻击智能体的可选动作如下:(a)攻击未入侵计算机设备;(b)移入到已入侵计算机设备;(c)与其他攻击智能体交换信息;(d)静默;所述防御智能体的可选动作如下:(e)调整某个计算机设备对某种攻击类型的防御值;(f)与其他防御智能体交换信息;(g)静默。

上述攻击步骤中,修复步骤如下

3-1:获得路径lx,转至步骤3-2;

3-2:取作为当前计算机设备nodej,转至步骤3-3;

3-3:获得nodej的攻击类型a_type和攻击强度a_strength,转至步骤3-4;

3-4:设置nodej的防御类型a_type的防御强度为def_strength=a_strength+1;

3-5:判断计算机设备nodej是否为如是,则修复终止;如否,找出当前计算机设备在路径lx上的下一个计算机设备作为当前计算机设备nodej,转至步骤3-3。

上述防御步骤中,安全漏洞补丁包括如下步骤:

4-1:获得需要进行安全漏洞补丁的计算机设备node,攻击类型a_type,攻击强度a_strength,计算机设备防御值d_strength,转至步骤4-2;

4-2:判断是否满足如下条件:当前可用防御值def_ava≥计算机设备对攻击类型a_type的原有防御值d_strength-a_strength;

如是,将计算机设备node对攻击类型a_type的防御值设为a_strength,调整当前可用防御值:def_ava=def_ava+a_strength-计算机设备的a_type攻击的原有防御值;返回计算机设备node,安全漏洞补丁成功;

如否,返回计算机设备node,安全漏洞补丁失败。

对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1