APP下载

工业以太网PROFINET安全隔离器的设计

2017-07-24韩丹涛赵艳领闫晓风

自动化仪表 2017年7期
关键词:网络层报文报警

韩丹涛,赵艳领,闫晓风

(机械工业仪器仪表综合技术经济研究所,北京 100055)

工业以太网PROFINET安全隔离器的设计

韩丹涛,赵艳领,闫晓风

(机械工业仪器仪表综合技术经济研究所,北京 100055)

随着智能制造技术的发展,工业控制网络的安全问题日益突出。基于工业通信网络诊断、隔离和安全防护技术,以应用前景广泛的PROFINET工业以太网为研究对象,设计了基于PROFINET的专用工业网络安全隔离器。安全隔离器主要作用于工业网络内部,具有通用的工业网络层防火墙功能。对PROFINET通信协议进行了深度解析,并识别相应的报文类型与关键数据。通过配置安全策略,并将其传输到安全隔离器,可以实时监控网络状态和PROFINET关键数据,阻断异常畸形报文,同时可以防止未授权设备的非法访问。针对以上情形产生的报警信息,将被实时发送到配置管理平台并进行报警显示。经测试表明,工业网络安全隔离器对正常工业控制网络无影响。配置策略可有效保护关键设备,从而保护工业控制网络的安全。

工业控制网络; PROFINET; 通信协议; 网络层防火墙; 安全隔离器

0 引言

随着工业4.0以及中国制造2025的持续升温,在“两化融合”以及物联网的未来发展趋势下,工业控制系统产品越来越多地采用通用通信协议、通用硬件和通用软件,以各种方式与互联网等公共网络连接,造成病毒、木马等威胁正在向工业控制系统扩散。目前工业以太网采用工业防火墙,基本可以实现管理网络与工业控制网络的防护,保护外网对工业控制网络发起的攻击。随着“震网”、“Duqu”、火焰等针对工控系统的国家级网络病毒的曝光[1-2],使之前工业控制网络“物理隔绝即绝对安全”的理念不断被颠覆,因此在工业控制网内部也需要针对性的防护。针对目前主流的工业控制网络PROFINET,设计了一套安全隔离器。作为工业控制网络的最后一道防线,安全隔离器可有效保护工业控制系统网络。

1 系统方案

1.1 系统原理

在工控系统中,需要与外网相连的现场设备通常设置为可读不可写,或者通过单向隔离手段禁止外网的数据流量进入控制网中[3]。在工业控制系统内网中,很少使用防火墙,普通的防火墙只支持网络层防护,目前主流的防火墙支持网络层防护以及协议防护[4]。协议防护主要通过配置策略允许指定的控制协议(如Modbus TCP、OPC等可以通过),并没有对关键的数据块进行监控处理。工业以太网安全隔离器主要工作于工业控制系统网络内部,可作为“工业通信安全纵深防御体系”中重要的一环[5],用于底层设备层的安全防护,以及时隔离来自环境或人为蓄意的对工业以太网络的干扰与攻击,并实时将通信错误或受威胁信息传递给配置管理平台。

针对网络攻击的特征与特点,安全隔离器应具备网络层防火墙的功能[6],检测并阻断网络攻击,防止控制网络和现场设备的未授权访问。在此基础上,对通过的网络报文进行识别处理,针对PROFINET协议报文的应用层数据包,进行协议分析以及深度检测[7-8],通过配置监测关键PROFINET 报文数据并识别总线上的危险报文,保护设备信息和数据不被泄漏和非法改变。安全隔离器可布置在关键设备以及容易产生漏洞攻击的HMI或监视器等设备之前,通过网络层防火墙功能与PROFINET协议过滤相结合,实现统一的调度、配置与融合。

整套系统由上位机配置软件配置管理平台与安全隔离器构成。配置管理平台的主要功能是配置安全策略并下发到安全隔离器,接收并显示安全隔离器的报警信息,配置管理平台的设计不在本文介绍范围。安全隔离器布置点如图1所示。

图1 安全隔离器布置点示意图

安全隔离器布置在I/O监视器之前,可有效防护通过I/O监视器发起的攻击;布置在控制器PLC之前,可防止未授权设备访问控制PLC;布置在设备IOD之前,可有效防护未授权控制器访问控制设备。

1.2 系统设计

根据防护策略以及系统防护功能分析,将系统软件划分为网络层防火墙模块、PROFINET安全模块、报警处理模块、策略配置解析模块这四个模块。安全隔离器系统整体架构如图2所示。

图2 安全隔离器系统架构图

安全隔离器系统的四个模块的功能介绍如下。

①网络层防火墙模块。

网络层防火墙模块属于网络层防护,通过对IP封包解析过滤,实现安全防护功能。该模块可根据MAC地址、源 IP地址、源端口号、目的 IP 地址、目的端口号、协议类型等多种属性组合进行网络层报文过滤。基于配置的安全策略,对通过的所有报文进行解析分析,过滤非法报文与畸形报文,保护工业控制网络免受非法用户的侵入;同时,当监测到非法报文以及异常报文时,进行实时报警处理。

②PROFINET安全模块。

PROFINET安全模块属于应用层防护,主要实现两方面的防护功能。功能一是对关键数据块进行防护。只有经过授权的控制器等设备,才可以进行访问与控制;当有非授权设备进行访问时,及时进行报警处理。功能二是对关键的I/O数据块进行监控,如配置此数据块的边界范围,当数据出现异常时及时进行报警。本模块需要识别所有的PROFINET报文,并对PNIOCM以及PNIO数据报文进行深入解析,结合配置的安全策略实现对网络的安全防护。

③报警处理模块。

报警处理模块的主要功能是将其他模块产生的报警信息实时发送到配置管理平台,主要分为三类报警。一类是基于安全策略产生的报警信息,主要由网络层防火墙产生;一类是访问设备权限以及监控数据产生的报警,主要由PROFINET安全模块产生;一类是监控网络通信状态如网络负载产生的报警。以上产生的报警信息会实时地发送到配置管理平台进行解析显示。

④策略配置解析模块。

策略配置解析模块主要分为两部分功能。功能一是解析配置管理平台下发的安全配置策略,并保存到本地文件系统中;功能二是解析本地策略,实时更新安全策略,为安全隔离器的安全防护提供防护策略。

PROFINET协议实时(real time,RT)通信速率较高,安全隔离器对PROFINET报文的接收、分析、转发三个环节的实时性要求很高,同时设备需要适应复杂的工业环境。本文选用某厂商的工业以太网交换机为硬件平台,在此基础上开发安全隔离器的功能。此交换机为X86架构,Linux系统,具备四个千兆网卡,将一个网卡设为配置接口,用于上传报警信息以及接收安全策略配置信息,选其中两个网卡作为通信网络接口,用于实现安全隔离器的功能。

2 系统实现

根据系统设计,安全隔离器主要实现网络层防火墙功能、PROFINET协议解析、报警功能以及策略配置服务。安全隔离功能框图如图3所示。

图3 安全隔离器功能框图

2.1 网络层防火墙

网络层防火墙基于安全策略对IP封包进行解析过滤。首先解析MAC地址,根据目的MAC地址加载对应的安全策略;接着对IP报文头进行解析,并校验长度等信息,根据安全策略对MAC地址、IP地址以及协议类型进行检验;然后对UDP报文头解析及校验,根据安全策略对端口号进行校验。对符合安全策略的报文进行转发,对不符合安全策略的报文以及校验失败的异常报文进行隔离,并通过报警模块上传报警信息。

2.2 PROFINET协议解析

PROFINET协议解析是专门针对PROFINET协议报文的安全模块。首先根据协议类型识别出PROFINET协议报文,然后深入解析识别不同类型的PROFINET报文。根据配置策略,首先对保护设备的关键槽的访问控制权限进行控制,阻止未授权控制器等设备访问与控制被保护设备;其次,针对PROFINET RT帧的I/O数据进行监测,对关键的I/O数据块进行监控,在超出范围时进行报警。PROFINET协议解析主要由以下三个模块构成。①PROFINET报文识别:识别PROFINET报文,并深入解析识别具体类型PROFINET报文。②PROFINET 设备权限控制:采用白名单策略,对设备的槽的访问控制与读写权限进行控制,只有被授权的设备,才可以进行相应操作。③PROFINET I/O数据监测:根据配置策略,对关键数据进行监测,当数据异常时进行报警。

2.3 报警功能

报警功能采用多线程的方式实现。创建UDP客户端发送线程,采用共享变量的方式获取报警信息,并将报警信息实时发送到指定报警服务器。建立UDP客户端时需要指定网卡,即绑定到配置口网卡,所有的报警信息都通过配置网卡向配置管理平台传输。

2.4 策略配置功能

策略配置功能采用多线程方式实现。建立UDP套接字并绑定到配置口网卡,创建UDP服务端接收线程;接收配置管理平台下发的配置信息,保存到本地文件系统中;然后更新共享安全策略内存。系统防护策略流程图如图4所示。

图4 系统防护策略流程图

3 系统验证

根据通信报文分析,需要解析识别的报文协议类型如表1所示。在此基础上进行安全防护功能的实现。系统测试分为安全防护测试以及性能测试。安全防护测试主要测试系统的防护功能,如是否可以阻止非法设备的访问及攻击、当有非法访问等行为时能否及时产生报警信息;性能测试主要测试安全隔离器设备在网络中的通信性能,如不能影响正常网络通信、超出网络负载设定值时能及时报警。

表1 报文协议类型

安全防护测试首先进行仿真测试,主要通过模拟实际报文的方式测试系统的报文解析功能以及安全防护功能。测试报文分为正常报文以及畸形报文,测试通过之后进行实际网络系统的测试。网络防护测试与系统性能测试在ITEI PROFINET认证试验室进行测试。测试设备主要由测试主机PROFINET Controller1516(输入输出控制器IOC)、Scalance X204IRT(IOD工业交换机)、PROFINET DEVICE ET200(IOD)以及互操作墙组成。依据测试标准组建标准网络结构,其中使用两端口被测设备(device under test,DUT)的端口与互操作墙连接,将安全隔离器布置在被测设备前。测试网络结构如图5所示。

图5 测试网络结构图

网络防护测试主要分为四部分。第一部分配置正常通信网络,运行测试集,测试案例通过测试,间接验证安全隔离器对正常网络无影响。第二部分配置网络层防护策略,例如将IOC或者测试主机配置为非法设备,测试案例运行失败,同时安全隔离器进行报警,验证安全隔离器的网络层防护状态。第三部分配置PROFINET防护策略,例如配置设备的子槽0x0000/0x8001为不可读写。当IOC发送读写子槽的PNIOCM时设备无响应信息,安全隔离器发送报警信息,配置设备的0x0001/0x0005的输入范围。当PNIO数据超出范围时,安全隔离器发送报警信息,通过配置不同的权限验证安全隔离器的PROFINET防护状态。第四部分组合配置网络防护层与PROFINET防护策略,验证整体的防护状态。通过查看控制器在线诊断,获取网络通信状态。配置IOC为合法设备,设备间正常通信。配置IOC为DUT的非法设备,IOC不能访问被保护设备DUT,其他设备正常通信。

在PROFINET网络负载测试下进行性能测试,设置设备的最小发送间隔为32 ms,配置安全隔离器网络负载阈值为100,在normal状态下设备正常通信,在faulty状态下安全隔离器产生负载报警。测试完成后,设备仍能与控制器正常通信。

通过以上的测试案例结果分析,安全隔离器对正常网络无影响,允许正常报文通行。通过配置安全策略可实现对设备的安全防护及报警,阻断非法报文以及畸形报文,对关键的数据进行了合理监控,达到了预期效果。

4 结束语

工业控制系统网络与信息安全是未来发展的重点,所有针对控制网络的攻击只有到达设备层才能起到真正的破坏作用。本系统针对工业控制网络PROFINET,实现了网络层以及应用层防护。对PROFINET协议进行了深度解析,实现了关键数据的监控,阻止非法设备的访问,可有效保护关键设备。后续还需进一步进行安全防护测试以及网络系统的稳定性测试,对相关的工业控制系统网络安全具有重要意义。

[1] 陶耀东,李宁,曾广圣.工业控制系统安全综述[J].计算机工程与应用,2016,52(13):8-18.

[2] 彭杰,刘力.工业控制系统信息安全性分析[J].自动化仪表,2012,33(12):36-39.

[3] 魏可承,李斌,易伟文,等.工业控制系统信息安全防护体系规划研究[J].自动化仪表,2015,36(2):49-52.

[4] 杨建民,杨凡.基于Tofino防火墙技术实现工业网络隔离[J].计算机与网络,2013,39(5):70-73.

[5] 彭勇,江常青,谢丰,等.工业控制系统信息安全研究进展[J].清华大学学报(自然科学版),2012,52(10):1396-1408 .

[6] 成亚男,董晨,褚灵伟.基于软件定义网络的防火墙系统设计与实现[J].计算机应用与软件,2015,32(1):286-288.

[7] 陈曦,张桂红.PROFINET I/O系统实时报文的深入解析[J].中国仪器仪表,2015(1):34-36.

[8] 殷奕,汪芸.防火墙规则间包含关系的解析方法[J].计算机应用,2015,35(11):3083-3086.

Design of PROFINET Security Isolator of Industrial Ethernet

HAN Dantao,ZHAO Yanling,YAN Xiaofeng
(Instrumentation Technology and Economy Institute,P.R. China,Beijing 100055,China)

With the in-depth development of intelligent manufacturing technology,the security problem industrial control network is becoming more and more prominent.Based on the technologies of industrial communication network diagnosis,isolation,and security protection,with the most widely used PROFINET industrial Ethernet as the research object,the dedicated industrial network security isolator is designed based on PROFIBUS.Security isolator is mostly acting inside the industrial network,and offers generic industrial network layer firewall function.PROFINET communication protocol is deeply analyzed,and message types and key data are diagnosed and recognized.Through configuring the safety strategy on the configuration management platform,and transmitting the safety strategy to security isolator,network status and the critical data of PROFINET can be monitored in real-time,while the abnormal and malformed messages can be blocked,and the illegal access from unauthorized devices can also be prevented.The alarm information generated from above situation is sent to the configuration management platform in real time for alarm display.Tested,the industrial network security isolator has no influence on the normal industrial control network,and the key devices can be effectively protected by configuration strategy,thus the security of industrial control network can be protected.

Industrial control network; PROFINET; Communication protocol; Network layer firewall; Security isolator

科技部转制科研院所创新能力专项基金资助项目(2014EG119050)

韩丹涛(1985—),男,硕士,工程师,主要从事传感技术与工业信息系统等方向的研究。E-mail:handantao@tc124.com。

TH-705;TP39

A

10.16086/j.cnki.issn1000-0380.201707012

修改稿收到日期:2017-03-16

猜你喜欢

网络层报文报警
基于J1939 协议多包报文的时序研究及应用
低轨星座短报文通信中的扩频信号二维快捕优化与实现
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
论物联网安全威胁及其应对策略
2015款奔驰E180车安全气囊报警
2014款奥迪Q5车发动机OBD灯报警
物联网技术在信息机房制冷系统中的应用
死于密室的租住者
奔驰E260车安全气囊报警