【高手详解】工业控制系统网络安全的攻击类型、预防措施以及改进方法
灾难性事故可能是由不安全的工业控制系统所造成的后果。可以通过4个步骤来提升整个系统的网络安全。
尽管一直以来,网络安全是任何行业都会关注的主要问题,但人们普遍认为攻击只会导致丢失专有数据、成为间谍活动的受害者以及面临停工的威胁。但是,2017 年的Triton(也称为Trisis 或HatMan)攻击,显示出了严重攻击的另一方面:可能导致潜在的灾难性事故。下面让我们一起了解一下常见的攻击类型、预防措施以及改进方法。
传统上,工业控制系统(ICS)的设计都是独立运行在独立的控制网络上的,很少有人能预见到网络安全所带来的威胁。但是,随着工业领域其它技术的发展——包括智能传感器、无线网关、远程管理系统、虚拟化、云计算、智能手机和各种商业智能需求,这些工业系统不受外界干扰的可能性会越来越小。
工业控制系统受外部攻击的第一个实例是2010 年的Stuxnet,该脚本的设计旨在破坏运行离心机的工业控制器的脚本。随后是2013 年的Havex 攻击,攻击目标是电网和电力公司;通过它收集大量的数据用于间谍和破坏活动。
2015 年出现了两个威胁:BlackEnergy破坏了工作站上的数据和文件,在乌克兰造成了严重的电力中断,IronGate 在公共资源上被发现,并具有与Stuxnet 相同的功能。在2016 年,Industroyer 还在乌克兰造成了严重破坏,其中恶意软件擦除了数据并在网络上进行了分布式拒绝服务(DDoS)攻击,从而导致乌克兰电网的关闭。
Triton 攻击发现于2017 年。它的发现,可能避免了一场严重灾难的发生。该恶意软件可以感染Triconex 安全控制器,使黑客可以更改安全参数。恶意攻击可能会导致工业设备的安全设定值失效,甚至可能会导致与化工厂爆炸同样严重的灾难事件。
了解攻击源
为了应对网络安全威胁,第一步是了解攻击者可能来自何处,因为攻击者通常会使用侦察作为衡量和了解特定时期内目标弱点的第一步。从长远来看,企业可能会使用攻击向量分析来识别攻击者可能使用的不同方法,或者可能倾向使用的系统。所有这些,都需要基于企业资产业务影响分析中出现的风险。用户可以使用一些现成的评估工具,并使用它们将关键资产与非关键资产区分开并合理化,然后对其进行缺口评估(gap assessment)。
攻击者的常见切入点包括:
· 来自外部网络、因特网和远程连接,通过企业资源计划(ERP)软件、网关、数据和文档存储库以及在线历史数据库所进行的入站攻击;
· 防火墙和网关配置不正确;
· 用户通过被盗或伪造的凭证,访问业务工作站和控制计算机;
· 针对生产系统的物理攻击,在大多数情况下,这些攻击是针对人机界面(HMI)、工程师和操作员工作站以及实际过程安全控制器;
· 针对控制网络并使用工业通信协议的横向网络攻击,以发现网络上的其它设备并传播恶意代码;
· 社会工程攻击,其重点是使用个人身份信息来诱骗内部人员给予访问权限、无意中打开网关和运行脚本。
网络安全预防措施
每种类型的攻击都有其自己的预防措施。通常可以分为以下8 种类型。
01
隔离和细分:
利用工具和合格的人员对控制网络进行彻底的缺口评估,通常可以发现许多不受监控的访问点,而这些访问点在遵循标准做法来保护控制网络时经常会被忽略。这些威胁可能源于:
· 对工程/ 操作员工作站的访问不受限制;
· 过时的恶意软件检测;
· 尚未得到保护或审计的第三方应用程序和连接器;
· 从控制网络导出数据时缺乏非军事区(DMZ)或数据隔离;
· 连接到公共区域的关键资产。
02
管理用户访问控制:
该任务包括采取措施限制未经授权的访问以及跟踪和停止与未经授权的访问有关的任何活动。这包括:
· 加强对未经授权人员访问的难度;
· 制定管理政策并严格按照计划进行更新;
· 在整个企业中启用多因素身份验证;
· 白名单、添加预先批准的地址、位置和基于端口的警报,以识别人员访问系统;
· 更改所有密码和密码的默认值,并定期更新用户密码。
03
打补丁频率:
必须定期将所有控制和安全设备更新到最新的固件版本。虽然例行的非侵入式修补程序是所有关键控制器都应采用的方法,但至少应在每个年度维护周期内进行修补。
04
运行验证检查:
通过程序、逻辑和可执行验证检查,确保对逻辑、代码和脚本的更改都是授权人员有意进行的更改。模拟的验证环境除了可以帮助运行人员在不冒实际物理系统风险的情况下在设备上进行培训之外,还可以帮助监控逻辑和参数的任何不必要的更改。可以使用工具来自动检测逻辑级别的任何更改,并且可以在受控环境中执行任何此类更改,并保留备份副本,以备在控制器或系统受到威胁时可以恢复。
05
增加物理安全性:
考虑到最近的网络安全威胁,现在一些控制系统供应商在其控制器上配置了物理锁,可以防止在未先通过物理安全层的情况下在控制器上执行任何其它代码。
06
网络安全培训:
网络安全威胁的关键部分来自攻击者,而这些攻击者往往依赖工厂人员的错误。如果没有所有利益相关者就位并意识到他们的责任,就无法充分实施网络安全措施。这包括培训人员如何识别攻击、如何保护其个人身份信息以及如何保护自己免受攻击。应当为各级管理人员、执行人员、运营技术(OT)系统管理员和用户提供此培训。
07
创建事件响应计划:
在偶然的情况下,一个奇怪的错误或疏忽就会给潜在的攻击者敞开大门,网络安全实施工作需要包括一个可行的计划,供人员在安全受到破坏或发现威胁时使用。这些计划一旦制定,就需要通过定期的培训来实践,并提供给所有负责人员,以确保在安全事件发生时迅速采取行动。
08
持续更新的资产登记
为降低风险,请保留所有列出的运营技术资产清单的最新记录,包括交换机、路由器、防火墙、各种网页服务、监控和数据采集(SCADA)软件、历史库服务器、控制器或任何因特网协议(IP)可寻址设备,所有这些都可能使攻击者找到利用不受管理系统的空间。可以通过网络监视以获取最新版本的资产清单,同时可以通过各种工具监视修补程序和任何漏洞。
提升网络安全的4个步骤
发起针对工业系统的网络安全计划,并不像初看起来那样是一项艰巨的任务或需要巨大的投资。如果对预防可能造成的损害方面进行权衡,就会发现企业不考虑对网络安全进行投资是荒谬的。
像任何成功的企业范围内的举措一样,网络安全也需要内部拥护者来维护其事业,并帮助企业采取必要的政策和程序。在大多数情况下,最好的方法是为业务网络的网络安全定义所有者,并控制网络安全。
网络安全必须是整个工厂的一项举措。它可以通过4 个阶段来实现(如图1所示):
图1 :工业网络安全需要成为一项全厂范围的计划, 涉及设计和框架、缺口评估、实施和审计方面的协作。图片来源:Intech ProcessAutomation
阶段1 :设计和框架
设计网络安全管理系统是最全面的阶段,需要最多的时间和精力投入。许多网络安全咨询公司都致力于帮助公司设计网络安全基础设施、政策和程序。该任务包括识别与网络安全相关的所有系统和人员、定义其角色、定义其访问和控制权限以及围绕这些参数制定策略以确保安全运行。网络安全设计阶段,需要利益相关者的大量内部推动和支持,以确保其成功完成。
阶段2 :缺口评估
评估阶段主要包括审查网络安全设计,并根据业务影响确定潜在的漏洞和风险。在设计中解决并更新已识别的缺口。可以使用经验丰富的人员和各种工具来进行评估,这些工具可以嗅探网络级别的数据包并识别异常行为和系统中的漏洞。
阶段3 :实施
评估阶段主要包括审查网络安全设计,并根据业务影响确定潜在的漏洞和风险。在设计中解决并更新已识别的缺口。可以使用经验丰富的人员和各种工具来进行评估,这些工具可以嗅探网络级别的数据包并识别异常行为和系统中的漏洞。
阶段1 :设计和框架
这部分是网络安全政策、程序和实践的实施。在此阶段,外部帮助通常有助于加快实施过程并确保标记清单。实施的关键方法是系统强化。
阶段4 :审计
审计网络安全,包括诸如全面渗透测试之类的任务,以确保网络安全实施取得预期的结果。专业的审计公司通常会处理这项工作,并帮助确保可靠的网络安全。对于新的实施计划,这部分需要最大的外部专业知识。但是,如果内部网络安全审计团队在所有阶段均受过培训,则该团队可以利用其学习和专业知识来审计公司内的其它工厂和设施。
本文来自于《控制工程中文版》(CONTROL ENGINEERING China )2019年10月刊《封面故事》栏目,原标题为:改善工业控制系统的网络安全性