APP下载

一种测量工业控制系统网络健康与安全性的方法

2021-03-29徐志杰朱凌云金鑫

石油化工自动化 2021年2期
关键词:网络通信数据包监控

徐志杰,朱凌云,金鑫

(1. Kenexis咨询公司,天津 300270;2. 北京上德自动化系统有限公司,北京 102502;3. 辽宁石油化工大学 信息与控制工程学院,辽宁 抚顺 113001)

确定性是设计并操作工业控制系统(ICS)的工程师需要考虑的主要内容之一。ICS需要在一定的时间内对网络发送的信息做出响应,否则系统可能会处于不稳定和/或失效状态。能够影响系统确定性的因素有很多,如单一设备性能等。虽然在设计系统时可以考虑其间的某些因素,然而系统内部和系统间的交互以及安全性设置等因素有时难以预先确定。因此,需要在测试和操作期间测量并收集数据,以评估系统的确定性。

目前,中国国内诸多企业在ICS安全方面仍存在误区: 他们认为ICS只要未与互联网连接、黑客便无法攻击ICS。事实上,企业的诸多工业控制网络均为“开放式”,系统与系统之间也未进行有效隔离。尽管企业内网安装了防护设施/软件,并实施了多种网络安全技术,但随着信息化的推进以及工业化进程的加速,工厂信息网络、互联网,以及其他因素导致的信息安全问题正逐步向控制系统扩散,继而对工厂生产控制的安全稳定产生了直接威胁。

1 常用的网络安全监控方法

1.1 设备报告方法

ICS网络协议[1]是从较为陈旧且基于串行或总线的现场总线网络发展而来。虽然它们目前可以在以太网和传输控制协议(TCP)/用户数据报协议(UDP)/ 互联网协议(IP)的网络上运行,但设备在网络上交互的大部分方式均基于该类现场总线。当现场总线上的设备需要通过某种形式的总线连接网络时,则必须要限制通信流的数量、消息的长度以及周期性。如此一来,便催生了一些限制网络外来流量的不同方法。

一种方法是让复杂控制器充当网络上的主机,而输入/输出(I/O)设备充当从机。主机可以命令从机执行一些操作,也可以通过网络向从机请求信息。除非主机发出特别请求,否则从机不会通信。

另一种方法是“定期报告”,它允许I/O设备和控制器以对等的方式交互。控制器和I/O设备在启动通信流时会例行交换信号,该种交换会为该通信流建立参数,包括通信报文中包含的信息和预计周期。I/O设备和控制器独立工作并监视通信流中的错误。如果通信过程中出现错误,大多数控制器均能借助其内部方法重新建立通信流。

第三种方法称作“异常报告”,它在某种程度上介于主/从报告和定期报告之间。在该方法中,控制器能够以某种周期性的方式与I/O设备通信,以确保这2台设备仍然运行,称为“心跳”(heartbeat)。一般来讲,“心跳”通常具有相对低的周期性。I/O设备会在这些“心跳”消息之外基本上保持休眠状态,以等待某些条件得到满足。当该条件满足时,例如: 传感器测量值超出某个范围,I/O设备将向控制器发送一条指示异常已经发生的消息。

1.2 积极指标与消极指标的对比

关于指标报告,它可以是积极的,也可以是消极的。积极指标是指被报告为能够表示某个物理量的特定值(布尔值、整数、浮点数等)指标。积极指标允许数值被另一台设备和/或系统用作某种流程的输入(例如: 控制函数)。

对于过程控制周期而言,积极指标通常是输入控制回路并作为每个周期中被使用的过程变量。在检查每个控制周期时,除非满足某些特定条件,否则不会主动使用消极指标。如果出现该类情况,消极指标可能会导致系统进入另一种状态,或者在主控制回路中执行不同的子回路。然而,在正常操作期间,控制周期通常不会主动使用这些指标。

安全指标通常被报告为消极指标。杀毒软件不断地在后台检查系统,但在错误发生之前通常保持“后台运行”状态。如果检测到已知的病毒签名,它就会提醒用户出了问题。除非用户特意检查软件本身的状态,否则杀毒软件将始终保持静默。为了维持态势感知,无论错误或特殊情形是否出现,需要了解整个系统在任意时刻的执行情况。相应的趋势变化可在达到报警触发值之前建立。

1.3 网络安全监控及安全信息/事件管理

网络安全监控(NSM)是“收集、分析、升级指示和警告,以检测入侵并对其响应”。NSM表示“一种可以找到网络入侵者并在其破坏企业之前对其采取措施的手段”[1]。NSM通常涉及从网络中的不同来源收集所有可用日志和报警信息,并分析其感染指标(IOC),注意: 该类信息有可能成为流向不法分子的网络通信流。

NSM对于检测已知和正在出现的威胁非常有效,因为它并非一种能够容易被击败的单一产品。NSM通常会从多个不同的来源收集信息并整合,从而形成较好的态势感知。由于NSM更多的是一种监测网络IOC的方法,因此,其更有可能在攻击出现时,能够通过使用单一类型的产品或技术捕捉到攻击。

1.3.1网络安全监控的优点

NSM特别适合大型计算环境,在该环境中,传感器可以布置在关键点位上检测IOC。

ICS网络结构的上层结构如图1所示。商业系统和服务器通过企业防火墙连接到因特网,通过另一个防火墙连接到ICS网络。隔离区(DMZ)用于防止ICS网络和商业网络之间的直接通信。ICS服务器与DMZ中的服务器通信,DMZ中的服务器与商业网络中的服务器通信。

图1 ICS网络结构的上层结构示意

上层大多数网络通信流会跨网络边界,所采用的协议是较为常见的IT协议。通常来讲,在上层运行的系统是更为常见的硬件和软件平台,由于跨区域边界的通信流可以被监控,因此对于NSM非常重要。在区域边界部署NSM传感器可以较为便利地监控网络通信。由于上层的大部分流量均跨越了区域边界,因此更容易监控和分析任何可疑情况。

NSM传感器可以更容易地部署在这些常见的硬件和软件平台上。代理软件可以部署在服务器上,实时监控系统参数,而不需要专业工具或具备ICS经验的人员。这就使得NSM传感器可以通过网络在更多的区域整合[3],从而能够更早地发出IOC警报。

1.3.2网络安全监控的缺点

虽然NSM在网络结构的上层较为有效,但在下层却较低。ICS网络结构的下层结构如图2所示。在该示例中,有多个能够在基于以太网的工厂控制网络和现场总线网络之间通信的小型工作单元,这些工作单元表示生产装置中的机扑(robotic)工作单元、单一加工区域中的远程控制站。图2所示的工作单元之一位于一个能够通过无线电线路与主装置控制网络通信的远程站点。工业控制网络还包括操作员人机界面(HMI)、工程师工作站和专用控制设备。

图2 ICS网络结构的下层结构示意

下层网络中的大多数网络流量会在每个工作单元中“停留”,与留在工作单元内的通信流相比,只有少量通信流能够进入或离开工作单元到达主装置控制网络,如此则导致在应用常规NSM工具和技术时出现问题。

网络通信通常会在某一区域内“停留”且从不跨区域边界,意味着网络中部署NSM传感器的典型方式需要更改。此外,为了获得网络通信流的态势感知,需要在网络中部署专用的NSM传感器,传感器需要添加到每个工作单元中,以便在出现问题时进行检测。

由于该下层网络中的硬件和软件平台更加适合于ICS,因此需要在每个工作单元部署新的系统。在一个拥有大量工作单元的装置中部署NSM传感器的成本可能会迅速增加,因为每个传感器的成本至少为几万元人民币。此外,传感器需要各自通信回主NSM服务器,该服务器可以围绕整个网络收集数据,这意味着工厂控制网络需要添加大量的网络通信流,以维持连续监控。NSM传感器必须是ICS协议感知,以检测任何有价值的IOC,因此增加了系统的成本和复杂性,同时也限制了工具和技术的可用性。

2 一种更优的网络可靠性监控方法

2.1 针对下层的网络可靠性监控

网络可靠性监控(NRM)的概念在本质上与NSM非常相似。NRM使用多种来源的数据来分析系统的性能,主要区别在于NRM使用网络性能的主动测量来建立图像,并不需要实时监控。

NSM的一个问题是能否在网络通信流中捕获IOC,如果其中一个NSM传感器未报告任何信息,则无法提供有关网络的足够信息,从而无法确定系统是否运行正常。

通过使用实际网络通信流的积极指标,NRM可以创建网络执行方式,它能够主动测量不同的网络性能特征,并用它们来确定ICS设备是否按预期运行。

虽然可以实时使用NRM,但通常情况下并非如此。ICS通常维持不变,因此测试是定期进行的,或者在重大变更之后进行。NRM可以在工厂验收测试(FAT),现场验收测试(SAT)和调试期间使用,以建立系统的基线签名。然后,额外测试期间,可以比较新签名与基线签名,如果观察到变化,或数据集中出现异常,则需要分析根本原因,以确定发生变化的原因。

由于NRM无需通过实时监控来寻找IOC,因此可以减少监控大型网络所需的传感器数量。单一捕获设备或少量设备可以在不同的相对较短的时间(分钟、小时或天)连接到ICS网络,这些捕获设备并不需要通过网络与服务器通信,因此工厂控制网络将不受到NRM的影响。

2.2 网络可靠性监控工具与技术

NRM既简单又复杂。事实上,有许多可用于开展NRM的工具,Wireshark[4]是一种开源数据包捕获、解码器软件包,它已经成为事实上的标准。许多ICS协议均针对Wireshark开发了数据包解码器,因此并不需要使用专用软件。Wireshark软件能够生成包含不同网络数据包字段的简易电子表格文件。

Wireshark软件通过某些参数过滤通信流,由于所有的数据包都在单一文件中相互交错,所以Wireshark软件具备依据网络数据包中的某些参数过滤通信流的能力非常重要。所有通信流均应进行分类(广播通信流、多播通信流,和单播通信流),以便分析它们的性能和可靠性。虽然生成通信流过滤器的过程通常都很冗长,但如果拥有以前没有内置到Wireshark软件的常规数据包解码器中的专有或未知协议,则该过程可能会变得更加复杂。

由于城乡规划工作的开展与政府部门密切相关,因此,在该学科走向计量化过程中需要考虑政府方面面临的挑战。具体表现为:

待过滤网络通信流且生成可用于分析通信流的数据文件之后,即可分析通信流。这些通信流的图形分析能够让工程师识别数据中的异常。周期性抖动的网络通信流分析如图3所示。图3右侧所示为测量数据包间隔(MPI)与测试时间的对照散点图,该图显示的是时间增量与时间的关系。MPI表示同一网络通信流中后续数据包之间的测量时间。由于ICS网络和系统严重依赖于设备之间的确定性通信,因此,网络通信流需要尽可能地接近“确定性”频率。周期性抖动表示实际网络通信流数据包相对于所需数据包间隔的可变性。在图3中,期望的数据包间隔是10 ms,MPI的平均值为10 ms,最小到最大周期性抖动约为500 μs。

图3 周期性抖动的网络通信流分析示例1示意

图3左侧为数据频率计数图,它能够提供频率分析的某种测量,但并不会像傅里叶分析那样完整。然而,这足可以帮助工程师理解数据中的可见波段。虽然图3所示的图形相当稳定,大多数数据包均出现在中心处,分布较为集中,且无长期事件发生,但并非所有设备皆如此。图4所示为单独测试期间另一台设备的网络通信流。平均MPI为1 ms,周期性抖动约为210 μs,表明该平均值附近的分布较好。设备分析图中大约26 s出现一次拍频图形。

图4 周期抖动的网络通信流分析示例2示意

尝试理解周期抖动分析图中观察到的拍频图形或异常的最大难题之一是找到拍频或异常的根本原因。设备结构问题可能是操作系统垃圾收集、杀毒软件检查和更新,以及屏幕操作等问题。另外,网络基础设施也可能存在问题,诸如: 电磁干扰(EMI)、信号劣化或腐蚀。ICS环境并不一定总是有利于针对办公环境的网络基础设施接线和设备[5],有的时候,大量的机械、化学品、颗粒物等因素有可能会影响网络通信性能。另外,也有可能在实际发生安全事件的情况下,拍频图形或异常情形上会呈现出IOC。若缺少可以用于比较的基线通信流,则很难对此加以确定。

2.3 基线测试

寻找网络签名异常时,开发良好的比较基线非常重要。由于条件不断变化,因此采用IT设计良好的基线可能会很困难。然而,在ICS环境中却很容易。系统在开始运行之前要经过多次测试,包括: FAT,SAT和调试,每次测试期间,均应该捕获基线签名,这些基线捕获可用来与将来的签名进行比较。

除了系统初始测试之外,ICS一般不会定期变更,除非系统中的某些改变表明ICS设备或程序正在发生改变,否则系统将会按照安装时的方式运行,这有可能是由于工艺变更,设备更换,程序效率变化,或者其他因素所致,但这些并非正常运行条件。事实上,系统可以在不做任何变化的情况下运行数年,除了静态环境之外, ICS开展变更管理时必须要一致。最终用户无法准确地记录每一次变更,但对系统进行重大变更时,通常会形成文件记录。捕获设备签名应作为变更管理过程的一部分,如此一来,便可依据新配置的需要更新基线签名。

ICS设备在检验和停机期间也要定期测试。测试频率有可能是每年一次或者几年一次,但通常在某个固定的时间段进行。在此期间,还应该为系统收集签名。

3 网络可靠性监控的测试与数据分析

3.1 实时测试与定期测试的比较

现实当中为了保持态势感知,有可能需要实时分析这些签名。实时测试要求在整个网络中安装监测传感器,这些监测传感器需要有足够实时捕获和分析网络通信流的能力,然后将其报告给相应的监测系统。为了应对监控系统增加的通信流,有时需要调整基础设施的规模,操作人员必须负责监控分析结果,这是其正常管控职责的一部分。所有这些因素使得可靠性数据的实时监控对操作运行的影响大幅降低,多数情况下,通过应用实时NRM降低成本不一定合理。

使用NRM的更简单、更有效方法是使用少量临时部署的NRM传感器。这些NRM传感器可以根据环境的临界性,以不同的频率在整个系统的选定点收集和分析网络通信流[5]。

在某些时段,通过使用少量能够与网络连接且性能更为优良的传感器,便可以不必修改网络基础设施。通信流可在所期望的网络基础设施上就地捕获,因此不必穿过防火墙、隔离区或其他网络设备来收集数据。另外,还可以在整个网络的不同位置收集数据并对数据进行后处理。工程师可以在不同的时间负责签名比较,而不必在捕获数据时实时查看签名。

3.2 自动测试与分析

尽管可能没有必要连续监视NRM系统,但最好能够让捕获和分析过程自动化。在正常的ICS环境中,数据的采集量和通信流的数量会使得人工分析变得非常困难且极为耗时,对于以小时计的通信流捕获,可能需要花费数天的时间来分析收集所有通信流(主要取决于分析的难易程度)。因此,在选择使用NRM时,首先需要考虑其流程自动化,在查看多个捕获文件时,采用图像形式的Wireshark等工具进行通信流分析是不可取的。

大部分通信流分析都可以通过编写脚本来实现。许多电子表格处理程序均有某种形式可以用来导入的文件并自动对导入文件进行一些计算的脚本语言。工程师仍需要对该类脚本文件进行某种形式的分析,但大部分的分析可以由计算机来完成而无需人工交互。

3.3 数据分析与通信流统计

在查看图4所示的图形时,有必要知晓图中所给类型的拍频图形为正常运行模式,还是异常运行模式。由于在很短的捕获时间内通信流捕获的数据集会非常大,因此有必要将数据转换为某种形式的数理统计数据,以便能够随时间的推移对其监控和比较。

查看数据最简单和最常见的一类方法是平均值、最小值和最大值,该类型的统计数据作为其维护特征的一部分,很容易从设备本身获得。然而,它们并不能说明全部情况,为了更好地了解正在发生的情况,需要应用其他统计和数学手段。

另一个需要计算的简单统计指标是标准差,该指标有助于对通信流的理解。如果通信流正常情况下呈现紧凑分布,但随着时间的推移开始变宽,表明可能有问题出现。问题的根本原因有可能很难确定,但是对根本原因的调查可能会给出一些影响性能的新因素。

另外,标准差还可用作IOC。针对测试系统进行的“中间人”(MITM)攻击的周期性抖动分析如图5所示[6]。在本例中,MPI的平均值保持不变(约10 ms),但分布有明显变化,在约8 ms和约12 ms时出现了旁瓣。该类情况在标准差分析期间很容易被发现。

图5 显示MITM攻击的周期性抖动分析示意

其他类型的分析也可以提供更多的信息,诸如: 快速傅里叶变换、卷积,以及相关函数等均可用来更好地理解通信流。鉴于这些算法能够在中等硬件条件下快速运行,所以应予以考虑。它们在计算时的确需要一些时间,因此可能不太适合首次数据分析,然而却较适合于更为深入的二次或者三次数据分析。

作为能够初步了解一些最基本数据集中所包含的各种通信流的均衡且快速的统计数据集[7],可以使用的基本指标集包括: 平均值、最小值、最大值、标准差。

对于一个正常的ICS网络而言,这四种统计量能够在极短的时间内(近乎实时)计算出来。通信流捕获可按一定的频率收集,通常是30 s或60 s的周期,在获得下一个通信流捕获文件之前,可以计算出该类通信流的统计数据。如此,基本数据分析就可以在近乎实时地条件下进行,如果需要更为深入的分析,则可以使用上文提及的数学和统计方法重新分析通信流捕获。

统计量的计算除了方便、快速之外,还容易被工程师和操作人员理解。上述指标可以在仪表板上显示变化趋势,且随着时间的推移,很容易比较。如果数据明显超出范围,则表明已出现问题需要调查。在许多情况下,仅仅知道状况正在发生变化就足以提醒操作人员注意ICS环境中的潜在问题。并非所有的指示都会导致重要的报警,但它们可能会表明,应该开展一些维护活动,以便使系统回到其期望状态。这些统计数据提供了良好的信息集,可以使工程师理解数据,而不会被过多的数据所淹没。

4 结束语

NSM对于许多系统来说都是一个好办法,但是它并不是针对ICS环境的下层网络而设计的,许多现有的简单工具,均可用于ICS环境的各层来开展某种形式的NRM。然而,本文中讨论的工具和技术更适合于网络结构的下层,在ICS环境中,不需要连续监控NRM。事实上,为了适应连续的NRM有可能需要对网络结构进行大规模的更改,因此周期性的、本地化的测试可能是一个更好的办法。

测试和数据分析的自动化对NRM来说非常重要,这是因为随着网络变得越来越大,分析通信流数量所需的时间呈数量级递增。分析通信流所需的工具和算法并不需要非常复杂,就能够基本了解ICS环境,当发现异常时,可以根据需要进行更为复杂的分析,但在正常运行中通常则不需要。

猜你喜欢

网络通信数据包监控
二维隐蔽时间信道构建的研究*
The Great Barrier Reef shows coral comeback
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于网络通信的智能照明系统设计
你被监控了吗?
C#串口高效可靠的接收方案设计
计算机网络通信常见问题与技术发展研究
基于网络通信的校园智能音箱设计
谈计算机网络通信常见问题及技术发展
科学训练监控新趋势——适时监控