核电厂数字化仪表控制系统网络安全风险分析方法综述
2022-06-24黄晓津田宇琨李江海
黄晓津,田宇琨,李江海
(1.清华大学核能与新能源技术研究院,北京 100084;2.先进反应堆工程与安全教育部重点实验室,北京 100084)
0 引言
核电厂仪表和控制系统(简称“仪控系统”)与核电站操作人员共同构成了核电厂的“中枢神经系统”。通过各种组成要素(如设备、模块、子系统、冗余系统等)。仪控系统可感知基本参数、监控性能、整合信息,并根据需要对电厂运行进行自动调整。随着信息时代的到来,计算机技术、网络通信技术等信息技术与核电厂数字化仪控系统相结合[1],使得基于计算机和联网技术的数字化仪控系统逐步被采用。国内首个核电数字化仪控系统投用于江苏田湾核电站。岭澳二期核电站也使用了该技术[2]。数字化仪控系统的使用提高了核电厂的可靠性、降低了运营和维护成本,使核电厂的运行更加高效。但是,由于数字化仪控系统基于计算机和网络技术,可能存在漏洞,特别是通用协议、软件和设备对原有专用系统的取代[3],使得系统和网络更容易遭受黑客、病毒、蠕虫等偶然或恶意的网络攻击。这将对核电厂系统及设备的可用性、信息和数据的保密性和完整性造成损害,并由此产生新的网络安全风险[2]。因此,需要对核电厂数字化仪控系统进行风险管理。风险管理是分析、评估和处理风险的实践标准,通过适用的网络风险分析方法,对恶意网络攻击行为进行有效的识别和监测,从而保证核电厂系统的可用性,以及信息和数据的完整性和保密性,降低由攻击事件导致的危害。
网络安全风险分析方法最初产生于信息技术(information technology,IT)领域。当信息系统与物理系统相结合后,人们开始关心信息物理系统(cyber physical system,CPS)中基于网络和软件而产生的网络安全问题,由此产生了众多相关风险分析方法。核电数字化仪控系统对于遭受网络攻击而产生的网络安全问题的研究尚处于起步阶段,相关文献较少,风险分析方法体系尚不完善。因此,本文对CPS的网络安全风险分析方法进行综述。所列网络安全风险分析方法不仅包含核电领域,还包含电网、运输系统等多个领域。通过文献综述,本文提出核电数字化仪控系统网络安全风险分析方法的参考建议。文献选择范围为2011—2021年间发表的、能够获取全文的研究成果,且至少涵盖一种不同的网络安全风险分析方法。本文主要涉及网络安全风险分析方法中风险的场景、可能性及后果等问题,但风险缓解技术并不包含在本文综述范围内。
1 网络安全风险分析的基础
1.1 风险理论
传统意义上的风险是不确定性和损害的结合。风险分析过程可以看作对三个问题的回答,即:①会发生什么;②有多大可能性;③如果真的发生了,其后果是什么[4]。
随着信息技术的发展,对CPS的网络安全风险的研究进一步深入。在网络安全风险管理指南ISO/IEC 27005:2011中,定义网络安全风险涉及三个要素,即资产、威胁和漏洞。在CPS中,网络安全风险既指物理层面的功能安全风险(Safety),又指网络层面的网络安全风险(Security),即系统正常运行时安全目标遭受网络攻击所造成的不利影响。风险分析过程的总体目标是识别风险及其对系统关键资产的影响。分析的目标是基于威胁/漏洞识别关键资产的安全风险。
R=f[h(V,T),A]
(1)
式中:R为风险值;f为风险模型;h为威胁与漏洞的关系;V、T分别为漏洞被利用的可能性和威胁利用漏洞的可能性;A为资产价值。
根据GB/T 36466—2018,风险分析流程如下。
①评估风险要素。风险要素评估包括关键数字资产评估、威胁评估、脆弱性评估以及保障能力评估。资产评估包括识别资产和评估资产价值两个方面:首先,识别出系统中的关键系统和关键系统中的关键数字资产;然后,评估资产价值,得到资产的重要度权重。威胁评估考虑可能对系统造成破坏的攻击行为:首先,识别出威胁源、威胁途径和可能性,以及威胁所造成的影响;然后,对威胁进行赋值。脆弱性评估考虑重要资产本身的脆弱性,识别脆弱性并对脆弱性进行分析赋值。保障能力评估则是对系统管理、运行、人员和技术等方面提供保障措施和对策的能力进行评估。
②计算风险。风险值通过风险要素得出。通过计算得到的风险值可划分为几个等级,以表示相应的风险严重程度。
③控制风险残留。如风险不可接受,则需制定风险控制措施并实施相应的控制行为,以降低相关风险。
1.2 核电厂数字化仪控系统网络安全标准
针对核电行业如何有效进行网络安全防护,可参照国内外制定的一系列网络安全标准。
国内外数字化仪控系统网络安全标准如表1所示。
总体而言,我国核电数字化仪控网络安全领域相关标准与国外尚存在一定的差距,目前国内还没有针对核电厂数字化仪控系统网络安全的特定标准。相比之下,由美国核管会发布的RG 5.71导则为之提供了一套切实可行的方案,可以系统解决核电数字化仪控系统的网络安全问题。因此,可参考RG 5.71导则,将其与我国国情相结合,作出适应性修改,从而制定我国针对核电厂数字化仪控系统的网络安全标准。
2 网络安全风险分析方法
网络安全风险分析方法一般分为两类[5]。一类是基于公式的方法,即使用一套计算风险或影响的公式。该方法不使用任何模型进行风险评估,而是以表格或文本的形式表示。另一类是基于模型的方法,即首先建立所研究系统或过程的模型,然后通过模型进行定性或定量分析。
2.1 基于公式的方法
基于公式的方法使用公式对网络安全风险进行量化,包括平均故障成本法、加权风险评分等方法。
平均故障成本(mean failure cost,MFC)[6]作为单位时间的故障成本的函数,从经济角度对故障进行量化。式(1)为MFC计算公式。
M=S×D×I×P
(2)
式中:M为MFC的值;S为网络安全需求与所需成本的关系矩阵,其中网络安全需求一般包括可用性、完整性、保密性;D为组件与组件对每个网络安全需求所作贡献之间的矩阵,由系统架构师填写;I为各威胁对各组件影响情况的矩阵,由分析人员填写;P为一个列向量,代表每个条目的出现概率,通过对模拟系统或真实系统进行操作,评估该段时间内出现的威胁数量生成,并随着系统的发展作相应改进。
MFC以价格/时间为单位,提供了单位时间内的平均损失估计。通过定量分析结果,可以使用MFC方法,采取相应的安全措施以减少损失。
加权风险评分(risk score,RS)[7]方法关注系统的可用性,采用加权计算对风险水平进行量化。式(3)为RS计算公式。
R=A×L0+B×C0
(3)
式中:R为风险值;C0为初始发生可用性损失事件的后果;L0为损失事件发生的可能性;A、B为权重因子,两者之和为1。
C0基于可用性损失及其影响,分为很低、低、中等、高、很高五级,根据级别高低赋予定量数值。L0独立于C0,与攻击成本成反比。攻击成本包括经济成本与实施攻击所需技能与知识的组合成本,分为很低、低、中等、高、很高五级,根据级别高低赋予定量数值。
根据式(3)计算所得的风险值越高,则表示该损失事件的风险水平越高,即系统需要更多的保护机制。
基于公式的方法通常是定量的,所采用的数值可以清晰地展现系统的风险水平。而CPS通常有着复杂的结构,基于公式的方法无法对复杂结构进行表示与深入分析。因此,研究者一般首先对系统进行建模,然后使用基于模型的方法进行风险分析。
2.2 基于模型的方法
基于模型的方法通过是否可用逻辑图形来表示所建立的模型进行区分,包括非图形模型法和图形模型法。
2.2.1 非图形模型方法
对于复杂的系统而言,一般可以通过建立系统模型对网络安全风险进行分析。CPS的网络结构、功能、任务通常是相对固定的,且一般情况下不需要频繁地更新和修改,以便对系统进行建模。因此,基于模型的风险分析方法适用于CPS。本节描述非图形模型方法,包括风险矩阵(risk matrix,RM)法、层次分析(analytic hierarchy process,AHP)法、博弈论(game theory,GT)法等。
RM法[8]是一种将危险发生的可能性和危害的严重程度综合评估风险大小的风险评估方法。RM结构如图1所示。RM法将风险需要采取的对策分为风险转移、风险规避、风险接受和风险缓解这四类。四类对策对应不同高低的风险概率和风险影响,通过赋值计算出各风险因素的风险值并进行分析。
图1 RM结构示意图
AHP法将决策有关元素分解成目标、准则、方案等多个层次,并在此基础上进行定性和定量分析。各层因子受下层因子的影响,同时影响上层因子。AHP法适用于具有分层交错的评价指标,而目标值又难以定量描述的决策问题。文献[9]首先将风险指标体系分为网络安全和主机安全两个维度,并以恶意代码防范、结构安全、安全访问控制、网络访问控制、入侵检测、架构安全、登录安全、主机安全监控和备份恢复为指标级别,分级建立矩阵;然后采用秩和比的方法对系统风险水平进行综合评估。
GT法提供了一个分析框架,考虑攻击者和防御者之间的交互,并对这种交互过程进行建模。攻击者可能是单个黑客、黑客团体、恐怖组织等。防御者发挥优化博弈过程作用,使攻击行为对系统的损害最小化。对于攻击者而言,系统中的任何漏洞或弱点都可以被利用。对于防御者而言,任何可以用来组织、最小化或减轻攻击的动作都可被视为防御动作。在该分析框架中,攻击者和系统之间的互动被视为一种两玩家游戏。在这种游戏中,每个玩家都试图从游戏中增加自己的收益。因此,每个玩家都对对手的策略作出相应的反应。在这种方法中,攻击者的长期策略被视为风险的可能性,通过定义效用函数来定量管理风险。文献[10]利用GT法,分析出攻击者可能的攻击方向,提出网络安全临界数作为网络安全风险的评估标准,并与系统的风险偏好进行比较。文献[11]将机器学习引入GT法中,运用该方法制定攻击和防御策略,并采用Q学习算法制定最优策略。
2.2.2 图形模型方法
与非图形模型方法相比,将模型用图形表示的方法相对更为直观,且可对复杂系统内部的逻辑关系进行更细致的表述,并从不同角度对系统进行建模。因此,基于图形模型的方法对CPS的网络安全风险进行分析的研究得较多。基于图形模型方法包括基于故障树的方法、基于攻击树(attack tree,AT)的方法、基于Petri网(Petri net,PN)的方法、基于贝叶斯网络(Bayesian networks,BN)的方法、基于系统理论过程分析(systems-theoretic process analysis,STPA)的方法等。
故障树是一个非循环图,标识可能导致事故或故障的所有事件分支,以及这些事件发生的概率。故障树分析(fault tree analysis,FTA)是一种自顶向下的、演绎的故障分析方法,使用布尔逻辑和异常事件来分析不同期望的系统状态。文献[12]提出了一种基于故障树的网络攻击场景公式,详细列出了导致系统故障的关键攻击路径。然而,传统故障树无法表示序列,即不能表示基本事件之间的任何依赖关系。布尔逻辑驱动马尔可夫过程(Boolean logic driven Markov processes,BDMP)是一种图形建模方法,最初是为安全性和可靠性评估而设计的。BDMP形式上是传统故障树与马尔可夫过程的结合。BDMP可以极大地减少操作应用中的组合问题。与故障树相比,BDMP可对动态特性进行建模,对于诸如核电数字化仪控系统的复杂CPS更加适用。文献[13]基于BDMP对Stuxnet攻击进行建模,并给出了每种可能的攻击序列的量化结果。
AT是对系统的攻击的树形结构图。在该结构图中,攻击的目标是树的根,实现它的不同方法表示为叶节点。AT中,除根节点外的不同节点是攻击的目标。通过自底向上的逻辑过程对AT进行安全评估,并进行网络安全风险分析。考虑到AT不涉及防御者对策和行动,文献[14]引入防御行为作为攻击对策,提出一种利用攻击防御树(ADTree)进行风险评估的方法。该方法不仅可以考虑攻击者和防御者之间的攻击场景并进行迭代对抗,还可以估计所需成本和投资回报。考虑到功能安全与网络安全的相互依赖性,文献[15]将适用于功能安全性(Safety)的蝴蝶结方法与适用于网络安全性(Security)的攻击树方法相结合,提出适用于工业控制系统安全的风险分析方法。该方法首先对风险场景进行建模,然后根据事件发生的可能性设计风险场景的评估方法,从而得到某一危险场景的安全等级。
故障树与AT方法可构建逻辑关系,并给出定量的概率风险分析结果,形式结构简便。该类方法只考虑组件故障,而无法表示组件间的故障及非线性逻辑关系。
PN由圆形节点库所、方形节点变迁、库所与变迁之间的有向弧以及库所中的定态对象令牌组成。PN作为分布式、并行和实时系统建模、分析的重要形式化工具,为CPS建模奠定了坚实的基础。文献[16]提出的广义随机PN模型增加了及时转换与定时转换,运用该模型可定量评价入侵概率。文献[17]利用有限随机Petri网(limited stochastic Petri net,LSPN)方法建立防火墙保护模型,从而得到给定入侵场景下的稳定入侵概率。在LSPN中,每个变迁都有一个初始速率,即在有效条件下某一时刻的平均变迁事件开始数。变迁分为瞬时变迁和延迟变迁。当时间无限大时,系统达到动态平衡,从而得到稳定变迁速率。LSPN用于对具有并发、异步、分布式、并行、不确定性或随机信息的CPS进行建模,通过分析系统结构的动态行为信息,对系统进行评估和改进。PN法可以对各种事件之间的逻辑关系建模,以便对诸如核电数字化仪控系统等CPS进行分析。但所建立的PN可能很大,以致无法生成系统的所有状态。
BN是一种概率图形模型,通过有向无环图表示随机变量及其条件依赖关系。BN有向无环图中的节点表示随机变量,有向边描述随机变量之间的相关关系,相关的程度用条件概率表达。BN将多元图解可视化,适用于描述节点的因果关系及条件相关关系,可用于核电数字化仪控系统的CPS建模,从而进行风险分析。文献[18]提出了一种包含攻击模型、函数模型和事件模型的有针对性的多级BN,通过一次贝叶斯推理可计算出所有潜在威胁时间的发生概率。该模型还可对未知攻击造成的网络安全风险进行分析。文献[19]将BN与PN相结合,首先利用PN建立系统模型,然后利用BN络建立网络攻击模型。该模型可根据攻击行为的变化实时更新攻击概率并定量计算攻击后果,从而实现对网络攻击的风险分析。由于节点的条件概率依赖于历史数据,而网络攻击的历史数据量过少,因此文献[20]提出一种基于模糊概率贝叶斯网络(fuzzy probabilistic Bayesian network,FPBN)的动态风险评估方法,用模糊概率代替条件概率,而后通过近似动态推理算法对网络安全风险进行动态评估。BN可以将相对复杂的联合概率分布分解为一系列相对简单的节点,降低了知识获取的难度和概率推理的复杂性,从而解决了概率推理中联合分布太大的问题。然而,BN只考虑网络层面上的安全性,并未对网络问题所造成的物理层面上的功能安全性进行研究。
STPA是一种基于系统思维的新的危险分析技术,由文献[21]提出,并应用于系统安全(Safety)领域。系统理论事故模型与过程(system theoretic accident model and processes,STAMP)是一种基于系统理论而非可靠性理论的新的事故原因分析模型,将传统因果关系模型扩展到直接相关的故障事件链或组件故障之外。基于STAMP提出的STPA方法,将安全问题视为一个动态控制问题而非故障预防或可靠性问题。而故障是由于系统的不充分控制产生的。STPA方法步骤如下:①定义分析目的;②建立控制结构的系统模型;③通过分析控制结构中的控制动作,研究控制动作与第一步定义的损失之间的关系;④查明不安全控制发生原因。STPA-Sec[22]通过增加网络安全控制约束,将STPA扩展到网络安全领域。STPA-SafeSec[23]将抽象的系统控制层扩展到具体可视化的组件层,并细化了通用分析过程,最终得到损失场景的树形结构文本。基于STPA的方法关注组件间的交互,除了技术问题还可以考虑人的因素,包括个人知识、操作人员网络安全意识、组织网络安全文化及业务流程等。但该方法并未给出定量结果。而在复杂环境中,识别控制器和系统组件之间的所有交互是极为复杂且耗费资源的。
3 适用性分析
目前,针对核电数字化仪控系统网络安全风险分析方法仍然不成熟,还需进行更加深入的研究。本节将针对上述CPS的网络安全风险分析方法,从动态分析、风险评价、数据来源、核安全与网络安全等方面进行适用性分析,为选用核电数字化仪控系统网络安全风险分析方法提供参考建议。
3.1 动态分析
在对CPS进行风险分析时,基于公式的方法无法清晰显示系统内逻辑关系,因此大多采用基于模型的方法。无论是基于非图形模型的方法还是基于图形模型的方法,大多是基于威胁或漏洞对所要研究的系统进行建模。对于核电数字化仪控系统而言,所遭受的攻击很可能是未知的,并且在核电数字化仪控系统的全生命周期中可能需要对系统进行部分升级。因此,若要选择适用于核电数字化仪控系统的网络安全风险分析方法,以动态分析方法为宜。
由于历史数据的稀少及攻击方式的不可预见性,文献[18]采用多级BN对系统进行建模,利用攻击和系统状态预测潜在危险事件的发生,动态生成网络安全风险。该概率方法可以较好地处理未知风险。
在调研的文献中,所建立的模型大多适用于确定系统,在系统发生变化时大多需要对方法进行调整。因此,可针对性地设计一种动态分析方法,以应对系统发生变化后的风险分析。如文献[13]所采用的BDMP方法使用一种特殊类型的链接对系统的动态特性进行建模。当然,还应考虑采用这样一种适应系统变化情况的风险动态分析方法,与在系统发生变化后重新使用静态风险分析方法进行成本问题的分析评估,针对不同系统采用不同的建模方法。
3.2 风险评价
在选择适用的风险分析方法时,一项重要的内容就是如何对风险进行评价。风险评价的意义是将系统内各个风险进行排序,在有限资源的情况下选择较大的风险并实施相应防范措施,从而更大限度地降低系统风险。
对于核电数字化仪控系统而言,评价标准首先考虑系统的可用性。系统可用性通常通过损失情况来表示。文献[6]所采用的平均故障成本法,通过评估每个涉众所承受的损失来评估系统的可用性。文献[7]利用风险矩阵计算风险评分后得到的五个信任级别来表示系统可用性的受损程度。此外,还可以采用一些评价指标对风险进行评价。这些指标可表示系统的风险水平。文献[10]通过由严重程度和可能性两个因素共同决定的网络安全临界数来评价风险。GB/T 36466—2018规定:风险是由安全事件发生的可能性及安全事件造成的损失共同决定的。
3.3 数据来源
在对核电数字化仪控系统网络安全进行风险评估时,需要对一定的数据进行计算,以实现风险评级或给出风险分数。所采用的数据来源包括历史数据、实际数据和专家意见。
采用历史和实际数据通常可进行定量分析,比如在使用概率进行分析的方法中,方法的准确度依赖于概率的质量。而在理想状态下,概率应来自客观的经验数据。核电仪控领域遭受网络攻击数据极少,且复杂系统可遭受攻击的薄弱环节可能存在于系统的方方面面,因此威胁很可能是未知的。这使得该类数据无法对某些风险进行准确分析。
采用专家意见进行风险评级可实现定性分析,但这又使得风险分析结果变得相对主观,且相应方法中缺少专家评定的细节。这会对风险评价的准确性造成影响,导致无法反映风险的真实情况。
因此,对于核电数字化仪控系统而言,将历史和实际数据与专家意见相结合的方法可以在一定程度上克服两种数据来源各自的局限性,有利于对网络攻击所造成的真实风险水平进行分析。
3.4 核安全与网络安全
对于核电数字化仪控系统而言,核安全与网络安全是相互依赖的,无论是突发事故还是恶意攻击,最终都可能对系统资产(包括人员、财产、环境及服务)造成损害。核安全与网络安全的主要区别在于风险的来源,因此需采用不同的风险分析方法及标准。对于核安全而言,考虑由系统故障或某些意外条件的组合而导致的损害,损害情况通常是已知的、可以预测的。对于网络安全而言,考虑由于系统存在薄弱环节,网络攻击对系统的重要资产及操作产生的影响、威胁很可能是未知的、难以预测的。
在选择针对两种安全性的风险分析方法时,需要考虑两种安全性之间的交互关系。文献[24]将其归纳为四种。①条件依赖:满足其中一种安全要求即满足另一种安全要求。②相互强化:其中一种安全要求的实现有助于另一种安全要求的实现。③对抗:同时考虑两种安全性要求时,两种安全要求会发生冲突。④相互独立:两种安全要求没有相关性。
在对核电数字化仪控系统安全性进行风险分析时,为了减轻系统所承受的风险,应该将核安全与网络安全相结合进行风险分析。在此,有两种方法可以考虑。其一是从威胁出发,对风险场景进行建模,然后设计风险场景评估方法。例如,文献[17]将适用于核安全的蝴蝶结方法与适用于网络安全的AT方法相结合,建模风险场景,然后对风险进行评级。其二是从薄弱环节出发,对系统进行建模,以识别不安全的控制行为,对不安全的控制行为进行风险分析,例如基于STPA的方法。其中:前者关注组件故障,建模方法及形式简单,所考虑的威胁通常为已知威胁;后者建模过程相对复杂,建模相对困难,除了组件故障还考虑组件间的相互影响,除了已知威胁还可考虑未知威胁。
4 结论
计算机和网络的核电数字化仪控系统在提高核电厂可靠性、降低使用和维护成本、便于运行操作的同时,也存在遭受网络攻击的风险。因此,需要使用合适的网络安全风险分析方法对其进行风险分析。针对核电数字化仪控系统的网络安全问题,国内外发布了一系列标准和指南,作为有效开展网络安全防护的要求和基础。
本文将网络安全风险分析方法分为基于公式方法和基于模型方法(包括非图形模型和图形模型)这两类进行文献综述,并从动态分析、风险评价、数据来源、核安全与网络安全四个方面对核电数字化仪控系统网络安全风险分析方法进行了适用性分析,为核电数字化仪控系统选用适当的网络安全风险分析方法提供了参考。