制造系统的安全(safety)与安全(security)性分析:使用形式验证和攻击模拟

制造系统的安全(safety)与安全(security)性分析:使用形式验证和攻击模拟

Safety & Security Analysis of a Manufacturing System using Formal Verification and Attack-Simulation

申明
版权归原文作者及出版单位所有,如有侵权请联系删除。

摘要

确保制造系统可靠性的关键在于确保替代人工控制的决策和控制机制的可信性即系统在保持安全性(safety)的同时,要对功能故障、不可预测的变化和网络安全(cyber-security)威胁具有韧性。我们提出了一种构建时正确(correct-by-construction)的方法,通过使用基于系统过程理论的过程分析(STPA)验证和攻击模拟相结合的方式来识别和分析确保制造系统安全性(safety)和安全性(security)的基本要求。这种方法利用形式建模和分析来消除需求中的模糊性,并指定在系统设计中应满足的安全性(safety)属性。潜在的安全(safety)隐患通过基于STPA的模型检查进行识别,可能的网络安全(security)威胁则通过攻击模拟进行诊断。为抑制隐患和威胁,生成了额外的安全性(safety)和安全性(security)约束,以相应地改善系统设计。我们的方法在一个自主装配线系统案例研究中进行了演示。

关键词:安全性(safety),安全性(security),形式化验证,攻击模拟,STPA

I. 引言

制造组织已经适应了工业4.0的范式,例如制造过程自动化和数字化,以提高制造效率。主要的推动因素是新的技术应用,例如网络信息系统中的生产线利用计算机系统(嵌入式系统)自动操作,这些系统互连组件并使得在软件中实现新功能成为可能。这些系统的一个关键风险是替代人工控制的决策和控制机制的可信性。为了值得信赖,系统在保持安全性(safety)的同时,需要对不可预测的变化、操作故障和网络安全威胁(cyber-security)具有韧性。

由于设计中的信息物理系统的复杂性增加,传统的安全(safety)评估技术,如故障模式和影响分析(FMEA)[1]和故障树分析(FTA)[2],被用来确保产品的安全性(safeness)[3]。一个主要的障碍是探索可能出现的所有场景的限制,这些场景可能由组件的行为与软件产品和人类互动而产生。在这种背景下,系统理论过程分析(STPA)已经发展并成为改善现代复杂系统安全性(safety)的方法 [4]。一些研究[5],[6]已经证明了STPA在考虑不同组件之间的交互时相对于传统危害分析技术的优势

然而,STPA尚未被认证机构广泛推荐,因为在分析过程中既没有直接涉及形式验证[7],也没有涉及模拟技术

采用形式验证(如模型检查)和模拟技术对STPA进行适配需要专门的方法,通过证明CPS的质量属性(安全性safety和网络安全security)的正确性,以及在设计中模拟可能的威胁和攻击,可以增加更大的保证。作为解决方案的手段,我们提出了一个安全(safety)和安全(security)性分析框架,结合了STPA、使用UPPAAL进行模型检查,威胁建模以及使用MAL进行网络攻击模拟。具体来说,我们演示了这种综合分析技术如何识别组装线系统案例研究的预期危险、脆弱性、与安全(safety)和安全(security)性相关的关键约束。

本文结构如下。第2节介绍了我们的案例研究,组装线应用。第3节说明了我们的方法及其工作流程。第4和5节解释了安全(safety)性和安全(security)性分析。第6节介绍了相关工作。第7节总结了本文并讨论了未来的工作。

II. 案例研究

我们在制造业仿真环境中进行了案例研究,应用了我们的分析框架,这是在南丹麦大学开发的自动装配线系统。该系统模拟了一个机器人分类系统,安全性(safety)至关重要。系统的总体目标是按照物品的特征及系统记录,及时对混合物品进行分类,并分配适当的存储位置。在我们的实验中,系统主要通过物品的颜色进行分类。系统包括以下设备:起重机(机器人夹持器)、转盘和摄像头。转盘(桌 turntable)上有一系列槽,人类将不同的物品装到其中;起重机从桌子上拾取物品并将其移动到相应的存储容器中;摄像头在物品在桌子上时扫描物品的颜色。颜色用于模拟物品的特征,起重机使用这些信息决定将物品放入哪个存储容器。

系统的概述(组织安排)如图1所示,
在这里插入图片描述

图1:系统概述和其控制流


说明了系统如何通过MQTT代理(broker)与不同的物理设备通信,以及如何通过软件远程控制(表示为控制流)。有关系统及其组件的详细信息,请参阅[10]。起重机在其可以移动到的位置上定义了位置,例如转盘和存储容器的位置。转盘(table)需要预定义数量的槽和区域,以指定物品的物理位置和其他设备的位置。摄像头定义了应扫描的颜色。为了在设备和主控制器之间进行通信,设置了一个专用网络(ESP32微控制器)及其配置(符合2.4 GHz频段上的Wi-Fi标准IEEE 802.11b/g/n)。系统内部的通信通过MQTT完成,这是一种通过主题进行通信的发布-订阅系统。

III. 方法流程

图2说明了所提出的方法,该方法使用基于STPA的模型检验、威胁建模和攻击模拟,以获取与安全(safety)和安全(security)相关的约束,促进系统设计的形式化验证和细化(refinement),提高系统的可信度。

在这里插入图片描述

图2:方法流程路线图


我们的方法始于安全分析(safety analysis)(步骤1和步骤2),然后在安全(safety)设计的基础上进行安全分析(security analysis)(步骤3)。

初步设计和分析阶段(步骤1):在步骤1中,开发了一种领域特定语言DSL)[10],以便:

  • (1) 基于轻量级STPA配置和编程系统;
  • (2) 自动生成系统的形式模型(UPPAAL文件)。

然后对生成的模型进行形式验证。 验证的结果/反馈有助于确定不安全(unsafe)的控制操作,提取进一步的安全(safety)约束并修改系统设计。

我们的方法是一个迭代的分析过程,从第1步开始,不断应用STPA和形式建模与验证技术在第2步中。

探索性分析和修改(步骤2):第1步的输出产生了经过精细化的操作行为列表、修改后的要求、可能的危害/事故和不安全的控制操作。基于输出,第2步包括根据STPA方法识别额外的安全(safety)约束(源自不安全unsafe的控制操作)并通过遵循STPA方法对设计进行诊断修改的过程。

必须同时进行模型检查,以确保修改后的设计满足STPA的安全约束。在系统正常运行期间,使用系统危害更新UPPAAL模型,并执行与危害(例如紧急操作)耦合的设计修改。再次根据安全(safety)约束对更新后的UPPAAL模型进行形式验证。

在第3步中,我们进行威胁建模并进行可能的攻击模拟,以分析设计下的安全(security)属性。根据系统描述、安全(safety)约束和第1步和第2步中确定的设计修改构建威胁模型。发现可能的攻击并提供针对这些攻击的缓解措施。安全(safety)和安全(security)分析的进一步细节将在以下各节中描述。

IV. safety 安全分析

A. 基于STPA的系统设计与分析

在基于STPA的系统设计和分析过程中考虑了两个实际因素

  • (1) 针对系统要求进行初步设计和分析,例如功能属性、操作、系统元素、元素的控制动作以及参数配置。基于STPA和模型检查提供的反馈,识别潜在的系统危险或事故以及不安全(unsafe)的控制动作;

  • (2) 对初步设计及其修改进行探索性分析。根据对危险和不安全(unsafe)控制动作的分析,推导出安全(safe)的控制动作和约束。然后将这些安全(safety)约束包含在设计中,以避免导致事故的不希望的或计划外的事件,并相应地修改初步设计。然后再次进行模型检查,以证明设计修改的正确性,并确保在更新的设计中满足安全约束。

对于步骤1,列出了初步系统设计的核心要求如下。基于这些要求,总共列举了34个属性,并使用UPPAAL模型检查器进行正式规定和验证。表I中展示了选择性和代表性的验证结果。

表1

表1:要验证需求属性和模型正确性

 

  • R1:转盘以恒定速度旋转,并在给定的时间范围内将插槽旋转到正确位置,摄像头扫描项目;

  • R2:起重机旋转,从转盘上拾取项目,将项目运送到分类容器,最后将项目放入容器中;

  • R3:摄像头扫描不同项目的颜色,并通过MQTT将颜色发布给主控制器;

  • R4:在紧急情况下,转盘和起重机必须停止运行,不能在没有完全重启的情况下恢复操作;

两个属性(在R1和R2中)未满足(在表I中标记为Invalid),UPPAAL工具生成了相应的反例/错误轨迹(作为反馈)。通过分析错误轨迹,可以确定违规的原因,例如,在初步设计中缺乏加载项目的时间约束,并且这将向设计师标记一个缺陷,然后根据要求或设计配置进行更改。然后通过这些修正对自动生成的UPPAAL模型进行了细化。进一步的详细信息将在以下章节中解释。

除了初步设计及其验证之外,还基于STPA考虑了事故,如对人元素的身体伤害和对设备的结构损坏。例如,可能导致此类事故的潜在危害(hazard)有

  • (H1) 在加载项目时,转盘旋转;

  • (H2) 在系统操作员加载项目时,起重机移动。通过添加人的行为,如系统与系统操作员之间的交互,进一步定义了主要参与者或元素和动作。

B. 在UPPAAL中进行形式建模

考虑了系统的两种形式建模

  • 步骤1. 自动翻译。使用我们的DSL [10]自动生成了普通操作模式下初步设计的正式模型;

  • 步骤2. 手动细化=。使用STPA识别的安全(safety)约束(基于潜在危害/事故和不安全unsafe控制动作的分析以及模型检查的结果)手动细化了从步骤1生成的模型。

本节主要关注步骤1,而步骤2将在第IV-C节中进一步解释。

UPPAAL模型生成:基于DSL中定义的配置和规则,可以自动生成适用于模型检查的UPPAAL模型。生成了两种类型的UPPAAL文件:

  1. 系统模型时钟自动机(TA)[8]模板(.xml)

  2. 需求查询(.q)。

系统模型包含14个TA模板,保留了主控制器、转盘、起重机、摄像头和紧急按钮的语义。关于系统TA.xml生成,请参阅[10]。在DSL配置中指定的每个组件都会生成一个或多个UPPAAL TA模板。主控制器在“图8”中以图示形式呈现,其他模板在附录I和II [11]以及技术报告[10]中展示。

一个起重机由两个TA模板表示:

  • (1) 起重机模板反映了起重机臂的位置以及磁铁是升起还是降下

  • (2)起重机磁铁模板显示了磁铁的状态

一个转盘被转化为以下TA模板:

  • (1) Disk模板描述了转盘当前的位置。它表明项目已经被添加或从正确的插槽中移除;

  • (2) DiskSlot(表示转盘上的插槽)跟踪插槽是否有项目以及项目的颜色(如果有的话);

  • (3) 四个模板Disk_{Empty,Complete,Free,InProgress}由主控制器用于识别处于指定状态的插槽

  • (4) 三个模板DiskSlot_{Complete,Free,InProgress}切换磁盘插槽的指定状态

一个摄像头表示为一个单一的TA模板,当被要求扫描时选择一种随机颜色

最后,紧急按钮TA模板表示在紧急情况下停止操作的动作

如[11]所示,紧急按钮TA模板包括两个位置(Running,Stopped)和从Running到Stopped的转换,它表示仅突然停止,而不指定潜在的不安全控制动作或它们的处理方式。这个欠规定的模型将在步骤2中进一步细化,细化过程将在以下章节中解释。此外,一组功能要求或属性被自动转换为UPPAAL查询。通过向DSL添加动态UPPAAL查询,需要通过定义一组附加的语法规则来扩展原始语法。有关规则的详细信息,请参阅[10]。表I中显示了一些自动生成的UPPAAL查询的选择。

C. 不安全(unsafe)的控制动作和设计修改

如第2步所述(参见IV-B节),根据STPA,不安全(unsafe)的控制动作与四种类型的动作相关联

  • 未给出安全(safety)所需的控制命令,

  • 给出了不安全(unsafe)的命令,

  • 可能安全(safe)的命令给出得太早或太晚

  • 控制动作停止得太早或施加得太长

例如,在第1步期间识别的一组不安全(unsafe)的控制动作(UCA)被提出。然后,对每个不安全(unsafe)的控制动作进行分析,为每个提出安全(safety)约束(SC)和设计更改(DC)。以下是所选的一些UCA、SC和DC:

UCA1. 在装载物品时,转盘旋转:UCA 1源于主控制器的错误过程模型,该模型假设在表格空间未被占用时允许转盘旋转。相应的安全约束和设计更改是

  • SC1:主控制器应能够检测到并停止转盘旋转,以防系统操作员(人类)装载物品;

  • DC1:系统操作员应具备紧急按钮,以停止转盘运动;

  • DC2:在工作区域安装传感器或额外摄像头,以检测系统操作员与转盘的物理交互或对转盘运动的任何可能中断。

UCA2. 在系统操作员装载物品时,起重机可能移动,要么是因为物品扫描过程发生得比应该早,要么是因为系统操作员推迟了加载物品:UCA 2源于主控制器的错误过程模型,该模型认为系统操作员完成加载时,实际上并未完成。相应的安全约束和设计更改是

  • SC2:在系统操作员放置物品在桌子上或者系统操作员的任何动作被识别时,起重机不应移动;

  • DC1:系统操作员应具备紧急按钮,以停止起重机运动;

  • DC2:在工作区域安装传感器或额外摄像头,以检测系统操作员与转盘的物理交互或对起重机运动的任何可能中断;

  • DC3:在主控制器中配置物品扫描时间限制或系统操作员的动作检测。

所提出的安全约束导致了如上所示的设计修改。设计更改DC1、DC2和DC3需要定义在转盘或起重机运动被中断后应该采取的措施。为此,引入了额外的操作,并且由系统操作员发起的紧急停止和工作区域传感器或摄像头的额外安装进行特征化。在我们的实验设置中,额外的传感器被添加到转盘和起重机上,以检测系统操作员的运动紧急模式是由以下事件之一触发的:

  • E1:系统操作员在系统运行时激活紧急按钮。与紧急有关的考虑了四种可能的操作行为:(1)在真正紧急情况下,系统操作员可能按下紧急按钮,也可能不按下;(2)在非紧急情况(假紧急)下,系统操作员仍然可能按下紧急按钮,也可能不按下;

  • E2:主控制器释放对转盘和起重机的错误命令的值;

  • E3:工作区传感器在转盘和起重机移动时被激活(例如,检测到中断);

  • E4:紧急处理包括以下新的控制动作:(1)主控制器激活关闭模式,切断电源,并向系统操作员发送紧急警报;(2)主控制器与起重机和表格的传感器和执行器保持通信;(3)当不安全动作触发紧急程序且关闭模式打开时,系统必须在系统操作员重新启动系统之前不得恢复;(4)当发生假紧急情况时,系统应在规定的时间范围内自动恢复。

通过第1步生成的TA模型(见附录I和II [11])通过集成上述设计更改和识别的控制或操作动作进行进一步的改进。在改进过程中,新的关键要求和设计修改可以以不同形式添加到TA模型中,例如引入新的不变量、变量、事件和新的事件保护。例如,附录I [11]中显示的紧急TA通过包括(不)安全控制动作、紧急事件的生成及其处理进行修改。

图3中显示的更新后的TA展示了通过STPA和模型检查的组合确定的关键要求的设计修改如何被正式建模。
图3

图3:更新后的紧急时钟自动机


四个事件,如{

  • (真紧急,按下紧急按钮),
  • (真紧急,不按下紧急按钮),
  • (假紧急,按下紧急按钮),
  • (假紧急,不按下紧急按钮)
    }

被添加。当真紧急情况发生时,无论系统操作员是否按下紧急停止按钮,系统都应停止(自动关闭或手动停止),并在重新启动前不得恢复。当发生假紧急情况时,系统可以在一定的时间范围内恢复其操作或继续运行,直到按下紧急按钮。系统的其他组件TA也以类似的方式进行了改进,并通过同步通道进行通信。

D. 安全系统规范与验证

对修改后的设计模型,包括更新的紧急事件和在先前章节中定义的安全约束(在更新的模型中),进行了形式上的验证,即确保不安全的控制动作不违反关于所提出的设计更改的安全约束安全约束是系统主控制器对不安全控制动作设置的限制。对约束的任何违反都会导致系统不安全。因此,任何观察到的不足都意味着需要适当修改系统设计。

考虑到系统环境的动态行为,第2步中的设计模型基于概率选择替换了多个启用转换之间的非确定性选择。同样,对时间延迟的非确定性选择进行了细化,并通过概率分布捕获了紧急发电机/人员的不可预测行为(在无界延迟情况下,分别采用均匀分布或指数分布)。

最后,第2步中引入的系统设计更改被正式建模为随机时钟自动机(Stochastic Timed Automata,STA),它基于对 UPPAAL 经典模型检查版本中使用的时钟自动机(TA)形式主义的概率解释和扩展。然后使用 UPPAAL-SMC [12] 对 STA 模型进行了针对安全约束的验证,结果列在表2中。在我们的验证设置中,通过进行3000次模拟运行的假设检验,采用95%的阈值,即在给定的随机模型中满足安全约束的概率大于或等于95%。

V. security 安全分析

A. Meta Attack Language 和 icsLang

设计安全可靠的系统具有挑战性,攻击者不断寻找机会来威胁系统。组织可以采取不同的对策来应对这一挑战。在这里,我们利用威胁建模来分析正在设计中的系统的安全(securitry)性质。更具体地说,我们依赖于 Meta Attack Language(MAL)作为执行攻击模拟的工具。关于 MAL 的详细概述,请参考 [9]。

为了对案例研究进行攻击模拟,我们依赖于 icsLang,它是 powerLang [13] 的演变并建立在coreLang [14] 的基础上,因此涵盖了所有其概念。由于篇幅有限,我们仅提到了一些选定的 icsLang 概念,有关 coreLang 的完整描述,请参考 [14]。

icsLang 分为四个不同的类别,表示哪些资产相互交互。计算类别内的资产形成与 coreLang 概念的主要链接。因此,icsSystem 添加了工业控制系统(ICS)特定的攻击向量到 coreLang 的系统中,代表运行应用程序的资源。同样,icsApplication 添加了 ICS 攻击向量到 Application。在 ICS 领域更具体的概念包括 Sensor、Actuator 和 SynchronizationModule。Sensor 通过信号生成数据,但可能没有任何关联的软件或主机,即它是自主运行的。Actuator 消耗信号并与物理世界产生交互。最后SynchronizationModule 代表任何提供同步功能的组件,例如 GPS 接收器或基于网络的同步模块。

为了相互交互,前述资产之间交换与之相关的数据资产(即 IcsData、IcsControlData)。如果介质不重要,icsLang 还提供了 Signal 和 ControlSignal 的附加概念。最后,ICS 的一个特性是对物理世界的控制,通过监测给定的输入参数来做出决策。因此,icsLang 提供了不同的资产来详细说明这个方面,比如 Controllers、ControlServer 或 EngineeringWorkstation。除了控制功能外,ICS 还提供不同的接口,例如 Human-Machine Interface(HMI),以弥合人与系统之间的差距,以及操作技术和信息技术之间的差距。

B. 对案例研究建模

为了进行攻击模拟,我们需要对整个系统进行威胁建模(图1)。因此,我们使用 icsLang(第V-A部分)创建一个表示,用于进行安全性分析(图5)。

图5

图5:威胁建模


[11]中提供了放大的图示。

相应威胁模型的创建是直接的。但是,我们在设计过程中做出了几个设计决策,我们将在下文讨论。首先,我们将所有硬件部分都建模为 icsSystem,因为它们彼此独立并实际上托管了不同的软件组件以及传感器和执行器。不同 Application 之间的通信被建模为 ConnectionRule,描述了信息流是单向还是双向的。

此外,我们确定 MQTT 最好表示为 ControlServer,因为相应的消息将转发给不同的 Controller。然后,Controller 发送 ControlSignal 到相应的 Actuator,后者分别从 Sensor 接收 ControlSignal。
有了这个威胁模型,我们现在能够进行安全性分析。我们关注攻击者在物理上访问我们的 RASPBERRYPI 时可能的攻击向量。作为攻击者的可能目标,我们确定他们可能尝试读取 LOGDATA 并操纵 ESP32CRANE 的 LIGHTCURTAIN。

在 securiCAD [15] 中进行的自动化分析揭示了攻击者可以执行两个攻击路径以达到其目标的情况(参见图6和图7)。
图6

图6:读取登陆数据的攻击路径

图7

图7:操纵光幕的攻击路径


对这些攻击路径的分析揭示了应在两种情况下成功防御攻击者的两个缓解措施:首先,应使用经过身份验证的固件更新 RASPBERRYPI 的固件。其次,应验证已部署模块的固件。在第二种情况下,操纵 LIGHTCURTAIN,还存在一种可行的防御方式,即ESP32CRANE 上设置物理锁,以阻止攻击者能够操纵 CONTROLSIGNAL,因此他们将无法操纵 LIGHTCURTAIN。

VI. 相关工作

对基于安全(safety)工程的 STPA 和形式方法的集成工作曾在 [16]–[19] 中进行研究,但这些工作仅涉及系统功能的离散执行方面,没有涉及连续的实时行为。尽管这些方法提供了形式建模,但与我们的工作相比,它们在设计的早期阶段缺乏行为模型的自动生成,这些模型是手工构建并馈送给模型检查器的。较早的研究 [20],[21] 针对基于建筑模型的能源感知实时制造模型的分析,未考虑 STPA 或安全约束的初步分析。与我们当前的工作相比,我们的方法基于STPA和模型检查的探索性分析和修改,同时考虑了通过设计细化引入的新的安全约束。

以上提到的工作都没有考虑将安全(safety)和安全(security)分析结合在一起。Huang 等人 [22] 引入了一种安全(safety)和安全(security)结合的正式验证框架,用于通信 CPS 的时钟约束。这样一个框架的挑战是由于在分析过程中对安全(safety)和安全(security)属性的有限发现而导致的受限制的约束建模和验证。虽然 Dghaym 等人 [23] 提出了一种基于 STPA 的方法和一种形式方法(Event-B)来生成安全和安全约束,但在考虑安全约束的动态随机行为的形式规范或验证方面并没有考虑。Dakwat 等人 [24] 提出使用 UPPAAL 来补充 STPA 以进行实时行为分析,然而,它并不支持在执行过程中具有不同概率速率的定时索引随机变量的族。据我所知,我们的方法是第一个利用定性和定量分析的方法,基于 STPA 和(统计)模型检查的组合,以检测危险并确保自主组装线的安全性(safety)以及改善系统设计。

MAL 已经在不同的用例中用于分析 CPS 的安全(security)性质,主要与能源领域相关。因此,MAL 语言已经被开发用于分析电源领域 [13],[25]–[27] 或专门用于变电站 [28]。还进行了与天然气管道 [29] 和车辆 [30] 有关的其他工作。然而,它们都共同缺乏对机器人系统的关注,并且根本不考虑安全(safety)方面。与我们的工作最接近的是作者 [31],他们提出了一种基于模型驱动软件工程的安全和安全分析的自动化方法。因此,用于生成代码以驾驶 CPS 的模型也用于执行自动化的安全(safety)和安全(security)分析。然后,结果被回放给开发人员,以便更好地做出与这两个属性相关的设计决策。

VII. 结论

我们提出了一种基于 STPA 的形式验证和攻击模拟相结合的制造系统的功能安全(safety)和网络安全(security)分析框架:从初步设计开始,其中初始形式模型(UPPAAL 模型)是使用我们的 DSL 自动生成的。 STPA-based 形式验证不断应用于初步设计,作为识别和分析可能导致潜在危险的不安全控制操作的手段。

不安全的控制操作进一步用于识别导致初步设计修改的安全约束。然后,在 UPPAAL 模型的修订中正式验证这些安全约束,以证明设计修改的正确性和一致性。此外,我们通过使用UPPAAL-SMC ,利用统计/统计分析技术克服了 STPA 通常是定性且缺乏定量分析的局限。实际上,我们进行了威胁建模并进行了可能的攻击模拟,以分析设计下的安全性质。威胁模型基于安全(safety)约束和在安全(safety)分析期间识别的设计修改构建。发现了可能的攻击,并提供了对攻击的缓解措施。我们的方法的适用性在一个组装产品线应用中得到了演示。

我们进一步讨论了一些未解决的问题:(1)尽管使用我们的 DSL 自动生成了初步设计模型及其规范,例如标准的 UPPAAL TA 和相应的查询,但基于 Stochastic Timed-Automata(STA)指定的随机行为模型和具有概率参数的概率查询是手动构建的,基于对常规 UPPAAL 模型的修改。作为未来的工作,我们的研究目标是扩展我们的 DSL 以支持 STA 模型和具有概率参数的扩展 UPPAAL 查询的自动生成;(2)作为正在进行的工作 [31],侧重于工业机器人和 CPS 领域的自动安全(safety)和安全(security)交织的形式评估,我们自动执行从 MAL [9] 模型到形式模型的转换,并考虑 MAL DSL 的新扩展。因此,我们不仅自动执行攻击模拟,还对已知攻击的网络安全属性进行形式验证,并对减轻策略进行正式证明。将这些方面包含到我们的框架和工具中对于使工程师更容易接触形式验证技术是至关重要的。

参考文献

[1] “IEC 61882: Analysis techniques for system reliability - Procedures for
FMEA,” 1985.
[2] “Fault tree handbook with aerospace applications, NASA,” 2002.
[3] M. Stringfellow, N. Leveson, and B. Owens., “Safety-driven design for
software-intensive aerospace and automotive systems,” Proceedings of the
IEEE, vol. 98, no. 4, pp. 512–525, 2010.
[4] C. Lahoz, “Systematic review on stpa final results,” in In: STAMP
Workshop: MIT Partnership for a Systems Approach to Safety (PSAS).
Massachusetts, 2016.
[5] C. Bensaci, Y. Zennir, and D. Pomorski, “A comparative study of stpa
hierarchical structures in risk analysis: The case of a complex multi-robot mobile system,” in The 2nd European Conference on Electrical
Engineering and Computer Science, 2018, pp. 400–405.
[6] Z. Zhou, Y. Zi, J. Chen, and T. An, “Hazard analysis for escalator
emergency braking system via system safety analysis method based on
stamp,” Applied Sciences, vol. 9, no. 21, 2019. [Online]. Available:
https://www.mdpi.com/2076-3417/9/21/4530
[7] E. Harkleroad, A. Vela, and J. Kuchar, “Review of systems-theoretic
process analysis (stpa) method and results to support nextgen concept
assessment and validation,” Massachusetts Institute of Technology, Washington, DC, MIT Lincoln Laboratory, 2013.
[8] R. Alur and D. L. Dill, “A theory of timed automata,” Theoretical
Computer Science, vol. 126, no. 2, pp. 183–235, 1994.
[9] P. Johnson, R. Lagerstrom, and M. Ekstedt, “A meta language for threat ¨
modeling and attack simulations,” in 13th ARES Conference, 2018, pp.
1–8.
[10] “Reconfigurable storing, scanning and moving installation,” Tech. Rep.,
2023. [Online]. Available: https://github.com/kangeu/Repo
[11] “Figures reference,” Tech. Rep., 2023. [Online]. Available: https:
//github.com/kangeu/Repo/blob/main/Figures%20Reference.pdf
[12] A. David, K. G. Larsen, M. MikuCionis, and D. B. Poulsen, “UPPAAL ˇ
SMC tutorial,” International Journal of Software Tools Technololy Transfer, vol. 17, pp. 397–415, 2015.
[13] S. Hacks, S. Katsikeas, E. Ling, R. Lagerstrom, and M. Ekstedt, “pow- ¨
erlang: a probabilistic attack simulation language for the power domain,”
En. Inf., vol. 3, no. 1, pp. 1–17, 2020.
[14] S. Katsikeas, S. Hacks, P. Johnson, M. Ekstedt, R. Lagerstrom, J. Ja- ¨
cobsson, M. Wallstedt, and P. Eliasson, “An attack simulation language ¨
for the IT domain,” in GraMSec, H. Eades III and O. Gadyatskaya, Eds.
Springer, 2020, pp. 67–86.
[15] M. Ekstedt, P. Johnson, R. Lagerstrom, D. Gorton, J. Nydr ¨ en, and ´
K. Shahzad, “securiCAD by foreseeti: A CAD tool for enterprise cyber
security management,” in 19th International EDOC Workshop. IEEE,
2015, pp. 152–155.
[16] J. Thomas and N. Leveson, “Generating formal model-based safety
requirements for complex, software-and human-intensive systems,” in The
21st Safety-Critical Systems Symposium, Bristol, UK. Safety-Critical
Systems Club, 2013.
[17] A. Abdulkhaleq, S. Wagner, and N. Leveson, “A comprehensive safety
engineering approach for software-intensive systems based on stpa,”
Procedia Engineering, vol. 128, pp. 2–11, 2015, proceedings of the 3rd
European STAMP Workshop.
[18] A. Hata, K. Araki, S. Kusakabe, Y. Omori, and H. Lin, “Using hazard
analysis stamp/stpa in developing model-oriented formal specification
toward reliable cloud service,” in International Conference on Platform
Technology and Service, 2015, pp. 23–24.
[19] J. Colley and M. Butler, “A formal, systematic approach to stpa using
event-b refinement and proof,” in 21th Safety Critical System Symposium,
2013. [Online]. Available: https://eprints.soton.ac.uk/352155/
[20] E. Kang, M. Brix, D. Szenczi, A. Kov ´ ats, R. Formosa, C. W. Melsen, ´
and M. A. Nørgard, “Model-driven software development approach: ˚
Ensuring safety of an iot-based plant health monitoring system,” in 6th
International Conference on System Reliability and Safety. IEEE, 2022,
pp. 251–258.
[21] E. Kang and P. Schobbens, “Infocps: Integrating formal analysis of cyber-physical systems with energy prognostics,” in The 9th Mediterranean
Conference on Embedded Computing. IEEE, 2020, pp. 1–5.
[22] L. Huang and E. Kang, “Formal verification of safety & security
related timing constraints for a cooperative automotive system,” in 22nd
International Conference FASE & ETAPS 2019, ser. LNCS, vol. 11424.
Springer, 2019, pp. 210–227.
[23] D. Dghaym, T. S. Hoang, S. R. Turnock, M. Butler, J. Downes, and
B. Pritchard, “An stpa-based formal composition framework for trustworthy autonomous maritime systems,” Safety Science, vol. 136, p. 105139,
2021.
[24] A. L. Dakwat and E. Villani, “System safety assessment based on stpa
and model checking,” Safety Science, vol. 109, pp. 130–143, 2018.
[25] S. Hacks, A. Hacks, S. Katsikeas, B. Klaer, and R. Lagerstrom, “Creating ¨
meta attack language instances using archimate: applied to electric power
and energy system cases,” in 2019 IEEE 23rd International Enterprise
Distributed Object Computing Conference (EDOC). IEEE, 2019, pp.
88–97.
[26] S. de Kinderen, M. Kaczmarek-Heß, and S. Hacks, “Towards cyberse-curity by design: A multi-level reference model for requirements-driven
smart grid cybersecurity,” 2022.
[27] S. Hacks, M. Kaczmarek-Heß, S. de Kinderen, and D. Topel, “A ¨
multi-level cyber-security reference model in support of vulnerability
analysis,” in International Conference on Enterprise Design, Operations,
and Computing. Springer, 2022, pp. 19–35.
[28] E. Rencelj Ling and M. Ekstedt, “Generating threat models and attack graphs based on the iec 61850 system configuration description
language,” in Proceedings of the 2021 ACM Workshop on Secure and
Trustworthy Cyber-Physical Systems, 2021, pp. 98–103.
[29] C. Few, J. Thompson, K. Awuson-David, and T. Al-Hadhrami, “A
case study in the use of attack graphs for predicting the security of
cyber-physical systems,” in 2021 International Congress of Advanced
Technology and Engineering (ICOTEN). IEEE, 2021, pp. 1–7.
[30] S. Katsikeas, P. Johnsson, S. Hacks, and R. Lagerstrom, “Vehiclelang: ¨
A probabilistic modeling and simulation language for modern vehicle it
infrastructures,” Computers & Security, vol. 117, p. 102705, 2022.
[31] M. Campusano, S. Hacks, and E. Kang, “Towards model driven safety and
security by design,” in Proceedings of the international workshops 10th
QuASoQ 2022 & the 6th (SEED 2022) co-located with 29th APSEC22,
ser. CEUR Workshop Proceedings, vol. 3330, 2022, pp. 34–41.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值