APP下载

基于深度学习的轻量级车载网络入侵检测方法

2023-11-27蒋玉长李克资秦庆凯张思聪

计算机工程与应用 2023年22期
关键词:车载准确率特征

蒋玉长,徐 洋,,李克资,秦庆凯,张思聪,

1.贵州师范大学 贵州省信息与计算科学重点实验室,贵阳550001

2.贵州省公安厅-贵州师范大学大数据及网络安全发展研究中心,贵阳550001

近年来,汽车技术有了飞跃式的发展,随着5G、工业2.0与移动群智感知[1]的提出与推广,特别是智能交通系统和自动驾驶汽车的出现,汽车本体逐渐开始承担部分计算任务。2020 年7 月27 日由国家标准化管理委员会、中共中央网络安全和信息化委员会办公室、国家发展和改革委员会、中华人民共和国科学技术部、中华人民共和国工业和信息化部联合发布的《国家新一代人工智能标准体系建设指南》中关键内容之一为“人工智能与车联网的结合”。为了实现这一目标,研究者进行了大量研究,如车载网络通信[2]、车辆资源优化[3]、车辆隐私保护[4]等。随着物联网(Internet of things,IoT)的飞速发展,大量传感器支持部署在车辆上并支持相互通信,人们把车间通信网络称为车联网(Internet of vehicles,IoV)。如图1,汽车内部与外界网络的信息互动日益频繁,多个接口支持人们通过远程连接(蓝牙、5G、物联网协议)和有线连接方法与车辆连接,但这种多元信息交流极易导致车载网络(in-vehicle network,IVN)成为攻击目标。

图1 攻击架构Fig.1 Attack architecture

目前控制器区域网络(controller area network,CAN)总线是被广泛用于车载网络的通信标准,为电子控制单元(electronic control unit,ECU)之间提供有效、稳定的信息沟通。但是CAN并没有使用安全措施以保证网络通信安全,如缺少认证、明文传输等[5]。研究人员在远程控制汽车时利用CAN接收节点对源地址缺少认证的漏洞实现攻击,如通过伪造控制信息发送恶意指令破坏ECU,获得对车辆的部分控制权,最终导致汽车设备如齿轮、刹车或发动机故障等[6]。如图1所示,攻击者可以通过OBD-II 接口对IVN 发起内部攻击,如拒绝服务攻击、数据包注入和欺骗攻击等。

为车载网络提供保护已成为目前亟待解决的问题,常用方法是恶意行为检测和入侵检测,有基于签名的方法、基于阈值的方法、基于参数检测的方法以及基于机器学习和深度学习的方法[7]。

D’Angelo 等人[8]提出了一个基于集群的学习算法(cluster-based learning algorithm,CLA)来检测对车载网络的四种类型攻击,并使用无监督学习在CAN ID提取特征,此外还提出了一个以数据为中心的异常检测算法(data-driven anomaly detection algorithm,DADA),用于找出非法消息。虽然作者声称算法性能支持实时检测攻击,但并没有做相关实验证明。Ghaleb 等人[9]提出了一种恶意行为感知协作入侵检测系统(misbehavioraware on-demand collaborative intrusion detection system,MA-CIDS)。该系统使用分布式集成学习来提高模型的性能,并提出了一种有效的共享方案,以提高共享知识并减少通信开销,车辆按需使用与分类器性能测量相关的随机森林算法共享本地训练的分类器,但实验使用数据集NSL-KDD模拟网络流量,该数据集较旧,新型网络攻击无法识别。Tariq 等人[10]提出了一种基于迁移学习的CAN 协议入侵检测方案CANTransfer,使用DoS攻击训练卷积LSTM模型。然后,在一个新攻击样本上使用迁移学习训练即可检测新型攻击。同上,作者并没有说明此方法的检测时间,另外该方法需要找到新型攻击样本才能应用迁移学习,而目前领域数据集少,难以实现。Agrawal等人[11]提出了一种新型的阈值判别方法(novel anomaly detection system,NovelADS),使用卷积神经网络(convolutional neural networks,CNN)和长短期记忆网络(long short-term memory,LSTM)处理数据为时间序列提取特征,通过正常序列和异常序列的标准分布差来确定阈值,最后在嵌入式开发板上部署实现分类,但该方法只能支持二分类。Desta等人[12]提出了一种基于CNN的方法,在数据集Car-Hacking和自制数据集上将CAN 流量转换为图像,使用NVIDIA Jetson TX2对图像分类,但多分类准确率低,在Car-Hacking数据集上最低达到85%,自制数据集最低40%。

车载网络入侵检测要求低算力消耗和实时性,目前大多的解决方案并没有在低算力平台部署实验。此外,解决方案存在数据集旧、训练收敛时间长、准确率低、仅支持二分类、难以识别特定的恶意消息等问题。

针对上述问题,本文提出了一种基于优化CNN 和迁移学习的轻量级车载网络入侵检测方法,并使用树莓派部署在IVN的CAN总线上,用于检测异常CAN信息并产生警报。首先提出了一种数据转换方式,将车内和车外网络数据以基于时间的块为单位进行采集。接着通过维度变换将一维的攻击数据转换到二维空间,并将其可视化。然后,采用主流的卷积神经网络变体MobileNetV3[13],结合现在有效的迁移学习方式,通过迁移大模型预训练权重对卷积神经网络进行微调训练,以改善模型的多种性能指标。最后,使用Car-Hacking[14]、OTIDS[15]两个真实车载网络数据集在树莓派上实验,模拟真实环境下低算力平台,验证本文方法的有效性。

1 本文方法

深度学习能自动从原始数据中学习有用的特征,从而提高分类的准确率。Lecun等[16]概括了机器学习的基本架构,即特征提取模块和分类模块的组合。本文提出的基于迁移学习和CNN的轻量级深度入侵检测方法也基于此基本架构,如图2所示,主要由两个模块组成:数据预处理模块和基于迁移学习的深度卷积网络模块。

图2 IVN入侵检测方法框架Fig.2 IVN intrusion detection method architecture

入侵检测流程如下:在IVN 中的CAN 总线上部署入侵检测设备,车载网络流量流入设备,经过数据预处理后设备对流量进行分类,对异常流量发出告警。

1.1 数据描述和预处理

1.1.1 数据描述

CAN总线是目前汽车中最常用的车内通信网络协议。它是一个基于总线拓扑结构的网络,允许ECU(节点)发送和接收与控制转向、转速有关的各种信息。每个节点以预先定义的框架格式向整个系统广播消息。CAN数据帧结构如图3所示。从左到右,图中的字段依次是:帧的开始(start of frame)、仲裁ID(arbitration ID)、控制字段(control field)、数据字段(payload)、循环冗余校验(CRC)、确认字段(ACK)和帧的结束字段。

图3 CAN帧格式Fig.3 Frame format of CAN

1.1.2 数据预处理

在对数据进行处理中发现,大批量的数据流中会存在“脏数据”,即数据项缺失和数据项错误移位的情况。考虑到真实环境也可能会出现采集数据部分错误问题,为了不影响训练和测试结果,防止数据被污染,需要将数据删除或更改。首先对数据集进行数据清洗。对于数据位置异常的原始样本归位并将遗漏数据全部置为0,删除数据格式异常的原始样本。

车载网络入侵检测必须快速且有效。鉴于CNN模型在图像领域的优越性,需要将入侵检测问题转为图像分类问题,计划将网络流量数据的表格数据转换为图像。首先将表1的原始4个特征数据拆分并转换为9个特征,拆分后结果如表2 和表3 所示。ID 是CAN 标识符,CAN 数据包8 位Data 被分为8 列D0~D7,每列包含两个十六进制数值。将ID 与DATA 中的十六进制转换为十进制数值,然后进行数据归一化。

表1 原始特征Table 1 Original features

表2 Car-Hacking数据集拆分后的特征Table 2 Split features of Car-Hacking dataset

表3 OTIDS数据集拆分后的特征Table 3 Split features of OTIDS dataset

数据归一化后,根据网络流量数据集的时间戳和特征大小将数据样本转换为数据块。Car-Hacking和OTIDS数据集有9个重要特征(CAN ID和DATA[0]-DATA[7]),将27个连续样本的9个特征(27×9=243个特征值)转换为形状为9×9×3的图像(对比实验见第2.4.4小节)。因此,每个变换后的图像都是一个方形的彩色图像,有3个通道(红、绿、蓝)。由于图像是根据数据样本的时间戳生成的,可以保留原始网络数据的时间序列相关性。

此外,由于流量数据维度较小,为减少模型可能发生的过拟合情况,采用双线性插值法[17]将9×9×3的图像扩大到224×224×3,在转换完毕后也可以将图像直接输入到下一步改进的MobileNet中并进行迁移学习。假设f(x,y)为要求得(x,y)数据点的像素值,已知f(Q11)、f(Q12)、f(Q21)、f(Q22)为(x1,y1)、(x1,y2)、(x2,y1)、(x2,y2)坐标所对应数据点的像素值。采用的线性插值具体如下:

首先从x轴方向先用关于x的单线性插值去分别计算f(x,y1)与f(x,y2)的像素值:

再使用关于y方向的单线性插值计算得到(x,y)数据点的像素值f(x,y):

经过以上的数据预处理过程,生成最终变换后的图像集作为CNN模型的输入。Car-Hacking数据集和OTIDS数据集中每种攻击类型的代表性样本如图4所示。

图4 维度变换后可视化Fig.4 Visualization after dimensional transformation

对于Car-Hacking数据集,从图4(a)可以看出,正常样本与不同攻击类型之间的特征模式存在较大差异。模糊攻击图像的特征模式比普通图像更随机,而DoS攻击样本为高频空消息,导致纯黑模式。Gear 和RPM 欺骗攻击是通过注入带有特定CAN ID和数据包的消息来伪装成合法用户,因此他们的图像也有特定的特征模式。同样,OTIDS数据集的攻击模式也可以根据图4(b)所示的特征模式进行明显的区分,但是相比Car-Hacking数据集,OTIDS数据集所对应的图像类别之间相对难以区分,但仍可以观察到类别之间存在区别。

1.2 基于迁移学习的MobileNet检测模型

在将数据进行处理并转换为二维图像之后,下一步将对分类模型进行选取和训练。本文采用基于CNN的MobileNetV3 轻量级网络对已处理好的数据进行训练学习。MobileNet 系列深度学习模型[13,18-19]是由谷歌提出的轻量级网络,目的是使得算力有限的移动终端能够搭载并执行端到端的神经网络模型,目前MobileNet 网络从V1更新到V3版本。

任宇杰等[20]在目标检测领域研究中,结合MobileNet和SSD 提出一种结合特征金字塔的多尺度卷积神经网络结构,使得模型在降低硬件需求的同时降低了识别时间。曾娅琴等人[21]使用可视化方法并结合MobileNetV2对恶意代码进行分类,实验结果表明方法的识别率提升了2个百分点,并减少了对计算资源的消耗。

由于每个数据流的特征数相对少,而原始MobileNet网络深度过大,易引起过拟合的问题。为保证训练的稳定性和可靠性,本文使用经过改进的MobileNetV3网络对流量特征所转换的三通道图进行训练,结合车载网络场景特点,本文在原MobileNetV3模型的基础上进行部分调整,删除在原始模型中部分Bottleneck层(详见表4),保留了原模型的13 层。最终本文的MobileNet 的网络结构如表4和图5所示。

表4 MobileNet网络架构细节Table 4 Details of MobileNet network architecture

图5 神经网络模型结构Fig.5 Structure of neural network model

在表4 中,灰色字体的网络模块是被删除的模块,包括灰色字体的所有模块为原始MobileNet V3中的架构。

MobileNetV3 是在V2 的基础上改进而来,继承V1的深度可分离卷积与V2 的具有线性瓶颈的残差结构,V3版本相较于V2版本,基础块Bottleneck中引入SE模块,类比于注意力机制,目的是针对不同贡献度的特征进行加权操作,即扩大相关性高的特征,减小相关性低的特征大小,因此可以提高模型对于任务的各项指标。具体的Bottleneck模块细节见图6。

图6 Bottleneck架构Fig.6 Structure of Bottleneck

在图6 中Dwise 表示深度可分离卷积操作,其基本思想是将通道间的相关性和空间相关性完全分离出来,以此减少计算量和参数量;NL表示非线性激活函数。

在模型确立之后,采用迁移学习对构建好的网络在本文数据集上进行微调训练。对于深度学习模型,迁移学习是将在一个大数据集上训练的深度神经网络模型的权值迁移到另一个相对较小任务数据集的过程。在本文中,通过迁移MobileNetV3在ImageNet数据集上的预训练权重进行微调,冻结(保留权重)本文模型的前11层,对最后两层的权重进行微调。这是因为CNN 模型的底层学习到的特征模式通常是通用模式,适用于许多不同的任务,只有上层学习到的特征是特定数据集的特定特征。因此,CNN 模型的底层可以直接转移到不同的任务。为了提高迁移学习的有效性,可以在深度学习(deep learning,DL)模型的迁移学习过程中进行微调。在微调中,预训练模型的大多数层被冻结,而少数顶层被解冻,以在新的数据集上重新训练模型。微调能够更新预训练模型中的高阶特征,以更好地适合目标任务或数据集[22]。

2 实验

2.1 实验环境

实验使用Python3.7 中的Scikit-learn 和Pytorch 库。在实验中,提出的DL模型在带有AMD R5 5600X处理器、32 GB 内存以及NVIDIA GeForce GTX 3060 显卡的机器上训练,并在带有Cortex-A72,64位CPU和8 GB内存的树莓派4B 机器上测试,分别代表一个车联网中央服务器和一个车载级本地机器。

2.2 实验数据集

数据集选取韩国高丽大学HCRL 实验室的Car-Hacking数据集和OTIDS 数据集,由于采集源自真实环境,因此被广泛用作模拟车载网络数据入侵检测研究。数据集作者采用定制的两台树莓派在起亚SOUL 汽车上收集,一个用于信息入侵攻击,另一个用于记录CAN流量,捕获的CAN 通信数据被作为数据集。Car-Hacking数据集包含四种攻击类型:DoS 攻击、Fuzzy 攻击、齿轮(gear)欺骗和每分钟转数(RPM)欺骗攻击。OTIDS 数据集包含三种类型攻击:DoS攻击、Fuzzy攻击和Impersonation 攻击。Car-Hacking 数据集和OTIDS 数据集攻击数量分布如表5所示。

表5 攻击数据组成Table 5 Attack data composition

2.3 评价指标

数据集攻击流量与正常数据不平衡,因此采用了多指标进行评估,分别是准确率、精确度、召回率和F1-score。具体的计算方法如式(4)~(7)所示,公式中相关符号的含义如表6所示。

表6 混淆矩阵Table 6 Confusion matrix

此外,由于车辆通常计算性能较低,为了评估所提出方法的效率,更清晰地实现性能对比,本文还记录和对比了训练时间(TrainTime)、在树莓派上测试的时间(TestTime)、参数量(Params)。训练时间可以体现方法的收敛速度,测试时间可以体现方法的检测效率,参数量可以体现方法使用的深度学习模型大小。

2.4 实验结果和分析

2.4.1 训练过程

深度学习模型过程中首先要在没有任何先验知识的情况下对权重进行随机赋值,因此想要训练收敛需要非常大的数据量、时间和计算资源。为了提升训练的速度,同时保持训练的有效性,采用迁移学习方法。将在一个大数据集上训练的深度神经网络模型的权值迁移到另一个数据集,然后再进行训练和微调以使得模型学习到新数据集的特征。

为了验证迁移学习在本文任务中的有效性,选取MobileNet 模型分别在Car-Hacking 和OTIDS 两个数据集上进行有无迁移学习的训练损失和准确率对比,得到图7和图8。

图7 针对Car-Hacking数据集训练对比结果Fig.7 Training comparison results against Car-Hacking dataset

图8 针对OTIDS数据集训练对比结果Fig.8 Training comparison results against OTIDS dataset

通过图7 和图8 可以看出,使用预训练权重的模型训练过程需要更短的时间就可以收敛,而在效果基本一致的前提下,不使用迁移学习的训练工程需要更多的时间才能训练收敛。这验证了迁移学习对于本文任务的有效性。因此,在实验部分所有模型的训练都是采用迁移学习进行训练。

2.4.2 深度学习模型对比

在基于迁移学习的卷积模型的选取上,本文目的是在保证一定检测效率的基础上进行轻量化,以适应在类似树莓派这种低算力场景下的实时检测任务。

为此,本文在数据预处理的前提下,选取两类主流的模型:一类是复杂化的网络模型,如EfficientNet[23]、ResNet[24]和VisionTransformer[25];二是轻量化模型,如MobileNetV3(简称MobileNet)和ShuffleNetV2[26(]简称ShuffleNet)。选取模型后分别针对本文任务所对应的两个数据集进行模型的训练和测试,最终测试结果见表7和表8。

表7 针对Car-Hacking数据集测试结果Table 7 Test comparison results against Car-Hacking dataset

表8 针对OTIDS数据集测试结果Table 8 Test comparison results against OTIDS dataset

在表7和表8中Acc、P、R、F1-score和TestTime分别是在树莓派设备上对测试集进行实验得出的准确率、精确率、召回率、F1 值和一个样本的测试时间;TrainTime是在有GPU加持的PC机上进行训练需要的时间;Params是卷积核的参数量,用来形容模型的大小程度。

通过表7和表8可以看出,在Car-Hacking和OTIDS两个数据集上不同模型训练和测试结果的总体趋势是,复杂模型的检测效果是更优且稳定的,这是因为复杂模型的网络架构设计更复杂,导致模型拥有更复杂的拟合能力;但由于复杂模型Params过多,从而导致复杂模型的测试时间相比轻量化模型更长。Params越低的网络,保存模型所需的内存小,对硬件内存要求较低,因此对低算力设备更友好。综合5 个模型来看,MobileNet 的Params接近最低值2.28×106。

结合表7及图4(a)可以分析得出,因为Car-Hacking数据集类别之间耦合性差,所以测试的5个模型都可以达到100%的检测效果。但在训练时间上,MobileNet相比于复杂模型ResNet-18、EfficientNet 以及VisionTransformer分别减少了40%、74%和93%。相比ShuffleNet也减少了14%。同样在测试时间上,MobileNet测试一个样本的平均时间只需要2.5 ms,相比ShuffleNet减少了46%的检测时间,且相比复杂模型中速度最快的ResNet-18更是减少了71%的时间,这得益于MobileNet与ResNet-18相比,Params减少了67%。

结合表8和图4(b)可以看出,因为OTIDS数据集类别之间相对难以区分,所以在测试的5 个模型中,复杂模型的检测效果可以达到100%,轻量级模型达到99%以上。这是由于轻量化模型相比复杂模型减少了隐藏层数和多余的层连接,以此提升模型的处理速度。通过表8可以看出,两个轻量级模型ShuffleNet和MobileNet得益于Params的减少,在满足99%以上的检测效果的前提下相比于复杂模型中检测效果更快的ResNet-18模型分别降低了32%和59%的测试时间,提升了检测效率。

车辆入侵检测系统通常对实时性的要求为,针对每个数据包的检测要低于10 ms[27],即入侵检测系统需要在10 ms 以下的时间做出判断和响应。本文方法的检测时间低于3 ms,因此本文提出的轻量级车载网络入侵检测方法能够满足实时检测的需要。

2.4.3 不同方法效果对比

在对本文方法的可行性进行实验验证和分析之后,为了验证本文方法相对于其他方法的效果,本小节分别在Car-Hacking和OTIDS两个数据集下选取部分有代表性的论文方法进行对比实验,具体实验结果见表9和表10,其中最高性能值用粗体字标出。

表9 Car-Hacking数据集上模型的性能评估Table 9 Performance evaluation of models on Car-Hacking dataset

表10 OTIDS数据集上模型的性能评估Table 10 Performance evaluation of models on OTIDS dataset

通过表9 和表10 可以看出,与其他方法相比,本文基于迁移学习和MobileNet的方法都取得了最好的成绩,两个测试集上训练和测试都取得了100%的检测效果,在保证性能指标的前提下,减少了训练时间和测试时间,能够更好地应用到车载网络移动实时入侵检测场景。

在表9 中,所有模型都达到了99%以上的检测效果,这主要是因为Car-Hacking 数据集中正常模式和攻击通过图3 可以明显区分,对比DCNN[14]、LSTM[14]、ConfidenceAveraging[28]、NovelADS[11],本文所提出的方法对比显示出最好性能,其中提议方法训练时间对比同样使用迁移学习的ConfidenceAveraging 方法时间减少了70%,测试时间减少了0.2 ms。对比使用阈值分类方法(NovelADS)训练时间减少了85%,测试时间减少了47%。

对于表10 中OTIDS 数据集,本文方法比OTIDS 基于时间的方法的测试指标P、R、F1-score 都有提升,其中R提升了足足有28.32个百分点。本文还分别对比了最新方法CANintelliIDS[29]和CANTransfer[10],在P、R、F1-score分别有6.21个百分点、6.31个百分点、6.09个百分点和5.07 个百分点、4.43 个百分点、4.75 个百分点的明显性能增益。遗憾的是,这些方法并没有提供训练和测试时间,因此无法作对比,但是本文方法每个流量包只需要2.9 ms,已经能够满足实时检测的需要。

2.4.4 不同输入大小对比

输入大小是指将Car-Hacking和OTIDS数据集中连续样本转换为图像的单位。从数据集中提取的9 个重要特征(CAN ID 和DATA[0]~DATA[7])按输入大小分组,并把它们转为图像。为了验证最佳输入大小,分别测试了9、18、27、54 的连续输入样本大小,即图片输入模型大小分别为3×9×3、6×9×3、9×9×3、18×9×3,使用MobileNet 作为训练和测试方法,使用准确率作为评价指标,最终实验结果见图9。

图9 针对输入大小MobileNet的准确率Fig.9 Accuracy of MobileNet according to input size

图9实验结果显示,在Car-Hacking数据集中,在18个样本输入大小之前,准确率一直提升直到100%,后面持续稳定在100%的准确率。而在OTIDS 数据集中,在27个样本输入大小之前,准确率一直提升直到69%,但之后有下降的趋势。不难看出,27个样本输入在车载网络中更加具有普适性。因此本文将样本输入大小选择为27。

此外,考虑到数据图像进行插值处理,可能对性能存在影响,在对比中选择ResNet、EfficientNet、ShuffleNet、MobileNet 模型进行非插值实验,使用9×9×3 图片输入指定模型训练测试,与插值后的224×224×3图片进行性能对比。Car-Hacking数据集与OTIDS数据集实验结果分别见图10、图11。

图10 Car-Hacking数据集插值对比Fig.10 Interpolation comparison on Car-Hacking dataset

通过图10、图11 可以看出,在Car-Hacking 数据集中,无论是插值还是非插值图片输入,都能表现出100%准确率;而在OTIDS数据集非插值对比中,ResNet达到了最高准确率84%,这得益于ResNet 的Params 较高,对复杂图片拥有更好的拟合能力;对于测试时间,除了EfficentNet模型较高外,其他模型都达到了10 ms以下,符合车载网络入侵检测实时性要求,且MobileNet 模型的测试时间无论是插值前的2.9 ms还是插值后的2.7 ms,与其他模型相比都是最低测试时间。综合来看,所有模型测试时间在插值前和插值后都相差不大,但是插值后准确率得到了明显提升。这是由于输入图片的尺寸越大,Backbone所提取的特征信息也越精确。

3 结束语

由于协议缺乏认证和其他基本安全功能,广泛使用的CAN协议使得汽车容易受到安全攻击。本文结合流量可视化方法和轻量级的MobileNet 模型,提出一种轻量级车载网络入侵检测方法。通过将数据转换为二维图像并通过插值法进行维度扩大,之后对MobileNet 模型进行架构调整以进一步适应本文任务,同时提升检测效率。最后,通过迁移学习方式对模型进行训练,以加快训练速度并提升检测效果。实验结果表明,采用基于MobileNet 的网络模型可以大幅减少训练和测试时间。本文方法解决了不支持低算力平台部署、实时性检测、数据集旧、训练收敛时间长、准确率低等问题。下一步将考虑在真实场景下进行测试,并面向实时流检测进行探索研究。

猜你喜欢

车载准确率特征
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
高速磁浮车载运行控制系统综述
如何表达“特征”
不忠诚的四个特征
高速公路车牌识别标识站准确率验证法
抓住特征巧观察
智能互联势不可挡 车载存储需求爆发
基于ZVS-PWM的车载隔离DC-DC的研究