摘要

STAMP和STPA方法是复杂系统危险分析的一种先进方法,可有效识别危险的控制活动和增强安全约束。其被应用于核能、交通、航天、军工等工业控制系统设计和事故调查环节。针对物理-信息系统的工业控制综合安全问题(Safety与Security),Friedberg等人扩展了STPA方法,进一步细化和融合物理和信息安全分析过程,提出了控制层与组件层安全约束映射方法,增加了信息安全相关归因要素,形成了一体化的STPA-SafeSec分析体系,并以风岛发电系统安全分析为例,展示了STPA-SafeSec的具体分析过程[1]。本文摘译和整理了Friedberg等人的文献,并就STPA-SafeSec在工业控制安全领域的应用做了展望。

背景

信息技术赋予现代工业新模式、新机会和新能力,工业控制系统不断演化,社会和技术的融合愈发紧密,国家和行业关键基础设施在网络和物理安全方面得到极大地关注。为清晰目标、明确责任和落实资源,网络空间安全和物理安全,或者,IT安全和OT安全,需要在信息-物理系统层面综合考虑,相互进入对方的语境,采用统一的方法工具开展综合安全研究、分析和评估。

国家或行业关键基础设施被攻击,可能造成严重的危害,例如:美国水坝网络攻击、乌克兰电网攻击等事件。安全分析领域考虑到这些新风险要素,提出了一些新的危害分析理论和方法,这些理论和方法也可推广解决一般工控信息安全问题。国家和行业关键基础设施是软件、网络、机电构件和人组成的复杂工业控制系统。危害分析领域专家认为:安全事故或灾难是复杂系统状态的“涌现”;基于部件失效或数值超限概率模型和归因理论,无法全面揭示事故缘由和提出对策;传统FAT和FMEA方法无法应对“软件密集和人参与控制”型复杂系统的安全性分析要求。

为此,美国麻省理工大学航空航天软件工程研究实验室Leveson等人提出了新事故模型(Systems-Theoretic Accident Modeling and Processes,STAMP)以及过程分析方法(Systems-Theoretic Process Analysis ,STPA)[2]。她认为,事故的起因并非是组件故障,而是在系统设计、开发和运行中不恰当控制或安全相关约束不充分的执行所导致的。不同于把事故看作是起始事件引发的连锁事件导致的损失,而是将事故看作由组件间交互而导致违背系统安全约束的结果。

STAMP理论和STPA分析方法广泛应用于系统设计实现和重大灾难分析,例如:美国挑战者飞船发射事故、伊拉克禁飞区误击事故、航天载人舱返回系统、港口运输安全保障和火星探测器着陆失败故障等[3][4][5]。国内学者和技术人员在铁路车辆控制[6]、作战系统设计[7]、航空机械系统人因工程[8]、核反应应急[9]和海洋工程管理等方面都有应用和扩展。除人工控制之外,控制算法的自动执行、系统内外网络攻击和恶意代码等控制源也纳入STAMP理论框架。Friedberg等人提出的STPA-SafeSec,更好地统一了Safety和Security分析方法,建立了面向信息-物理系统(CPS)的安全性分析完整体系[1]。

STAMP和STPA

STAMP和STPA是STPA-SafeSec的基础。二者基于系统理论扩展了传统的因果模型,由关注组件故障转变为关注人、物理系统组件和环境交互导致的损失。当系统组件的行为和互操作违法了安全约束,势必造成损失。问题的关键从如何防止故障转变为如何对系统行为加强安全约束。如图-1左部分所示,系统的控制回路可以抽象为控制者(可能是人或软件算法)与被控过程的控制与反馈的互动关系。不安全问题的根源在于过程实际状态与过程模型的不一致。围绕控制活动,存在四类导致系统损失的基本归因要素:1)发起一个不安全的控制活动;2)未提供防止损失的控制活动;3)提供的控制活动或太早或太晚;4)控制活动持续时间太长或过早停止。控制回路、安全约束和归因要素是STAMP和STPA的核心。

图-1 STPA控制环路与安全分析主要步骤[1] 

STPA分析的一般步骤如图-1右部分所示。整个步骤由内、外两个环路构成,通过循环迭代满足系统动态演进和灵活适应外部变化的需要。首先,系统可抽象为各种约束和控制环路。通过STPA方法,可对这些控制环路单独细化分析,从而发现违反约束的控制,识别由系统缺陷和恶意控制活动导致的灾难场景。再者,以四类归因要素为起始,此方法提供了提取危险场景的办法。而后,控制环路可细化为组件,进一步将约束和危险控制活动细化为安全问题,最终形成移除问题的方案(增加约束或增加新的控制环路)。

STPA-SafeSec

传统信息安全分析主要关注威胁,强调对威胁路径的阻断。这些方法在战术层面是有效的。但是,在战略层面,还需要考虑如何通过控制系统的脆弱性达到安全,而不是一味地规避威胁。基于STAMP理论, STPA-SafeSec综合物理安全和信息安全分析方法使用统一的分析框架和过程,既可以从系统层面识别脆弱性和损失场景,又能进一步增补控制约束和关注威胁。

图-2 基本控制结构图[1]

STPA-SafeSec方法包含了两大核心贡献:

其一,为了确定信息安全约束,分析者有必要将相对抽象的系统控制层扩展为组件层。之前,STPA通过引入基本控制结构图(如图-2所示)[1],帮助分析者识别系统控制回路。在STPA-SafeSec方法中,分析者不但可以通过控制层关注功能性交互、控制概念和算法,还可以通过组件层将系统的具体实现可视化。组件层既包括控制算法或传感器部署的节点,也包括网络节点、物理网络连接和应用层协议。

其二,为适应信息安全分析需要,分析方法对归因要素进行了扩展。尽管STPA提供了基本归因要素图,以此描述导致灾难控制活动的要素,但这些要素无法描述恶意意图的主动行为。为此,在STPA-SafeSec中,对要素进行了扩展,以适于描述针对系统可用性和完整性的网络攻击效果(如表-1,表-2所示)。另外,STPA-SafeSec也提供了控制层与组件层的归因要素映射关系。例如,如果在控制层中,因反馈缺失导致灾难控制活动发生,可用性约束应该设置于传感器与控制器之间的物理通讯网络,同样也要在传感器的反馈机制内设置。通过表2可知或是网络节点、终端节点,或是物理通讯链路被攻击了,从而导致通讯延迟或阻断。

表-1 通用完整性威胁[1]

表-2 通用可用性威胁[1]

同时基于上述两点贡献,STPA-SafeSec方法又扩展和细化了STPA通用分析过程。

外环部分是系统调整和迭代分析过程,具体步骤如图-3所示:在明确系统限制条件后,衍生系统损失、系统灾难和综合安全(Safety与Security)约束;设计系统控制层,标识控制回路和控制者之间的交互。

图-3 STPA-SafeSec 主要分析步骤[1]

内环部分是控制回路分析过程,具体步骤:定义相关控制活动;衍生系统变量,识别离散变量空间;定义灾难控制活动;根据基本归因要素识别安全相关缺陷;根据基本组件图将控制层映射到组件层;细化Safety和Security约束和映射;识别灾难场景;根据信息安全导引分析目标脆弱性和揭示威胁;最终,通过增加安全约束和安全相关控制措施移除灾难控制活动。

违反安全约束会造成系统损失,损失场景构成一棵树。移除策略针对具体的场景树采取措施,增加适当的安全约束,直至场景树的根节点被移除。组件层和控制层之间存在的关联关系,也为移除脆弱性提供了更多选择。例如,当组件层存在了信息安全脆弱节点,但因业务或设备陈旧等原因无法替换或增补安全措施,就可以在控制层增加安全约束,保证危险控制活动不被执行。

应用案例

风电风岛发电并网系统是典型的ICS系统(如下图-4所示)[1]。它的安全性可以按照STPA-SafeSec方法,遵循图-3的步骤进行分析。

图-4 风岛发电系统结构图[1]

首先,通过领域专家的归纳,系统损失主要包括:人身伤害(L1),电力设备损坏(L2),用户设备损坏(L3),供电中断(L4)。因此,系统危险控制行为定位为:失协合闸(H-1),超限运行(H-2),违反质量要求(H-3),同步失能(H-4),本地失能(H-5)。其中,H3可细分为电压(H-3-1)和频率(H-3-2)。危险与系统损失之间的关系如表-3所示。

表-3 缩写含义及危险源标识表[1]

以分机转速控制器(Speed Controller)为例,构建速度控制结构图,如下图-5所示。其中,圆圈表示设备节点,三角表示网络连接,白色矩形表示系统变量和状态,灰色矩形表示控制算法。

图-5 风岛发电速度控制结构图[1]

从图上可以看到,速度控制器通过传感器-主电网相位测量单元(Host Grid PMU)、本地电网相位测量单元(Local PMU),分别监测主网和本地微电网的电压、频率、相位角等运行参数,设定原动力控制器(Prime Mover Controller)的参数,进而控制发电机组(Generator Set)的工作状态;在判定主电网和本地电网运行参数同步后,控制断路器(Circuit Breaker Controller)合闸并网。系统运行参数构成状态向量,而某些控制行为(例如,断路器合闸)在特定系统状态下会产生系统危害。这样,危险控制行为(Hazard Control Action,HC)与系统危害(Hazard,H)、系统状态变量(System Variable)、基本归因(Generic Causal Factor)要素之间存在逻辑关系。

图6 控制层节点扩展归因要素之间的关系[1]

例如,当本地电网电压、频率或相角与主电网参数偏差超限时,速度控制器依然通知断路器执行安全合闸指令,无论这一指令是否早到或迟到,都会引起人员伤害(H-1)和用户端设备损坏(H-3)结果。系统安全约束和危害与控制层逻辑单位的映射关系如图-6所示。其中,左轴部分表示控制层节点(CTRL-N-x)和连接逻辑(CTRL-C-x)单元;上部分别表示完整性(CSTR-I-x)、可用性(CSTR-A-x)和系统危害(H-x)等约束。

图-7 风岛系统组件层映射结构图[1]

相关约束可以通过控制层到组件层的映射,在组件层的节点、连接逻辑单元之间进一步细化。例如,根据映射关系(如图-7所示),控制层的本地电网PMU就扩展为构件层中的本地PMU设备(N-5)、GPS天线(N-6)和与GPS卫星通讯的链路(C-5)。这些组件层逻辑单元因为违反安全约束(完整性CSTR-I-x、可用性CSTR-A-x和可靠性)会造成一系列危害(H-1,2,3,4,5),如表-4所示。针对GSP的欺骗攻击已经比较普遍。这样的攻击会严重影响本地电参数的测量,最终导致断路器闭合失协。速度控制器、WAN等节点的安全约束映射和细化也可按此步骤展开。

表-4 完整性、可用性和可靠性约束与组件节点之间的危害源对应关系[1]

为将相关成果串联起来,这里定义了危害场景(Hazard Scenarios)概念,并用文本形式加以表达,以利其他专家介入分析和后续处理。危害场景是具体案例的文本表示,是由系统缺陷引发的危险控制行为,这些行为导致系统面临危害和损失。为便于表达和分析,危害场景按照层次化结构建立,形成文本化的树形结构,如图-8所示。其实质是将系统缺陷和被违反的约束关联起来。

图-8 危害场景文字描述样例[1]

为了移除系统危害,可以增加新的控制设备,或者进一步完善协议的安全性, 并根据系统特点选择不同的策略。

应用展望

STPA-SafeSec继承了STPA在系统理论、归因模型、安全约束和危害控制活动分析等方面的技术成果,面向信息-物理系统细化了分析流程框架,扩展了综合物理安全和信息安全需求的归因要素,增加了控制层到基本组件层的映射机制。STPA-SafeSec是工业控制系统安全性分析的一种重要工具,在电力、石化、交通和制造等领域的关键设施设备的论证设计和建设验收等方面,STPA-SafeSec可支撑工业控制系统全生命周期,在与多专业模型和自动化工具集成后[10][11],将发挥更大的综合安全分析优势。

文献参考

[1]      Friedberg I, Mclaughlin K, Smith P, et al. STPA-SafeSec: Safety and security analysis for cyber-physical systems[J]. Journal of Information Security & Applications, 2016.

[2]      Leveson N. A new accident model for engineering safer systems[J]. Safety Science, 2004, 42(4):237-270.

[3]      Young W, Leveson N. Systems thinking for safety and security[C]// Computer Security Applications Conference. ACM, 2013:1-8.

[4]      Ishimatsu T, Leveson N G, Thomas J P, et al. Hazard Analysis of Complex Spacecraft Using Systems-Theoretic Process Analysis[J]. Journal of Spacecraft & Rockets, 2014, 51(2):509-522.

[5]      Nakao H, Katahira M, Miyamoto Y, et al. Safety Guided Design of Crew Return Vehicle in Concept Design Phase Using STAMP/STPA[J]. 2012, 699:65.

[6]      Fan Y, Li Z, Pei J, et al. Applying systems thinking approach to accident analysis in China: Case study of “7.23” Yong-Tai-Wen High-Speed train accident[J]. Safety Science, 2015, 76:190-201.

[7]      李娟, 汪厚祥, 林海涛. 基于STAMP的舰载作战系统软件安全研究[J]. 舰船科学技术, 2010, 32(9):63-66.

[8]      胡剑波, 郑磊. 综合火/飞/推控制系统复杂任务的STAMP建模和STPA分析[J]. 航空工程进展, 2016, 7(3):309-315.

[9]      阳小华, 刘杰, 刘朝晖,等. STAMP模型及其在核电厂DCS安全分析中的应用展望[J]. 核安全, 2013, 12(3):42-47.

[10]  Abdulkhaleq A, Wagner S. XSTAMPP: An eXtensible STAMP Platform As Tool Support for Safety Engineering[C]// Stamp Conference. 2015.

[11]  Thomas J. Extending and automating a Systems-Theoretic hazard analysis for requirements generation and analysis.[J]. Office of Scientific & Technical Information Technical Reports, 2012.

作者:叶小列  丁宇征  中国船舶工业综合技术经济研究院

声明:本文来自中国保密协会科学技术分会,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。