基于隐马尔可夫模型的CTCS无线通信系统入侵检测分析

2021-09-09 05:17谢雨飞田启川
铁道学报 2021年8期
关键词:马尔可夫数据包阈值

谢雨飞,田启川

(北京建筑大学 电气与信息工程学院, 北京 100044)

中国列车控制系统(Chinese Train Control System,CTCS)是为了保证列车安全运行,以分级形式满足不同线路运输需求的列控系统。铁路专用全球数字移动通信系统(Global System for Mobile Communications-Railway,GSM-R)是在CTCS的3级和4级中用于车载子系统和列车控制中心进行双向信息传输的车地无线通信系统,它的安全性与整个CTCS系统的安全性紧密相关[1]。

CTCS无线通信系统是一个开放式传输系统[2],标准EN 50159-2[3]指出:“在开放传输系统中,无线通信系统自身存在的一些特性,可能导致信息传输存在一些错误或隐患,包括重复(Repetition)、删除(Deletion)、插入(Insertion)、乱序(Resequence)、恶化(Corruption)、延时(Delay)、伪装(Masquerade)。”因此,研究CTCS无线通信系统的安全性具有重要意义。

目前,针对CTCS无线通信系统安全方面的研究,往往是通过安全协议预防风险的发生,采用仿真结合检验的方式提高无线通信网络的可靠性。例如,在国外, MORANT等[4]利用马尔可夫模型对ETCS无线通信系统的安全性进行了建模分析,模拟外界入侵方法,分别测试系统的可靠性;HERMANNS等[5]利用StoCHARTS建立了ETCS无线通信系统模型,从网络延迟、非法数据等方面对无线通信的可靠性进行了定量分析。在国内,文献[6]基于马尔可夫链建立了铁路通信多链路延迟模型,对多链路场景下各个部件的状态信息进行建模,利用复杂随机变量相关系数之间的关系,建立了具有不同延迟的相位模型,通过测量的方法,验证了信道参数的可靠性;文献[7]利用形式化模型对列控系统的安全通信协议性能进行仿真,运用决策论中的概念和理论对建立安全链接需要的时间和传输信息需要的时间数据进行分析,从而研究了制定安全通信协议的性能评价规则;文献[8]根据列车通信网络的需求,构建一种并行传输的网络架构,通过改进的并行冗余协议PRP提高了基于以太网的列车通信网络的可靠性;另外,文献[9-12]通过Petri网、遗传算法、神经网络等方法优化了CTCS无线通信系统的性能指标。然而,这些方法都有不足之处:首先,它们都无法解决安全后门问题,没有实时入侵检测的能力;其次,对于病毒等软件攻击,都会显得束手无策;更为重要的是,以往的方法只能在风险发生后才能分析并解决问题,都是被动的方法。因此,很多研究者尝试采用主动策略,以求实时监测无线网络是否有入侵行为的发生,从而增强系统的安全性,其中一个有效的解决方法就是在系统中增加入侵检测模块。

本文基于隐马尔可夫模型对CTCS无线通信系统进行入侵检测,隐马尔可夫链对于识别问题和故障检测有着强大的分析能力。通过捕获并分析CTCS无线通信系统安全层数据包,建立相应的隐马尔可夫检测模型,利用正常情况下系统数据包的特征训练模型参数,模拟典型的攻击方法测试了CTCS无线通信系统的入侵检测能力。

1 CTCS无线通信系统存在的安全威胁

目前,对于CTCS无线通信系统的入侵方式有以下3种:针对信息的机密性进行攻击;针对数据的完整性进行攻击;针对用户认证进行攻击。对于这些攻击的防范方式是基于加密和认证,然而,无论哪一种攻击,都与数据包头部异常有直接或间接的关系。因此,有必要对通信协议安全层的数据包结构(特别是头部结构)进行分析,从而研究整个系统的安全性。

1.1 CTCS无线通信协议安全层数据包的结构

CTCS无线通信系统的安全通信协议将一个完整的通信过程分为安全链接的建立、安全数据的传输、安全链接的断开3个阶段[13],每个阶段都有相应的协议数据单元的发送、接收和转换,分别见图1~图3,协议安全层数据包结构如表1~表3所示,表中的数字表示该字段所占的字节数,×表示没有该字段。

图1 建立链接

图2 安全数据传输

图3 断开链接

表1 安全层数据包结构(建立链接)

表2 安全层数据包结构(安全数据传输)

表3 安全层数据包结构(断开链接)

其中,安全层协议各字段的含义如下:

ETY:被叫对象的ID类型,3 bit;

MTI:信息类型标识,4 bit;

DF:信息传输方向标识,1 bit;

SA:呼叫方ID,3 Byte;

SaF:可接受的安全特性标识,取值为预设定的,1 Byte;

Rd:用于生成密钥的随机数,8 Byte;

MAC:信息验证码,8 Byte;

User Data:用户数据,不定长;

Reason:断开链接原因,1 Byte;

Sub-Reason:断开链接子原因,1 Byte。

1.2 安全性分析

目前,对CTCS无线通信系统安全层协议数据包的攻击主要有两种形式[14-15]:一种形式称为泛洪攻击(Flood攻击),这种攻击通常是在目标网络中不断地发送大量伪造数据包,造成网络资源和带宽被恶意侵占,从而造成网络无法提供正常的服务;另一种攻击是利用协议本身的一些固有缺陷或者是协议设计中的不合理,通过伪装的方式来盗取或截获信息(Spoof攻击),从而破坏网络的正常访问或者非法窃取信息。以上两种攻击都会给整个CTCS带来极大的风险,必须加以防范。而这些网络攻击都可以通过对网络协议数据包的分析,提前检测出来。

2 基于隐马尔可夫模型的入侵检测建模

2.1 隐马尔可夫模型

隐马尔可夫模型(Hidden Markov Model,HMM)是统计模型[16],它用来描述一个含有隐含未知参数的马尔可夫过程。一个标准的隐马尔可夫模型可以表示为五元组(S,O,π,A,B)。其中,S表示隐含状态,这些状态之间满足马尔可夫性质,通常无法直接观测;O表示可观测状态,在模型中,这些状态与隐含状态相关联,并且可以直接观测;π为初始状态概率矩阵,表示隐含状态在初始时刻的状态转移概率分布,π=[πi]表示初始状态为i的概率;A为隐含状态转移概率矩阵,描述了HMM模型中各个状态之间的转移概率,A=[aij],其中aij为从状态i到状态j的转移概率;B是观测状态转移概率矩阵,B=[bi(k)],其中bi(k)表示当前状态为i,观测值为k的概率。

2.2 CTCS无线通信系统入侵模型

一般来说,可以直接利用无线通信网络数据包作为隐马尔可夫模型观测序列的一个观测值。为了简化起见,忽略用户数据,以减少状态空间。因为无论用户数据的长度为多少,对于模型分析结果来说,不会有任何影响,所以取用户数据长度l=0最为简单。根据表1~表3中安全层数据包结构字段的大小,最长的数据包包含21 Byte(除用户数据外),即168 bit。通常模型的观测值取2n,则最小的n=8,观测值数量为N=256个,令模型的观测值符号V={v0,v1,v2,…,vN-1};隐含状态集合S={s0,s1,s2,…,sN-1};隐含状态转移概率矩阵A=[aij]N×N;观测状态转移概率矩阵B=[bi(k)]N×N;初始状态概率矩阵π=[πi]1×N;一个可观测序列就是一个除去了用户数据后的数据包,令模型的可观测序列为O={o1,o2,…,oT},其中oi是该序列的第i个观测值,也是所观测数据包的第i字段的值,T为每一个观测样本的长度。

2.3 训练过程

在许多实际问题中,参数都不能直接计算,而是需要进行估计,这就是隐马尔可夫模型的训练问题(也可称为学习问题)。训练问题的核心是当获得观测序列O={o1,o2,…,oT}后,调整模型参数A、B、π,使得观测值序列概率P(O|λ)取得最大值,其中,λ=(A,B,π)表示HMM的模型参数。通过对模型参数A、B、π的不断调整,使得模型记忆正常状态时CTCS无线网络系统的状态。本文利用Forward-Backward算法[17]进行模型评价,用Baum-Welch算法[18]进行参数估计。

Forward-Backward算法的思路是:首先对隐马尔可夫模型的参数进行初始估计,但这种估计很可能是错误的,然后通过对于给定的数据来评估这些参数的值,并减少它们所引起的错误,以重新修订这些模型参数。Forward-Backward算法对P(O|λ)求解方法如下:

对于一个状态序列X={x1,x2,…,xT},有

( 1 )

P(O,X|λ)=P(O|X,λ)P(X|λ)

( 2 )

则所求概率为

( 3 )

Baum-Welch算法是为了解决隐马尔可夫模型中的参数估计问题,其思路是:对于给出的观测序列,估计模型参数,使得在该模型下观测序列概率最大。用Baum-Welch算法估计参数A、B、π的方法如下:

给出模型参数λ和观测序列O,定义二元函数γt(i,j)=P(xt=qi,xt+1=qj|O,λ)表示在t时刻由状态qi转换到t+1时刻的状态qj的概率。这个二元函数可以用字母α和β重写为

( 4 )

( 5 )

综上,模型参数λ=(A,B,π)的训练过程为:

Step1捕获CTCS无线通信系统数据包,解释数据包,提取除用户数据以外的所有信息。

Step2模拟需要检测的CTCS无线通信系统的各种入侵方式。

Step3利用Forward-Backward算法计算观测值序列概率P(O|λ)。

Step4用Baum-Welch算法评估参数A、B、π。

Step5再次利用Forward-Backward算法计算观测值序列概率,如果收敛则停止,否则重新用Baum-Welch算法评估参数,直至收敛。

训练过程见图4。

图4 模型训练过程

2.4 阈值的确定

CTCS无线网络入侵检测的性能与阈值的选择相关:如果阈值过大,检测率提高,但是错误率随之提高;如果阈值过小,错误率降低,但检测率随之降低。因此,如何确定阈值,需要综合考虑入侵检测率和错误率两个因素。有两种方式来确定阈值。

第一种方式是在训练阶段,计算每一个观测序列的观测值序列概率P(O|λ),在所有的计算值中选择最小值当作阈值。当训练完成进入实际检测时,计算检测到的所有观测序列的P(O|λ),逐一与训练阶段设定的阈值比较。如果P(O|λ)小于阈值,那么此观测序列即为异常序列;如果P(O|λ)大于阈值,则为正常序列。该阈值确定方法的优点是过程比较简单,缺点是该方法对系统的训练环境要求比较严格:要求参加训练的所有数据必须是正常的;在训练过程中,阈值不能更新。

第二种方式是利用试验结果动态调整阈值。在利用隐马尔可夫模型检测在正常情况下的网络数据包时,可以得到一系列的观测序列的P(O|λ)。由于是在正常情况下检测到的,因此阈值一定会比所有的P(O|λ)小,这样就可以初步确定P(O|λ)的范围。当有非法入侵的情况发生时,逐一计算每一个观测序列的P(O|λ),由于此时是在入侵检测过程中,并不保证所有序列的正常性,因此,有一小部分的P(O|λ)小于阈值,该部分比例的具体数值可以通过计算获得,这样就能动态调整阈值的取值。这种方式的优点是精度比较高,然而,由于在实际中不可能模拟全部的入侵形式,所以这种方式同样也会存在误差。

3 CTCS无线通信系统入侵检测系统设计

试验检测系统包括1个控制台、1台服务器、1个模拟攻击者、3个无线数据采集器、2列追踪列车、2个基站收发台(Base Transceiver Station,BTS)、1个基站控制器(Base Station Controller,BSC)、1个移动交换中心(Mobile Switching Center,MSC)、1个无线闭塞中心(Radio Block Center,RBC)等部分,见图5。

图5 攻击检测系统结构

模型攻击者由配备与CTCS无线通信系统相适应的PC构成,模拟攻击者可能使用的攻击软件包括Void11 tool、File2air tool、Airjack、KisMAC、WEPWedgie、aircrack-ng、MDK3等Linux系统平台上的攻击软件。无线数据采集器用于捕获无线网络中的数据包,其数据由GSM-R定时提供,其中GSM-R每隔一定时间向采集器1发送一组列车1的实时数据,向采集器2发送一组模拟攻击者数据,向采集器3发送一组列车2的数据。服务器管理多个无线数据采集器采集到的数据,并对数据进行存储,分析网络数据包,实现数据包解析、训练模块、异常检测等功能。控制台连接服务器,用于显示和控制。BTS完成无线通信网络和列车之间的通信和管理功能。BSC为基站子系统的控制和管理部分,负责完成无线网络管理、无线资源管理及无线基站的监视管理,控制移动台与BTS无线连接的建立、持续和拆除等管理。MSC完成网络中基本的交换功能,实现列车与RBC之间的通信连接。RBC为一个安全计算机系统,它根据来自外部信号系统(如联锁设备)的信息,以及与车载设备交换的列车位置和完整性报告,生成列车移动授权信息,以保证列车在无线闭塞中心的管辖范围内安全运行。

在图5的结构中,CTCS无线通信系统入侵检测的核心功能集中于服务器中,服务器功能模块的处理过程见图6。

图6 服务器处理过程

4 试验结果分析

4.1 CTCS无线通信系统正常状态的模拟

利用隐马尔可夫模型检测CTCS无线通信系统的入侵,首先必须通过训练来确定在正常情况下的模型参数。由于正常情况下CTCS无线通信系统中存在高速大容量的数据交互,为了不失一般性,我们在实验室环境下收集了7 d的网络数据包,每天随机捕获48次(平均每30 min捕获一次),每次捕获当CTCS无线通信系统在正常情况下的 256个数据包。

试验过程中,两列列车均用仿真机代替,试验检测系统的其他设备都是真实设备。入侵检测主要在服务器中完成,服务器硬件配置:处理器为8核;内存为16 GB;网络连接为1 000 Mbit/s。服务器运行参数如表4所示。

表4 参数设置

在整个过程中,必须确保CTCS无线通信系统没有被入侵。然后,编辑两种常见的攻击(Flood攻击和Spoof攻击)脚本,入侵CTCS无线通信系统。最后用经过训练的隐马尔可夫模型对模型的正确性和可靠性进行分析。

将观测值以时间为序排列为一个T元序列O={o1,o2,…,oT},在这里,取T=256(T可根据情况自行设计),见图7。

图7 观测序列的获得

得出正常状态下的隐马尔可夫模型后,需要对模型进行验证。在试验中,一共输入6个观测序列至隐马尔可夫模型中进行计算,其中o1、o2、o3是训练模型出现过的观测序列,o4、o5、o6是训练模型未出现过的序列。o4、o5、o6也有其代表特征:序列o4虽然未被训练,但是其中有个别的状态转移在训练序列中出现过;序列o5中所有的状态转移均未被训练;序列o6则由从未出现过的状态组成。计算概率如表5所示。由于计算概率数值一般都比较小,为了记录方便,取计算概率数值的自然对数(即lnP)。因此,计算概率数值越大表明实际概率越大,说明越匹配;相反,计算概率数值越小则表明实际概率越小,说明越不匹配。

表5 计算概率数值

可以看出,模型通过算法能够计算出序列和模型的匹配程度,且区分度较高,按序列跟模型的相似程度,会得出不同的计算概率。还可以看出,训练过的序列计算概率一般大于e-20,因此,阈值可以设置为e-20:小于e-20表示与模型不匹配,即发生入侵;大于e-20表示与模型相匹配,未发生入侵。

根据阈值的设置,可以在CTCS无线网络正常状态下,利用无线数据采集器将无线网络中的数据传输至服务器,对数据包进行处理,得到观测序列值,将观测序列值放入训练后的隐马尔可夫模型中进行计算,可得到匹配概率,截取部分检测数据见图8。

图8 CTCS无线网络正常状态下概率匹配曲线

4.2 Flood攻击检测

试验模拟Flood攻击的步骤如下:

Step1监听整个无线网络,当发现有正常的列车车载设备(图1中的发送方)需要建立链接而发出AU1数据包时,在模拟攻击者中立即伪造出大量的AU2数据包,其中的信息可以随机生成,在试验CTCS无线通信系统内发送出去。

Step2地面设备(图1中的接收方)同时接收到来自合法的列车车载设备和模拟攻击者的大量AU2数据包,会占用大量的系统资源进行校验和缓存,从而使得系统性能迅速降低。

利用无线数据采集器将无线网络中的数据传输至服务器,对数据包进行处理,得到观测序列值,将观测序列值放入训练后的隐马尔可夫模型中进行计算,可以得到匹配概率,截取部分攻击检测数据见图9。

图9 Flood攻击检测概率匹配曲线

可以看出,除了在开始建立链接的时候,有少量匹配概率处于非正常的情况外,在网络正常情况下匹配概率值都大于阈值e-20。当模拟攻击者在时间t=30 s时,网络发生攻击,网络的状态出现明显的变化,匹配概率值迅速下降,并且一直小于阈值e-20,说明网络状态出现明显的异常,检测到了攻击。

在试验过程中,可以对阈值进行调整,观测阈值的变化对检测结果的影响,从而验证参数对性能指标所起的作用,这些性能指标主要是模型误检率和漏检率,如表6所示。

表6 Flood攻击模型误检率和漏检率

可以看出,误检率和漏检率均低于5%,维持在较低的水平。

4.3 Spoof攻击检测

试验模拟Spoof攻击的步骤如下:

Step1由于断开链接请求具有较高优先级,当某一列车车载设备已经与地面设备建立链接后,模拟攻击者伪装成该列车车载设备发送DI数据包。

Step2地面设备接收到来自合法列车车载设备的DT数据包,以及来自模拟攻击者的DI数据包,由于处理DI数据包的优先级比DT数据包要高,因此地面设备将链接断开,此时需要重新建立链接才能继续通信。

Step3模拟攻击者不断发送伪造的DI数据包,使得合法设备一直不能成功建立链接。

利用4.2节同样的方法截取部分攻击检测数据见图10。

图10 Spoof攻击检测概率匹配曲线

可以看出,当模拟攻击者在时间t=30 s后,检测到了攻击,结果与4.2节类似。对阈值进行调整,可以得到表7所示的模型误检率和漏检率。

表7 Spoof攻击模型误检率和漏检率

由于在试验中Spoof攻击利用的是DI数据包,与AU2数据包相比,其数据量少,因此相对来说,检测会容易一些。从结果也可以看出,误检率和漏检率比Flood攻击检测试验要小,误检率和漏检率均低于2%,有较好的正确性和可靠性。

5 结论

本文利用隐马尔可夫建模对CTCS无线通信系统进行了入侵检测,建立了系统模型,在CTCS无线通信系统正常情况时对模型参数A、B、π进行了训练,并确定了阈值。通过对常见攻击方式的模拟,对入侵检测系统进行了仿真试验,分析了检测结果的正确性和可靠性,验证了系统入侵检测的效果和能力,证明了系统的价值和可行性。

从试验过程和结果来看,相对于以往的自动机、Petri网方法,本文的方法在性能上至少具有2个优势:①本文算法可以通过训练,适应检测多种不同类型的攻击,而以往的模型检验都需要对特定的场景分别建模,并不具有一般性;②本文方法实现成本更低,因为它不需要对现有地面和车载系统做任何修改,只需要定时从GSM-R中采集数据即可。

需要指出的是,本文方法针对的是CTCS无线通信系统安全层数据包,并没有涉及网络的底层协议。另外,没有考虑不同应用环境和网络结构对结果的影响;在模型参数的训练中,由于矩阵规模较大而导致计算速度慢也是需要改进的方面,这些都是后续工作需要研究的内容。

猜你喜欢
马尔可夫数据包阈值
二维隐蔽时间信道构建的研究*
改进的软硬阈值法及其在地震数据降噪中的研究
土石坝坝体失稳破坏降水阈值的确定方法
基于小波变换阈值去噪算法的改进
民用飞机飞行模拟机数据包试飞任务优化结合方法研究
改进小波阈值对热泵电机振动信号的去噪研究
面向电力系统的继电保护故障建模研究
基于马尔可夫链共享单车高校投放研究
基于马尔可夫链共享单车高校投放研究
基于马尔科夫算法对预测窗户状态模型的研究