工业控制器网络安全最佳实践

当控制器提供内置的网络安全功能时,保护工业自动化系统更容易。

通过本森荷格兰德 2019年8月29日

安全问题影响所有类型的数字系统。侵入或破坏至少构成了一种滋扰,但也可能危及数据或触发未经授权的行为。最终用户遇到的问题因其组织和系统的不同而不同。对于工业自动化用户来说,网络攻击可能导致产品报废、设备损坏和安全隐患。糟糕的网络安全的潜在代价是显而易见的。

随着工业操作技术(OT)系统的发展和网络攻击者的适应,安全需求也在变化。OT系统与IT系统和互联网连接的更大整合,使其更容易受到网络攻击。将安全措施集成到自动化系统设计中──并持续保持警惕──是防御这类威胁的关键。正如著名密码学家和计算机安全专家布鲁斯·施奈尔(Bruce Schneier)在2000年所写的:“安全是一个过程,而不是一个产品。”

为了解决安全的复杂性和不断变化的性质,用户必须了解安全风险、数字环境和可用的安全工具。安全专家认识到系统安全的几个要素,包括物理安全、网络安全和策略和过程。

工业自动化系统的最终安全性取决于您,但让我们看看某些自动化产品中内置的网络安全功能,以及设置安全系统网络的最佳实践。

安全基础知识

工业自动化的设备和实践已经发展了几十年,产生了广泛的可用产品。这里感兴趣的是设计人员通常会部署单独控制器的应用程序,即使其中许多控制器可能作为对等点并行使用。

此领域中使用的产品是能够通过以太网联网的数字控制器,包括:

  • 智能继电器
  • 可编程逻辑控制器(plc)
  • 可编程自动化控制器(pac)
  • 工业个人电脑(ipc)
  • 边缘可编程工业控制器(EPICs)。

前三种产品深深植根于工业自动化的起源。在个人电脑普及之前,甚至在网络安全出现之前,许多早期的这些产品至今仍在使用。虽然最新的迭代是使用当前的计算和网络技术进行更新的,但这些产品通常仅限于提供为工业控制量身定制的专用计算环境。

相比之下,IPC只是PC的一个健壮版本,最终用户可以配备各种控制软件和通信元素来实现工业控制。

最后一个产品EPIC是新一代工业控制器,包装类似于PLC,提供类似的实时控制功能,但增加了许多类似pc的功能和it友好的通信优势。

为所有这些产品实现数字通信不仅对于配置和维护至关重要,而且对于整合人机界面(hmi)和其他智能设备等补充产品也至关重要。

正确的工业控制器网络安全设计的最佳实践需要仔细考虑以下方面:

  • 操作系统
  • 网络接口
  • 用户访问
  • 数据通信。

操作系统

任何工业控制器的操作系统(OS)都定义了其计算和输入/输出(I/O)接口能力的范围。plc和pac通常使用专用或嵌入式闭源操作系统,以适应所需的快速逻辑解决。ipc通常也使用闭源操作系统,最常见的是微软Windows。另一种操作系统选择是使用开源Linux的变体。一些ipc使用Linux,许多epic使用Linux来利用类似pc的功能。

与直觉相反,开源操作系统通常比闭源版本更安全。在全球范围内的高知名度帮助Windows这样的闭源操作系统获得了如此高的市场接受度,也使其成为网络攻击的目标。虽然用于plc的闭源嵌入式操作系统相对鲜为人知,但近十年前Stuxnet病毒的出现表明,商业上可用的工业控制平台是网络攻击的可行目标。

开源的一个好处是它的众包特性。由于涉及的开发人员人数众多(远远超过传统的闭源工业控制器制造商所能雇用的人数),因此可以快速应对漏洞。

当开源操作系统用于工业应用时,它们应该为特定的设备定制,并且只包含设备所需的包。这种流线型减少了攻击的方式,也称为减少攻击向量或攻击面。

此外,工业控制器专用的操作系统应由制造商进行加密签名。只有供应商批准的操作系统版本才能被控制器接受,这保证了版本的来源,并防止了未经授权的操作系统代码更改。

网络接口

现代工业控制器严重依赖于商业以太网,尽管许多专门的工业现场总线仍在使用。用于工业控制器的以太网由物理有线网络接口提供。Wi-Fi设备也可以提供连接。

对于任何网络来说,理解可信网络与不可信网络的概念是很重要的。可信网络通常位于私有设施内,可能是it管理的网络,其中所有具有访问权限的用户都是已知的。一个不可信的网络是指那些可以访问它的人是未知的网络,比如互联网。

路由器是一种可配置在任意两个网络之间路由流量的网络设备。许多人都熟悉家庭使用的路由器,这些设备处理Internet网络和家庭网络设备之间的流量。这些路由器在这两个网络之间移动数据。

另一方面,工业应用程序要求具有多个独立网络接口的控制器,这样可信网络和不可信网络就可以保持分离。可以将一个网络接口分配给本地可信网络,另一个分配给外部不可信网络。这些接口必须是不可路由的,这样外部攻击者就不能从不受信任的网络连接到受信任的网络(图1)。

另一个重要的网络概念是防火墙,它通过防止未经请求的流量访问网络、设备或主机来提供安全性。通常,源自本地设备的出站连接被认为是可信的,因此是允许的,相关的入站响应也是如此。但是,来自外部的其他入站连接尝试将被拒绝,尽管防火墙可能配置为开放某些特定端口并允许入站流量。

工业控制器应该有自己的防火墙,并提供配置防火墙的方法。对于工业应用,可信网络接口将需要打开与控制逻辑、I/O连接或其他工业协议相关的端口。但是,不受信任的网络接口通常应该阻塞所有端口,只有允许经过身份验证的用户通过加密连接访问控制器的安全端口除外。最佳实践是只打开特定需要的端口,并阻塞所有其他端口,对于不受信任的网络接口,默认情况下阻塞所有端口(图2)。

正确的网络配置是必不可少的,它与仔细分配用户访问和特权密切相关。

用户访问

现代数字计算──无论是用于移动设备、个人电脑还是工业控制器──的一个关键特征是用户帐户具有被分配的访问权限和特权的概念。通常,管理员帐户必须在初始阶段创建;它具有全局特权。该帐户必须由所有者仔细保护。

图5:出站、源自设备的协议(如MQTT)允许控制器安全地通过防火墙发起数据通信连接,不需要打开任何入站端口,从而提供更好的安全性。图片来源:Opto 22[/caption]

无论是使用板载控制器功能还是站点网络设备,通过任何形式的不受信任网络进行远程连接的最佳实践是始终使用正确配置的安全VPN隧道,并在不需要时禁用它。

数据通信

为控制器配备网络接口的全部目的是提供数据通信连接。然而,本文的主要目的是如何防止连接,至少防止来自未经授权的实体的连接。控制器受信任端上的通信相对简单,如前所述,不受信任网络上的入站连接应该通过VPN或被阻止。那么,如果VPN很难建立,如何通信数据呢?例如,OEM如何从客户站点的机器获得计费或维护所需的数据?

答案是使用出站的、起源于设备的数据通信协议。MQTT就是这样一个协议,它使用发布/订阅模型(图5)。如上所述,出站连接通常允许通过防火墙,因为它们是受信任的。控制器被配置为使用出站连接将感兴趣的数据发布到外部中央代理。远程用户以类似的方式连接和订阅中央代理。由于连接来自可信源,因此允许通过防火墙,并允许返回响应,从而安全地允许双向数据流。所有连接都经过身份验证和加密。

在工业控制器中寻找的另一个关键特性是内置的安全证书管理。安全证书主要是向另一台机器验证一台机器的身份,这样原始机器就可以确定它连接的是正确的目标机器,而不是冒名顶替者。证书可以以多种方式实现,可以由最终用户生成,也可以通过证书颁发机构注册(图6)。工业控制器应该使用行业标准的证书实践,类似于银行和电子商务网站。

即使有了这些安全条款,还有其他最佳实践需要考虑。

其他最佳实践

到目前为止,我们已经了解了系统设计的配置和最佳实践。但是,也有提高安全性的程序最佳实践。

  • 最小的接口:最安全的网络系统是气隙式的,没有接口。这通常是不实际的,但如果控制器提供板载接口,这是可能的。在任何情况下,都要移除不必要的网络连接并阻塞未使用的端口。
  • 最小访问:为用户分配与他们需要看到和做的事情一致的最低权限,并要求他们在不活动时注销——尤其是管理员。这个建议扩展到所有控制系统元素,包括hmi,只要可能,应该以只读kiosk模式运行。
  • 开发vs生产:测试和原型设计的限制有时会放宽。在测试后和投入生产之前,请确保控制器受到完全保护。一些基于linux的控制器允许用户利用安全shell访问(SSH)开发自定义应用程序。一旦开发完成,请确保禁用shell访问。

安全的方法

本文概述的最佳实践是着手任何新的工业自动化项目或重新审视已经在使用的项目的坚实起点。良好的安全性必须在许多层面上仔细实施,当安全条款被内置到自动化产品中,而不是附加在产品上时,安全性是最有效的。内置安全功能可以帮助您以最小的成本快速实现安全性。

每种情况都是不同的,您最熟悉的是您的应用程序和网络体系结构。工业控制器的内置网络安全功能可以帮助您设计和维护安全系统,但最终您要负责在应用程序中明智地使用它们,并将其作为整体安全策略的一部分。

本文发表于工程师的工业物联网补充的控制工程而且设备工程.参见下面补充的其他文章。


作者简介:Benson Hougland是Opto 22的营销副总裁。