协议安全测试在工业DCS系统测评中的应用

2017-11-02 01:24姬胜凯刘仁辉许凤凯
网络安全与数据管理 2017年20期
关键词:工控通信协议数据包

姬胜凯,刘仁辉,董 伟,许凤凯

(华北计算机系统工程研究所 工业控制系统信息安全技术国家工程实验室,北京 100083)

协议安全测试在工业DCS系统测评中的应用

姬胜凯,刘仁辉,董 伟,许凤凯

(华北计算机系统工程研究所 工业控制系统信息安全技术国家工程实验室,北京 100083)

为了发现工业控制系统的信息安全问题,需要对工业DCS系统的私有通信协议进行安全测试。面对自动化工具无法准确测试私有协议安全性的问题,提出了DCS系统私有通信协议的分析方法。基于协议分析编写测试用例对被测DCS系统进行安全性测试,有效发现被测DCS系统协议的安全问题,为DCS系统的安全测试和防护提供了研究的基础。研究表明,在工业DCS系统安全测评中,通过人工协议分析、协议测试能够有效发现系统的安全问题。

工控系统;信息安全;DCS;协议分析;协议测试

0 引言

以2010年发生的席卷全球的“震网病毒”事件为爆发点,工业控制系统领域的安全威胁越来越多[1]。面对诸多威胁,在DCS系统的开发阶段必须充分考虑系统的安全性。为了提高系统安全性,必须进行专业的信息安全测试,以检测系统的风险与脆弱性[2]。对公开的工控DCS系统协议的脆弱性进行测试,可以使用如加拿大Wurldtech的Achilles等自动化测试工具[3],但对私有协议的测试使用自动化测试工具则准确率较低,所以对私有的工控通信协议的测试必须基于通信协议的人工深度分析。目前工控私有协议安全测试才刚发展,技术和方法还未成熟,对私有工控通信协议人工深度分析的研究还在起步阶段[4]。工控通信协议测试需要对协议的状态空间中的每一个状态和协议的每一个功能码段进行测试[5],而协议的状态路径和功能码段需要对协议进行深度分析,本文提出了私有DCS通信协议状态与功能码段的分析方法,并基于分析结果对被测系统进行了测试验证,为DCS系统的安全测试和防护提供了研究的基础。

1 工业DCS系统通信协议

工业网络使用一系列专用的总线协议来实现系统的功能,重点关注操作同步和实时性[6]。同时各种不同的协议拥有不同程度的内在的安全性与可靠机制,为了保证系统的安全,测试时必须考虑这些系统本身的属性。通常,由于工业网络协议缺少足够的授权和加密,一个简单的网络攻击,比如中间人攻击,就可以干扰协议正常运作或篡改协议消息以窃取信息、进行欺诈或引发控制进程本身的故障。所以对工控系统通信协议在使用前,必须进行专门的审核与测试[7]。

自动化测试工具使用模糊测试的方法对私有协议进行测试[8],主要利用逆向提取的协议规范编写测试脚本,但工控系统通信协议为有状态的协议,需要依据协议的状态机信息编写测试用例,才能向被测系统发送可被协议所处状态接受的测试报文序列。自动化测试工具对主流的工控协议,比如Modbus/TCP、Profinet、DNP3等能够进行应用层协议测试[9],而对私有工控协议的灰盒测试,需要对系统通信协议进行抓包分析,根据系统本身的状态机信息,按照抓包、分析、检测验证、再分析的过程进行测试,其中的难点和重点是分析的过程。分析过程主要分析协议的状态空间和协议的功能码段。

工控DCS系统通信协议的测试不同于传统网络协议的测试,因为工控系统的通信协议是一种有状态的协议[10],对有状态的通信协议进行测试必须基于协议自身相关的报文序列,测试需要对协议的每一个状态和功能码段进行测试,编写的测试脚本需要覆盖所有的协议状态路径和功能码段。例如,在未知系统通信协议认证方式时,自动化的协议测试工具无法对协议认证的可靠性和安全性进行测试[11]。

图2 系统数据流

2 工业DCS系统通信协议分析

本文研究对象为国内某企业自主开发的DCS系统,其中在操作员站与控制器之间的通信为私有协议。要进行协议的安全测试,除了要分析协议的格式信息,还需要分析出协议报文的时序关系,即协议状态机[12],这里主要体现在系统的数据流分析过程中。根据以上要求,对该系统的通信协议进行测试主要分为协议数据流分析、协议功能码段分析、协议测试。

工控系统对数据的实时性要求特别严格,直接接入工控系统中的检测设备势必对数据传输实时性造成影响,工业控制系统的数据一般通过交换机镜像端口抓取[13]。通过交换机镜像端口获取工控网络流量,对数据进行分析,数据的分析流程如图1所示。

图1 工控协议分析流程

协议分析包括协议数据包处理,分为通信协议数据流分析、协议数据包内容分析和协议特征提取三个阶段,重点是协议数据包内容分析。在分析之前,还需要剔除原始数据中的冗余和干扰,如报文序列中可能出现的重传、乱序、分片。通信协议数据流的分析,根据系统中所有设备的IP、端口、数据 包类型进行区分,按照系统正常工作时的通信状态,理清系统通信数据方向、交互方式。在分析出系统数据交互方式后,根据系统正常工作时的操作内容,对协议数据包进行分析,例如,对控制器进行写操作时的数据包进行分析,以此分析写操作数据包的结构和语义。在协议分析的基础上,提取系统通信协议特征,针对不同的协议特征需要编写不同的测试脚本。

2.1 通信协议数据流分析

协议分析的第一步是通信协议数据流分析,基于协议的状态机推断技术,获得协议实体处理状态迁移的逻辑及行为语义[14]。实际分析过程中根据系统的通信数据抓包,依据系统的设备IP、端口、数据包类型,还原系统实际运行时的IP、端口、服务等信息,然后应用基于报文序列的协议状态推断方法推断协议数据流。首先对协议进行状态标注,把一个或多个连续的多个协议对话标注为一个状态;然后把这些状态进行分类;最后通过化简得出系统的协议数据流。系统数据流向详细信息如图2所示。

系统双网段、双控制器冗余实现系统的可靠性,下行数据主要包括组态下装数据包、系统控制数据包等TCP数据包和UDP数据包;上行数据包分为UDP广播数据包和EGD组播数据包,实现控制器实时数据的上传。DCS系统和其他外部设备的通信通过MODBUS和OPC协议实现。

2.2 协议数据包内容分析

协议测试用例的编写既需要知道协议状态空间的时序,同时也需要详尽的数据包功能码段的语义。数据包内容的分析,需要把DCS系统本身的功能特点与协议逆向分析相结合,包括先验知识的应用与人工纠正过程。通过先验知识分析协议的长度字段、FD字段、序号字段等相对位置和长度固定的字段,分析后根据相应字段编写测试脚本,验证先验知识的正确性,进一步进行人工纠正,纠正后再编写测试脚本验证猜测的协议数据包内容的正确性。

协议数据包功能码段的逆向分析基于不同数据包的对比、数据包自身的码段特征的对比。运行DCS的组态配置、实时测量数据采集、控制指令输出等操作过程,确认DCS按照正常的流程安全运行,实时抓取上述操作过程的系统数据包,分析对比进行不同操作时数据包的异同点。对比的主要内容包括:(1)对系统操作员站进行多次操作,分析各次操作数据包中各功能码段的区别,以此发现数据包中序列号、时间等字符段;(2)对系统操作员站进行不同操作,比如读/写操作,分析不同操作时,数据包的长度、字符段等区别。对于功能码段序列位置一样、数值相近的字符字段,进行重点分析;(3)对系统数据包中的大量重复出现的字符段进行分析,一般为系统传输的数据,主要有输入数字量、输出数字量、输入模拟量、输出模拟量等。对系统通信数据抓包,进行协议深度分析,尝试解析数据包的结构、语义和字段。分析得知,系统通过不同功能码下发不同的指令,例如0130、0230、0530等功能码。每种功能码下存在多个功能指令,如0130下有01、07、08、09、0f等指令,0530下有02、04等。图3为数据包中的0530功能码段下的02功能指令。

图3 数据包功能码段

协议逆向分析中发现该系统通信协议没有进行加密传输,只是在建立连接时通过认证来实现数据的安全,在协议测试中协议的认证分析是协议逆向分析的一个难点。结合系统的状态空间中的数据流信息,分析协议得出组态软件与控制器之间存在账户和密码的认证,系统的认证方式如图4所示。

图4 协议认证交互方式

首先建立TCP握手连接,然后控制器返回一个时间戳信息,接着组态软件对时间戳字段进行加密,将加密后的密码和账户发送给控制器进行验证,验证成功时返回验证成功字段,验证错误时返回验证错误字段并主动断开连接。同时控制器通过UDP3300端口向外发出组播数据包说明登录验证情况。

协议认证数据包中对时间戳进行加密的方式就是系统协议的一个重要特征,按照这个特征编写测试用例,自组认证数据包,发送给控制器,控制器立即回复认证失败的数据包,测试结果表明系统协议的这种认证方式安全性相对较高。用于编写用例的协议特征不但在用例编写的过程中有重要的作用,而且在系统安全防护时建立协议指纹库、对系统协议进行实时异常检测时,也是非常重要的。

3 工业DCS系统通信协议测试

基于分析被测DCS系统通信协议的特征,分析出上行EGD数据包为控制器数据实时上传,数据的功能码段为数字信号量、模拟信号量以及对应的上传数据标示符码段,测试主机IP地址为192.168.101.124,编写测试脚本,脚本发送数字量、模拟量、标识符等功能码段都是“0”的数据包,以高于控制器上传的频率发送给操作员站。

如图5所示,数据包的内容都是00,系统控制器实时数据上传没有认证也没有进行加密,MMI的组态的实时监控数据的数据类型被篡改为“有符号2字节短整数”,实时值为“0”,基本状态值为“00000000”,被篡改后系统的实时数据趋势如图6所示。

图5 被篡改的数据包

图6 系统数据趋势图

由于控制器也在不停地上行发送数据,所以图6(a)中的线条部分为控制器上传的正常数据,而图中的空白部分,由于数据的值被篡改为0,属于无效值,在趋势图中不显示。图6(b)中发送篡改数据,系统数据趋势图立马出现异常,并被篡改,停止数据发送,系统数据实时显示趋势图恢复正常。

基于协议分析的测试还发现其他一些安全问题,比如主副控制器切换数据中的IP地址功能码段被篡改后,组态失去对控制器的控制。操作员站失去了对控制器的控制能力,同时主控制器的IP地址被篡改为测试主机的IP地址(192.168.101.124)。

基于协议逆向分析的通信协议测试,还发现了其他一些安全问题,这些安全问题在不知道具体的协议状态空间和协议数据包语义的情况下是不能被验证的。所以对工控系统通信协议进行安全测试,必须要基于系统通信协议的人工深度分析。

4 总结和建议

针对工业DCS系统信息安全,对其进行通信协议安全测试,必须根据工控DCS系统本身的通信协议的特点,对系统通信协议进行逆向分析,对复杂的通信数据流进行梳理,提取该工控DCS系统的通信协议的特征,基于通信协议的特征,有针对性地对系统进行安全测试,全面、深入的测试能发现系统通信协议的风险与脆弱性。基于测试结果,开发和维护人员才能更好地对系统进行升级和防护,以提高工控系统的安全性。

[1] 谢耀滨,舒辉,常瑞,等.可编程逻辑控制器脆弱性分析关键技术研究[J].计算机工程与应用,2016,52(12):101-107,152.

[2] 李华. DCS工业控制系统信息安全新趋势[J].网络安全技术与应用,2016(8):94-95.

[3] 李航,董伟,朱广宇.基于Fuzzing测试的工业控制协议漏洞挖掘技术研究[J].电子技术应用,2016,42(7):79-82.

[4] 谢丰,彭勇,赵伟,等.工业控制设备安全测试技术[J].清华大学学报(自然科学版),2014,54(1):29-34.

[5] 屈婉莹,魏为民,朱苏榕. 工业控制系统通信协议安全研究[C]. 全国智能电网用户端能源管理学术年会,2015.

[6] 唐文.协议安全测试在工业信息安全领域的应用[J].中国仪器仪表,2014,7(4):14-16.

[7] KNAPP E D.工业网络安全:智能电网,SCADA和其他工业控制系统等关键基础设施的网络安全[M].周秦,郭冰逸,贺惠民,等,译.北京:国防工业出版,2014.

[8] 王斌.工业控制系统信息安全的安全保障-Achilles认证[J].自动化博览, 2014(1):50-52.

[9] 熊琦,彭勇,伊胜伟,等. 工控网络协议Fuzzing测试技术研究综述[J] 小型微型计算机系统,2015,36(3):497-502.

[10] 万明,赵剑明,乔全胜,等. 面向工业嵌入式设备的漏洞分析方法研究[J].自动化仪表, 2015,36(10):63-67.

[11] 向登宁,马增良.工业控制系统安全分析及解决方案[J].信息安全与技术,2013,4(11):28-30.

[12] 吴礼发,王辰,洪征,等.协议状态机推断技术研究进展[J].计算机应用研究,2015,32(7):1931-1936.

[13] 王灏然,肖玉珺,徐文渊,等. 基于旁路信息的PLC安全监控系统[J]. 工业控制计算机, 2016, 29(6):74-76.

[14] 吴礼发,洪征,潘瑶.网络协议逆向分析及应用[M].北京:国防工业出版社,2016.

刘仁辉(1968-),男,硕士,高级工程师,硕士生导师,主要研究方向:工控与工控信息安全。

董伟(1986-),男,硕士,工程师,主要研究方向:计算机、渗透测试、自动控制、工业控制系统信息安全、工控信息安全检测。

使用超声波技术进行流量计量

超声波技术已在民用、医疗和军事应用中有上百年的历史。几乎每个人都经历过医疗超声波技术(如B超)。目前,最新的超声波应用已发展到工业和汽车市场的自动化中。

超声波技术的非接触性质使其成为医疗、制药、军事和工厂用途的绝佳选择。此外,其操作环境也大大超出人们所了解的范围。

流量计量是以每小时升(l/h)或加仑/分钟(g/m)为单位测量液体或气体的流量。流量计可用于住宅和工业环境中,包括住宅和工业仪表中的简易功用表(气表、水表、热量计)或危险液体或气体用混合器(石油、采矿、废水处理、油漆、化学品)。在结构上,流量计包括三个单元:传感器单元、计量单元和通信单元。这些单元或功能块中的每一个都可以是机械式或电子式。

在大部分流量计的设计中,其活动部件都会使用机械感测。例如,使用电感电容器(LC)、巨磁电阻(GMR)、隧道式磁阻(TMR)或霍尔效应传感器捕获螺旋桨或叶轮的运动,该运动根据流量而变化,并被转换成数据并传递给测量单元。因为有活动部件,所以可能会出现磨损和不准确的情况。

这些仪表的寿命普遍较短(不到7年),并且不能检测到低流量或小泄漏。同时,介质污染、污垢积聚以及部件的结垢和老化也会影响测量精度,很可能导致传感器结果不准确,因此还需要定期对流量计进行重新校准。

超声波传感避免了上述几个问题。该传感技术非常精确(<±1%),具有较长使用寿命(>10年),可以方便地检测不同成分的液体或气体,并调整介质和管道腐蚀污染的影响。超声波仪表没有活动部件,因此无需重新校准。

用于流量测量的超声波频率范围为100 kHz~4 MHz。使用一定频率的电脉冲信号激发超声波传感器从而产生相应频率的超声波,并使用同一声波传输路径从两个对立的方向在不同时段发射声波并测量声波传输时间(记为上行传输时间和下行传输时间,TOF,Time of flight)。通过计算上下行传输时间的绝对时间差,进而计算出实际流量。

TOF测量的精确度将直接影响流量计量的分辨率和精度。TOF通常以皮秒(ps)或纳秒(ns)计量,它的主要参数包括零流量漂移(ZFD)、标准偏差(STD)、最小和最大可检测流量、流量、流速、体积、绝对值(Abs)TOF和Delta(Δ)TOF。流量表行业标准;最常见的是国际标准化组织(ISO)4064、国际法制计量组织(OIML)R49和欧洲标准(EN)1434。TI的超声波流量表方案能够达到符合标准的高水平精度要求。

(TI公司供稿)

Application of protocol security testing in industrial DCS system evaluation

Ji Shengkai, Liu Renhui, Dong Wei, Xu Fengkai

(National Engineering Laboratory for Information Security Technology of Industrial Control System,National Computer System Engineering Research Institute of China, Beijing 100083, China)

In order to find out the information security problem of industrial control system, the private communication protocol of industrial DCS system is tested. Aiming at the problem that the automation tool can not accurately test protocol security problems, this paper puts forward and realizes the analysis method of DCS proprietary communication protocol. Based on the protocol analysis, the test cases are used to test the security of the DCS system, which can effectively detect the security problems of the DCS system, and provide the basis for the research of the DCS system. The results show that the security of the industrial DCS system can be effectively detected by manual protocol analysis and protocol testing.

industrial control system; information safety; DCS; protocol analysis; protocol testing

TP39

A

10.19358/j.issn.1674- 7720.2017.20.003

姬胜凯,刘仁辉,董伟,等.协议安全测试在工业DCS系统测评中的应用[J].微型机与应用,2017,36(19):10-13,16.

2016-04-18)

姬胜凯(1990-),通信作者,男,硕士研究生,主要研究方向:工控协议分析、渗透测试、工业控制系统信息安全、工控信息安全检测。E-mail:18811569089@163.com。

猜你喜欢
工控通信协议数据包
二维隐蔽时间信道构建的研究*
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
基于Wireshark的列控中心以太网通信协议解析器的研究与实现
SmartSniff
工控速派 一个工控技术服务的江湖
工控速浱 一个工控技术服务的江湖
热点追踪 工控安全低调而不失重要
基于攻击图的工控系统脆弱性量化方法
关于电力物联网信息模型及通信协议的设计要点分析
基于风险分析的安全通信协议简化研究