★ 上海电器科学研究所(集团)有限公司 陈淑芳,田由甲,聂佳
导读:文章从可信接入的系统架构出发,分析了边缘设备层的安全接入对系统安全性的影响,从而提出了针对工业可信接入的边缘侧可信网关的研究和开发,从可信网关的硬件、软件和上位机等方面进行设计,并针对可信系统中的安全识别技术进行研究分析,以实现对待保护网络的安全防护,达到工厂内网的信息安全隔离,实现可信的工业通信系统。
1 引言
随着工业互联网的发展,工业网络的内外网互通将不可避免地成为一个大趋势。在此背景下,工业网络通信的安全问题在近几年益发突出。
现阶段,主流的基于云平台的物联网架构主要分为设备层、网络层、平台层和应用层。其中,设备层包括传感器、芯片、通讯组模、智能设备等,主要负责数据的采集,是整个物联网云服务平台的基础。设备层所采集的数据的可信性直接影响到网络层数据的安全传输、平台层大数据的处理和分析以及应用层的稳定性和可靠性。而终端设备的种类多、数量大、工作环境复杂,因此很容易受到攻击。不可信的终端设备接入至物联网,将容易导致数据的错误采集、丢失、窃取,甚至威胁到整个物联网环境。一旦被恶意设备节点接入,就会产生各种方面的安全问题,比如注入攻击、隐私泄露、分布式拒绝服务攻击、越权访问操作等。对于数据的安全存储、敏感数据处理、隐私保护等相关安全问题也随之越来越严峻。
因此,本文将针对基于工业可信接入的边缘侧可信网关进行研究,有效保障边缘侧的设备安全,进一步全方面提高边缘计算防护等各类安全问题,对边缘计算和物联网的发展至关重要。
2 系统架构
工业可信接入系统整体采用“中心服务器+上位机软件+网关”的分布式架构,如图1所示。
图1 可信接入系统架构
中心服务器采用类微服务架构,整合异常流量监控模块、恶意样本文件还原与分析模块、工控协议识别模块、工控设备识别模块等多种可信功能模块,实现安全防护功能,并对外开放调用接口API;中心服务器仅与可信网关进行数据交互,不影响局域网中其他设备的正常通信。
上位机软件为用户与可信网关建立Socket通信,控制可信网关从中心服务器中下载网络安全防护等级等配置信息,同时进行分析结果的显示。
网关依据用户选配的安全等级,按需调用中心服务器提供的可信安全模块API接口,实现对所接入局域网的安全防护等级提升。局域网内设备及外网路由器通过端口镜像的方式将所有网络流量转发至可信网关中。可信网关根据下载得到的安全等级信息,以RestfulAPI形式向服务器请求对应的安全模块组件接口,完成对企业内外网络流量监控、分析;通过工控设备安全识别技术等一系列安全防护措施,感知到威胁时,主动切断外网及局域网中感染设备的网络连接,并发出告警信息,实现企业内网信息的安全隔离。可信网关的系统流图如图2所示。
图2 可信网关的系统流图
3 方案设计
用户通过上位机软件,自定义选择需要防护的安全防护种类和等级,下载到可信网关后对可信网关进行安全等级配置,通过此安全等级,控制可信网关从引擎服务器中加载对应的安全模块;同时,可信网关通过工业级交换机以端口镜像方式获取待保护网络的网络流量,并将网络流量转发至网关内的安全模块中进行流量分析,以实现对待保护网络的安全防护,且不会对原工业系统的正常工作产生任何扰动,因此,可信网关的设计包括三部分,一是硬件设计,二是软件设计,三是针对可信网关的上位机设计。
3.1 硬件设计
可信网关将采用高性能边缘计算网关硬件平台、飞凌FCU2303+1046A嵌入式控制单元实现。该硬件平台基于NXP公司的LS1046A四核处理器设计,ARMCortex-A72架构,主频最高1.8GHz,内存2GB DDR4RAM,数据吞吐量最高可达2.1GT/s。搭载8路千兆网,10M/100M/1000M自适应。可被应用于边缘计算、能源物联网、智慧城市、工业自动化、视频监控等领域。
3.2 软件设计
可信网关软件架构如图3所示。
图3 可信网关软件架构图
可信网关内置系统常驻上位机响应进程(采用UDP协议与上位机通信),可实时响应上位机下发的安全等级配置信息,并将其缓存至本地MySQL数据库中。之后,根据用户定义的安全等级,从中心服务器处下载调用对应的安全模块组件(采用Restful API实现)。安全模块组件包括异常流量分析、APT家族统计、恶意脚本拦截&还原、工控设备指纹库、工控设备识别、工控协议识别等。
与此同时,可信网关以端口镜像方式收集局域网内交换机提供的全网络流量数据,并将这些流量数据同步喂给相关的安全模块组件以获取分析结果,并将产生的分析结果实时地反馈至上位机软件予以展示。可信网关软件功能图如图4所示。
图4 可信网关软件功能图
可信网关软件功能具体包括:(1)上位机配置响应:监听本地UDP端口,获取上位机发送的UDP数据包,并进行JSON解包。(2)MySQL配置数据库:将上位机配置响应逻辑解析得到的数据字段存储到对应的MySQL数据表中。(3)Docker容器管理:可信网关本地的安全模块皆以容器化方式运行,可信网关根据用户配置的安全等级,从引擎服务器中拉取对应的安全模块镜像文件,并在网关本地以Docker方式部署、执行。(4)镜像端口流量转发:负责拦截连接工业交换机的镜像端口上的所有网络流量并将之转发至当前挂载的Docker服务中。(5)安全模块执行结果转发:负责将Docker服务运行的结果以JSON报文形式传递给上位机软件,由上位机软件进行解析后,给ECharts图标控件进行图形化显示。(6)磁盘清理:定期清理本地的流量缓存数据、恶意文件脚本等。(7)守护进程:确保可信网关本地常驻进程的正常运行。
3.3 上位机设计
上位机软件中,允许用户自由选配可信网关安全等级,下载并调用定制化的安全模块组件API实现对内网流量的实时监控;支持将网络流量分析结果在UI界面进行实时展示。
上位机软件采用工具箱形式封装引擎服务器中提供的安全模块组件。所有安全模块组件均以仪表盘形式被罗列在界面左侧的工具箱中,用户可通过自由拖拽的方式将仪表盘拖放至界面右侧画布中,实现软件定义配置过程。仪表盘部署完毕后,点击配置下发按钮;上位机将用户配置的安全等级信息下发至可信网关中。可信网关根据安全等级配置从引擎服务器处下载对应的安全模块组件并调用模块接口实现安全防护,同时点亮上位机软件画布中的仪表盘,实时显示安全模块组件的流量监控数据。
UI界面主要分为工具箱和画布两个区域。工具箱中以仪表盘形式封装了所有安全模块组件;画布中呈现用户部署的仪表盘阵列,并实时展示各仪表盘的网络流量分析结果。UI界面操作原理如图5所示。
图5 软件界面操作原理示意图
UI界面仪表盘采用PyQT与ECharts图表形式显示可信模块的网络流量分析结果。根据分析内容、分析结果的数据结构不同,可选用包括柱状图、曲线图、饼图等多种类型的图表进行图形化表现。
4 安全识别技术研究
中心服务器通过加载一些安全组件,实现系统安全防护功能。其中,工控设备识别技术对可信网关来说至关重要,因此,针对可信功能模块中的工控设备识别模块进行研究,主要从以下几个方面对工控设备进行识别:
(1)通过标准工控协议对工控设备进行识别
对于这一类工控设备所对应的工控协议,包括DNP3、Modbus、BACnet等协议,它们都有着一些相对应的请求获取设备的厂商和模块的方式,通过这些请求功能,就能比较容易获取到厂商和模块信息,从而能够比较准确地识别出一个工控设备并同时得到这些工控设备的一些相关的设备信息。比如Modbus协议通过默认端口502,功能码43可以获取设备厂商和产品模块信息。
(2)通过私有工控协议对工控设备进行识别
私有的工控协议通常是为了实现对使用这些工控协议的工控设备进行特定的数据传输或者是远程的控制。因此,如果能够找到使用这些工控协议的疑似工控设备,通过相应的交互方式、相应的内容,就能够比较精确地判断该疑似设备是否是使用该工控协议的工控设备,而同时,对于使用了这些工控协议的工控设备,也能够通过其相应内容来获取到这些工控设备的一些相关的设备信息。比如Siemens S7协议通过默认端口102,读SZL可以获取PLC的模块信息、版本、串口等信息。
(3)通过传统的服务特征对工控设备进行识别
对于某些厂商的一些工控设备而言,通常会开放一些类似于80端口HTTP、21端口FTP、161端口SNMP等传统的服务,从而达到对工控设备的运行状态、运行数据的监管和运行方式的控制,这些工控协议在采用这些传统的服务时都会有相应的服务特征标识,通过这些特征标识就可以用于判断疑似设备是否是一个工控设备。比如Moxa的Nport设备,通过HTTP服务的80端口,根据特征Server:MoxaHttp对设备进行识别。
通过以上原理,可以知道对于一个工控设备的获取,主要是由特定的工控协议的私有特性实现的。而对于私有特性也有着对端口的要求,因此,工控设备识别设备分为以下三步:
(1)获取IP和端口:判别IP和端口是否开放。系统需要能够在较快的时间内处理一个比较大的IP地址段,同时还要确保一定的准确率,而且输出是一个IP和端口的二元组,如果一个IP对应多个端口,对于这个IP,存在着多个二元组。
(2)对工控设备进行扫描和识别:通过TCP的无状态极速扫描,来识别出某个IP是否是一个工控设备。当探测到了一个工控设备时,通过其返回的信息可以提取出一些硬件(例如厂商名、设备类型、设备型号等)和软件(例如操作系统型号、操作系统版本等)等信息,而在此系统需要能够提取出这些信息,进一步识别出信息,并将识别和处理之后的信息存储在数据库之中。
(3)工控设备的信息扩充:当系统通过扫描IP以及相应的识别程序获取到了一个暴露在互联网上的工控设备之后,能够获取到的是它的软件和硬件信息。但是,其它的一些信息需要进一步补全,例如该工控设备所属的国家、城市等信息无法直接从扫描过程中得到。但是,这些信息在展示的过程中却是很有必要的,比如获取到国家信息,才能进行后一步的统计;获取到地理信息,才能将该工控设备标注在地图上。因此此步骤需要的是从数据库中读取已确认是工控设备的IP,通过程序从中获取到更多相关的信息,并更新数据库从而能够更好地给前端返回信息。
5 结语
为了保障边缘侧终端设备的可信接入,提出了一种基于可信接入的可信网关研究,通过对系统架构和功能的研究,从可信网关的硬件、软件、配置、关键技术等方面入手进行阐述,通过此设计实现在工厂内外网之间的通信设备和通信协议的识别,实现对工厂外网的通信的未知威胁监控,达到工厂内网信息安全,满足边缘控制器等工业设备的工业网络通信安全防护需求,保障工业设备可信接入安全,深度保护工控设备安全。同时,无扰实现可信的工业通信系统,不需要改变原有系统功能和网络结构,不影响原有系统运行和信息传输性能。
作者简介
陈淑芳(1984-),女,江西宜春人,工程师,硕士,现就职于上海电器科学研究所(集团)有限公司,研究方向为工业自动化及嵌入式应用。
田由甲(1988-),男,上海人,工程师,学士,现就职于上海电器科学研究所(集团)有限公司,研究方向为工业自动化及嵌入式应用。
聂 佳(1981-),女,湖北武汉人,高级工程师,硕士,现就职于上海电器科学研究所(集团)有限公司,主要从事工业控制及通信方向的技术研究工作。
来源 | 《自动化博览》2022年8月刊
声明:本文来自控制网,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。