基于分布式物联网的工业自动化安全性分析
2021-10-23汪建春胡晓进
汪建春,胡晓进
(江苏农林职业技术学院,江苏 句容 212400)
智能物联网(IoT)设备的先进功能已使其在工业自动化系统中得到广泛应用,从而迅速推进了可重构制造系统(Reconfigurable manufacturing systems,RMS)的发展[1,2]。第四次工业革命的兴起,开启了高度定制制造的新时代。制造资源高度模块化,为适应动态市场需求提供了必要的灵活性[3],可重构制造系统支持有效的结构和功能更改,可以在停机时间很短的情况下进行个性化配置。RMS的基础是由智能工业物联网(IoT)控制器控制的模块[4]。IoT端点是异构的,其部署环境根据流程需求和RMS的当前配置而动态变化。RMS的无缝重新配置、集成和可靠功能要求组件高度自治,必须能够使用兼容协议(可集成性)彼此无障碍通信、交换与底层控制相关的信息,并以不同方式交互。
分布式控制体系结构支持可重构性,新一代的智能制造资源不仅必须利用功能所需的组件(如传感器和执行器)[5],而且还须利用具有IoT功能控制器的固有计算和通信功能,以实现更高水平的自动化。通过控制分配,可将对特定物理资源进行控制的细粒度细节与资源协调问题解耦[6],而资源协调问题只需要关心制造资源的性能即可。Rashid等[7]提出了一种基于模型的CPS攻击仿真方法,但是不支持正式验证,并根据具体攻击实现得到了试验结果。李庆鑫等[8]对工业CPS控制器进行了正式安全评估,但分析仍然局限于功能模型级别的高级漏洞。金志刚等[9]提出了在特定攻击模型下的无线物联网通信的全面正式安全分析,但未考虑对底层物理过程控制质量的影响。
为了能够建立安全的RMS,本研究引入了有效的技术,用于对部署在支持IoT的本地控制器(LC)上的分布式控制应用程序进行系统安全分析,并且通过添加适当的安全机制来解决检测到的漏洞,利用安全分析的结果来改善存在攻击时的自动化性能和安全保证。
1 方法
新一代分布式自动化系统的网络性质使它们容易受到网络的攻击,类似于其他网络物理系统领域中报告的安全漏洞。例如,一个对手可能会注入错误事件,延迟或拒绝对合法控制器的网络访问,或操纵通过不安全的通信通道发送的控制命令[10]。在分布式顺序控制系统中,提供安全保证至关重要,在该系统中,其进度直接受到通信不可用性的影响。本研究提出的灵活分布式自动化方法如图1所示。在大部分物联网系统中,组件之间的协调是基于离散事件的。虽然在物联网框架下使用了大量的正式建模框架,但工业自动化系统通常基于GRAFCET(IEC 60848)/SFC(IEC 61131-3)控制设计。本研究聚焦使用CIPN(Control Interpreted Petri Nets)描述的IoT控制器的安全分析,该控制器可以直接开发或者使用现有的集中式顺序自动化设计的分发方法自动派生[11],允许在IoT支持的智能控制器上部署遗留控制应用程序。
图1 基于弹性IoT的灵活分布式自动化方法
2 基于TPN的自动化建模
TPN通过引入定时转换来扩展PN。在TPN中,每个转换的特征都是间隔或,其中t f和是转换触发时间的下限和上限,可以为零或无穷大,TPN支持不确定性,有助于使用确定性或随机模型无法准确完成的攻击建模。
将CIPNi(i=1,…,N)表示的形式化分布式控制规范转换为TPN兼容模型使用工厂模型和安全感知通信信道模型,能够在建模对抗性的影响下对系统级的安全特性进行推理。由于CIPN和TPN都起源于PNS,从CIPNi(i=1,…,N)控制器模型到的转换,所有转换都是直接的,即:
通过发出I/O API调用来处理驱动和转换处理感知;
通过共享信道处理传输,并使用API调用处理通信信号的接收[分别为send(destination,signal)和signal=value];
调用其他平台相关API的位置,如请求执行延迟。
这些转换直接依赖于实现控制器底层平台的CIPN结构,必须为捕获以下内容的网络显式地建模[12]:①与工厂之间的交互;②与通信信道之间的交互;③基于已发布命令(如变量更新、执行延迟)更改运行时环境。
2.1 工厂间控制器交互建模
由于CIPN的形式已被自动化设计普遍采用,因此假设可以使用基于PN的(即CIPN或TPN)工厂模型,pick&place站的位置如图2所示。在到达时间上有一个下限,位置p&p_Init表示站点的初始状态,来自该位置的令牌流受控制器模型的LC1对应命令限制。在TPN形式上,标记相关的保护函数可用于限制工厂模型中的状态变化(即令牌流),即用标记相关的函数评估控制器的状态,并返回参数位置内的当前令牌数量[13]。一旦LC2的模型将其令牌触发了pick&place过程,即LC2从特定的传送带启动它,则站的令牌将转换为传送带1(或2)有待处理的工件。
图2 物理设置
2.2 CIPN和TPN控制器等效
CIPN的执行路径可以定义为标记序列,其中由于触发转换而导致标记发生变化,每个标记都与一组动作相关联,每个转换的触发都受一组条件限制。在TPN模型中,路径的特征是具有相似的序列加上转换时序。在TPN模型中维持CIPN控制器执行路径即可,目标是源(集中)和目标(分布式)控制模型的操作等价性[14]。
3 弹性分析与漏洞修复
通过对已开发的安全感知TPN模型的组合,得到一个安全感知闭环系统模型,用于验证系统级安全性和攻击时的QoC特性。TPN分析工具允许验证形式属性,这些形式属性指定为线性时序逻辑(LTL)、计算树逻辑(CTL)或定时CTL(TCTL)公式。使用工具Romeo来验证基于TCTL,如传统安全性和活动性。此外,由于包含了工厂模型,可以指定与领域相关的工厂状态属性,这些属性对于功能安全性和QoC评估至关重要。本研究考虑的属性包括:
属性1:传送带1上的工件永远不会触发传送带2的pick操作;
属性2:在任何传送带上检测到的工件最终都被拾取;
属性3:在输送机监视器等待进来的工件(即在Pcm_Init处)时,pick&place没有开始循环。
在存在攻击的情况下,使用Romeo工具验证这些属性,因为攻击者能够在任意时间改变LC之间的预期交互。从试验测量或直接从网络规格中获得传输时间和时间的界限。此外,从所使用收发器的规格中获得与收发器有关的时间,如在空闲信道评估期间的退避时间。
关于验证的可伸缩性,在系统模型中,一个正常的pick&place循环[15,16](所有攻击都被禁用)包含了约35个转换,数量约为模型中状态数的数量。除了在工厂模型中时间诱发的不确定性外,模型的复杂性还会随着不确定性攻击选择的增加而增加。然而,在所有情况下,Romeo工具在具有Inteli7-8086K CPU和64 GB内存的工作站上,只需不到1 s的时间就可以找到违反属性的执行路径。
在系统漏洞修复方向,攻击行为可能会严重影响基于IoT的分布式工业自动化系统的性能。为了解决这些问题,有必要添加某些安全机制,讨论安全机制对系统模型和相关属性可验证性的影响。
1)检测拒绝服务攻击:分组和确认(ACK)丢失在无线通信中很常见,因此通常在此类设置中使用ACK和重传机制。例如,在收发器设置中禁用ACK请求,不会在数据链路层上尝试重传。对于两个隔离的收发器,相当于约99%的单向数据包成功率。因此,当启用ACK请求时,最多执行3次数据链路层重传,在单个工业机器运行的情况下,除了3个低层协议提供的重传外,不需要应用层重传。为了提高网络利用率,模拟了通过同一无线信道通信的其他机器数目;单向数据包的成功率约为98%。因此,两次应用层重传足以实现可靠的事件交换,从而确保正确的操作。协议提供的重试是在短时间内进行的,而应用层重传则会产生较大的延迟,通道很可能在短时间内持续忙碌,如被其他合法的传输占用。然而,对手可能会反复拒绝对合法控制器的网络访问,从而阻止系统运行。因此,除非使用单独的安全通道检测到DoS攻击并停止系统(或采取其他预防措施),否则建模的系统不满足属性2。
从操作角度来看,每个LC都可以在声明受到攻击之前实施有限数量的连续应用层重传。为了从建模角度解决这个问题,当应用层重传用尽时,添加了发射器模型转换到其他位置。如果将DoS攻击限制为4个连续的通道访问拒绝,则可以满足属性2。如果没有安全的通信通道或无法将DoS攻击与网络隔离,则可能无法立即紧急停止机器。
2)网络流认证:确保网络流完整性的传统加密技术依赖于使用消息认证码(Message Authentication Codes,MAC)对数据包进行签名,并可用于防御欺骗攻击。在这种设置下,LC之间的每一次传输都由发送方使用密钥签名,并且签名由接收方验证。因此,攻击者无法篡改消息有效负载,否则会被检测到。
从建模的角度来看,可将引入身份验证建模为在控制器模型中接收转换的附加条件,在该转换中,将接收到的有效负载与所需值进行比较,即将有效负载的MAC部分与攻击者无法更改(在修改的情况下)或生成(在欺骗攻击的情况下)的秘钥值进行比较。验证传输不会影响ACK,因为在将MAC添加到数据包有效负载的同时,数据链路层负责ACK数据包。此外,攻击者可能会窃听未加密的序列号,该序列号是数据包帧的一部分,因此,可以代表不活动的LC生成有效的ACK。同时,即使使用认证,也可能错误地确认了未送达的传输,这是数据链路层ACK已知的缺点,可以通过应用层ACK来缓解,所提出的建模技术可以用于对附加的已实现协议进行建模。
4 实证分析
考虑重构工业气动机械手的完整物理实现,该机械手具有以分布式方式控制的可变数量的模块,每个模块有一个本地控制器,本节展示了提出的框架在多种模块配置(即2-DOF、3-DOF)上的有效性。
4.1 自由度(2-DOF)工业气动机械手
2自由度配置的气动工业机械手如图3a所示。两个双作用气缸(A和B)提供了平移自由度,而气动夹爪(C)提供工件的操作方式。所有的驱动命令都是通过更新电子信号x p,x∈{a,b,c}发出的,该信号可以激活单稳双控气动阀门,信号用x表示,而气缸用X表示。气缸A和气缸B有两个接近开关,可以感应位置(即完全收回、完全伸出)。对应于完全收回(原始)位置的信号表示为x0,而完全伸出(结束)位置的信号表示为x1。此外,系统还包含一个启动开关,其相应信号由s t表示。
图3 气动机械手配置
初始状态下,气缸A和B完全收回,并且气动夹爪C松开。在这种状态下,机械手已准备好开始其工作周期。通过按下启动开关(s t=1)启动机械手的初始工作周期,完成后为全自动操作。首先,气缸B朝着工件pick位置延伸(驱动命令bp=1),一旦气缸B到达其末端位置(b1=1),则气动夹爪C抓取(cp=1)。控制器B等待500 ms抓紧零件,然后气缸B缩回(命令bp=0所致),一旦到达原始位置(b0=1),气缸A伸出(命令ap=1),到达终点位置(a1=1)后,气缸B向放置位置延伸(命令bp=1)。一旦到达其最终位置(b1=1),抓爪C释放工件(命令cp=0)。500 ms后,气缸B收回(bp=0,然后b0=1),之后气缸A收回(ap=0,然后a0=1)。机械手返回初始状态,并自动执行下一个循环。
气缸被建模为两个状态工厂模型,伸出和收回时间从试验测量获得。图4为所使用低成本ARM Cortex-M3控制器配备符合IEEE802.15.4标准收发器的10 000条消息的Tx-Rx和Rx-Ack时间延迟。
图4 在支持IEEE 802.15.4的LC平台上测量Tx-Rx和Rx-Ack时间
4.2 自由度(3-DOF)工业气动机械手
3自由度(3-DOF)工业气动机械手配置如图3b所示。气缸C提供的附加旋转自由度会引入附加LC,并增加LC协调的复杂性。将工件浸入带有清洁液的水池中,然后将其返回到pick位置,以供另一台机器进行进一步处理,可以使用该配置来处理喷涂的工件。
图3c显示了该配置的物理设置以及具有相应IEEE 802.15.4收发器的低成本基于ARM Cortex-M3的LC。尽管这些模型比2-DOF情况更复杂,但它们在语义上相似的。图5a所示为事件时间,即对于一个样本在“拾取-浸泡-摇动-返回”运行过程中,所有感测和驱动信号的状态。
攻击者可以在工件返回到返回位置之前发送释放工件的命令。图5b显示了在一个采样周期运行中获取的信号时序,在该采样周期中,会存恶意注入释放夹爪的命令而释放夹具,从而使工件掉落,这可能会对工件或机械手造成损坏。如果对传输进行了验证,并相应地调整了模型,则可以缓解此漏洞。通过包括IoT控制器完全兼容的mbed TLS(安全套接层)来应用软件安全补丁,在一个传输信号上签署128位消息验证代码,在使用的低成本基于ARM Cortex-M3的LC计算开销为100μs,在提供安全保证的同时,相对于机械手的工作周期几乎可以忽略。
从模型的角度来看,DoS攻击不会造成死锁,在物理过程停滞的同时,网络过程实际上是动态锁定的。图5c显示在一个示例运行中获取的信号定时,通过在攻击者的收发器上启用载波传输来启动DoS,以便从浸泡池中拾取工件后阻塞消息。无线控制节点可以跟踪不成功的介质访问尝试,并在检测到DoS攻击时立即停止操作。
图5 驱动信号
5 小结
本研究开发了一个框架来分析基于CIPN的分布式顺序控制系统的安全性。由于在存在攻击时CIPN不支持对形式安全属性的验证,因此将控制器模型转换为TPN,从而通过支持不确定的定时转换以及转换之间的不确定性选择来固有地支持此验证,讨论了如何将基于网络的攻击者的模型集成到非确定性的通信渠道模型中,并验证了存在攻击时违反安全性的行为。此外,运用验证结果来查明控制软件实施中的漏洞,并提出安全补丁以减轻这些漏洞对控制性能的影响。