船舶工控系统安全防护体系研究∗

2020-08-06 09:04沈辉焱郭思远
舰船电子工程 2020年6期
关键词:工控漏洞船舶

沈辉焱 朱 军 郭思远

(1.连云港杰瑞电子有限公司 连云港 222006)(2.中船重工信息科技有限公司 连云港 222006)

(3.内蒙古工业大学理学院 呼和浩特 010000)

1 引言

随着科技的发展,船舶自动化和信息化的程度不断提高。船舶工控系统在自动化的推动下变的更加的智能。更多的新型船舶利用自动化技术将监控船舶轮机系统,智能化驾驶舱以及船舶管理信息系统等多个船舶系统统一管理,向船舶信息集成化船舶综合平台管理系统方向发展。随之,船舶计算机网络系统的安全问题业越来越突出。船舶目前安装使用的管理信息系统大数是两层架构,其中包括高级船员的办公计算机,称为客户端,另外还有服务器,利用局域网对船舶进行信息管理[1];现有的船舶信息管理系统采用电子邮件的形式与岸基的船舶管理信息系统来进行数据的交换,从而达到船舶岸边信息数据实时同步的目的。由于船舶没有及时更新补丁,病毒肆虐,通常会导致岸上船舶信息管理系统的数据库服务器、邮件服务器、船员的办公计算机、船舶管理信息系统数据库服务器之间沟通受阻[2]。因此,本文通过船舶工控系统的网络安全控制技术来进行测试验证,并对整个的安全策略以及安全管理框架进行了新的研发,确保船舶工控网络系统安全可靠的运行,满足船舶管理信息系统正常运行、业务运营和日常管理的需要,实现了船舶网络系统的稳定性,确保网络服务的持续性。进一步防范对船舶系统的非法访问及非授权等问题。从根本上杜绝了有意识或者无意识的入侵攻击,保证了船舶的信息互通的完整、安全、及时性,实现船舶网络系统的快速恢复,确保船舶工控网络的安全运行和有效管理。

图1 船舶制造总体架构

2 船舶工控安全现状及安全分析

近年来,针对工业控制系统的网络攻击事件逐年增加,显示出工业控制系统在安全防护方面的严重不足,并且工控系统入侵事件出现在能源、水利、交通等行业。船舶行业在众多的行业中发展缓慢,而且工艺过程复杂,在船舶生产建造过程涉及钢材分类加工处理、结构件分段制造、结构焊接装配、结构检验、涂装、系泊试验等多种流程和工艺,各道流程工艺均需要专门的工作场所,并且位置分散,工作人员众多[3]。因此要采用信息化手段进行提高效率,比如采用数控机床、工控信息采集、检测工业设备、工控焊接设备、工控吊装设备、工控试验等工控系统[4]。

随着智能化的不断提高,病毒或者恶意代码的代入时有发生,船舶工控系统面临严峻的安全挑战,综合行业需求及安全隐患因素,船舶工控系统面临的安全主要考虑以下几个方面。如下,高精类数控设备通过使用U盘传输或一旦连入管理网,可能会被传染病毒或恶意代码[5];在远程维护高精类机床设备时可能会有相关生产数据的信息泄密[6];未对工业控制网络区域间进行隔离、恶意代码监测、异常监测、访问控制等一系列的防护措施[7];未对操作站主机及服务器端进行安全配;对人员的操作未进行审计记录;未统一对设备及日志进行统一管理以及相关人员进行过体系化的工业控制系统安全培训和安全意识培养;未针对相关现场设备及操作站的安全配置进行统一的配置制度要求,使得相关设备安全配置较弱[8~11]。

3 船舶制造系统架构及防护体系架构

随着国家对船舶行业的重视程度越来越高,很多船舶企业在船舶制造、船舶智能方面取得了很大进展,体系架构也越来越完善。因此,在现有的体系架构中如何考虑安全防范问题,成为了目前关注的焦点[12]。图1为船舶制造行业经典体系架构。

从船舶制造总体架构来看,分成三个部分:现场层、控制层以及管理层。现场层对生产设施的现场设备的各项信息做数据搜集,其中主要包括:现场所有的传感器设备以及执行器中的输入输出数据。控制层主要包含了检测和控制在整个船舶运行过程中的系统。主要包括操作员站,工程师站、上位机下位机等,对一些异常数据进行及时的处理和反馈,从现场层实时收集的数据,在控制层进行数据的对比分析与正常数据相比较最终实现监测控制的功能。通常采用控制算法,将数据输入到相关的控制执行器进行相关的动作执行,控制层和现场层通过数据与控制系统构成一个闭环的反馈系统,实现控制层面的连续控制、顺序控制、批量控制和离散控制等。管理层主要是对整个船舶工作的生产调度,并做详细的生产流程规划,保证船舶的可靠性、现场层的数据监测数量是否增加以及控制系统的优化。

根据目前智能化船舶制造总体架构,结合工控系统安全防护思路,制定船舶制造安全防护体系,实现船舶安全生产,防护体系架构图如图2所示。

从边界控制、内部监测两个层面。边缘主要包括一线传感器、网络设备、服务器、操作站等。监测层面包括对一线数据准确性的检测以及各设备数据的监控和报警。把各类信息进行分类管理并提供查询功能,对各部分的报警信息进行统一管理分析,并做相关性数据分析以及对整个系统的安全风险的趋势做进一步的分析。如图3所示。

图2 船舶工控系统防护体系架构

图3 船舶工控系统防护手段

4 实验平台搭建及关键系统

4.1 船舶工控安全仿真平台搭建

建设面向船舶行业工业控制系统网络仿真实验平台是以船舶行业工业控制系统安全测试为核心目标建立一套工业控制系统网络测试床,要搭建的系统级测试环境是一套半实物仿真测试床,采用真实的工控设备来建设船舶行业工业控制系统网络的现场设备层,系统的信息层则采用仿真软件来实现,仿真平台搭建如图4所示。

根据“边界控制,内部监测”的防护思路。采用统一管理的方式,把现场的数据采集设备、工业控制设备、网络服务器设备等集中管理。利用网络审计的方法对所有采集到的数据信息进行加工处理,并做数据准确性分析,在此基础上,把数据进行分类别管理,以便更加便捷地发现数据异常。如图5所示。

4.2 针对工控系统上位机操作系统漏洞入侵防护

扫描漏洞针对出现漏洞的数据库,利用扫描的方式对指定的远程或者本地计算机系统的安全性进行监测,提出利用漏洞检测渗透攻击行为的一种方法[12]。一般分为以下几个步骤:对给定的目标范围进行存活判断,生成存活主机列表。对存活主机列表中的主机并发开启主机扫描模块。主机扫描模块对目标IP进行端口扫描和服务判定。主机扫描模块根据用户指定的模板并发调度扫描插件。扫描插件依据自己的规则判定目标是否存在对应的漏洞,并把获取到的漏洞信息和Profile信息写入扫描结果数据库。插件有依赖关系,只有满足必要条件时插件才会被真正调度。例如:模板中指定了扫描IIS漏洞的插件,但目标主机上没有运行IIS时这些插件都不会被调度。到达设定的超时时间后还没有结束的插件会被系统强制终止。到达设定的Socket超时时间后还没有反馈的操作会被系统强制返回。进度信息中,任务调度模块依据已完成插件或主机所用的平均时间来估算剩余时间。任务结束后,智能分析模块被调度,分析模块对收集到的Profile信息进行分析,以此对漏洞信息进行验证,自动消除误报和识别漏报。

图4 船舶工控安全仿真平台搭建思路

图5 工控网络安全测试简易网络拓扑图

通过windows开启的服务漏洞,主机存活发现、端口发现、系统和服务识别等,RSAS会根据识别的系统与服务信息调用RSAS内置或用户外挂的口令字典,对目标系统进行口令猜测,口令猜测成功后将启动漏洞扫描,进行渗透测试提权,并远程控制上位机,对远程PLC更改指令进行启停、赋值等操作包括更改控制逻辑等。

通过工控漏洞扫描操作站漏洞,设备使用经过授权的用户名密码远程登录到目标主机,执行特定的命令,收集目标主机的版本、配置、服务等信息,通过和漏洞库对比分析,发现目标主机是否存在漏洞,发现漏洞及时封堵;工控异常监测发现未知连接、报警;工业防火墙进行防护。

4.3 针对工控系统工控协议进行的入侵防护

针对目前常见的协议(如TCP、UDP、HTTP、HTTPS、ICMP、FTP、TELNET、Modbus协议、RS-232通讯协议、RS-485通讯协议、HART通讯协议、MPI通信、串口通信、视频协议、数据库等),对工业网络协议的内容以及数据来进行全面的检测。例如,Modbus协议规则可以针对Modbus协议的设备地址、寄存器类型、寄存器范围和读写属性等进行检查,能有效地防范各种非法的操作和数据进入现场控制网络,最大限度地保护控制系统的安全。利用S7协议封装远程停机指令攻击包。

智能协议识别采用被动检测的方式从网络中采集数据包,并进行数据包的解析,智能地与系统内置的协议特征、设备对象等进行匹配,生成可供参考的网络交互信息列表,帮助用户以最快捷的方式了解和掌握网络中的业务通信。

用户可以在测试模式下使用策略管理的辅助配置功能生成辅助规则,将网络交互信息与实际业务进行比对,给每一个网络交互过程配置适当的防护规则,从而准确、快捷地完成防护规则的部署。利用基于Snort的工控网络数据异常检测,对工控网络数据异常检测进行实际试验测试。测试流程如图6所示。

图6 Snort数据处理流程图

Modbus TCP协议是基于TCP协议的针对以太网传输的协议,其中物理层、数据链路层、网络层、传输层都是基于TCP协议的,Modhus协议只体现在应用层。整个的工作流程,如图7所示,首先接收端拆封TCP数据包,得到原始的Modbus帧;其次,利用Modbus协议的规则来进行解析工作;最后,把解析好的数据包再次封装到TCP协议中,并传输到发送端。

图7 Modbus/TCP数据帧

各种工控系统中的网络安全事件表明,功能码的乱用,将会导致Modbus TCP应用层数据出现问题的可能性更大。针对Modbus TCP应用层的网络安全监测显得至关重要。因此,本文提出针对应用层在通信中的数据流进行实时检测,并对检测结果做进一步的分析。当发现数据异常的时候,立刻采用警告的方式进行报警处理,并记录此次异常行为,为下次遇到同样的数据异常做网络的自动筛选。利用Mobus TCP功能码的详细分析,根据异常行为的不同对简单的异常行为进行描述。

Snort规则有两部分构成分别是:规则头和规则体。其中规则头主要是指:匹配规则以后的工作,比如:alert、log、pass、activate、dynamic。其中匹配需要的条件很多,情况下我们会匹配协议的类型、源地址、目的地址等。另一方面,规则体包括关键字和内容两个部分,我们利用关键字进行快速的查询工作。

当网络中读取存储系统中的内容的时候显示异常。我们将首先启动简单的检测规则来检测MBAP报文头中03功能码是否存在,存在则进行警报,信息以文字的形式通知所有的网络管理层。此时,系统将启动网络入侵检测模式,首先系统会先进行配置文件的获取工作,根据不同的配置文件进行不同的检测方式的选择。根据不同的规则进行不同层面的数据处理。

第一步,检验数据协议,不同的协议进入不同的规则树节点;第二步,在节点中检验源地址以及目的地址是否准确;第三步,检查其运行规则是否准确。最后,利用模式匹配函数进行数据比对,当遇到数据匹配不准确的时候,启动报警装置,并向网络管理层做文字输出提醒。

5 结语

本文主要针对工业控制系统做了整体的分析和研究。目前国内,工控系统的网络安全测试的研究仍处于初级阶段。本文分析了典型的工控安全架构,对协议Modbus TCP面临的安全威胁问题分析并采用Snort检测规则类对Modbus TCP协议的典型异常行为进行测试验证,为船舶有效信息迅速完成检测提供了依据。在未来的研究中,可将该测试验证的方法进一步扩展到其他工控协议中,从而构建一套完整的测试系统。

着眼于船舶行业现代工控系统所面临的安全风险,应依托《工业控制系统安全防护指南》、《网络安全等级保护(等保2.0)》对工业信息设施的物理安全,网络安全,主机安全,应用安全,数据安全及备份容灾等多方面进行统一规划,规范工业控制系统安全风险评估,安全建设,安全测评,安全事件响应,安全运维。

面对如此严峻的船舶网络安全问题,可以从两个方面进行。一方面,可以建立船舶工业控制系统的信息安全标准,为船舶安全运维保驾护航;另一方面,引导工业互联网安全解决方案提供商为船舶应用企业提供更优秀的产品和解决方案。

猜你喜欢
工控漏洞船舶
漏洞
大数据分析的船舶航迹拟合研究
船舶稳性控制系统研究
《船舶》2022 年度征订启事
船舶上层建筑建造工艺探讨
安全防护应贯穿工控系统全生命周期
侦探推理游戏(二)
漏洞在哪儿
全国政协委员何帮喜:工控网络安全防护应纳入国家战略
启明星辰网御星云 进军工控安全领域