工控网络流量可视化系统设计研究

2022-01-17 08:57贾宝林
自动化仪表 2021年10期
关键词:网络流量工控可视化

连 栋,贾宝林

(上海工业自动化仪表研究院有限公司,上海 200233)

0 引言

在工业控制系统和互联网深入融合的背景下,越来越多的工控网络暴露在外界网络中[1],及时、准确地发现工控网络中的安全隐患成为当务之急。工控网络流量可视化系统根据不同的业务场景对工控网络中的流量进行针对性的聚合分析,在交互页面进行展示,可以帮助用户及时发现可能存在的隐患,从而有效降低工控网络被攻击的风险。

1 工控网络流量可视化系统综述

工控网络流量可视化系统是在工业控制系统和互联网深入融合的背景下设计的[2]。为了帮助用户及时发现和防范工控网络的异常流量行为,需要设计一款适用于工控网络的流量可视化软件,对不同业务维度下的流量信息进行可视化展示,从而帮助用户对异常流量行为进行捕获和分析。通过对市场的调研,不难发现客户对于异常流量所属的目标机器、信息来源、所属应用等信息最为敏感,所以在进行软件设计时需要将市场需求相关的业务结合到该软件中,进行统一的开发和管理。目前,该系统已经实现了网络流量基于用户、应用、流量、链接数的分类展示,同时可以实现流量信息在不同分类下的相互关联。这样不仅可以帮助用户快速查找和定位异常流量行为,还可以帮助用户进行数据分析,制定相应的防范措施[3]。

为了帮助用户更好地制定防范措施,该可视化系统通过实时流量和历史流量两个维度对数据进行可视化展示。在实时模块中,对实时流量按照应用、用户、应用组进行分类展示,三者之间可以进行关联查询和可视化展示。在历史模块中,对历史流量信息按照用户、应用、应用组、应用链接数、用户链接数进行分类展示,同时不同的分类之间可以进行关联查询和可视化展示,以此帮助用户更加直观地查看工控网络的流量信息。

2 工控网络流量可视化系统设计的过程

工控网络的流量信息具有数据来源杂、数据目标多、应用类型丰富、数据量大等特点[4]。因此,工控网络流量可视化系统作为一个面向工控网络的流量分析、聚合、展示工具,需要满足工控网络的使用情况,在较短的时间内能够对大量的流量数据进行不同业务维度的分析、聚合和存储,从而保证展示系统中数据的真实性。本文提出一种贯穿整个系统的设计方法,主要包括需求调研、数据分析、架构设计、部署测试四个部分。每个部分都着重考虑用户的易用性及系统的有效性,以满足用户预期。

2.1 需求调研

随着网络技术的不断发展,互联网的安全问题已经上升到国家战略的高度。与此同时,随着工业4.0、智能制造2025、5G等计划的不断实施,工控网络已经广泛应用于各类工业场景,是国家基础设施建设的重要组成部分[5]。工控网络作为一个国家工控系统的核心,其安全防范工作一直是重中之重。为了保障工业现场设备的信息安全,除了需要对工控现场的数据进行采集和保存外,还需要对工控网络中的数据进行不同业务层面的聚合分析,通过可视化的界面在终端进行展示,帮助客户在不同业务维度对工控网络有一个直观的了解,也便于用户及时地发现和防范网络安全问题。

针对工控网络中数据杂乱且数据量大的特性,需要根据数据中的信息来源、信息目标、应用类型等对数据进行基本的分类,便于用户对数据进行梳理展示,同时将不同分类下的数据进行关联,便于用户更好地分析数据特性。为此,不仅要将实时的数据以可视化的方式进行展示,还要对数据进行保存,为用户提供历史数据层面的可视化展示,帮助用户追溯数据信息。

2.2 数据分析

通过对工控网络中的数据进行捕获分析可知,其中包含了数据源MACIP端口、数据目的MAC\IP\端口、数据应用类型等信息。数据源信息可以理解为用户信息,数据目的信息是设备信息,应用信息可以理解为指令操作信息。由此,可以对数据按照用户、设备、应用等进行基础的分类[6]。

对数据进行聚合分析时,单独一条数据是没有意义的。因此,需要对数据进行定量操作,在数据流的角度上分析数据。在保证用户感受到数据实时性的情况下,确保不丢失重要的信息;在达到机器性能约束的前提下,进行最大限度的实时数据计算[7]。

在进行数据分析时,首先要对用户的需求进行细化,具体到每一个数据指标。按照不同的业务需求对数据指标进行组合,将工控网络中的数据进行统一处理,按照统一的精度和格式进行输出。然后根据不同指标之间的关联性进行聚合分析,将分类信息和聚合信息按照统一的样式在可视化界面进行展示。

2.3 架构设计

对需求进行分析后,基本已经确定需要展示在页面上的数据信息。接下来,需要进行详细的系统架构设计和功能设计,以满足可视化页面的数据需求。此阶段需要考虑业务模块的划分、各个业务的时间阈值、各个业务的数据处理逻辑等多方面的因素,设计出较为合理的系统架构。同时,要考虑数据处理时的高效性、实时性和易用性。在设计架构后,根据测试效果对系统进行完善和优化。

首先,对计算流量的数据源模块进行设计。系统对工控网络中的流量数据进行捕获和结构化解析,并对解析后的数据进行定时存储。考虑到数据的实时性,需要将数据存储到内存式数据库Redis中。因此,流量可视化系统需要定时从Redis中获取一次实时数据,然后再将实时数据转发到数据预处理队列。为了适配特殊情形,需要判断数据是否存在,当数据不存在时返回空数据。

在进行业务功能模块划分时,需要考虑不同业务之间的关联性、代码的复用性、交互的高效性,对模块进行最小且互斥的划分。在不同的业务需求下,只需对不同功能模块进行聚合。根据上述分析,本系统将开发实时流量链接数会话、实时应用、实时用户、实时应用组、统计信息、历史流量、历史链接数等模块。因为模块之间的互斥性,每个模块在数据预处理中进行的业务操作互不冲突且相互补充。按照不同的业务构造基本的应用、用户、应用组等信息集,然后按照不同业务的时间聚合标准,在不同的时间触发机制下,对信息集进行汇整,下发到各自的业务处理队列中。考虑到信息集对于上一轮数据的依赖性,需要在数据下发到指定的队列后,构造相应的临时信息对刚刚下发的信息进行保存,存储到Redis中,方便数据的下一轮分析。系统结构如图1所示。

图1 系统结构图Fig.1 System structure diagram

对于统计规则的业务,只需从相应的队列中获取信息集,按照syslog方式向指定的服务器进行数据传输,为其他业务提供数据支撑。对于实时流量链接数会话、实时应用、实时用户、实时应用组等业务,需要按照业务需求,从相应的队列中获取信息集。若需要进行聚合分析,则将队列中的数据进行关联分析,将结果存储到Redis中,以便快速响应页面需求。对于历史流量的相关业务,需要从相应的数据队列中获取信息集,按照需求对数据进行汇整,然后转存到MySQL中进行保存(因为历史信息的数据量较大,且数据展示的实时性要求不高,故而采用硬盘式数据库MySQL)。当页面对历史流量信息进行相关的请求时,从MySQL中获取汇整后的历史流量信息,按照业务需求进行聚合,然后在页面上进行展示。

2.4 部署测试

系统架构设计与代码开发完成后,需要对该系统进行部署测试,验证设计的合理性,并对出现的问题进行调试修改,以此取得最佳的用户体验。部署测试主要包括功能测试、性能测试、数据准确性测试三个部分[8]。部署测试既可以在实际的工控网络中进行,又可以在隔离的虚拟环境下进行。通过虚拟出大量的工控设备进而模拟出现实的工控网络环境,在模拟环境中进行测试不仅可以方便数据准确性的测试,也不会对实际的工控网络产生影响。

功能测试主要用于验证客户所提及的每个需求都在该系统中得到了实现,以及是否在交互页面进行了良好的效果展示。性能测试主要用于测试该系统在数据量大、数据种类多的情形下能否及时对数据进行处理,实时地将数据分析结果展示在交互界面上。数据准确性测试主要用于测试该系统在各类情况下是否会对数据进行全面的分析,保证数据的可信度。通过部署测试及后续的优化,整个系统达到预期的效果,基本符合设计要求。

3 设计实例

本文为某地区部门设计的工控网络流量可视化系统,经上级主管部门批准,对指定范围内的网络设备进行可视化流量处理,并将处理结果在终端界面上进行展示。根据用户的需求,需要将工控网络中的流量数据按照实时流量、历史流量两个维度和应用、用户、应用组等分类进行聚合分析。故系统在设计之初对工控数据进行了最小指标的数据拆分,从数据可靠性、易用行、实时性、准确性等方面考虑,采用多线程的方式对各类指标进行数据拆分和聚合运算。在此基础上得出了该系统最终的架构方案。按照上述设计方案对该系统进行开发测试,在10 Mbit/s流量的工业模拟环境中,各项功能展示页面的响应时间保持在10 ms量级,充分满足了客户的需求。以此为依据,本文完成了该部门工控网络流量可视化系统的定制化开发和部署工作[9]。

4 结论

本文提出的工控网络流量可视化系统的设计方法,通过需求调研、数据分析、架构设计和测试部署等一整套流程,设计出有效的工控网络流量可视化系统。对工控网络中的数据进行分析展示,可以及时、有效地发现可能存在的威胁,帮助客户更好地对网络风险进行防护[10-12]。该设计过程在一定程度上可以为流量可视化系统设计者提供设计流程上的参考,也可以为流量可视化系统设计人员在架构设计方面提供一种可行的方案。

猜你喜欢
网络流量工控可视化
基于多元高斯分布的网络流量异常识别方法
基于CiteSpace的足三里穴研究可视化分析
思维可视化
基于神经网络的P2P流量识别方法
基于CGAL和OpenGL的海底地形三维可视化
“融评”:党媒评论的可视化创新
AVB网络流量整形帧模型端到端延迟计算
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
热点追踪 工控安全低调而不失重要