理解普渡模型0级和1级设备的安全问题

理解普渡模型0级和1级设备的安全问题

时间:2021-06-15 作者:安帝科技

引言

随着行业对工业控制系统网络安全问题认知的深化,人们普遍认为大多数传感器设备和控制设备(即普渡模型的0级和1级)天然缺乏安全性设计,并且存在大量可能被利用的漏洞。本文试图从风险管理的视角,探讨管控这类问题的方法,并给出了基于决策树的优先级确定策略。同时,也从安全控制的角度,提出以固件签名、身份验证、过程变量异常检测等改进0/1级设备安全性的策略和方法。

解决问题通常始于意识到问题的存在。大多数PLC(普渡模型的1级设备)从设计上来说就是不安全的,并且这些设备充斥着大量可利用的漏洞。即使这个问题才刚刚准备解决,相信这个问题已经在ICS安全社区中是众所周知的。同样,ICS安全的先驱者乔·韦斯(Joe Weiss)在过去三年里一直致力于这方面工作。他指出,普渡模型的0级设备,即传感器和执行器没有任何安全性。 通过实例说明了如何将虚假的过程传感器数据传送给控制系统。他声称ICS安全社区之前并不知道这一点,直到看到SANS的ICS安全峰会后最新的一篇文章。Dale Peterson认为在0级和1级缺乏安全性是ICS安全社区的常识,唯一的分歧是解决这个问题的优先级以及应该如何解决。通过用民意测验来回答这个分歧。

图1 Dale进行的民意调查结果

同样的民意调查收到了147个回答,其中98%的回答是错误的。这两个民意调查的受访者可能有一些重叠。97%的明确证据表明ICS安全社区了解0级没有安全性,Dale认为他们也知道1级也没有安全性。
这并不意味着没有安全意识问题。来自IT安全领域的安全专家往往不知道这一点,并且对此感到惊讶。更大的问题是,资产所有机构的高管们不知道这一点,因为它可能导致花费很多的资金和精力在大量的实践和安全控制上,然而这对风险的影响很小。运营和OT安全部门有责任告知高管,风险和最佳的风险降低方案。
在普渡模型中,0到5级分别为过程级、基本控制级、区域监控级、场站运营级、场站业务和物流级、企业网络级。如果再归类一下,按安全分区,0到2级为单元/区域,3级为工业安全区,工业DMZ区,4到5级为企业安全区。处于0级的主要设备有传感器、驱动器、执行器、机器人;1级的设备主要有批量控制、离散控制、驱动控制、连续过程控制和功能安全控制。

图2 经典的普渡模型示意
 

01从OT/ICS风险管理的角度解决问题

在一个拥有无限资源的完美世界中,所有0级和1级设备都将拥有一组安全控制。新设备将配备安全控制,已部署的设备将被升级。但不幸的是,资源不可能无限,缓解ICS网络安全风险的选择很多,因此确定风险降低行动的优先级很重要。这类似于评估在ICS中应用安全补丁所提供的风险降低的方法。应用所有可以缓解漏洞的安全补丁程序是一种良好的做法。然而,这也不现实。在ICS中进行修补时,在不同的模式/版本的补丁中实现的风险降低有很大的差异。能够显著降低风险的一小部分补丁应该尽快应用,而几乎不会降低风险的大部分补丁应该推迟应用,或在需要时应用,以保持产品处于受支持的状态。
1.1 基于决策树的方法
而驱动这一行动的方法就是基于决策树的方法,参见下图。

图3  0/1级设备的安全性优先级决策树
 

暴露是决定ICS风险降低的最重要因素。这是ICS补丁应用的第一个决策点,也是确保0级和1级设备如何降低风险的第一个决策关键点,否则攻击者岂不是很容易访问,并因此能够危及设备本身或设备之间的通信?因素:暴露……级别0还是级别1?与保护0级相比,保护1级提供的安全具有显着更有效的风险降低功能。级别1的PLC、RTU、控制器或其他设备通常与许多传感器和执行器通信。它可以是外围安全设备,用于阻止或限制攻击从不受信任的网络到达0级设备。篡改伪造或错误的传感器数据通常被视作保护0级设备的理由。一个受损的0级传感器可能会返回不正确的数据,从而导致相应的控制动作不正确或者不进行控制动作。但是,一个连接到该传感器的受损的1级设备也可能为该传感器提供伪造或错误的传感器数据。受损的1级设备还可以伪造它所连接的所有其他传感器的传感器数据,向它所连接的所有执行器发送恶意命令,并改变它的任何过程逻辑。优先考虑第1级安全性而不是第0级安全性,以限制企业和因特网通信通过保护1级设备而无法到达ICS。因素:暴露…以太网端口/ IP协议栈?如果0级或1级设备有一个以太网端口和一个IP协议栈,则与没有以太网和IP协议栈的设备相比,它更有可能通过网络方式受到攻击和破坏。这有两个原因。首先,IP栈使得更容易将攻击流量路由到设备。正如常识所示,气隙隔离(物理隔离)总是一件神秘的事情。这是基于IP网络得以连接起来从而共享信息,如果设备有IP地址,这就为它提供了一个潜在的攻击路径。第二,大多数攻击工具,以及几乎所有的攻击和攻击尝试都试图通过这个接口来破坏ICS网络资产。具有“模拟”或“串行”接口的0级或1级设备可以被访问吗?是的。它可以通过串行网络到以太网网关,从IP网络访问他,并且从有效降低风险的角度来看,这个网关更好。这是应该应用安全控制的位置,无论是通过工业安全网关还是其他方法。串行0级设备可以通过物理连接到串行网络来访问。这通常(但并非总是)需要与设备保持近距离的物理接近,而且对设备或过程的物理攻击通常比具有这种访问权限的网络攻击更容易。通过保护每个级别中有IP地址的设备,而不是保护那些没有IP地址的设备,从而实现更大的风险降低,而且它们应该被优先考虑。因素:新的还是用遗留的Will Rogers说过:“如果你发现自己陷入了困境,请停止挖掘”。任何带有IP地址的新设备都应该具有安全性。如果要准备购买的东西缺乏安全性,那么您应该确保有一个可接受的升级路径来增加安全性,或者计划一个比通常同期短得多的生命周期,例如2到5年而不是几十年。还有一个问题,那就是如何处理有IP地址的遗留设备。因素:影响具有IP地址的传统0级设备属于“延迟”类别。即使5年以后,也很难找到一个有效的风险降低方法来替换或者增加这些设备的安全性。具有IP地址的传统1级设备应按照其可用性和完整性受到影响的顺序进行升级或更换。通常,控制、更改物理组件所涉及的1级设备的优先级应高于仅与传感器连接的1级设备的优先级。有许多检测恶意传感器数据的方法。恶意传感器数据很难检测,并将造成一系列的严重的连续的后果,这将必须将PLC与这些传感器的优先级提高。1.2  0级和1级安全在ICS安全程序中的位置本文中的决策树对在Level 0 / Level 1类别中添加安全性的顺序进行了优先级排序,以解决设计不安全的问题。它没有说明何时应该针对所有其他潜在的降低ICS网络风险活动来解决这个问题。与解决0级或1级安全问题相比,可以更容易地识别出能够大幅降低风险的活动。相比解决0/1级不安全设计造成的问题,还有更多更大程度降低风险的措施,比如:

企业/ICS安全边界
用于远程访问的双因素身份验证
能够恢复最低要求的ICS网络资产
大规模的影响后果缓解
另外还有一些措施,也能比解决0/1级不安全设计造成的问题,少量降低风险,如:
在ICS安全边界内的大部分安全修补程序(修复决策中的推迟)
将每个操作员账户置于一个24/7的控制室
在2级应用ICS安全控制

02对0级和1级设备的安全控制

02对0级和1级设备的安全控制
2.1 传感器和传感器数据传感器的安全问题是传感器数据不正确,导致不正确的控制决策。传感器故障的原因多种多样,与网络攻击无关,所以这不是一个新问题。但是,具有工程技术和自动化技能的攻击者更有可能知道哪种类型的虚假数据可能导致严重后果的控制决策错误。一个简单的例子就是对数据进行欺骗,所以当操作员和逻辑认为一切都正常的时候,但实际上流程正在进入一个糟糕的状态。恶意的传感器数据可以注入到传感器本身(0级)、传感器与PLC之间的通信网络(1级)、PLC、PLC与级别2的计算机之间的通信,或2级ICS应用中。如前所述,在设备或网络具有IP栈的地方,遭受网络攻击的风险最大。在理想的情况下,我们希望在通信路径的每一步都对源和传感器的数据完整性进行身份验证,并希望最终能够实现这一点。这样的解决方案就是对上报的传感器数据进行过程变量异常检测(process variable anomaly detection, PVAD),这个解决方案中对0级传感器错误数据的风险是不可接受的。迄今为止最好的例子是通用电气的Digital Ghost。GE有一个数字孪生的涡轮和控制系统。在使用作业数据对数字双胞胎进行培训后,GE能够根据其他传感器报告的过程状态,识别特定传感器数据何时没有意义。Digital Ghost随后计算出无意义的传感器值,并将其发送到实际的控制系统中,操作员可以考虑该值,或在人机界面和系统中自动校正。重要的是,该解决方案能处理坏的传感器数据,无论什么原因,传感器故障,网络攻击或其他。通用电气的例子在某些方面是最简单的。GE制造物理的产品、控制系统,经常部署这种解决方案,并且有一个标准的部署。这就是为什么在“数字孪生”这个词出现之前,涡轮机就有了“数字双胞胎”。数字双胞胎的日益增长的好处导致其在供应商和集成商之间的部署呈指数增长,而这些数据的是另一个好处是能够用于PVAD。如今检测传感器数据错误的另一种方法是建立一个单独的0级监测网,并将报告到2级的传感器数据与在0级监视网络上接收的数据进行比较。SIGA OT Solutions、Cynalytica、Fortiphyd、Mission Secure等供应商都在提供这种服务。从有效的风险降低标准来看,部署和监控第二个网络的成本是难以证明的,因为该网络对攻击者的暴露程度最低。通过一个单独的网络,只监测一小部分,也许5%或更少的0级传感器的可能性。机器学习能识别出是哪5%的传感器能检测到对0级设备的网络攻击吗?这可能不会像选择最关键的5%的传感器那么简单。我想应该是分布在整个过程中的传感器,以及与高结果事件密切相关的某些结果。这是一个很好的研究项目。如前所述,具有IP堆栈的新传感器应该具有与下面的执行器中列出的相同的安全控制。2.2 执行器执行器被证明是不安全设计问题的端点。无论命令的来源如何,他们都将在可操作部署的能力范围内执行被告知要做的任何事情。没有对命令源的身份验证。没有对命令的完整性进行验证。这就是安全控制需要改变的地方。(1) 签名固件/安全引导。这是为了防止简单的DoS/brick攻击与损坏的固件上传,以及更复杂的攻击,实际上把攻击代码或挂钩插入固件。这个控件的优点在于它不需要用户操作。(不,这不会阻止SolarWinds事件或其他任何危及厂商固件创建和发布过程的事情)。(2) 管理员角色和登录能力,可以通过网络执行器来管理。(3) 验证任何控制命令。—直到最近,这还需要供应商提供专门的解决方案。现在有CIP安全,Modbus/TCP安全,以及其他ICS和IoT协议安全。无论是好是坏,大多数安全性都具有采用TLS协议进行包装。这确实需要一些有效的PKI /密钥管理才能生效。供应商至少应该从一些简单的,而不是完美的东西开始,其中调试的一部分是在每个执行器上放一个资产所有者签名的证书。将其包装在TLS中的这个决定确实增加了0级安全问题的复杂性。如果1级除了转发数据包以外还要做其他事情,它将需要解密打包的数据包,然后可能会再次对其进行加密并发送到2级或其他1级设备。当然,还可以指定其他的安全控制措施,这些安全控制措施可能会有所帮助。其他那些从设计上不安全处跳转来进行安全设计的(人),很大程度要依赖安全开发生命周期需求(SDL)的重要性。协议栈的模糊测试始于2000年,这对协议栈的健壮性有很大的帮助,而且只会对供应商的产品生命周期有帮助。这三个安全控制的列表是解决设计不安全问题的最低限度。2.3 与执行器通信的PLC(和其他一级设备)新增的PLC在0级/ 1级安全决策树中优先级为1,用于增加安全性。优先级为2和3的是对具有高影响后果和中等影响后果的旧式PLC的升级。PLC的执行器也需要列出安全控制。此外,它们应具有安全事件日志以及存储和转发这些事件日志的能力。不错的是,这些设备的高级选项包括:深度的数据包检查防火墙,用于限制从1级和2级访问设备。这是Tofino, M-Guard, OTfuse或类似的集成到以太网卡或其他地方的PLC。PLC端点保护——这是一个值得研究的领域。相当于1级设备的防病毒功能。

03结论

1. ICS安全社区都认识到,0级和几乎所有的1级设备都缺乏身份验证。接入传感器数据可以被修改,传达到设备的控制命令会被接受。2. 缺乏身份验证的风险在0级和1级会根据设备的暴露和能力而不同。虽然希望在整个ICS中实现网络安全,但必须优先考虑能够实现最有效地降低风险的方法。3. 过程变量异常检测(PVAD)是中短期检测和处理不良传感器数据最有效的方法。4. 固件、管理操作和控制命令的身份验证是按照决策树指定的优先级顺序添加到1级和0级设备中的最重要的安全控制。