基于协议解析的工控网络安全仿真平台设计

第42卷第2期
2021年2月
自㊀动㊀化㊀仪㊀表
PROCESS AUTOMATION INSTRUMENTATION
Vol.42No.2
自动升降器Feb.2021
收稿日期:2019-12-19
作者简介:方捷睿(1995 ),男,在读硕士研究生,主要从事信息安全㊁人工智能算法方向的研究,E-mail:fangjr17@mails.tsinghua.edu;
熊智华(通信作者),男,博士,副教授,主要从事工控网络安全㊁工业大数据分析等方向的研究,E-mail:zhxiong@mail.tsinghua.edu
基于协议解析的工控网络安全仿真平台设计
方捷睿1,曹卫民2,白建涛1,熊智华1,杨㊀帆1
(1.清华大学自动化系,北京100084;2.中国石化安庆分公司,安徽安庆246002)
摘㊀要:工业控制网络的安全防护通常采用防火墙技术和多种复杂的应用层协议协同完成,但是未涉及应用层协议的深入分析㊂为了更好地保障工控网络数据访问的安全,结合工控网络报文定制性的特点,详细分析了基于应用层协议解析的安全防护策略㊂该方案在工业防火墙的基础上,通过对工控网络通信协议的报文深入解析,直接在报文层面解析过滤,从而拦截与功能实现无关的报文,并发现隐藏较深的威胁㊂以OPC 协议为例,搭建了基于应用层协议深度解析的工控网络安全仿真测试平台,并利用石化企业现场设备的通信数据对该平台进行了验证㊂所提出的安防策略为工控网络安全设备的设计和制造提供了一种基于应用层协议解析的方案,具备较高级别的安全性能㊂
关键词:工控网络;信息安全;OPC 协议;协议解析;网络报文;仿真平台;安全生产;工业控制系统
中图分类号:TH17㊀㊀㊀㊀文献标志码:A㊀㊀㊀㊀DOI:10.16086/jki.issn1000-0380.2019120019
Design of Information Security Simulation Platform of Industrial Control Network Based on Protocol Analysis
FANG Jierui 1
,CAO Weimin 2
,BAI Jiantao 1
,XIONG Zhihua 1
,YANG Fan 1
(1.Department of Automation,Tsinghua University,Beijing 100084,China;2.Sinopec Anqing Branch,Anqing 246002,China)
Abstract :In order to ensure the safety of industrial control network,many kinds of firewall technology are usually implemented.Although many complex application layer protocols are accomplished collaboratively,but,analysis in-depth of application layer protocols is not involved.To guarantee the security of data access in industrial control network,the security protection strategy based on application layer protocol parsing in detail is analyzed in this paper,which is based on the customization characteristics of transmission message of industrial control network.On the basis of traditional network firewall technology,this scheme can deeply analyze the transmission messages of
industrial communication protocol and filter them directly at message level.Thus,it can intercept transmission messages that are not related with function realization,and discover hidden threats.Taking the OPC protocol as an example,a simulation platform is developed based on analyzing application layer protocol for the industrial control network security,and the platform is validated by using the real communication data of equipment in a petrochemical enterprise.The proposed security strategy provides a solution based on analyzing application layer protocol for manufacturing security equipment of industrial control network,which has a high level of security performance.
Keywords :Industrial control network;Information security;OPC protocol;Protocol analysis;Network message;Simulation platform;Production safety;Industrial control system
0㊀引言
随着石化企业信息集成度的提高,工业控制系统由 封闭走向开放 已成为主流趋势㊂但是 震网 ㊁ 超级工厂 等病毒的出现,已经造成了有些企业的工业控制系统安全事故㊂因此,工业控制网络的安全问
题凸显[1-2]㊂目前,工业互联网的安全问题也在国际㊁
dopc
国内引起了高度的重视[3-4]㊂未来,随着工业互联网的发展和推进,工业控制网络安全措施的实施范围也将从局域网上升到全网的高度㊂
工业控制系统的安全防护主要采用系统隔离㊁网络分区分域管理㊂这些传统的安全防御方法无法抵御各种病毒的靶向攻击[5]㊂工业控制系统信息安全问题非常复杂,依赖于单一的安全防护方案难以实现系统地面数字电视接收机
第2期㊀基于协议解析的工控网络安全仿真平台设计㊀方捷睿,等
整体安全㊂因此,可行的方案是将工业控制网络划分为不同的安全区,分层或分区域部署防火墙㊁入侵检测等多种安全防护措施,形成整体防护能力[6]㊂石化企业网络安全的解决方案通常采用网闸和防火墙技术,对企业管理网络与工业控制网络进行 区域和渠道 的连接控制[7]㊂对每个分层或分域采用特定的网络安全控制策略,深度解析和检查每个区域的通信连接和协议,保障工业控制系统的安全运行㊂
本文在工控网络安全防护方案的基础上,结合工控网络报文定制性的特点,详细分析了基于应用层协议解析的安全防护策略㊂该方案在传统工业防火墙的基础上,通过对应用于过程控制的对象连接和嵌入(OLE for process control,OPC)等工业网络传输协议的报文深入解析,拦截与功能实现无关的报文㊂由于该方案方直接在报文层面解析过滤,所以能够更有效地发现隐藏较深的威胁㊂本文以OPC协议
为例,搭建了基于应用层协议深度解析的工控网络安全仿真测试平台,并利用石化企业现场设备的通信数据对该平台进行了验证㊂
1㊀工控网络安全策略分析
1.1㊀企业生产专网的网络结构与安全
石化企业管控一体化的信息化集成经历了多年的发展,网络结构逐步从企业管理网/控制网络的两层结构发展成了企业管理网/生产专网/控制网络的三层结构[8-9]㊂
在企业管理网/控制网络的两层结构中,工业控制网络与管理网的连接给企业带来了诸多便利,但是也削弱了工业控制系统与外界的隔离㊂因此,当面临安全威胁时,工业控制系统缺乏有效的防御能力,受到任何一点攻击都有可能导致整个系统的瘫痪[8]㊂
企业管理网/生产专网/控制网络三层结构中[9]:企业的各种网络按功能区进行分层㊁分区设计;将实时数据库系统的网络环境从企业管理网中分离出来,构成生产专网;生产专网与管理网只有一个接口并通过防火墙进行隔离㊂工业控制网络中的各个控制系统只与生产专网相连接,与管理网络没有直接通道㊂由于每套控制系统与生产专网只有一个点对点的物理接口,因此阻断了来自管理网络上普遍存在的病毒㊁木马㊁特定攻击等直接威胁㊂同时,将网络安全内嵌到基础架构中并进行虚拟化,建立安
全服务管理中心对生产专网的安全进行管控和预警,从而改变了传统的安全模式㊂通过采用虚拟防火墙,结合OPC服务器分配的动态端口限定方法进行安全的数据采集与传输,可提升与控制系统接口的安全[9]㊂
企业生产专网的网络安全防护结构如图1所示
图1㊀企业生产专网的网络安全防护结构示意图
Fig.1㊀Network security protection structure
of enterprise production network
随着工业互联网的研究与应用,工控网络安全防护措施的实施范围也将从以往的局域网上升到全网的高度㊂因此,采用更加安全㊁有效的方式保障工控网络的安全已成为重中之重㊂在企业三层网络结构下,对工业控制系统的安全威胁,除了对控制系统的直接攻击和经由企业管理网入侵的攻击外,还有来自生产专网的攻击㊂工业控制系统的安全可以通过管理手段来实现㊂经由管理网的入侵可以通过代理服务器实现㊂所以在工业现场,安全防护的重点在于保障好生产专网与控制系统之间的接口安全㊂
本文研究的工控网络安全防护问题,主要集中于生产专网与工业控制系统之间的数据访问安全,如图1所示的OPC客户端与OPC服务器之间的数据访问安全㊂通过在OPC服务器和Client之间设立一个基于协议解析的网络安全防护(例如工业防火墙)来提高数据传输的安全性是一个可行方案㊂工业防火墙通过获取OPC客户端/服务器端(client/server,C/S)之间传输的数据包并解析,判断所传输的数据是否存在安全问题㊂如果存在安全问题,则执行预设的安全措施㊂
izo
1.2㊀工控网络信息安全策略
工业控制网络是基于传统网络发展起来的一种定制化㊁专业化㊁标准化的定向网络,采取的交互模式基
㊃301㊃
自㊀动㊀化㊀仪㊀表
第42卷
本为C /S 通信模式,大体分为面向连接和无连接两大类㊂其均在应用层进行顶层的包装和接口定义,以实现特定的工业控制网络数据传输与行为控制功能[9]㊂
目前,工业防火墙被广泛应用于工控网络的数据传输安全防护㊂
防火墙技术主要包括包过滤防火墙㊁状态检测防火墙㊁应用级网关防火墙和深度包检测防火墙等[10]㊂传统工业防火墙通过对抓取到的数据包中的MAC 地址㊁
IP 源地址㊁目的地址㊁端口号㊁协议类型㊁数据流向㊁协议字段和网络接口等信息进行过滤,根据预设的规则决定
保留还是丢弃该数据包㊂深度包检测防火墙对传输控制协议(transmission control protocol,TCP)或用户数据报协议(user datagram protocol,UDP)数据包内容进行深入
分析,从而抵御复杂网络中应用程序受到的攻击,提高了防火墙的性能和内部网络的安全㊁稳定[10]㊂
工业防火墙通过对工控网络协议数据包进行探测
和解析,识别出数据包中的各种关键信息及其所承载的内容,并对这些数据进行解析;然后根据解析得到的原始通信信息,判断是否包含威胁或者敏感的内容㊂例如对协议中的操作码㊁设备地址㊁寄存器范围和读写属性等进行检查,以判断是否为非法操作或者外部攻击
[10]
和传统网络一样,工控网络协议数据包也包含了物理层㊁数据链路层㊁网络层㊁传输层㊁应用层开放式系统互联通信(open system interconnection,OSI)参考模
型ISO 五层架构㊂对于数据包的分析,工业防火墙主要集中在链路层㊁网络层㊁传输层和应用层㊂其
中,前三层采用传统的网络报文方法进行分析,在应用层的层面针对各主流工控协议标准进行定制化的解析㊂
工控网络安全隔离策略如图2所示
图2㊀工控网络安全隔离策略
Fig.2㊀Security isolation strategy of industrial control network
应用层安全隔离主要通过对应用层报文的解析实现㊂其核心是通过对应用层协议报头解析和判断实现应用层报文类型的过滤㊂应用层协议(例如OPC 协议)深度隔离则通过深度解析特定的OPC 协议的应用层报文,能够最大程度地保证系统的安全性㊂因此,该方案在传统工业防火墙策略的基础上,对协议类型进行解析,从而隔离与通信无关的报文㊂同时,对应用层协议进行深度解析,还能有效保障工控系统的实时性㊁私密性和安全性㊂
吴寿山在实际应用中,还需要考虑工控网络报文定制性的特点,采用基于应用层协议(例如OPC)解析的安全隔离策略㊂在实现传统工业防火墙功能的基础上,对工业网络传输协议进行解析㊂其核心是根据Modbus㊁DNP3和OPC 等工控网络的协议格式分析并深入理解报文,拦截与功能实现无关的报文;引入黑白名单机制,在实现功能的同时对设备进行限制㊂由于该安全防护策略在报文层面解析过滤,所以能够更有效地发现隐藏较深的威胁㊂相较于前文提到的应用级网关防火墙,本文方法在过滤速度上要快得多㊂
第一语音2㊀工控网络报文的深度解析
2.1㊀工控网络报文
在讨论工控网络报文结构的语境下,主要针对应用层报文进行分析㊂对于更底层的报文,大多数成熟的工控协议都利用了传统网络报文的接口和底层通信组件,因此可以按照传统报文的分析方式进行㊂应用层协议为网络上不同端之间的设备和系统上的进程进行数据交互提供了规范㊂在工控系统的语境下,应用层协议包括了工控协议本身以及对工控协议的第一步封装,并为工控协议的网络传输选择通信链路㊂在完成对链路层㊁网络层和传输层的解析后,可以得到初步的应用层报文㊂然后,根据不同工控协议的特点,判断应用层是否搭载了外部应用层协议并解析该应用层协议,从而得到纯粹的工控协议报文,进而根据工控协议的报头和数据包,分析报文实现的功能㊂
工控协议的报头通常包含认证信息㊁校验信息㊁身份信息等基于全局的连接信息,通过该部分解析出连接信息并存入缓存区,用于辨别后续的连接㊂数据包主要包括对底层设备的定位信息㊁操作指令㊁数据信息及响应报文等直接面向过程的报文㊂该部分的解析需要结合缓存区中的连接信息,解析出每条报文或多条报文对应的具体操作,从而实现过滤㊂
随着工业互联网的推广,以TCP /IP 为基础的工控协议,以其标准化㊁开放性而更加广泛地应用在各类
401㊃
第2期㊀基于协议解析的工控网络安全仿真平台设计㊀方捷睿,等
工控系统中㊂目前,国内广泛应用的Modbus协议㊁DNP3协议㊁IEC协议和OPC协议大多基于TCP/IP协议进行封装传输㊂其中,石化企业大多采用OPC协议来进行数据访问[8]㊂
2.2㊀应用层的数据包深度解析
OPC协议并非严格的工业类协议,但由于其与传统互联网具备更好的兼容效果,逐渐受到各大自动化公司的青睐,并逐渐形成一套比较完善的标准㊂其为目前应用较为广泛的信息交换的互操作标准,具备安全性㊁可靠性和平台独立性[8,11]㊂
OPC协议基于远程过程调用(remote procedure call,RPC)/分布式组件对象模型(distributed component object model,DCOM)协议进行通信,是基于DCOM协议扩展的工控协议㊂而DCOM协议又是基于RPC协议开发的远程接口调用协议[11]㊂所以在进行应用层协议的解析时,需要先解析RPC协议和DCOM 协议,再解析OPC协议㊂虽然三者之间存在层层递进的关系,但实际上DCOM协议在实现协议内部功能的时候,会借用一部分RPC协议报头信息;OPC协议的结构中,也将DCOM协议的报头作为自身协议报头的一部分[11]㊂
①RPC协议及DCOM协议解析㊂
由于目前大多数OPC协议采用的是面向连接的模式,所以主要解析面向连接的RPC协议㊂面向连接的RPC包含11种协议数据单元(protocol data unit, PDU)㊂其中,Association PDU用于建立连接和维护通信,包含bind等绑定请求及应答报文;Call PDU用于在连接中实现请求操作,包含request㊁response等数据及操作请求与应答报文[11]㊂
RPC协议的PDU可以看作是OPC协议报头的一部分㊂它为OPC协议提供了一个建立连接的方式,协助OPC协议维护连接信息㊂
DCOM协议的报头只有一小部分被保留下来融入OPC协议㊂这一小部分报头提供了报文的身份信息,在多个客户端同时向服务器发起请求时,可以分辨出报文的源头客户端㊂所以RPC协议和DCOM协议的解析,本质上还是对OPC协议报头信息的解析㊂
②OPC协议报头解析㊂
OPC协议报头包含了丰富的连接信息㊂通过对报头的解析,能够维护连接的身份信息㊁认证信息㊁缓存信息㊁指令类别及其具体操作等[11]㊂
通过接口定义语言(interface definition language, IDL)语义对OPC协议报头进行解析,能够解析出是哪个客户端向底层设备发送了指令,以及指令所对应的操作㊂
③OPC协议数据包解析㊂
在IDL语义下,每条指令对应一个函数,数据包里的内容则是该函数的参数㊂对于数据读取报文而言,该参数主要是所读取的位号,即该条读取指令的对象㊂服务器在收到合法指令后也会返回一个报文㊂其中的数据包是以具体数值作为返回函数的参数[11]㊂数据包的解析是根据前面解析出的指令函数,得到参数的格式,将数据包中对应的数据段整理成函数的参数㊂对于单个参数的解析比较简单,但OPC协议经常涉及到数据的批量处理以及分片㊁重传等情况,因此需要解析包含多种情况的数据包㊂
3㊀工控网络安全仿真测试平台
本文以OPC协议为例,搭建了工控网络安全仿真测试平台,对OPC C/S间传输的数据包进行解析㊂本文的验证数据采用了石化企业现场设备的通信数据,格式为.pcapng,可以通过抓包软件直接进行抓取㊂仿真测试平台由QT软件开发完成㊂其主要功能是对抓取的OPC协议数据包进行深度解析,将报文内容逐条逐字段存入数据库,将解析结果从数据库取出并呈现在界面上,并提供各种规则配置进行测试㊂
3.1㊀仿真测试平台架构
仿真测试平台由报文处理㊁OPC解析㊁数据库㊁监控显示界面等多个模块组成㊂
仿真测试平台整体架构如图3所示
图3㊀仿真测试平台整体架构
Fig.3㊀Overall architecture of simulation and test platform
报文处理模块读取抓取的数据包文件,将其转换为程序规定的数据格式㊂传统解析模块完成链路层㊁网络层和传输层数据的初步解析,与未解析的数据一并传入下一模块㊂OPC解析模块是软件的核心,实现对OPC协议的应用层解析,并根据配置信息为该条数据贴上标签㊂配置模块提供黑白名单的模拟配置功能,并利用该信息验证OPC解析模块的解析结果㊂解
㊃501㊃
自㊀动㊀化㊀仪㊀表第42卷
析结果将被存储到数据库中㊂数据综合模块根据OPC解析模块和数据库中的数据,对解析结果进行综合分析和判断,并将结果传递给监控显示界面模块㊂显示界面模块输出报文详细信息等各种解析结果㊂3.2㊀仿真测试平台结果展示
仿真平台软件在打开数据包文件之后弹出交互界面㊂界面的上部分详细显示报文概要信息,包括IP地址㊁端口号㊁PDU类型㊁报文长度㊁序列号㊁确认号等内容;界面的下部分则显示所选中报文的详细信息㊂报文解析的部分结果也展示在界面上,在通信连接建立并由仿真测试平台维护通信后,客户端
向服务器发送类型为request的报文㊂然后测试平台进行分析,可以解析得到相关操作指令面向的位号㊂每条Request报文经应用层展开后,会将报文详细信息显示在界面上㊂
实际通信过程中,往往由于报文长度较长而出现分片报文的情况,因此在解析过程中还需要考虑分片报文的问题㊂当测试平台检测到多片报文时,界面上会显示相关信息,并且测试平台进行报文的重组㊂当传输过程中出现数据包中途丢包或确认字符(acknowledge character,ACK)丢失等问题时,会产生报文重传㊂因此,报文解析时还需要考虑重传报文的情况㊂当测试平台发现重传报文时,将把检测结果显示在界面上,表明测试平台能够正确检测到重传的报文㊂在上述基于应用层协议解析的工控网络安全仿真平台进行试验测试后,还对该平台与石化企业实际生产装置的数据访问环境进行了连接和测试㊂测试结果表明,该平台能够根据报文解析结果,拦截报文中与功能实现无关的部分以及潜在的安全威胁,从而验证了基于应用层协议解析的工控网络安全防护策略的有效性㊂4㊀结论
本文分析了基于应用层协议深度解析的工控网络安全防护策略,以OPC协议为例开发了一个仿真测试平台,并进行了实际通信数据的测试与验证㊂该安全防护策略针对工业网络传输协议的特点,对应用层协议进行解析;根据工业网络较为单一的功能需求,拦截掉与功能实现无关的报文,并能够发现隐藏较深的威胁,从而为工控网络安全提供保障㊂实际通信的数据测试结果验证了该方案的有效性㊂
参考文献:
[1]李玉敏.工业控制网络信息安全的防护措施与应用[J].中国仪
器仪表,2012(11):59-64.
[2]李鸿培,忽朝俭,王晓鹏.2014工业控制系统的安全研究与实
践[J].计算机安全,2014(5):36-59.
[3]祝毓.国外工业互联网主要进展[J].竞争情报,2018,14(6): 59-65.
[4]邸丽清,高洋,谢丰.国内外工业控制系统信息安全标准研
究[J].信息安全研究,2016,2(5):435-441.
[5]锁延锋,王少杰,秦宇,等.工业控制系统的安全技术与应用研
究综述[J].计算机科学,2018,45(4):25-33.
[6]彭勇,江常青,谢丰,等.工业控制系统信息安全研究进展[J].清华大学学报(自然科学版),2012,52(10):1396-1408. [7]徐国忠.石化企业工业控制系统信息安全分析与对策[J].石油
化工自动化,2018,54(5):48-51.
[8]曹卫民,陈宸,熊智华.基于虚拟化技术的石化企业生产专网的
设计与应用[J].计算机与应用化学,2012,29(9):1061-1064.㊀㊀㊀
[9]曹卫民.基于虚拟化技术的石化企业过程信息集成的安全策
略[J].计算机与应用化学,2013(11):1363-1366. [10]路琪,黄芝平,鲁佳琪.基于深度包检测的防火墙系统设计[J].
计算机科学,2017(S2):334-337.
[11]OPC Fundation.OPC DA3.00Specification[R].OPCDA30-cust:OPC Fundation,2003:1-199.
㊃601㊃

本文发布于:2024-09-22 00:53:54,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/1/249476.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:协议   解析   报文
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议