2021年(第43卷)第4期汽车工程
Automotive Engineering2021(Vol.43)No.4 doi:10.19562/j.chinasae.qcgc.2021.04.007
车联网环境下基于Stacking集成学习的
车辆异常行为检测方法*
薛宏伟1,刘赢1,庄伟超2,殷国栋1,2
(1.东南大学网络空间安全学院,南京211189;2.东南大学机械工程学院,南京211189)
[摘要]针对车联网中的车辆异常行为的威胁,本文中融合了多种机器学习方法,提出了一种新型的适用于车联网的车辆异常行为检测方法。首先,基于Veins车联网仿真平台,模拟了DoS、Sybil等多种网络攻击,搭建了真实路况环境下遭受网络攻击的车联网场景,构建了车联网异常检测数据集;其次,采用Stacking集成学习思想,融合K 近邻、决策树、多层感知机、AdaBoost、随机森林5种初级分类器建立集成检测模型;最后,利用交叉验证思想,使用5种初级分类器对训练集进行训练,并将初级分类器在验证集上的预测结果作为次级分类器的输入,将次级分类器的输出作为最终的预测结果。结果表明,本文提出的方法在不同攻击密度场景下对不同网络攻击都具有良好的检测效果,与其他单一分类器相比具有更好的检测结果,验证了本方法的有效性。
积分关键词:车联网;异常行为检测;网络攻击;Stacking集成学习
A Detection Method of Vehicular Abnormal Behaviors in V2X Environment
Bad on Stacking Enmble Learning
Xue Hongwei1,Liu Ying1,Zhuang Weichao2&Yin Guodong1,2
1.School of Cyber Science and Engineering,Southeast University,Nanjing211189;
2.School of Mechanical Engineering,Southeast University,Nanjing211189
[Abstract]In view of the threat of abnormal vehicle behavior in V2X,a novel detection method of vehicle abnormal behavior suitable for V2X is propod in this paper by fusing a variety of machine learning schemes. Firstly,bad on Veins V2X simulation platform,various network attacks such as DoS,Sybil,etc.are simulat⁃ed,the scenes of V2X subject to network attacks under real road conditions are constructed,and the detection da⁃ta t of abnormal vehicle behavior is built.Then by adopting the idea of stacking enmble learning and fusing five primary classifiers of K⁃nearest neighbors,decision tree,multilayer perceptron,AdaBoost,and random for⁃est,an enmble detection model is t up.Finally,by utilizing the idea of cross⁃validation,the data t for train⁃ing i
s trained by five primary classifiers,with the results of prediction on the data t for validation by primary classifiers as the input of condary classifier,and the output of condary classifier as the result of final predic⁃tion.The results show that the method propod has a good detection effect on different network attacks in differ⁃ent scenes of attack density,and a better detection performance than other single classifiers,verifying the effec⁃tiveness of the method propod.
Keywords:V2X;abnormal behavior detection;network attack;Stacking enmble learning
*江苏省重点研发计划(BE2019004)、国家自然科学基金(52025121,51975118)和江苏省成果转化项目(BA2018023,BA20200068)资助。
原稿收到日期为2020年9月2日。
通信作者:殷国栋,教授,博士,E⁃mail:ygd@u.edu。
汽车工程2021年(第43卷)第4期
前言
车联网(vehicle⁃to⁃everything,V2X)是智慧交通系统未来发展的关键,能够大幅提升交通出行效率。
车联网可以实现车辆与周围具备设施进行互联互通,主要包含车与车通信、车与行人通信、车与基础设施通信、车与互联网通信等,车辆会定时广播包含车辆状态信息的基础安全信息(basic safety
messages,BSM)[1],恶意节点可能篡改BSM,伪造交通事故,这些异常行为会破坏车联网通信能力,甚至威胁到驾乘者的生命安全。因此,学者们提出在车联网中部署异常检测系统,目前的异常检测方法根据检测技术主要分为两类,即基于规则的检测和基于异常的检测。
基于规则的检测方法依赖已知攻击规则知识库,通过与知识库比对判断是否为异常行为[2]。Tomandl等[3]提出一种基于动态规则的REST⁃Net车联网检测系统,具有动态自适应警告特点。但是基于规则的检测方法只能检测已知攻击,无法检测未知攻击,所以学者们更加倾向于研究基于异常的检测方法。基于异常的检测方法是通过构建模型来判断车辆行为是否属于异常。很多学者将机器学习应用到车联网异常行为检测领域[4-5],刘湘雯等[6]提出了一种基于弱分类器集成的虚假交通信息检测方法,扩充消息分组的有效特征,将分类结果集成来判断警报信息的真实性,降低了检测时间,且检测率高于使用部分特征的检测方案。Van Der Heijden等[7]首次提出并公开车联网的异常检测专用数据集VeReMi,后续很多学者[8-10]利用支持向量机、K近邻、决策树、随机森林等机器学习方法对VeReMi数据集进行分析,并指出数据集中标签的不合理性。Kamel等[11-13]从攻击类型、攻击密度、车辆消息等方面完备了VeReMi数据集。现有车联网异常检测研究主要集中在基于异常的检测方法,尤其侧重于基于机器学习方法,但是机器学习方法依赖于数据集,很多学者仍然使用面
向传统网络的网络安全数据集[14-15],或者往往只针对单一类型的网络攻击[16-17]。
本文中以保证不同恶意车辆密度下的检测稳定性,提高异常行为车辆检测率为目的。基于Veins车联网仿真平台,搭建了真实路况环境下遭受网络攻击的车联网场景,构建出车联网异常检测数据集,并基于Stacking集成学习思想,融合多种机器学习基分类器,提出一种新型的适用于车联网的车辆异常行为检测方法。
1模型与方案假设
1.1方案假设
本文采用如下假设。
假设1:所有车辆配备GPS设备、无线信号收发器以及各种传感器,且各种设备均是完好,能够实时感知周围环境,并接收来自其他车辆和设施的相关信息。
假设2:车联网通信协议采用IEEE802.11p/ 1609标准。其中,IEEE802.11p定义车辆与其他车辆进行无线通信的物理层与MAC层标准,IEEE 1609基于IEEE802.11p使用PKI实现数字签名,确保了消息的完整性和不可否认性,加强了车联网通信的安全性。
假设3:所有车辆均能正常进行通信,且车联网中大部分车辆是正常车辆。
1.2车联网模型
基于IEEE802.11p/1609协议,车辆在加入通信前必须先向证书授权(certificate authority,CA)机构申请证书,如图1所示。CA机构认为该车为合法车辆后将会颁发证书:唯一身份序号I,假名P I,一组公钥P k和私钥S k,以及数字证书Cert CA(I,P k)。当车辆具备合法通信能力后,可以给邻近车辆发送BSM消息,车辆在收到消息后会调用异常检测模块对消息进行检测,并将检测结果上报给响应处理模块,对车辆进行下一步处理。
1.3攻击模型
车联网中,由于开放的网络环境使得车辆易受网络攻击,本文中考虑车联网中4
种常见网络攻击
图1车联网模型
502
2021(Vol.43)No.4薛宏伟,等:车联网环境下基于Stacking 集成学习的车辆异常行为检测方法类型,具体如下。
入会申请书
DoS 攻击:即拒绝访问攻击(denial of rvice ),
本文中是指恶意车辆节点不遵守车联网中关于消息发送频率的限制,不断往邻居车辆发送信标消息,使得整个车联网陷入瘫痪,无法正常提供服务。
Sybil 攻击:即女巫攻击,是指恶意车辆节点故
意伪造不存在的车辆节点,造成道路拥堵的假象。攻击者通过为每个假车辆维护新的身份和正确的消息频率,生成一个虚假车辆网络。
Replay 攻击:即重放攻击,是指恶意车辆节点重
放从邻居节点收到的历史消息,使得网络中充满了过时消息,正常车辆节点发送的消息无法及时被
处理。
DDS 攻击:是指将上述3种攻击综合起来,如图
2所示,在Sybil 攻击模式下,恶意车辆节点伪造出大量虚假车辆,并让他们发送大量的过时消息。
2
基于Stacking 集成学习的异常行为
检测方法
由于单一的机器学习方法在针对多分类问题上
往往具有局限性,而Stacking 集成学习方法可以很好地将多个分类器通过树型结构进行融合,从而达到提高分类的准确率、精确率等效果。因此,本文中针对车联网中车辆异常行为威胁问题,提出一种基于Stacking 集成学习的异常行为检测方法,充分挖掘多个分类器的优势,提升了模型性能及泛化能力。2.1
方法描述
从仿真中收集的信标数据经过预处理后得到的数据集如下:
D =éëêê
êêù
û
úúúúD 11⋯D 1n L 1⋮⋱⋮D m 1⋯
D mn L m (1)
式中:m 为数据集中数据数量;n 为特征数量;D ij (1≤i ≤m ,1≤j ≤n )表示数据集中第i 个数据的第j 个特征;L i 表示数据集中第i 个数据所对应的标签,且
L 1,…,L m ∈{c 1,c 2,…,c l },{c 1,c 2,…,c l }表示所属攻
击类型,取值为{0,1,2,3,4},分别表示{正常,DoS ,Sybil ,Replay ,DDS }。
按照分层抽样的原则,将数据集的75%作为训
练集D Train ,25%作为测试集D Test ,并将数据集中的数据和标签分离。
D Train =X Train ∪y Train
(2)X Train =éëêêêêùûúúúúD Tr 11⋯D Tr
牛肉馍1n ⋮⋱⋮D Tr p 1⋯D Tr pn (3)
y Train =éëêêêêùû
úúúúL Tr 1⋮L Tr p (4)D Test =X Test ∪y Test
(5)
X Test =éëêêêêù
ûúúúúD Te
11⋯D Te
1n ⋮⋱⋮D Te q 1⋯D Te qn (6)y Test =éëêêêêùû
úúúúL Te 1⋮L Te q (7)式中:p 、q 分别表示训练集和测试集的大小,且p+q=m ;
X Train 、y Train 和X Test 、y Test 分别表示训练集的数据、标签和测试集的数据、标签。
2.1.1
训练过程
结合K 折交叉验证思想,采用5折交叉验证用训练集对初级分类器进行训练,初级分类器为BC ={BC 1,BC 2,…,BC 5}
(8)
式中BC i ,1≤i ≤5表示第i 个初级分类器。
将训练集数据X Train 进行5等分,记为
X T1,X T2,…,X T5,接下来对每个初级分类器进行5折
交叉验证。使用第一个初级分类器BC 1进行1折交叉验证,过程如下。
本折训练集:X TT1=X T2∪…∪X T5本折验证集:
y cv1=X T1使用初级分类器BC 1对训练数据X TT 进行拟合,
使用训练过后的初级分类器BC 1在验证数据y cv1进行预测,得到预测数据V cv1。
下一折交叉验证过程和上述类似,训练数据为
X TT2=X T1∪X T2∪…∪X T5,验证集为y cv2=X T2,经
过5折交叉验证之后,得到具有不同参数的初级分类器BC 1,在5组验证数据上的预测结果为V cv1,V cv2,…,V cv5,聚合为V 1。
V 1=Aggregate (V cv1,V cv2,…,V cv5)
(9)
接下来对剩下的4
个初级分类器进行类似上述
图2
DDS 攻击
503
汽车工程2021年(第43卷)第4期
的5折交叉验证,对每个初级分类器在验证集上的预测结果进行聚合之后得到次级数据集V 。
BC i :X Train →V i ,i =1,2,…,5(10)V =Aggregate (V 1,V 2,…,V 5)
(11)
使用次级分类器MC 对次级数据集V 进行再次训练,得到最终模型H 。
MC (V )→H
(12)
2.1.2
分类过程
使用训练完成的模型H 在测试集数据X Test 进行
分类测试。依次使用5个初级分类器对测试集数据X Test 进行预测,得到5个预测结果P 1,P 2,…,P 5,对5
个预测结果进行拼接融合成新的次级数据集P ,使用次级分类器MC 对次级数据集P 进行再次预测,
得到最终的预测结果Y 。
BC i :X Test →P i ,i =1,2,…,5(13)P =Aggregate (P 1,P 2,…,P 5)(14)MC :P →Y
(15)
2.2
具体实现2.2.1
预处理
(1)特征提取
信标消息包含车辆节点运动状态的变化特征和
车辆节点的身份信息。本文研究的信息特征及其定义如表1所示。
(2)标准化
由于收集到的数据各个数据维度不同,直接进行运算易受到数据维度影响,所以本文中对信息特
征进行标准化处理:
D =D Orign -μσ
(16)
式中:D Orign 为原始数据;μ为均值;σ为方差;D 为处理后得到的数据集。2.2.2
异常行为检测
检测算法框架如图3所示,使用训练集训练出
Stacking 模型,并使用测试集对模型进行预测,最终
将结果提供给后续响应处理模块,其中响应处理模块将会作为后续研究。经过多次实验,最终选择K 近邻、决策树、多层感知机、AdaBoost 、随机森林5个分类器作为初级分类器,选择Logistic 回归作为次级分类器。
表1
消息特征
消息特征名称
SenderID
SenderPudo MessageID SendTime
Sender_Pos
Sender_Pos_Noi Sender_Speed
Sender_Speed_Noi Sender_Acl Sender_Acl_Noi Sender_Head Sender_Head_Noi 特征定义
节点ID 节点假名消息ID 消息发送时间节点位置节点位置偏差节点速度节点速度偏差节点加速度节点加速度偏差
节点朝向
节点朝向偏差
图3检测算法框架
504
2021(Vol.43)No.4薛宏伟,等:车联网环境下基于Stacking集成学习的车辆异常行为检测方法(1)训练过程
训练过程的具体流程(算法1)如表1所示。
(2)分类过程
分类过程的具体流程(算法2)如表2所示。3仿真与结果分析Simulation of Urban Mobility(SUMO)是一个开
源的交通模拟仿真软件,OMNET++是一个基于离散事件的开源网络仿真软件,Veins基于TraCI实现OMNET++和SUMO的双向信息交互。
本文中基于Veins进行仿真实验,整体仿真实验流程如图4所示。首先从OpenStreetMap网站导出
东南大学九龙湖校区附近的实际地图,并利用JOSM
对地图进行微调,在SUMO对仿真中的道路参数、车
辆参数、运动参数等进行定义,在Veins中实现所述4种网络攻击,并定义车辆节点的通信协议、信号衰落模型等参数。收集从仿真中生成的信标信息,并
利用python脚本文件将数据集整理成带标签的csv
文件,将其中75%作为训练集,25%作为测试集,提
取包含车辆节点状态和身份信息的特征,构建出车
联网异常检测数据集;然后结合交叉验证思想,使用K近邻、决策树、多层感知机、AdaBoost、随机森林5种初级分类器对训练集进行训练,并将初级分类器在验证集上的预测结果作为次级分类器的输入,将次级分类器的输出作为最终的预测输出,并用测试集对得到的Stacking模型进行评估。
3.1仿真参数设置
3.1.1仿真地图选取
从OpenStreetMap网站截取东南大学九龙湖校区附近的实际地图,并利用JOSM对地图进行一些微调,如图5所示。
表1训练过程的具体流程
算法1:训练过程
输入
输入::训练集数据X Train;
初级分类器BC i(i=1,2,…,5);
次级分类器MC
输出
输出::Stacking模型H
1.(X T1,X T2,…,X T5)←X Train
家用小电器2.V=Ø//次级数据集初始化
3.//初级分类器初始化
4.for i=1,2,…,5do
5.init(BC i)
7.init(MC)//次级分类器初始化
8.//初级分类器依次进行5折交叉验证
9.for i=1,2,…,5do
10.//初级分类器BC i进行5折交叉验证
11.for b=1,2,…,5do
12.X TTb=Ø
13.for c=1,2,…,5do
愉悦家纺
14.if b!=c
15.X TTb=X TT∪X Tc
18.//用X TTb训练BC i祖国在我心中演讲稿400字
19.BC i:Train(X TTb)
20.//用训练后的初级分类器BC i在验证集X Tb上预测得到V cvb
21.BC i:Validation(X TTb)→V cvb
23.V i=V cv1∪V cv2∪…,V cv5
25.V=V1∪V2∪…∪V5
26.//用V训练MC,得到最终模型H
27.MC:Train(V)→H
表2分类过程的具体流程
愿平安图片
算法2:分类过程
输入
输入::测试集数据X Test;
初级分类器BC i(i=1,2,…,5);
次级分类器MC
输出
输出::预测结果Y
1.//次级数据集初始化
2.V=Ø
3.//用5个初级模型依次进行预测
4.for i=1,2,…,5do
5.BC i:X Test→P i
7.P=P1∪P2∪…∪P5
8.//次级分类器对次级数据集进行预测,得到最终的预测结果Y
公章使用管理制度9.MC:Predict(P)→
Y
图4仿真实验流程
505