横切安全性
保护CPS的第一步是识别这些系统可能存在的风险,然后确定如何通过深度防御方法解决这些风险的优先级。风险评估包括识别CPS中的资产[74],了解其安全风险,并实施对策以将风险降低到可接受的水平[13,75,76,77,78].渗透测试可能是了解系统风险级别的最常见方法,可用于设计漏洞管理和修补策略。供应链也是另一个风险因素,在风险管理与治理CyBOK知识领域[79]中进一步讨论。
CPS中的一个新领域是识别执行器或传感器,如果它们受到损害,它们为攻击者提供CPS的最大可控性[80,30,81,82,83],然后优先保护这些设备。
识别风险后,一般的纵深防御方法包括预防、检测和缓解机制。在本节中,我们将介绍用于防止、检测和缓解攻击的跨领域安全工作,下一节将介绍特定的CPS域,例如电网以及智能交通系统。本节分为三个部分:(1)防止攻击(第2.1节),(2)检测攻击(第2.2节)和(3)缓解攻击(第2.3节)。
2.2检测攻击
检测攻击可以通过观察CPS设备的内部状态、监控设备之间的交互以发现异常活动,甚至使用带外信道来完成。
在第一类中,远程证明是检测嵌入式系统中恶意软件而受到极大关注的领域,因为它们本身通常没有强大的恶意软件保护[101,102,103,104]。远程证明依赖于受信任的验证程序对不受信任设备的当前内部状态(例如RAM)的验证。远程证明有三种变体:基于软件的证明、硬件辅助证明和混合证明。基于软件的证明不依赖于设备中的任何特殊安全硬件,但它的安全保证较弱,通常需要无线范围在验证程序和正在检查的设备之间。相比之下,基于硬件的证明(例如,在TPM,TrustZone或SGX的支持下的证明)提供了更强的安全性,但需要在CPS设备中使用专用的安全硬件,这反过来又增加了其成本。这在某些低端嵌入式系统中可能负担不起。混合方法试图通过降低安全硬件要求来找到中间立场,同时克服纯基于软件的方法的安全限制[105,106]。最低安全硬件要求包括存储密钥的安全位置,以及对该密钥具有独占访问权限的安全代码。混合证明的一个挑战是,它必须是不可中断的和原子的(它必须从头到尾运行),并且(到目前为止)相对较长(5-7秒[105,106])嵌入式内存的安全测量可能不适用于安全关键型实时应用。除了学术工作外,工业界还在制定标准,以最小的硅要求增强嵌入式系统的安全性。例如,可信计算组(TCG)设备标识符组合引擎(DICE)正在努力结合简单的硬件功能来建立强身份,证明软件和安全策略,并协助部署软件更新。我们通过指出大多数用于初始化的证明的实用建议来结束我们对证明的描述,但构建实用的运行时证明解决方案仍然是一个艰巨的挑战。
网络入侵检测:用于检测攻击的第二类解决方案依赖于监视CPS设备的交互。与经典IT系统相比,简单的有限状态网络通信模型将失败,CPS表现出相对简单的网络行为:服务器更改频率较低,存在更稳定的网络拓扑、更小的用户群、常规的通信模式以及承载更少数量的协议的网络。因此,与传统的IT系统相比,入侵检测系统、异常检测算法和白名单访问控制更容易设计和部署[107]。如果CPS设计者可以给出网络预期行为的规范,那么任何未指定的流量都可以标记为异常[108]。由于CPS网络中的大多数通信都是在机器之间进行的(没有人为干预),因此它们会自动和定期发生,并且考虑到它们的规律性,这些通信是这些通信模式可以通过有限状态模型捕获,如确定性有限自动机[109,110]或通过离散时间马尔可夫链[111,112]。虽然与IT相比,CPS环境中的网络规范通常更容易,但维护起来仍然非常困难。
基于物理的攻击检测:控制系统相对于其他IT系统的主要区别在于控制系统与物理世界的交互。与专注于监控“网络”模式的CPS入侵检测工作相反,另一项工作研究如何使用监测来自物理观察的传感器(和驱动)值以及发送到执行器的控制信号检测攻击;这种方法通常称为基于物理的攻击检测[72]。系统中物理变量的模型(它们在时间和空间上的相关性)可以是纯粹的数据驱动的[113],也可以基于系统的物理模型[30]。物理异常主要分为两类:历史异常和物理定律异常。
历史异常:识别我们以前从未见过的物理配置。一个典型的例子是对变量的观察到的行为进行限制[114]。例如,如果在学习阶段,水箱中的水位总是在1m到2m之间,那么如果水位高于或低于这些值我们可以发出警报。变量历史行为的机器学习模型也可以捕获这些变量的历史相关性。例如,他们可以捕获这样一个事实,即当水位较高的水箱时,过程中第二个水箱的水位始终较低[115]。历史异常的一个问题是它们可能会生成大量误报。
物理定律异常:对历史观察的一种补充方法是创建系统物理演化的模型,这种方法可能具有较少的误报。例如,我们有一个传感器来监控弹跳球的高度,那么我们知道这个高度遵循牛顿力学定律的微分方程。因此,如果传感器报告的轨迹在物理定律下是不合理的,我们可以立即识别出传感器有问题(故障或攻击)。同样,水系统的物理特性(流体动力学)或电网(电磁定律)可用于创建时间序列模型,然后我们可以使用这些模型确认发送到现场的控制命令已正确执行,并且来自传感器的信息与系统的预期行为一致。例如,如果我们打开进气阀,我们应该期望水箱中的水位应该上升,否则我们的控制、执行器或传感器可能会有问题。系统物理演化的模型已被证明在限制隐形攻击的短期影响方面更好(即攻击者创建恶意信号的攻击在我们的物理模型的误差范围内)[116]。但是,如果攻击持续很长时间并通过仔细选择物理上合理的轨迹将系统驱动到不安全的区域,则历史模型可以帮助检测这种以前看不见的状态[117]。
除了被控制系统的物理特性外,设备(如致动器)还具有动力学特性,这些物理特性也可用于监测设备的正常行为[118]。
带外检测:被动监控物理系统的另一种方法是通过带外通道[119]。例如,基于射频的分布式入侵检测[120]监测电网变电站的射频发射,以检查是否存在恶意电路断路器开关、变压器抽头更换或任何保护继电器的激活,无需从SCADA服务器发送的直接请求。基本思想是将SCADA服务器发送的控制命令与变电站中观察到的射频发射相关联。这种方法的一个潜在缺点是攻击者可以发起模仿各种电气系统激活的射频攻击,这可能导致安全分析师对警报。
主动检测:除了被动监控CPS外,入侵检测系统还可以主动查询设备,以检测设备如何响应这些请求的异常[121]。除了网络查询之外,入侵检测系统还可以发送物理质询来改变系统的物理行为。这种方法也称为物理证明[122,123,115],其中控制信号用于改变物理世界,作为响应,它期望看到物理世界中所做的更改反映在传感器值中。例如,我们可以发送信号来改变电网的网络拓扑结构,以查看传感器是否报告了这种预期的变化[124],使用摄像头视野的变化来检测被黑客入侵的监控摄像头[125],或者在控制算法中使用水印信号[126]。主动探测的概念与应用于网络物理系统的移动目标防御研究有关[127,128,129,130]。然而,主动探测和移动目标防御都可能通过出于安全目的改变物理世界而在系统中造成不必要的干扰。因此,这些技术可能过于侵入性和昂贵。因此,其中一些方法的实用性尚不确定。
原文始发于微信公众号(河南等级保护测评):网络物理系统安全之横切安全性之检测攻击
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论