列车通信网络WTB链路层攻击方法研究
万海1, 孙雷2, 王恬1, 黄晋1 , 赵曦滨1    
1. 清华大学 软件学院 信息系统安全教育部重点实验室, 北京 100084;
2. 天津大学 精密仪器与光电子工程学院, 天津 300072
摘要:列车通信网络(TCN)是列车专用的工业控制网络, 其安全问题是列车运营的重中之重。目前尚缺乏直接针对TCN底层的安全监控手段。WTB是TCN标准体系中规定的一种底层总线通信模块。该文通过分析WTB的网络通信协议, 发现了一种存在于列车通信网络底层的安全隐患以及可能的攻击方法。采用形式化建模验证和真实平台实验两种方式确认了攻击的有效性。此外, 该文还根据攻击的特点, 提出了相应的防范方法。
关键词列车通信网络    WTB    攻击    解决    
Analysis of a method for attacking WTBlink layers in a train communication network
WAN Hai1, SUN Lei2, WANG Tian1, HUANG Jin1 , ZHAO Xibin1    
1. Information System Security Key Laboratory of Ministry of Education, School of Software, Tsinghua University, Beijing 100084, China;
2. School of Precision Instrument&Opto-electronics Engineering, Tianjin University, Tianjin 300072, China
Abstract: Train communication network (TCN) is a specialized industrial control network, whose safety and security problems are of great importance. The wire train bus (WTB) is one of the link layer communication modules of TCN architectures. A potential risk and a possible attack method were found based on the analysis of WTB communication protocol. Formal modeling verification and experiments show that the attack method is feasible. Based on the characteristics of the attack method, this paper also proposes a precautionary method.
Key words: train communication network (TCN)    wire train bus (WTB)    attacks    preliminary solutions    

目前,网络安全已成为一项全球关注的热点问题[1, 2]。从20世纪90年代网络的兴起开始,各种网络威胁如病毒、木马、蠕虫等也随之而来。当今的工业生产不可避免地需要广泛使用工业控制网络。早期的工业控制网络由于其封闭性和协议的专门性,是相对安全的。但随着工业化和信息化的逐步融合,工业控制网络逐步向互联网开放。由于其在国民经济中的战略性地位,工业控制网络成为网络攻击的焦点,其安全形势日益严峻。2010年席卷全球工业界的震网病毒(Stuxnet)向业界显示了工业控制网络在网络威胁面前的脆弱性,也指出了工业控制网络安全研究的重要性[3]

我国轨道交通领域正处于飞速发展时期。列车网络控制系统是轨道交通装备的“大脑和神经”,是一类典型的工业控制网络[4]。其安全性将直接影响行车安全。针对确保列车安全运营,已存在若干安全保障系统,例如,TCMS内部安全模块、工业网络防火墙、 CTCS车载子系统[5]、 列车运行监控记录装置[6]、 机车车载安全防护系统[7]等。总的来说,这些系统和模块,或工作在列车通信网络的应用层之上,或将整个列车当作一个整体来观察其外部行为是否合规,并没有深入列车控制网络的内部(也即应用层之下)对列车通信网络行为进行有效的监控。因此,在宏观上合规,而在微观上具有破坏性的恶意行为(类似于震网病毒),是很难由这类系统或模块发现的。

列车通信网络(train communication network,TCN)是一种主流的列车网络技术,在动车、城轨、机车中应用广泛。如前文所述,虽然已有很多手段对TCN进行安全监控,但TCN的底层安全防护措施依旧缺失。为此,本文对TCN的WTB模块的安全问题进行了全面的论述,通过分析WTB的初运行过程和常规运行过程,发现了一种存在于TCN底层的安全隐患以及可能的攻击类型。为验证攻击的有效性,本文使用时间自动机对系统行为进行了建模,并使用验证的手段确认了攻击的有效性。此外,本文还通过实验平台验证了针对WTB模块攻击的可行性。本文根据攻击的特点,提出了相应的防范方法。

本文的第1节进行了列车通信网络的概述,包括TCN标准体系与WTB概述; 第2节介绍了WTB网络通信的过程; 第3节给出了WTB协议中存在的安全隐患以及可能的攻击类型; 第4节从建模和实践角度给出了该攻击的可行性; 第5节针对该类攻击提出了一种安全措施进行防御; 第6节总结全文,并指出了下一步研究方向。

1 列车通信网络概述

列车通信网络是组成列车网络控制系统的主要部分,是轨道交通装备的“神经系统”,承担着连接列车子系统、传输列车控制状态和诊断信息等功能。其结构如图1所示。图中虚线框内为列车通信网络。

图1 列车通信网络结构示意图
1.1 TCN标准体系

列车通信网络(TCN)是国际电工委员会(IEC)组织于1999年首次发布的列车通信系统国际标准,代号为IEC61375-1[8]。TCN以工业总线通信技术作为列车通信的基本框架,同时针对于列车运行时的特殊环境做出了相对应的技术细则。TCN标准体系结构如图2所示。

图2 TCN标准体系结构

TCN体系由用户层、实时协议(RTP)层、数据链路层以及物理层组成。其中RTP层面向用户应用提供了应用层接口ALI,并主要负责两种数据的传输: 过程数据和消息数据。链路层面向用户应用提供了链路层接口LLI。

TCN体系以轨道交通应用为导向,主要包括两个链路层核心网络结构: 多功能车辆总线(multifunction vehicle bus,MVB)以及绞线式列车总线(wire train bus,WTB)。非正式地,MVB负责连接相同车厢内的不同网络设备,而WTB负责连接不同车厢内的网络设备。

1.2 WTB节点

WTB是TCN标准体系中规定的一种底层总线通信模块,包括对应的数据链路层和物理层。WTB总线主要适用于需要经常改变列车编组的情形,如国际列车和多厂商列车在运行时需要经常互相加挂解挂、改变方向等。WTB总线的核心功能就是能够让重新编组后的列车自动完成网络拓扑的计算和分发,保证列车无论如何编组都能保证总体网络的连通性。

由于WTB总线需要起到连接上层应用以及底层物理传输的功能,因此WTB的结构也采用了分层的结构来实现数据封装及传输。WTB参考模型如图3所示。

图3 WTB参考模型

WTB参考模型主要分为数据链路层和物理层两部分。数据链路层包括与上层通信的链路层适配器,以及初运行、介质分配、数据帧编码、介质信号编码等功能。数据链路层又包含若干接口,负责层级之间的数据交互。数据链路层同时提供管理功能和冗余线路功能,并通过提供一系列的链路层接口使得上层应用可以对链路层进行管理和冗余保护。而物理层主要负责实际的物理信号收发、传输,以及根据链路层需要而执行一些电气和机械方面的控制功能。

2 WTB通信过程简介

WTB的数据链路层主要有两方面功能: 负责总线上的过程数据、监视数据和消息数据的传输; 以及列车的动态编组(WTB初运行),即当WTB总线拓扑发生变化时,由总线主发起的节点命名和拓扑分发的过程。

2.1 WTB节点的两种模式

对于WTB总线上的所有节点,在通信过程中有两种工作模式: 中间模式和终端模式。在这两种模式下,节点的职责不同,发送与接收的信息也不同。这两种模式的切换是通过负责总线控制功能的重要部件介质访问单元(MAU)完成的,

图4所示。MAU包含两套链路收发器,分别负责向通道1和通道2发送数据帧。当总线开关Kb闭合时,节点将通道1与通道2的两个总线连通,此时节点所处的模式被称作中间模式,两个通道收发的数据完全相同。当Kb打开时,两个通道并不联通,此时节点所处的工作模式为终端模式。两个通道的收发模块独立工作。

图4 MAU结构示例图

在列车通信网络处于常规运行时,两端的WTB节点处于终端模式,而非两端的WTB节点处于中间模式。

2.2 WTB节点的宏状态

WTB节点的数据传输和初运行功能可以用多个宏状态以及它们之间的转换关系来描述。每个宏状态负责初运行中的一个步骤以及相关WTB数据帧的收发功能。各个宏状态之间在某些条件的触发下可以进行迁移。每个宏状态内部还有若干层子状态,用来处理不同级别的任务。WTB节点基本宏状态转换关系如图5所示。

图5 WTB节点宏状态关系图

图5中,最上面的为节点启动状态。左侧为主状态,包括NAMING_MASTER、 TEACHING_MASTER、 REGULAR_MASTER三个状态。右侧为从状态,包括UNNAMED_SLAVE、 NAMED_SLAVE、 LEARNING_SLAVE和REGULAR_SLAVE四个状态。WTB节点启动之后,通过启动模块来判断进入到主状态或从状态分支。处于主分支节点为主节点,而处于从分支的节点为从节点。在同一个WTB总线上,最多存在一个主节点,其他节点均为从节点。

2.3 WTB节点的常规运行行为

图5所示,主过程进入REGULAR_MASTER 状态之后,

说明初运行已经完成,WTB总线开始按照基本周期进行正常的总线通信活动,其状态图如图6所示。正常的运行过程中,主过程的活动按周期循环运行。总线活动的基本单位是基本周期,每个基本周期又分为周期阶段和偶发阶段。主过程按照固定的时间间隔查询从节点的进程数据,并在两个基本周期之间进行消息数据和监视数据的查询。在每个基本周期里,总线主都要查询末端节点,以确定列车组成的完整性,并且探测是否外部有新节点的加入。

图6 REGULAR_MASTER宏状态展开图

在REGULAR_MASTER状态,主过程的主要工作有: 过程数据、监视数据以及消息数据的轮询。在过程数据轮询的过程中,无论节点是否响应,主过程都会按照主帧表轮询各个节点。在监视数据轮询的过程中,主过程将会交替向两个方向查询是否有新节点加入。如果端节点正常响应,就处理其他节点的监视数据。否则若端节点失去响应的次数达到3次,则认为端节点丢失,主过程将进入shorten出口表示总线缩短。这将启动一次初运行,重新进行一次地址分配。

3 WTB链路层攻击的思路

中间人攻击是一类典型的网络入侵手段。这类攻击的前提是两个通信主体A和B之间存在一个攻击者C,而A和B的通信都要经由C传递。C通过拦截A与B之间的数据,对数据进行恶意篡改,从而在A和B不察觉的情况下对网络进行攻击。

一般情况下,基于总线的网络结构并不存在中间人攻击的前提。总线上两个节点的数据传输均为点到点的,并不需要第3个节点进行中继。如果恶意节点强行篡改数据,只会造成总线上数据帧内容被破坏而被接收方丢弃。如图7a所示,如果节点A向C发送数据时,B强制对数据进行篡改,那么会导致A向C发送的数据帧被破坏,从而使C将此数据帧丢弃,导致篡改失效。

图7 WTB链路层攻击示意

如2.1节所述,WTB节点可以工作在终端模式或中间模式。当其处于终端模式时,WTB节点的两个通道相互独立。这种工作模式为中间人攻击提供了物理基础。如图7b所示,恶意节点B可在运行时主动将工作模式从中间模式切换成终端模式。此时,所有A与C之间的通讯必须由B中继。如果B在中继过程中对关键数据进行篡改,将会导致严重的后果。

恶意节点在实施攻击时,不能影响数据链路的正常运行,即攻击行为不能导致数据超时和WTB初运行。为满足如上要求,通过分析主从设备行为状态图,恶意节点的行为应满足如下条件:

1) 开关切换时间(即从中间模式向终端模式转换时间)不超过162.5 ms;

2) 在一次主从帧会话过程中,引入主从帧中继行为之后,主从帧时间间隔不超过1.765 ms。

第一点可由硬件设计来保证。经过实际测试,开关切换时间可以在20 ms内完成。

而第二点较难。如果直接使用转发机制来完成中继,就会导致主从帧超时。如图8所示。WTB总线上的最长数据帧为1 056 bit,而WTB总线的速率为1 Mb/s。如果采用直接转发的方式实现中继,那么至多会引入(1.056×2) ms的延时(主帧转发延时和从帧转发延时)。如果再加上信号传播延时和从设备处理时间,那么主从帧时间间隔会超过1.765 ms。若连续发生3次主从帧超时,则主节点将会启动一次WTB初运行。

图8 直接转发

本文使用跨周期转发机制来减少由于直接转发所产生的延时,具体原理如图9所示。图中相同线性的数据帧来自于同一个周期。当恶意节点收到一个主帧后,它将通过另一个通道将伪造的主帧发送出去,并保存收到的从帧。在下一周期中,当同一类型的主帧到达时,恶意节点在超时时间内将上一周期保存的从帧(经篡改后)发送出去,从而在保证数据交互流程有效的情况下完成数据的篡改。 由于伪造的从帧的数据来自于上一个周期,因此主帧与(伪造的)从帧之间的时间间隔不受转发延时的影响。

图9 跨周期转发
4 WTB链路层攻击的建模、验证与实现

为验证第3节给出的WTB链路层攻击思路的可行性,本节进行如下工作。

1) 使用时间自动机建模工具Uppaal对包含两个正常节点和一个恶意节点的WTB网络进行行为建模,验证了在恶意节点存在的情况下,WTB总线可以长期处于常规运行状态。

2) 基于第一点的结论,在WTB实验平台上实现了攻击算法。通过实验,验证了实施攻击的可行性。

4.1 WTB链路层攻击的建模与验证

WTB链路层模块是一种典型的时间相关的嵌入式系统。本文使用Uppaal对其进行建模,并验证攻击的可行性。Uppaal[9]是一个被学术界广泛使用的时间自动机(timed automata)[10]建模验证工具。

系统模型的模块组成和交互关系如图10所示。系统模型由5个模块构成。

图10 系统模型结构

1) 从节点常规运行模块——该模块建模一个进入REGULAR_SLAVE宏状态的从节点的行为;

2) 主节点常规运行模块——该模块建模一个进入REGULAR_MASTER宏状态的主节点的行为;

3) 通道模块——该模块建模WTB总线,实现数据帧的广播功能;

4) 恶意节点常规运行模块——该模块建模恶意节点作为一个标准从设备的行为,该行为与从节点常规运行模块一致;

5) 恶意节点跨周期转发模块——该模块建模节点的跨周期转发行为。

第4个和第5个模块组合起来建模恶意节点的行为。当数据帧的目的地址为恶意节点时,该数据帧交由恶意节点常规运行模块处理。当数据帧的目的地址不为恶意节点时,该数据交由恶意节点跨周期转发模块处理。

各常规运行模块的建模以IEC 61375中的图202和图209为标准。跨周期转发模块的建模以第3节的思路为基础。通道模块采用文[11]中的通道建模方法。

基于所建模型,本文在Uppaal中验证了如下两条属性。

属性1 A[](master_state!=m_lengthen/\ master_state!=m_shorten/\master_state!=m_teach/\master_state!=m_setsleep/\master_state!=m_demoted)。该属性表示主节点常规运行模块不会退出MASTER_REGULAR宏节点,即正常的运行不会被恶意行为打断。

属性2 A[](slave_state!=s_promoted/\ slave_state!=s_learning/\slave_state!=s_unname)。该属性表示从节点常规运行模块不会退出SLAVE_REGULAR宏节点,即正常的运行不会被恶意行为打断。

Uppaal的验证结果表明了这二条属性均成立。

4.2 WTB链路层攻击的实现

WTB链路层攻击实验平台结构如图11所示。平台中包括4个设备。其中设备A和C为购置的标准WTB设备; B为自制设备(用于模拟攻击); M为自制设备(用于采集WTB总线数据)。设备B的系统结构如图12所示,包括FPGA和ARM两部分: FPGA实现WTB总线收发帧功能; ARM实现WTB链路层功能。

图11 WTB链路层攻击的拓扑

图12 恶意WTB节点系统结构

本文在ARM上实现了标准的WTB链路层功能。实验表明A、 B和C可以组成一个正常运转的、包含3个节点的标准WTB网络。

基于第3节的攻击思路和第4.1节的时间自动机模型,在实验平台上模拟了攻击。在完成WTB初运行5 s之后,设备B从中间模式切换至终端模式,并进入跨周期转发状态。实验结果表明:

1) 设备B在切换工作模式时并没有触发WTB初运行;

2) 设备B的跨周期转发行为并没有引起主从帧超时,从而也未因此触发WTB初运行;

3) 设备B可以自由篡改转发的数据,实施恶意攻击而不被发现。

通过本节的形式化验证和实验,本文证实了实施WTB链路层攻击的可行性。

5 WTB链路层攻击的防范措施

因为WTB链路层攻击发生在应用层之下,按照网络的层次化设计原则,恶意行为对应用层是不可见的,所以常规的应用层行为监控手段并不能发现此类攻击。为了检测出此类攻击,必须在WTB网络中引入一个独立的监控模块,对WTB链路层和物理层行为进行监控。该监控模块通过采集WTB物理层的数据帧,建立每个WTB节点的行为特征。行为特征包括如下两类。

1) 波形图特征。WTB节点通过改变WTB总线的电平来实现发帧操作。电平随着时间的变化形成了波形图。每个WTB节点发送数据时产生的波形图均有其特征,例如,电压幅度、电压幅度与设备距离的比例系数等。

2) 主从帧间隔特征。在接收到主节点发来的主帧后,从节点将会发送从帧。主从帧之间的时间间隔由设备处理延迟和主从设备之间的距离确定。

波形图特征和主从帧间隔特征可作为WTB节点的“指纹”。不同的设备具有不同的“指纹”。

恶意节点要实施中间人攻击必须代替被攻击节点发送数据。因为不同的节点具有不同的行为特征,所以这种替换将导致实施攻击前后,相同逻辑节点的行为特征发生显著变化。这种显著变化可以被WTB监控模块发现并预警。

6 结束语

列车通信网络(TCN)是一种主流的列车网络技术。虽然已有很多手段对TCN进行安全监控,但TCN的底层安全防护措施依旧缺失。本文对TCN的WTB模块的安全问题进行了全面的论述,通过分析WTB的运行过程,发现了一种存在于TCN底层的安全隐患以及可能的攻击类型。本文通过形式化建模验证和真实平台实验两种方式确认了攻击的有效性。此外,本文还根据攻击的特点,提出了相应的防范方法。

参考文献
[1] 石淑华, 池瑞楠. 计算机网络安全技术. 北京: 人民邮电出版社, 2012.
[2] 晋宽, 淑华, 雨川. 工业网络技术. 北京: 北京邮电学院出版社, 2007.
[3] 李战宝, 潘卓. 透视“震网”病毒[J]. 信息网络安全, 2011(9): 230-232.LI Zhanbao, PAN Zhuo. The perspective of Stuxnet viru [J]. Netinfo Security, 2011( 9): 230-232. (in Chinese)
[4] 陶艳. 列车网络控制技术原理与应用 [M]. 北京: 中国电力出版社, 2010.
[5] 全宏宇. CTCS-3级列控系统地车安全信息传输子系统的建模与分析 [M]. 北京: 北京交通大学出版社, 2014.
[6] 张文远. 全面加强LKJ系统设备运用管理 [J]. 铁道通信信号, 2009, 45(10): 49-50.ZHANG Wenyuan. Strengthening LKJ system equipment application management in all aspects [J]. Railway Signalling & Communication, 2009, 45(10): 49-50. (in Chinese)
[7] 申瑞源. 机车车载安全防护系统(6A系统)总体方案研究 [J]. 中国铁路, 2012(12): 1-6.SHEN Ruiyuan. Research on the overall scheme of train-carried safety protection system (6A system) [J]. Chinese Railways, 2012(12): 1-6. (in Chinese)
[8] IEC. IEC 61375-1. Electric railway equipment-Train bus- Part 1: Train communication network [S]. Switzerland: IEC, 1999.
[9] Bengtsson J, Larsen K, Larsson F, et al. Uppaal: A tool suite for automatic verification of real-time systems [J]. Hybrid Systems III, 1996, 232-243.
[10] Alur R, Dill D. A theory of timed automata [J]. Theoretical Computer Science, 1994, 126(2): 183-235.
[11] YU Jiang, ZHANG Hehua, SONG Xiaoyu, et al. Verification and implementation of the protocol standard in train control system [C]//Computer Software and Applications Conference (COMPSAC), 2013 IEEE 37th Annual. IEEE, 2013: 549-558.