基于攻防博弈的过程控制系统的安全策略动态获取方法技术领域
本发明属于过程控制系统信息安全防护技术领域,更具体地,涉及一种基于攻防
博弈的过程控制系统的安全策略动态获取方法。
背景技术
过程控制系统实现了宽广地域的管理、监视与控制;计算机技术、传感器技术、网
络通信技术以及自动控制技术的迅速发展打破了传统过程控制系统信息孤岛的僵局,但是
享受开放带来便利的同时也面临着各种各样的信息安全问题。过程控制系统遭受到入侵攻
击的后果非常严重,其信息安全问题迫在眉睫,而动态信息安全策略决策是解决过程控制
系统信息安全问题的关键。
过程控制系统包括信息部分和物理控制对象两部分,过程控制系统的动态信息安
全策略决策需要全面的考虑信息与物理两方面因素;传统的在线策略决策是基于静态映射
的响应模式,其缺点在于响应模式固定,容易被攻击者利用;传统的安全策略决策很少对安
全策略的成本收益进行统一尺度的量化,容易造成系统的过度响应。
发明专利(CN201010562527.5)和发明专利(CN200810224939.0)公开了针对信息
系统的信息攻击的策略决策方法,其对象并不是过程控制系统,未能全面考虑过程控制系
统所面临的风险,不适用于过程控制系统的信息安全动态风险评估。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种基于攻防博弈的过程控
制系统的安全策略动态获取方法,通过风险评估系统解决动态安全策略决策过程中的信息
系统与物理系统紧耦合、响应模式固定、过度响应的问题。
为实现上述目的,按照本发明的一个方面,提供了一种基于攻防博弈的过程控制
系统的安全策略动态获取方法,包括如下步骤:
(1)构建过程控制系统的攻击事件集合lA、功能失效集合lF、安全事件集合lE和资
产损失集合lZ,并将所述4个集合合并构建贝叶斯网节点集合;根据贝叶斯网节点集合中每
个节点的父节点集合以及每个节点的条件概率表建立贝叶斯网,并评估贝叶斯网中每个资
产节点的价值;
(2)枚举过程控制系统的安全策略和恢复策略,根据各安全策略所能够阻止的攻
击策略构建攻击策略集合;并根据各恢复策略所能够恢复的系统功能构建恢复功能集合;
(3)根据攻击策略集合构建潜在安全策略集,根据恢复功能集合构建潜在恢复策
略集;并根据潜在安全策略集和潜在恢复策略集构建系统潜在防御策略集合;
(4)通过将状态设置为1或0在贝叶斯网中标记证据;并采用团树传播法获取当前
贝叶斯网中每个资产节点的概率p(n);
根据该概率p(n)获取过程控制系统当前风险值;根据过程控制系统当前风险值获
取攻防收益矩阵;
(5)根据攻击者的混合策略、过程控制系统的混合策略以及攻防收益矩阵建立线
性方程组;解该线性方程组获得过程控制系统的最优策略。
优选地,上述基于攻防博弈的过程控制系统的安全策略动态获取方法,其步骤(1)
包括如下子步骤:
(1.1)根据过程控制系统的安全漏洞枚举攻击场景,将攻击场景中的组合攻击分
解成原子攻击;由所有攻击场景中的每个原子攻击对应的事件构成攻击事件集合lA;
由过程控制系统的所有系统功能构成功能失效集合lF;
由过程控制系统的安全事件构成安全时间集合lE;
由过程控制系统的资产构成资产损失集合lZ;
将攻击事件集合lA、功能失效集合lF、安全事件集合lE和资产损失集合lZ合并成一
个贝叶斯网节点集合l=lA∪lF∪lE∪lZ;
攻击事件集合lA中的元素a∈lA表示攻击者使用攻击手段a对系统进行攻击;功能
失效集合lF中的元素f∈lF表示系统功能f已经失效;安全事件集合lE中的元素e∈lE表示安
全事件e已经发生;资产损失集合lZ中的元素z∈lZ表示系统资产z已经受损;
贝叶斯网节点集合中的每个元素n∈l具有两种状态:“发生”、“没发生”;用1表示
状态“发生”,用0表示状态“没发生”;
(1.2)对贝叶斯网节点集合中的每个元素n∈l,遍历集合l-{n}中的每个元素m∈
l-{n},若m发生可能导致n发生,则将m加入到n的父节点集合n*中;
(1.3)对贝叶斯网节点集合中的每个元素n∈l,建立节点n的条件概率表
其中,pi表示父节点处于第i种状态时节点n发生的概率;
贝叶斯网节点集合中的每个元素n∈l,其父节点集合为n*={n1,n2,…,nk},其中k
是节点n的父节点的个数;
每个父节点的状态都有1、0两种,节点n的父节点的状态共有2k种;第i种状态中的
父节点nj的状态为表示“向下取整”,即不大于x的最大整数;
(1.4)根据贝叶斯网节点集合l每个节点n∈l的父节点集合n*,以及每个节点的条
件概率表p,建立贝叶斯网
(1.5)评估贝叶斯网节点集合l中每个资产节点n∈lZ价值v(n)。
优选地,上述基于攻防博弈的过程控制系统的安全策略动态获取方法,其步骤(2)
包括如下子步骤:
(2.1)枚举过程控制系统所有的信息安全防御策略D=S∪R;
其中,S是指安全策略集合,用于阻止入侵攻击的进一步进行;R是指恢复策略集
合,用于恢复由入侵攻击导致失效的系统功能;
(2.2)确定每个安全策略s∈S所能够阻止的攻击策略,并根据安全策略s能阻止的
所有攻击策略构建安全策略s的攻击策略集合As;
确定每个安全策略s∈S实施后可能导致失效的系统功能,并根据安全策略s导致
的失效的功能构建策略s的失效功能集合Fs;
(2.3)确定每个恢复策略r∈R所能够恢复的系统功能,并根据恢复策略r所能够恢
复的所有的系统功能构建恢复策略r的恢复功能集合Fr。
优选地,上述基于攻防博弈的过程控制系统的安全策略动态获取方法,其步骤(3)
包括如下子步骤:
(3.1)对过程控制系统进行实时入侵检测,当检测到攻击者实施攻击策略a,将攻
击策略a加入到贝叶斯网的证据集E中;
对过程控制系统进行实时异常检测,当检测到系统功能f失效、或安全事件e发生,
则将系统功能f和安全事件e添加到贝叶斯网的证据集E中,获得初始证据集E0;
利用团树传播法获取当前贝叶斯网中每个资产节点n∈lZ的概率p(n);根据该
概率p(n)获取过程控制系统当前风险值
(3.2)遍历证据集E中的所有攻击策略a∈E,根据其所有子节点构建潜在攻击策略
集A′;
(3.3)针对潜在攻击策略集A′中的每一个攻击策略a∈A′,遍历安全策略集S中的
所有的安全策略s∈S,如果a∈As,则根据安全策略s构建潜在安全策略集S′;
(3.4)检测过程控制系统的异常,并根据所有失效的功能构建已失效功能集合F;
针对已失效功能集合F中的每一个系统功能f∈F,遍历所有的恢复策略r∈R,如果
f∈Fr,则根据恢复策略r构建潜在恢复策略集R′;
(3.5)根据潜在安全策略集S′和潜在恢复策略集构建系统潜在防御策略集合D′=
S′∪R′。
优选地,上述基于攻防博弈的过程控制系统的安全策略动态获取方法,其步骤(4)
包括如下子步骤:
(4.1)将第i个潜在攻击策略ai和第j个潜在防御策略dj组成一个攻防策略组合
(ai,dj);由所有的攻防策略组合构成攻防策略组合集AD;
(4.2)将贝叶斯网的证据集恢复到初始证据集E0;并将攻防策略组合集AD中的
攻防策略组合(ai,dj)的潜在攻击策略ai节点的状态设置为1,作为证据标记在贝叶斯网
中;其中,攻击策略ai节点的状态为1表示已经发生;
(4.3)针对每个防御策略dj,如果dj是恢复策略,则用符号rj表示;如果rj的恢复功
能集合中存在系统功能已经被破坏,则将系统功能f状态置为0,作为证据标记在
贝叶斯网中;其中,系统功能f的状态为0表示没发生;
(4.4)针对每个防御策略dj,如果dj是安全策略,则用符号sj表示;针对安全策略sj
的攻击策略集合中的每个攻击策略修改其所有子节点的条件概率表;
获取攻击策略a的每个子节点的条件概率表其中,各子节点
包含a在内共有z个父节点;
当攻击策略a是某子节点的第h个父节点,则修改条件概率表,使得条件概率表中
所有pα=pα′;
其中α=(b1b2…bh-11bh+1…bz)2,α′=(b1b2…bh-10bh+1…bz)2,bi∈{0,1},
针对安全策略sj的失效功能集合中的每个系统功能将该系统功能的状
态设置为1,作为证据标记在贝叶斯网中;其中,系统功能的状态为1表示已经失效;
(4.5)利用团树传播法获取当前贝叶斯网中每个资产节点n∈lZ的概率p(n);
根据该概率p(n)获取过程控制系统当前风险值
(4.6)判断攻防策略组合集AD是否为空集,若是,则进入步骤4.7,若否,则进入步
骤4.2;
(4.7)根据过程控制系统当前风险值获得攻防收益矩阵
其中,
优选地,上述基于攻防博弈的过程控制系统的安全策略动态获取方法,其步骤(5)
包具体为:解下列线性方程组,方程组的根β*即为过程控制系统的最优策略;
其中,α=(α1,α2,…,αx),αi∈[0,1];
是指攻击者的混合策略;β=(β1,β2,…,βy),βi∈[0,1];是过程控制系统的混合
策略。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有
益效果:
(1)本发明提供的基于攻防博弈的过程控制系统的安全策略动态获取方法,对过
程控制系统进行实时入侵检测和异常检测,进而根据攻击者行为和系统状态动态的对攻防
策略组合进行筛选、成本收益量化,最终获得系统最优的安全策略;是一种动态的信息安全
策略决策方法;本发明综合考虑攻防策略引发的各种后果,利用贝叶斯网,将攻防策略引发
的后果统一量化成系统风险的变化量,实现了攻防策略的统一尺度量化,解决了传统动态
策略决策方法因为缺少攻防策略后果的统一尺度量化而无法比较防御策略的优劣,从而可
能存在过度响应的问题;
(2)本发明提供的基于攻防博弈的过程控制系统的安全策略动态获取方法,将攻
防博弈论的思想引入到最优的安全策略的求解过程中,考虑攻击者和系统的潜在行为和实
际行为,根据攻防策略成本收益来优化安全策略,其动态测量决策方法响应模式灵活,解决
了传统基于映射的动态决策响应方法响应模式固定,容易被攻击者利用的问题;
(3)本发明提供的基于攻防博弈的过程控制系统的安全策略动态获取方法,利用
贝叶斯网以及攻防策略模型对潜在的攻防策略进行筛选,因为攻防策略组合的数量是攻击
策略的数量和防御策略数量的乘积,故经过攻防策略的筛选,攻防策略组合的数量大大减
少,从而降低了攻防策略成本收益量化的计算时间,提高了动态决策的实时性。
附图说明
图1是实施例提供的过程控制系统的信息安全动态决策方法的流程示意图;
图2是实施例中的典型过程控制系统的网络结构示意图;
图3是实施例中过程控制系统的贝叶斯网示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对
本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并
不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要
彼此之间未构成冲突就可以相互组合。
实施例提供的过程控制系统的信息安全动态决策方法,其流程如图1所示,包括离
线过程和在线过程,具体包括如下步骤:
(1)分析过程控制系统,建立贝叶斯网;
(2)建立防御策略模型;
(3)筛选潜在攻击策略集和潜在防御策略集;
(4)攻防收益矩阵量化;
(5)获取最优安全策略。
以下结合图2所示的典型的过程控制系统结构,具体阐述本发明实施例提供的过
程控制系统的信息安全动态决策方法;
这种典型的过程控制系统结构包括监控层、控制层和物理层;监控层中有一台数
据服务器和一台Web服务器,监控层通过一个安全网关与外网相连;控制层有一台数据服务
器和一台工程师站,控制层通过一个安全网关与监控层相连;物理层是一个反应釜,有两个
进料口,由PLC1和PLC4控制;减压阀和出料口,由PLC4控制;加热器,由PLC2控制;压力传感
器、温度传感器和液位传感器,由PLC3控制;基于该典型的过程控制系统的动态安全策略决
策,具体包括如下步骤:
步骤1:分析过程控制系统,建立贝叶斯网,具体包括如下子步骤:
步骤1.1:根据过程控制系统的安全漏洞枚举攻击场景,将攻击场景中的组合攻击
分解成原子攻击;将所有攻击场景中的每个原子攻击对应的事件加入到攻击事件集合lA
中;攻击事件集合lA中的元素a∈lA表示攻击者使用攻击手段a对系统进行攻击;实施例中,
攻击事件集合如下表1所示:
表1攻击事件集合
符号
描述
a1
溢出攻击数据服务器1
a2
溢出攻击Web服务器
a3
溢出攻击数据服务器2
a4
溢出攻击工程师站
a5
DoS攻击PLC1
a6
DoS攻击PLC2
a7
DoS攻击PLC3
a8
DoS攻击PLC4
将过程控制系统所有的系统功能加入到功能失效集合lF中,功能失效集合lF中的
元素f∈lF表示系统功能f已经失效;实施例中,功能失效集合如表2所示。
表2功能失效集合
符号
描述
f1
进料阀1流量控制
f2
进料阀2流量控制
f3
出料阀流量控制
f4
压力控制
f5
液位控制
f6
温度控制
将过程控制系统的所有的安全事件加入到安全事件集合lE中,安全事件集合lE中
的元素e∈lE表示安全事件e已经发生;实施例中,安全事件集合如表3所示;
表3安全事件集合
符号
描述
e1
压力过高
e2
温度过高
e3
液位过高
e4
反应釜爆炸
将过程控制系统所有的系统资产加入到资产损失集合lZ中,资产损失集合lZ中的
元素z∈lZ表示系统资产z已经受损;实施例中,资产损失集合如表4所示;
表4资产损失集合
符号
描述
x1
产品
x2
反应釜
x3
人员
将攻击事件集合lA、功能失效集合lF、安全事件集合lE和资产损失集合lZ合并成一
个贝叶斯网节点集合l=lA∪lF∪lE∪lZ,贝叶斯网节点集合中的每一个元素n∈l具有两种
状态“发生”和“没发生”,状态“发生”用1表示,状态“没发生”用0表示;
步骤1.2:针对贝叶斯网节点集合中的每一个元素n∈l,遍历集合l-{n}中的每一
个元素m∈l-{n},如果m发生可能会导致n发生,则将m加入到n的父节点集合n*中;以f4为例,
对PLC3和PLC4进行DoS攻击会导致压力控制功能f4失效,故f4的父节点集合为{a7,a8};
步骤1.3:贝叶斯网节点集合中的每一个元素n∈l,其父节点集合为n*={n1,
n2,…,nk},其中k是节点n父节点的个数;
每个父节点的状态都有1(表示“发生”了)和0(表示“没发生”)两种,故节点n父节
点的状态一共有2k种。第i种状态中的父节点nj的状态为表示“向下
取整”,即不大于x的最大整数;针对贝叶斯网节点集合中的每一个元素n∈l,根据专家经验
或者历史数据建立节点n的条件概率表其中pi表示父节点处于第i种
状态是,节点n发生的概率;以a5为例加以说明,a5有两个父节点,其父节点的状态有4种,其
条件概率表如表5所示:
表5条件概率表
a3
0
0
1
1
a4
0
1
0
1
a5=1
p0
p1
p2
p3
a5=0
1-p0
1-p1
1-p2
1-p3
步骤1.4:节点n∈l的父节点集合n*,每个节点的条件概率表p,建立贝叶斯网实
施例所建立的贝叶斯网如图3所示;
步骤1.5:根据贝叶斯网节点集合l,每个针对贝叶斯网节点集合l中的每一个资
产节点n∈lZ,评估其价值v(n)。
步骤2:建立防御策略模型,具体过程为:
步骤2.1:枚举过程控制系统所有的信息安全防御策略D;防御策略包括两种:一种
是安全策略S,其目的是阻止入侵攻击的进一步进行;另一种是恢复策略R,其目的是恢复由
入侵攻击导致失效的系统功能。故D=S∪R。
步骤2.2:针对每一个安全策略s∈S,分析其能够阻止的攻击策略,并将安全策略s
能阻止的所有攻击策略构成安全策略s的攻击策略集合As。针对每一个安全策略s∈S,分析
其实施后会导致那些系统功能失效,将安全策略s导致的失效的功能构成安全策略s的失效
功能集合Fs;
步骤2.3:针对每一个恢复策略r∈R,分析其能够恢复的系统功能,将恢复策略r所
能够恢复的所有的系统功能构成恢复策略r的恢复功能集合Fr;实施例中,防御策略如下表
6所示;
表6防御策略
步骤3:筛选潜在攻击策略集A′和潜在防策略集D′,具体过程如下:
步骤3.1:利用实时入侵检测系统对过程控制系统进行入侵检测,如果检测到攻击
者实施攻击策略a,将a加入到贝叶斯网的证据集E中。利用实时异常检测系统对过程控制
系统进行异常检测,如果检测到系统功能f失效,或者是安全事件e发生了,则将f和e添加到
贝叶斯网的证据集E中,此时的证据集称为初始证据集E0。利用团树传播法计算出当前贝
叶斯网中每一个资产节点n∈lZ的概率p(n),则计算过程控制系统当前风险值为
这里假设现在的攻击证据为E={a1,a3}。
步骤3.2:遍历证据集E中的所有攻击策略a∈E,将其所有子节点加入到潜在攻击
策略集A′当中,A′={a4,a5,a6,a7,a8}。
步骤3.3:针对潜在攻击策略集A′中的每一个攻击策略a∈A′,遍历安全策略集S中
的所有的安全策略s∈S,如果a∈As,则将安全策略s加入到潜在安全策略集S′当中,S′=
{s4,s5,s6,s7,s8}。
步骤3.4:利用异常检测系统检测过程控制系统异常,并将所有的失效的功能加入
到已失效功能集合F中,针对已失效功能集合F中的每一个系统功能f∈F,便利所有的恢复
策略r∈R,如果f∈Fr,则将恢复策略r加入到潜在恢复策略集R′当中。此时
步骤3.5:获得系统潜在防御策略集合D′=S′∪R′={s4,s5,s6,s7,s8}。
步骤4:攻防收益矩阵量化,具体过程如下:
步骤4.1:此时,潜在攻击策略集为A′={a4,a5,a6,a7,a8},系统潜在防御策略集合
为D′={s4,s5,s6,s7,s8}。遍历所有的攻防策略组合,将第i个潜在攻击策略ai和第j个潜在
防御策略dj组成一个攻防策略组合(ai,dj),所有的攻防策略组合构成一个攻防策略组合集
AD,此时攻防策略组合集AD={(ai,sj)|i,j∈{4,5,6,7,8}}。
步骤4.2:从攻防策略组合集AD中取出一个攻防策略组合(a4,s4),首先将贝叶斯网
的证据集恢复到初始证据集E0。然后,将潜在攻击策略ai节点的状态设置为1(已经发
生),作为证据标记在贝叶斯网中。此时的证据集为E={a1,a3,a4}。
步骤4.3:针对每一个防御策略dj,如果dj是恢复策略,这里用符号rj表示。如果rj
的恢复功能集合中存在系统功能已经被破坏,则将系统功能f状态置为0(没发
生),作为证据标记在贝叶斯网中。由于攻防策略组合(a4,s4)不含有恢复策略,故此时的
证据集仍为E={a1,a3,a4}。
步骤4.4:针对防御策略s4,其对应的攻击策略集为a4的子节点有a5、
a6、a7和a8,这里以a5为例,说明如何修改a1的条件概率表。攻击节点a5有两个父节点,a3和a4,
其条件概率表如表5所示,为p=(p0,p1,p2,p3)。修改后的条件概率表为p′=(p0,p0,p2,p2)。
防御策略s4对应的失效功能集为故不用修改证据集。
步骤4.5:利用团树传播法计算出当前贝叶斯网中每一个资产节点n∈lZ的概率
p(n),则计算过程控制系统当前风险值为
步骤4.6:如果攻防策略组合集AD为空集,则进入步骤4.7,否则进入步骤4.2;
步骤4.7:根据计算的获得攻防收益矩阵,如下式(1)所示,其中,
步骤5:选取最优安全策略,具体过程如下:
步骤5.1:令攻击者的混合策略α=(α1,α2,α3,α4,α5),αi∈[0,1],令
过程控制系统的混合策略β=(β1,β2,β3,β4,β5),βj∈[0,1],
步骤5.2:解线性方程组(2)
其中上述方程组的根β*即为求得的过程控制系统
的最优策略;当方程组的根β*=(0.1,0.1,0.3,0.1,0.4),系统的最优安全策略为:以(0.1,
0.1,0.3,0.1,0.4)的概率分布分别执行s4、s5、s6、s7和s8。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以
限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含
在本发明的保护范围之内。