APP下载

基于FastGRNN 模型的列车通信网络入侵检测系统

2023-02-08方一帆曾培峰

智能计算机与应用 2023年1期
关键词:列车分类节点

方一帆,曾培峰

(东华大学 计算机科学与技术学院,上海 201620)

0 引言

目前,地铁及高铁等轨道交通系统正逐渐摒弃过去的MVB、TCN 等总线技术,转而使用通信效率更高、成本更低的以太网技术[1]。在提高乘客乘坐体验的同时,以太网技术的开放性也使得轨道交通网络系统更易受到信号干扰和恶意攻击的侵害[2]。为了保护乘客的生命及财产安全,列车通信网络系统需要建立起一套完整而严格的网络安全系统。在成熟的网络安全系统中,入侵检测系统(Intrusion Detection System,IDS)往往扮演着重要角色。不同于网络防火墙,IDS 对来自系统内部和外部的流量都进行监控。当检测到异常流量时,IDS 通常会对上级系统和管理员发出警告[3],通过一定配置,IDS也可以直接禁止异常流量的通过,甚至对不同的异常种类采取不同的保护措施,这种IDS 被称为入侵防护系统(Intrusion Prevention System,IPS)。

入侵检测系统主要分为基于标志的IDS 和基于异常的IDS[3],前者的检测方式为识别数据包中的恶意模式,需要建立起足够庞大且可靠的模式库;后者则通过评价数据流与正常数据流的偏离程度来进行检测,这是一种典型的分类问题,因此基于异常的IDS 通常使用机器学习方法。基于异常的IDS 相较于基于标志IDS 的优点是可以检测未知模式的攻击,且省去了依靠专家知识、时常需要更新的模式库;缺点是整个系统的精度很大程度上依赖训练数据集的可靠性,而这些数据集同样存在过时的风险。

近年来,以人工神经网络为主的机器学习方法正展现出其优越性。2011 年M.A.Salama 等人[4]提出了基于深度信念网络和支持向量机(Support Vector Machine,SVM)的混合式入侵检测方法。该方法通过在NSL-KDD 数据集上训练和测试,取得了最高92.84%的准确率。2012 年J.Mar 等人[5]提出了适应式模糊神经推断系统,该系统有效降低了平均检测时延,提升了拒绝服务攻击(Denial of Service,DoS)的检测精度。2017 年J.Kim 等人[6]提出了基于深度神经网络的入侵检测方法,并在KDD99 数据集上进行了实验,结果表明该算法最高能取得99%以上的准确率和检测率,以及0.01%的误报率。2018 年M.AI-Qatf 等人[7]提出了基于稀疏自编码器和SVM 的入侵检测算法,通过自编码器对数据集进行特征降维以提高SVM 的分类精度和训练速度,该文献还在J48、朴素贝叶斯、随机森林等机器学习算法上进行了广泛的实验,结果显示该算法在各性能指标上都有更好的表现。

循环神经网络(Recurrent Neural Network,RNN),因其接收上一时刻的隐层输出作为部分输入而得名。这种神经网络在保持人工神经网络非线性表达能力的同时,还能学习到序列数据间的相关性。网络流量数据通常也被认为是一种时序数据,因此RNN 及其变种在IDS 中的应用正逐渐成为近年的研究热点。2018 年B.Yan 等人[8]提出的基于局部适应少数类过采样技术(Local Adaptive Synthetic Minority Over-Sampling,LA-SMOTE)和门控循环单元(Gated Recurrent Unit,GRU)的入侵检测模型;2020 年S.Nayyar 等人[9]使用长短期记忆网络(Long Short-Term Memory,LSTM)进行入侵检测。2019 年A.Kusupati 等人[10]提出了FastGRNN(Fast Gated Recurrent Neural Network)和FastRNN 算法,通过在RNN 上直接添加门控机制,并在不同门控之间共享权重矩阵,Fast 算法能在保持GRU 高分类精度的同时,大大减少参数数量。实验结果表明,FastGRNN 的内存占用显著低于LSTM 和GRU。鉴于FastGRNN 的低资源占用表现,2021 年P.Singh 等人[11]将该算法引入了入侵检测领域,并将系统部署到了资源严重受限的物联网设备中。实验结果表明,该算法在精度达到当时最佳水准的同时,占用内存和推断耗时都有显著下降。

对于机器学习算法而言,数据集的质量至关重要。以往入侵检测乃至网络安全领域的研究主要以KDD99 数据集[12]为主。A.Divekar 等人[13]提出,尽管KDD99 在领域中处于主导地位,但KDD99 的各种缺陷正在拖累许多现代IDS 在现实场景中的表现。这些缺陷包括:由于KDD99 年代久远,无法囊括许多新的攻击手段;训练集中恶意样本只占总样本近25%,模型倾向于学习多数样本,因此难以对恶意流量进行有效检测;测试集中的正常样本只有19.4%,而仅仅DoS 样本就占到73.9%,与训练集相去甚远;训练集和测试集中都存在大量样本重复,训练集还存在测试集泄漏情况,使得最后训练出来的模型性能过于乐观。2015 年N.Moustafa 等人[14]提出了UNSW-NB15 数据集,UNSW-NB15 相比KDD99 拥有更好的数据平衡性和稳定性,且入侵种类从4 种提升到了9 种,能够体现现代网络环境的复杂性。

在对近年相关文献研究的基础上,本文提出了一种适用于列车网络的入侵检测系统。该系统在各车厢放置检测节点,抓取各自车厢交换机上的网络数据包,经预处理后原地进行异常检测,再将结果汇总到位于驾驶室的总控设备中。相比由一台中央设备负责整辆列车的网络监测,该系统将运算负荷均匀地分摊到了多个设备上,因此起到了降低成本和提高系统效率的目的。此外,本文在UNSW-NB15数据集上搭建了基于FastGRNN 的异常检测模型,将该模型部署到了各检测节点中,通过与其它机器学习模型在分类精度、内存占用、推断耗时上进行比较发现,借助FastGRNN 的低系统资源占用,能够直接部署到列车现有设备上。

1 系统描述

在传统的公司网络环境中,入侵检测系统通常与防火墙一起工作。防火墙通过黑名单和白名单系统筛选来自外部网络的连接,入侵检测系统则通过监控核心交换机来保护网络安全[15]。当入侵检测系统检测到恶意攻击流量时,系统会向网络管理系统发出警报并触发进一步的安全保护措施。典型的公司网络安全体系结构如图1 所示。

图1 典型的公司网络安全体系结构Fig.1 Typical corporate network security architecture

当直接监控核心交换机时,入侵检测系统会接收进出公司网络的所有网络流量。如果网络通信繁忙,或者网络受到针对网络带宽的攻击时(如:分布式拒绝服务(Distributed Denial of Service,DDoS)攻击),入侵检测系统可能会瘫痪,这就需要入侵检测系统采用更强大的硬件和更低延迟的入侵检测算法。同时,由于列车多车厢结构带来的网络拓扑特性,针对中心网络节点进行检测的结构也难以应用于列车通信网络。因此,在确定系统结构之前,首先要考虑列车通信网络的拓扑结构。

根据国际电工协会发布的IEC 61375-1[16]标准,使用以太网技术的列车通信网络,是由连接各车厢的以太网列车骨干网络(Ethernet Train Backbone Network,ETBN),以及连接车厢内部各终端设备(End Device,ED)的 以 太 网 编 组 网 络(Ethernet Consist Network,ECN)两部分组成。列车通信网络结构如图2 所示。

图2 列车通信网络结构Fig.2 Structure of train communication network

各车厢的终端设备包括客室摄像头、LED 报站显示屏、LCD 导乘屏等,这些设备通过ECN 进行通信,不同车厢中的设备则通过ETBN 通信。因此,通过在各ECN 节点放置入侵检测节点,借助分流器或端口镜像技术即可抓取流经本车厢的网络流量。结合上述讨论,本文提出的入侵检测系统如图3 所示。

图3 列车通信网络入侵检测系统结构Fig.3 Structure of intrusion detection system for train communication network

图3 中的IDS 为异常检测节点,当从ECN 节点抓取到流经本车厢的网络流量后,经过特征提取和预处理后输入异常检测模型,并将检测结果告知位于司机室的总控设备。受篇幅所限,图中只列出了一个司机室和车厢,实际上所有车厢都会将检测结果发往总控设备。各异常检测节点的工作流程如图4 所示,这些节点监控流经各车厢ECN 节点的数据流量,对这些数据流量包进行特征提取和预处理,再输入FastGRNN 模型,最后将模型给出的分类结果以UDP 数据包的形式发送给司机室总控设备。

图4 列车通信网络入侵检测系统工作流程Fig.4 Workflow of intrusion detection system for train communication network

2 FastGRNN 模型

FastGRNN 是RNN 模型的一种,与RNN 一样,FastGRNN 以外部输入和隐层上一时刻状态作为输入。FastGRNN 模型定义如下:

式中,xt为t时刻输入向量,长度为输入特征数D,ht为t时刻隐层输出向量,长度为隐层神经元数量H,W、U是两种输入的权重矩阵,分别是H × D和H ×H矩阵,bz、bh是偏置向量,长度为H,tanh 和σ为非线性激活函数,分别为双曲正切和sigmoid函数,☉为Hadamard 积,即向量逐元素积,ζ、ν为可训练标量,均为残差连接参数。

本文对UNSW-NB15 数据集进行二分类,即只判断网络流量是否为异常流量。为了方便后续计算各性能指标,该模型将进行二分类双标签预测,即输出两个值,分别代表输入正常和异常流量的概率,因此模型的输出层选用归一化指数函数(softmax)。输出层公式如下:

其中,Wo是一个2× H的输出层权重矩阵。

3 实验与分析

为了确认FastGRNN 模型是否能正确监测到列车通信网络中的异常流量,以及其被部署到资源受限的嵌入式设备中的可能性,本文在UNSW-NB15数据集上训练并测试了FastGRNN 模型,记录其分类精度、模型内存占用率和运算效率,并将这些指标与其它机器学习模型进行比较。

3.1 数据集与数据预处理

UNSW-NB15 数据集由澳大利亚网络安全中心(Australian Center of Cyber Security,ACCS)提供。原始数据集共包含254 万条记录,经筛选和过滤后,得到包含17 万条的训练集和8 万条数据的测试集。本文采用UNSW-NB15 训练集作为数据集,取其中75%作为训练集,其余25%作为测试集,此外再在训练集中取20%作为验证集,用于监控神经网络类模型训练时的拟合情况。UNSW-NB15 数据集有42个特征,其中3 个是类型特征,其余为数值型特征。对于类型特征,本文采用独热编码(One -Hot Encoding),将可能取值数量为n的类型特征映射到长度为n的元组上;为了防止取值范围大的特征在模型中占主导地位,采用特征标准化来缩放数值特征,其公式如下:

其中,x、x′分别为标准化前后的特征;为特征均值;σ为特征标准差。标准化后的数字代表其距离均值相差多少个标准差。

经预处理后数据集的特征数量增加到了190个。UNSW-NB15 共有10 种标签,其中包括1 个正常标签以及9 个异常标签。由于本文提出的系统对网络流量进行二分类,因此将异常标签合并成1 个标签。预处理后的数据集数据分布见表1。

表1 数据集数据分布Tab.1 Distribution of the dataset

3.2 性能指标

本文使用准确率(Accuracy)、精确率(Precision)、召回率(Recall)和F1 分数来评判模型的分类精度。之所以不单独使用准确率作为评判标准是因为其缺乏可参考性:对于高度不平衡的数据集,例如99%的标签都是正常的情况下,模型不用做任何判断便可得到99%的准确率。上述4 种指标的计算方式如下:

其中,A、P、R、F1 分别为准确率、精确率、召回率和F1 分数,TP、FP、FN分别为将正类分类为正类、负类分类为正类、正类分类为负类的数量。精确率的含义是当模型认为一个样本是正类时,其确实是正类的比率;召回率的含义是所有正类被模型正确分类的比率,即使在数据集极度不平衡的情况下,只要正类是少数类,精确率和召回率也可以体现出模型的性能。例如:对于上述不做任何判断的模型,其精确率是0,召回率是无效数值,因为TP和FN都是0;F1 分数是精确率和召回率的调和平均数,其优势是可以综合考虑模型的精确率和召回率,且相比算数平均数,使用调和平均数的F1 分数可以更有效地惩罚精确率或召回率接近0 的情况。

3.3 实验环境及参数设置

本文实验的硬件环境为Intel i7-2600、NVIDIA GTX1660;软件环境为Python3.7;FastGRNN 基于开源库tensorflow 中的RNNCell 基类和公式(1~3);对比实验中的神经网络模型来自开源库Keras,其它模型来自开源库scikit-learn。对于输出为概率的分类模型,分类阈值设为0.8。

FastGRNN 模型参数见表2。

表2 FastGRNN 模型参数Tab.2 Model parameters of FastGRNN

3.4 实验结果

除FastGRNN 模型外,本文还使用相同的实验流程,在UNSW-NB15 数据集上对支持向量机(Support Vector Machine,SVM)、K 近邻算法(KNearest Neighbors)、随机森林、多层感知机(Multilayer perceptron,MLP)、长短期记忆网络(Long Short-Term Memory,LSTM)、门控循环单元(Gated Recurrent Unit,GRU)等机器学习模型进行了测试。各模型的性能指标测试结果见表3。

表3 实验结果Tab.3 Experiment result

从实验结果可以看出,FastGRNN 模型拥有最优的分类精度(准确率、精确率、召回率、F1 分数),并且内存占用显著低于其它神经网络模型。虽然非神经网络模型(SVM、KNN、随机森林)只占用很少的内存,但相比FastGRNN 模型,这些模型都在分类精度或计算时间上存在短板。

FastGRNN 的高分类精度使得基于其搭建的IDS 拥有更高的可靠性。市面上许多嵌入式芯片的L1 缓存便足以容纳下该模型(如STM32MP1 系列)。这意味着将该模型部署到硬件平台后,能在拥有高检测精度的同时保持低功耗。

4 结束语

本文提出了一种适用于列车通信网络的入侵检测系统,通过将检测节点分散到各车厢,原地完成检测工作并将结果汇总到总控设备,该系统将任务负载分摊到多个节点上,从而起到了提高效率和降低成本的作用。此外,本文基于UNSW-NB15 数据集测试了FastGRNN 模型。根据实验结果,该模型能达到0.97的F1 分数、14.06 KB 的内存占用和29.41 ms的平均单样本检测时间,能够部署到列车现有设备上,只需对列车现有硬件结构做有限修改即可引入网络安全保护。

猜你喜欢

列车分类节点
CM节点控制在船舶上的应用
登上末日列车
关爱向列车下延伸
分类算一算
基于AutoCAD的门窗节点图快速构建
概念格的一种并行构造算法
穿越时空的列车
分类讨论求坐标
数据分析中的分类讨论
教你一招:数的分类