APP下载

车联网环境下基于CNN-LSTM的行驶信息欺骗攻击检测

2024-01-09梁乐威陈宇峰向郑涛游康祥周旭

江苏理工学院学报 2023年6期
关键词:信标卷积深度

梁乐威,陈宇峰,向郑涛,游康祥,周旭

(1.湖北汽车工业学院电气与信息工程学院,湖北十堰 442002;2.湖北汽车工业学院汽车工程师学院,湖北十堰 442002)

近年来,随着网络通信技术与智能交通系统的快速发展,车载自组织网络(Vehicular Ad Hoc Network,VANET)愈发受到广泛的关注[1]。VANET作为一种快速组网技术,用于实现车联网环境下的车与车通信(V2V)、车与路侧单元通信(V2R)、车与行人通信(V2P)等,使得车辆能够感知视距范围外的交通信息,从而很大程度上减少了交通事故,提高了交通效率和安全性[2]。

在车联网环境中,车辆间通过广播基础安全消息(Basic Safety Message,BSM)或合作感知信息(Cooperative Awareness Message,CAM)帮助驾驶员做出及时准确的驾驶决策,2 种信标消息都包含相同的内容(包括发送车辆的位置和行驶状态)[3]。然而,由于车辆的高速移动性、网络拓扑的动态变化性以及无线信道的开放性等,车载自组织网络的部署面临着多种网络安全问题和挑战[4]。此外,由于VANET 缺乏相应的安全基础设施,车联网中的内部节点容易遭受多种网络攻击[5],如拒绝服务攻击、虚假信息欺骗攻击等[6]。在欺骗攻击中,被攻击车辆通过广播虚假消息误导周边车辆,极容易造成严重的交通事故。此类网络攻击往往无法使用消息加密技术进行防范,因为其发生在VANET 的内部。这些节点是经过合理认证的内部成员,拥有有效的网络访问密钥凭证[7],能够在网络中传输合法信息并进行通信。因此,需要利用攻击检测系统对联网车辆的信标消息进行检验,过滤不合理消息,进而起到保障车辆网络安全的效果。

现有的攻击检测机制可归结为2种类型:以数据为中心、以节点为中心。以数据为中心的检测机制对信标消息的数据语义进行可信度评估,以确保传输数据的正确性和连续性。以数据为中心的检测方案可以使用统计学习或机器学习的方法对数据进行分类。在以节点为中心的方法中,通过分析消息的格式和数据包频率,持续检测VANET 内部节点的转发行为[8]。以节点为中心的检测机制可以通过运用行为机制和基于信誉值的机制进行。基于信誉值的检测方法需要车辆间进行长期的互动,检测系统无法对攻击行为进行及时且快速的检测。因此,现有的大多数检测方法主要基于数据进行攻击检测。

Ercan等人[9]针对不同车辆密度下的位置欺骗攻击,分别使用KNN、随机森林及其组合形式对攻击进行检测。算法检测性能整体较好,但对攻击样本的数据量要求较高。Zeng 等人[10]提出了一种深度学习方法,将车辆的恶意流量数据转换成像素数据,作为特征输入处理。实验结果表明,深度学习模型可以有效识别如DoS攻击等流量异常的数据。Grover 等人[11]讨论了用于车联网入侵检测的几种深度学习算法,结果表明使用四层堆叠LSTM模型效果较优。

基于机器学习的检测方案对攻击样本的需求量过高,而现实中对攻击样本的记录不足,难以提供足够的数据训练分类模型[12]。而单一的深度学习算法对数据特征的提取能力有限,无监督学习算法无法充分攻击样本的已知特征。此外,在车联网环境下,联网车辆的时空信息是表征车辆行为的重要特征,因此,使用的检测模型需要充分提取车辆的时间和空间特征。

针对以上问题,提出一种基于CNN-LSTM 的监督组合深度学习检测模型,主要作用为:

(1)该模型基于CNN-LSTM 的深度学习攻击检测技术,通过一维卷积神经网络对输入数据的空间特征进行提取,并结合长短时记性网络提取信标消息中的时间序列特征,以充分挖掘攻击数据集的时空信息。

(2)该模型使用VeReMi Extension 数据集[13]对VANET 中的欺骗攻击进行检测(速度欺骗与位置欺骗)。将检测结果与单一的CNN、LSTM 模型和传统的机器学习算法KNN、SVM进行对比,在精确率、召回率和F1分值上均有所改善。

1 CNN-LSTM攻击检测模型

1.1 VANET欺骗攻击原理

VANET 中存在多种攻击行为,针对城市场景下的位置欺骗攻击与速度欺骗攻击进行检测,其攻击原理如图1 所示。红色车辆向其通信范围内的正常车辆发送虚假的位置和速度信息,从而形成虚假的行驶轨迹。未具备入侵检测系统的正常车辆无法判别信标消息的真实性,误以为前方的虚假车辆是真实车辆,进而影响自身的正常行驶。

图1 欺骗攻击原理图

1.2 模型框架

在车联网环境下使用的基于CNN-LSTM的攻击检测模型,整体框架如图2所示。

1.2.1 数据预处理

首先,对数据进行归一化处理,当样本特征的尺度差异较大时,取值较大的特征会起到主导作用,为提高训练效率,需要将各个维度的特征转换到同一范围内,并消除不同特征的相关性,才能获得比较理想的结果。使用Z-score 归一化方法对原始数进行处理,如公式(1)所示:其中:μ 为所有样本数据的均值;σ 为所有样本的标准差。在特征选取阶段,本实验针对2种特定的攻击进行检测,故选用车辆的位置、速度与加速度作为输入特征,其在序列中用二维坐标分别表示为:,即输入为6 维向量的序列。

1.2.2 模型搭建与分类输出

系统框架使用CNN-LSTM的组合深度学习模型。CNN 是一种深层前馈神经网络,具有稀疏连接、参数共享等特征。一维卷积从序列数据中沿时间维度选择序列段,并对每个序列段执行相同的变换[14],常用于处理一维序列数据。使用车辆信标消息中的位置、速度与加速度作为序列输入,对信标数据进行一维卷积操作,如图3所示。

使用带有5 个卷积核的一维卷积层,对输入序列进行变量维度上的一维卷积操作,计算方法如公式(2)所示:

其中:X 为输入数据向量;W 为卷积核权重矩阵;b 为参与计算的偏置向量;f 为卷积计算的激活函数[15]。

完成一维卷积的特征提取后,将处理结果作为4层堆叠LSTM层的输入。LSTM的记忆单元结构如图4所示。

图4 LSTM神经网络细胞结构图

LSTM 的细胞状态由遗忘门ft、输入门it、输出门ot控制。在t时刻,3 个门的更新计算方法如公式(3)~(5)所示:

其中:W和b分别为权重和偏置量;ht-1为前一个细胞的输出;xt为当前细胞的输入;σ为sigmoid激活函数;ct为将xt和ht-1的状态信息进行整合的状态量;Ct为当前时刻的状态;Ct-1为上一时刻的状态;ht表示隐藏层输出值。

系统框架使用4层堆叠LSTM对数据特征进行提取,每层使用256个神经元。输出端连接带有2个节点的分类层(Dense),用于汇聚网络信息,将输入序列分类为攻击或正常类别。添加Dropout层可以有效地缓解模型的过拟合现象,在一定程度上达到正则化的效果。卷积层与LSTM层均使用整流线性单元作为激活函数。经过一维卷积与4层堆叠LSTM的融合处理后,将输入的数据分类为正常或攻击。整体模型的训练与权重选取使用自适应矩估计法(Adam)进行优化,规避学习速率单一问题。

2 实验结果与分析

2.1 实验环境

实验环境为Windows 10操作系统,硬件配置为AMD Ryzen CPU@3.2 GHz,内存16 GB,基于TensorFlow使用Keras深度学习框架搭建和Python 3.7编程语言,完成所有仿真实验。

2.2 评估指标

实验使用准确率(Precision)、召回率(Recall)和F1 这3 个指标对模型的检测性能进行评估,计算方法如公式(6)~(8)所示:

其中:TP、FP、TN、FN的定义如表1所示。衡量攻击数据集中的数据不平衡问题,使用准确率无法很好地评估一个模型的优劣,而精确率和召回率在这种情况下的表现将会更加突出。精确率表明分类器区分正常行为和异常行为的能力,拥有较高的精确率表明分类器具有较低的误报率。召回率表明分类器对异常行为的检测能力,拥有较低的召回率表明该攻击较难被检测出来;F1是精确率和召回率的调和平均数,可以较好地表示分类器的整体能力。

表1 混淆矩阵表

2.3 实验数据集

实验数据集使用VeReMi Extension 攻击数据集,其数据在SUMO[16](Simulation of Urban Mobility)交通仿真软件与网络仿真软件OMNET++[17]下的VEINS车联网框架中采集。其中,SUMO交通场景选取Luxembourg SUMO(LuST)提供的车辆轨迹,其路网结构如图5所示。

图5 Luxembourg SUMO路网

该数据集包含多种攻击类型,选取其中的速度欺骗攻击与位置欺骗攻击进行模型验证。2 种欺骗攻击所产生的车辆信标消息经可视化处理后如图6 和图7 所示。其中,蓝色表示正常数据,红色表示异常数据。图6 表示速度欺骗攻击,攻击车辆广播的速度值异常,表现为离群点,但位置信息与图6 中的路网结构相符,表现为正常数据。图7 表示位置欺骗攻击,车辆广播的位置坐标偏离正常的车辆位置消息,但速度信息的整体分布集中,故表现为速度数据正常。数据集总共包含106 885 条信标消息,选取80%作为训练集,20%作为测试集。

图6 速度欺骗攻击数据可视化图

图7 位置欺骗攻击数据可视化图

2.4 参数设置

使用的CNN-LSTM 模型选择Adam 优化器对模型进行训练,并选用交叉熵作为损失函数观察模型的拟合效果,通过多次实验,得出本文所用模型的参数设置,如表2所示。

表2 CNN-LSTM模型参数设置

2.5 实验结果及分析

为了更全面地分析模型的检测性能,本实验选取精确率、召回率和F1 分值对模型进行评估。为了更直观地体现本文所用模型的有效性,选用单一的CNN 与单一的LSTM 作对比实验,实验结果如图8、图9所示。

图8 基于CNN-LSTM实验的混淆矩阵图

图9 CNN和LSTM对比实验混淆矩阵图

根据混淆矩阵可以计算出3种模型的检测结果,此外,实验还对比了常见的机器学习算法KNN与SVM。从表3中可以看出,CNN-LSTM、单一CNN与单一LSTM,3种实验模型在精确率指标上都表现出较高的数值,分别为97.2%、97.1%、95.3%,体现了深度学习模型在该数据集检测上的有效性。在召回率与F1分值上,CNN-LSTM模型明显高于其他2种单一深度学习模型与2种机器学习模型,分别达到了最高的95.0%与96.1%。其中,传统的2种机器学习算法KNN与SVM的各项检测性能都比其他3种差。

表3 5种算法实验结果对比

在各项综合检测指标上,本文所提的CNNLSTM 模型要优于其他4 种模型算法,比CNN、LSTM、KNN 和SVM 模型在召回率上分别提升了8.7%、6.1%、12.2%和15.2%,在F1 分值上分别提升了4.6%、4.1%、8.8%和10.7%。其中,由于数据集的不平衡性,在精确率指标上,CNN-LSTM算法与单一的2 种深度算法CNN 和LSTM 在数值上基本持平,但高于2 种机器学习算法KNN 和SVM。由表3 可知,本文方案的分类精确率最高,且召回率和F1的分值最高。

在对CNN-LSTM 模型的训练中,使用攻击数据集对模型进行训练,充分利用攻击数据的有效特征,最大程度避免了对正常数据的误判与对异常数据的漏判。本文使用的基于CNN-LSTM的监督模型更加符合车联网攻击检测模型对可靠性的需求。

单个一维CNN 与单个LSTM 的检测性能较差,因为CNN 仅对数据的空间特征进行提取,而LSTM模型侧重与信标消息的时序特征进行学习,两者均有短板。而在车联网环境下,车辆的行驶状态如速度与位置等在时间与空间上存在较大的关联性,因此,使用单一的深度学习模型与传统的机器学习模型无法充分提取数据集的时空信息。而本文使用的CNN-LSTM组合模型通过一维卷积层与堆叠的LSTM 层对数据样本的时空信息进行了提取,并将其作为分类特征,故在应对攻击消息时能体现出较好的检测性能。

3 结语

针对车联网环境中车辆面临的网络安全问题,通过对VANET中的速度与位置欺骗攻击进行分析,构建多层深度学习神经网络CNN-LSTM,选取最新的攻击数据集,并对比常见的深度学习与机器学习算法,用精确率、召回率和F1 分值对模型的检测性能进行综合评估。实验表明,使用基于CNN-LSTM的组合深度学习模型相较于传统的机器学习算法与单一的深度学习算法在各项检测指标上都具有更好的数值结果。

本文方案仍存在对数据利用不够充分的问题,系统模型存在一定的改进空间。下一步的主要目标是在模型中加入更多种类的攻击类型,并对检测时间进行量化,以满足车联网环境下的检测实时性和可靠性,做到更全面的攻击检测。

猜你喜欢

信标卷积深度
基于3D-Winograd的快速卷积算法设计及FPGA实现
深度理解一元一次方程
从滤波器理解卷积
深度观察
深度观察
深度观察
基于傅里叶域卷积表示的目标跟踪算法
RFID电子信标在车-地联动控制系统中的应用
基于信标的多Agent系统的移动位置研究
无姿态补偿的水下信标绝对位置传递研究