核电工控网络私有协议安全高效解析方法的实现

来源:优秀文章 发布时间:2023-03-23 点击:

刘 元1,李红霞1,权小康2,褚 瑞3

(1.北京广利核系统工程有限公司,北京 100094;
2.北京威努特技术有限公司,北京 100085;
3.上海中广核工程科技有限公司,上海 200241)

工业控制系统等级保护安全设计技术框架[1]体系中第0层、第1层、第2层的边界通信以及通信网络之间,工控系统均会使用各类工业协议。针对核电工业控制系统,涉及的工业协议大多属于私有协议,协议的各种规范和格式属于核心商密。而网络安全防护设备如监测审计系统、工业防火墙等需要采取网络安全措施[2]实现相应的网络安全功能,需要在工业协议数据分析时对应用层的通信数据进行深度解析,建立应用层通信协议基线,及时识别未知风险。如何既能解决协议保密性又能达到网络安全设备深度协议解析的目的,通过研究本文给出了一种方法,可实现快速、安全及可靠的通信协议解析。

为应对国内外日益复杂严峻的网络安全形势,国家及部委相继出台网络安全相关政策法规,要求并指导企业做好国家关键信息基础设施的网络安全防护工作。结合核电工控系统特点,基于信息安全技术网络安全等级保护基本要求[3],即“一个中心,三重防护”设计理念,采用程序白名单、外设白名单及网络通信行为白名单[4]等技术,构建核电工控系统网络安全的“白环境”,实现核电工控系统积极防御、综合防范、本质安全[5]的纵深防御体系的建立。

白名单是一种安全结构模型,是合法的程序、IP、通信行为规则等生成的安全列表,白名单上的所有内容都可以建立通信访问系统资源,而不在白名单上的部分则被拒绝访问。相对于黑名单而言,白名单强调“确定的安全”,所有的未知都不允许。

网络通信行为白名单技术是应用于核电工控系统安全通信网络及安全区域边界的重要的防护手段。通过网络通信行为白名单技术,可及时发现不在白名单内的违反协议规约、非法攻击及异常操作的行为并进行审计和告警,以便电厂及时进行告警处理或应急响应。而核电工控系统私有协议解析技术是实现核电工业协议应用层数据深度解析,建立核电工业协议网络通信行为白名单的基础。

核电工控系统网络通信协议除了标准的工业协议,如Modbus协议、IEC-104协议等,更有许多私有的工业协议。核电工控系统网络通信协议的多样性、复杂性与保密性造成了针对工控网络安全问题而设计的网络安全防护或审计产品往往无法覆盖所有的工业协议,网络安全设备也就无法完成对未知协议通讯的安全防护与审计。如何高效、可靠地解析核电工控系统私有网络通信协议,并且确保解析过程安全保密是重点要解决的技术问题。

目前,许多网络安全防护或审计产品都支持使用描述语法方式来实现协议的解析。结合核电工控系统特点,本文重点研究论证一种通过描述语法方式填写协议解析规则,并采用安全加密技术、协议解码与热切换技术来实现私有工业协议安全可靠、快速适配解析的方法。

实现流程如图1,主要包括4个方面的内容。

图1 协议解析流程Fig.1 Protocol analysis process

私有协议解析流程包括:①确认通信关键字段;
②定义协议解析规则;
③使用安全加密技术对协议解析规则文件加密;
④防护设备使用协议解码与热切换技术实现协议解析功能。

前3项由授权人员完成,授权人员通常指私有协议权利方指定相关人员。

3.1 确认通信关键字段

私有协议的应用层数据的字段长度、数量、取值范围根据不同协议承载的业务不同而差异较大。协议解析不需要对所有的字段进行全面深度解析,重点对伪造、篡改后可能造成业务、生产、安全等危害的相关应用层通信数据

字段纳入关键字段范围进行深度解析。授权人员需要基于通信协议的应用场景的不同,结合工控系统实际情况利用以上关键字段选取原则选择确认需要深度解析的关键字段。然后,确定关键字段在整个数据包中的所处位置、字段长度、取值范围等信息,明确协议解析规则文件所需填写的内容。

3.2 定义协议解析规则

在协议解析规则文件中需要定义及配置的内容包括:待检测报文的IP地址、端口、传输层协议、报文的指纹特征,待检测应用层报文的提取规则、报文的合法值以及检测到不符合执行的动作等。

1)定义协议的识别特征。即承载所述协议的报文区别于其他报文的特征,包括MAC地址、IP地址、传输层协议、端口。

例如,“传输层协议:TCP;
端口:1000”的识别特征,按照描述语法方式填写相应的协议解析规则如图2。

图2 定义协议的识别特征Fig.2 Define the identification characteristics of the protocol

2) 定义应用层协议报文提取规则。采用显式表述方式,即按照“核电私有协议规范”定义的格式,依次定义应用层协议的字段数量、顺序、长度、读写顺序,是否需要协议深度解析。

例如,定义“一个应用层数据包包含4个字段,其中‘CLASS’‘TN’需要深度解析,超过8位的字段都是从小端读取”,按照描述语法方式填写相应的协议解析规则如图3。

图3 定义应用层协议报文提取规则Fig.3 Define application layer protocol message extraction rules

3)定义应用层协议报文的合法值。对于经检查符合1)、2)中字段要求的应用层数据包,会进一步进行协议规约检查。定义每个应用层字段的取值范围,然后检查通信数据是否符合规定的协议约束条件,可以及时发现异构伪造的数据包。若出现不符合约束条件规定的异常数据,则执行规约告警动作。

例如,定义“CLASS~TN4个字段取值范围,检查出不符合后执行规约告警的动作”,按照描述语法方式填写相应的协议解析规则如图4。

图4 定义应用层协议报文的合法值Fig.4 Define the legal value of the application layer protocol message

4)定义白名单学习内容。按照“核电私有协议规范”定义的语法格式,对符合1)~3)协议规则且需要深度解析的关键字段,定义工业协议白名单学习并展示的内容。

例如,定义“源IP、目的IP、CLASS、TN”4个关键字段的白名单学习并展示的内容,按照描述语法方式填写相应的协议解析规则如图5。

图5 定义白名单学习内容Fig.5 Define white list learning content

5)完成协议解析规则文件编制。按照描述语法方式填写1)~4)相应的协议解析规则,编制完成协议解析规则文件,并记录版本号。

3.3 使用安全加密技术对协议解析规则文件加密

使用指定好的安全加密软件采用SSL加密技术,采用RSA和SHA512加密算法对协议解析规则文件进行加密。对于编辑好的协议解析规则文件,按照标准的安全加密流程进行安全加密,安全加密软件自动生成安全加密指定格式(例如:.pkg)的协议解析引擎加密文件。协议解析引擎加密文件可中间传递,最终被导入到网络安全防护设备中使用。传递过程中,即使文件被窃取或丢失,也不存在泄密风险,保证了私有协议核心商密的安全可靠。

3.4 防护设备使用协议解码与热切换技术实现协议解析功能

通过协议解码规则及协议规则热切换技术[6]实现协议解析引擎加密文件导入防护设备后,对协议的自动快速更新、识别与解析。

网络安全防护设备导入协议解析引擎加密文件后需要解决两个重要问题:一是解析引擎文件的解密及协议内容解码;
二是如何在原有的正在运行的协议解析规则基础上,实现新的协议解析规则的热切换,热切换可避免重启设备等影响,保证切换过程不影响防护设备的正常防护及审计功能。

3.4.1 文件解密及协议解码技术的实现

1)协议解析引擎加密文件导入网络安全防护设备后,设备侧的解密软件对该加密文件解密,并提取其中的协议解析规则内容存放在临时内存中,供流量解析使用。协议解析引擎加密文件本身依然为加密文件,即使攻击者成功地攻击了网络安全设备并获取了后台权限,也依然无法得到协议解析规则文件的明文。

2)网络安全防护设备读取临时内存中协议解析规则内容并使用设备支持的协议解析描述语法方式进行编译,转换成程序能够识别的二进制内容。

具体步骤如下:

步骤1:读取协议解析规则内容,按照规则描述中指定的语法格式加载规则内容。

步骤2:计算能够忽略的字段的长度,更新累计偏移量。由于能够忽略的字段的值不需要解析出来,只需要根据能够忽略的字段的长度更新累计偏移量,而不用计算能够忽略的字段的偏移量。

步骤3:计算关键字段的偏移量和长度,此处关键字段为解析规则文件中描述的需要深度解析的字段。

按照如下公式计算有用的字段的偏移量和长度:

其中,Offset是当前计算的有用字段的偏移量;
Offset accumulate是累计偏移量,其初始值为0;
length是从协议解析规则文件中读取的当前计算的关键字段的长度。

步骤4:协议解码转换。根据步骤3计算的关键字段的偏移量和长度,依次解析出关键字段、取值范围等信息,并将解析出的规则信息转换成设备能够识别的二进制代码。当设备接收到报文后,根据加载的二进制代码对报文内容进行解析处理,实现对接收协议内容的识别和解析。

3.4.2 协议解析规则热切换技术的实现

解码后的协议规则存放在临时内存中,需要将设备正在运行的协议解析规则切换为临时内存中的协议规则。协议切换的流程步骤如图6。

图6 协议解码规则选择流程Fig.6 Selection flow of protocol decoding rules

首先,记录当前正在使用的协议解析规则版本信息,在新协议解析引擎文件导入后记录新协议解析规则的版本号,通过比较版本号确认是否为新协议导入,并记录版本号变化开始的流节点时间。tcontinue是由设备结合当前会话老化时间、剩余待处理数据内容计算出的能够有效保证当前正在解析流量全部解析完毕的时间。当前时间与流节点上记录的时间差值大于tcontinue时,可以将当前协议解析规则的内容释放清空,再使用新的协议解析规则进行规则匹配,从而保证解码内容的完整性和一致性,实现不同版本的协议解析引擎加密文件自动实时切换而不需要重新启动防护设备。

本文论述的核电私有协议解析技术基于选择私有协议深度解析的关键字段、自定义协议解析规则、使用安全加密技术及协议解码与热切换技术,实现了核电工业协议尤其是私有协议在保密情况下的安全可靠、快速及深层解析。这一方法可实现覆盖核电厂所有工业协议的解析,为建立核电工业协议网络通信行为白名单提供了技术支撑。

使用工业协议白名单技术的网络安全监测审计设备及工控防火墙设备已在相关核电基地获得广泛应用,实现了核电厂工控系统的安全通信网络及安全区域边界的安全防护,有效提升了核电厂工控系统纵深安全防御能力。

猜你喜欢 白名单应用层工控 核电厂仪控系统安全防护策略研究及应用商品与质量(2020年21期)2020-11-26UAC提示太烦 教你做个白名单电脑爱好者(2020年12期)2020-08-152019年“移动互联网应用自律白名单”出炉中国计算机报(2019年9期)2019-04-23工控速派 一个工控技术服务的江湖中国设备工程(2017年8期)2017-05-10工控速浱 一个工控技术服务的江湖中国设备工程(2017年7期)2017-04-10基于分级保护的OA系统应用层访问控制研究教育教学论坛(2016年49期)2017-02-27热点追踪 工控安全低调而不失重要信息安全与通信保密(2016年3期)2016-08-23移动互联网白名单认证向中小企业开放中国计算机报(2016年6期)2016-05-14基于攻击图的工控系统脆弱性量化方法自动化学报(2016年5期)2016-04-16物联网技术在信息机房制冷系统中的应用物联网技术(2015年8期)2015-09-14推荐访问:高效 核电 私有
上一篇:以“双一流”建设引领中国式高等教育现代化
下一篇:重水堆废气处理系统压缩机停运原因分析及处理

Copyright @ 2013 - 2018 优秀啊教育网 All Rights Reserved

优秀啊教育网 版权所有