一种基于改进ACGAN的车载网络入侵检测方法及检测系统技术方案

技术编号:38729991 阅读:9 留言:0更新日期:2023-09-08 23:20
本发明专利技术公开了一种基于改进ACGAN的车载网络入侵检测方法,包括以下步骤:完成对CAN报文数据帧的采集,并筛选标准数据帧;对采集到的标准数据帧ID进行预处理,将其批量转换成适合输入神经网络模型的CANID图像,并为CANID图像分配合适的标签;构建生成器G和判别器D,利用CANID图像,采用Adam优化算法,对生成器G和判别器D进行训练;将判别器D部署到连接在CAN总线的计算机上,采集到的CANID图像会被输入判别器D,判别器D会输出CAN报文是否遭受一种或多种已知攻击以及是否存在未知攻击。本发明专利技术可检测到已知攻击类型并进行分类;可检测到未知类型的攻击;可在一定范围内同时检测到多种CAN总线攻击;提升多标签分类结果的准确性。提升多标签分类结果的准确性。提升多标签分类结果的准确性。

【技术实现步骤摘要】
一种基于改进ACGAN的车载网络入侵检测方法及检测系统


[0001]本专利技术涉及车载网络入侵检测
,尤其涉及一种基于改进ACGAN的车载网络入侵检测方法及检测系统。

技术介绍

[0002]随着汽车智能化的发展,车辆的网络安全问题越来越引起人们的关注。车载网络入侵是指黑客或恶意攻击者通过网络入侵汽车的电子控制系统,从而实现远程控制车辆、窃取车载信息和攻击乘客隐私等目的。车载网络入侵对驾驶安全和车主隐私等方面都会造成潜在的危害,成为汽车智能化发展的重要障碍之一。控制器局域网络(Control Area Network,CAN)作为现代汽车最常用的通信协议之一,有高可靠性、高灵活性、成本低、低时延等优点,但CAN协议没有内置的安全机制,因此实时检测CAN总线上的攻击报文并及时上报其攻击类型以便采取应急措施是非常重要的。
[0003]目前,基于深度学习的车载网络入侵检测方法往往有以下局限性:1.只能检测已知攻击类型,无法检测未知攻击类型;2.滑动窗口内出现多种攻击时只能检测到一种攻击。

技术实现思路

[0004]为了解决现有技术存在的不足,本专利技术的目的是提供一种基于改进ACGAN的车载网络入侵检测方法及检测系统。利用1.基于生成对抗网络的分布外检测技术;2.辅助分类器生成对抗网络(ACGAN);3.多标签分类技术;对现有技术中存在的不足进行处理。
[0005]本专利技术提出的基于改进ACGAN的车载网络入侵检测方法,包括以下步骤:
[0006]步骤1:完成对CAN报文数据帧的采集,根据RTR位和IDE位的值是否都为0来筛选出标准数据帧。
[0007]步骤2:对采集到的标准数据帧ID进行预处理,将其批量转换成适合输入神经网络模型的CAN ID图像,并为这些CAN ID图像分配合适的标签。
[0008]步骤3:构建生成器G和判别器D,利用CAN ID图像,采用Adam优化算法,对生成器G和判别器D进行训练。
[0009]步骤4:将判别器D部署到使用USB

CAN设备连接在CAN总线上的计算机上,采集到的CAN ID图像会被输入判别器D,判别器D会输出CAN ID图像范围内的CAN报文状态,包括CAN报文是否遭受一种或多种已知攻击以及是否存在未知攻击。所述已知攻击的类型包括但不限于DoS攻击、Fuzzy攻击和Spoofing攻击。
[0010]步骤1中,所述对CAN报文数据帧的采集首先需要通过连接车载OBD端口获得CAN总线上的所有报文,然后根据RTR位和IDE位都存在且值都为0来筛选出标准数据帧,这些标准数据帧的ID部分将在后续步骤中被使用。
[0011]本专利技术中,所述步骤2包括:
[0012]步骤2.1:提取CAN报文的CAN ID部分,以三位十六进制数表示,不足三位高位补零。
[0013]步骤2.2:对CAN ID的三位十六进制数进行独热(one

hot)编码,每一位根据十六进制数的规则利用1进行编码,形成长度为3*16=48的编码数据;例如43f,经过独热编码后,分别将第一行的4,第二行的3,第三行的f所对应的位置编码为1。
[0014]步骤2.3:将同一CAN ID的三行独热编码数据进行拼接,形成长度为1*48=48的编码数据;以48条连续的CAN ID为一组,将独热编码后的数据组成48*48的图像。
[0015]步骤2.4:已知分类标签集合为{Normal,DoS,Fuzzy,Spoofing},分别表示正常,DoS,模糊,欺骗;图像的标签为该组CAN ID所属CAN报文中各分类标签独热编码的和。例如,图像中的48条CAN ID所属CAN报文中只存在DoS攻击DoS Attack,则该图像标签为[0,1,0,0];图像中的48条CAN ID所属CAN报文中存在模糊攻击Fuzzy Attack和欺骗攻击Spoofing Attack,则该图像标签为[0,0,1,1]。
[0016]本专利技术中,所述步骤3包括:
[0017]步骤3.1:随机初始化生成器G和判别器D的参数。
[0018]步骤3.2:向生成器G中输入服从正态分布的噪声向量z和随机图像标签gen_label,得到生成器G输出的图像gen_img。其中,噪声向量z需要服从简单、易采样的分布,除了正态分布之外也可选择均匀分布,对后续结果几乎没有影响,但噪声向量z不推荐服从其他更复杂的分布,因为可能会导致生成器出现梯度消失的问题。
[0019]gen_label的标签形式如步骤2.4所述,每次从[1,0,0,0]、[0,1,0,0]、[0,0,1,0]、[0,0,0,1]、[1,1,0,0]、[1,0,1,0]、[1,0,0,1]、[0,1,1,0]、[0,1,0,1]、[0,0,1,1]、[1,1,1,0]、[1,1,0,1]、[1,0,1,1]、[0,1,1,1]、[1,1,1,1]共15种标签中随机抽取一种和噪声向量z一同输入生成器。
[0020]步骤3.3:将gen_img输入判别器D,判别器D对输入图像进行判定,得到图像gen_img为真实图像的概率validity和其预测标签pred_label。其中,预测标签pred_label的标签形式如步骤2.4所述,遍历判别器D中4个负责不同分类的Sigmoid函数输出值,大于等于阈值T时,预测标签pred_label的对应位置赋值为1。其中,阈值T初始默认值为0.5,训练结束后绘制阈值和各分类F1得分总和的曲线,调整阈值使得F1得分总和最优。
[0021]步骤3.4:利用以下公式计算生成器G的损失函数L
G

[0022]L
G
=L
C

L
S
[0023]L
C
=E[log P(C=c|X
real
)]+E[log P(C=c|X
fake
)][0024]L
S
=E[log P(S=real|X
real
)]+E[log P(S=fake|X
fake
)][0025]其中,L
C
是分类的损失函数,L
S
是真假判断的损失函数,E表示数学期望,P(C|X)表示给定输入样本X的情况下X属于类别C的概率,P(S|X)表示给定输入样本X的情况下X的数据来源为S的概率。
[0026][0027][0028]其中,N为一个批次batch中的样本数量,l
n
为第n个样本对应的损失函数,M为分类标签集合中的元素数4,为第n个样本中第i个分类对应的损失函数,w
i
是用于处理标签间的样本不均衡问题的超参数,是判别器D对第n个样本第i个分类的预测值(取值范围为[0,1]),是第n个样本第i个分类的真实值(0或1)。
[0029][0030]l
n


w[y本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于改进ACGAN的车载网络入侵检测方法,其特征在于,包括以下步骤:步骤1:完成对CAN报文数据帧的采集,并筛选标准数据帧;步骤2:对采集到的标准数据帧ID进行预处理,将其批量转换成适合输入神经网络模型的CAN ID图像,并为这些CAN ID图像分配合适的标签;步骤3:构建生成器G和判别器D,利用CAN ID图像,采用Adam优化算法,对生成器G和判别器D进行训练;步骤4:将判别器D部署到使用USB

CAN设备连接在CAN总线的计算机上,采集到的CAN ID图像会被输入判别器D,判别器D会输出CAN ID图像范围内的CAN报文状态,包括CAN报文是否遭受一种或多种已知攻击以及是否存在未知攻击。2.如权利要求1所述的基于改进ACGAN的车载网络入侵检测方法,其特征在于,步骤1中,首先需要通过连接车载OBD端口获得CAN总线上的所有报文,然后根据RTR位和IDE位都存在且值都为0筛选出标准数据帧。3.如权利要求1所述的基于改进ACGAN的车载网络入侵检测方法,其特征在于,所述步骤2包括:步骤2.1:提取CAN报文的CAN ID部分,以三位十六进制数表示,不足三位高位补零;步骤2.2:对CAN ID的三位十六进制数进行独热编码,每一位根据十六进制数的规则利用1进行编码,形成长度为3*16=48的编码数据;步骤2.3:将同一CAN ID的三行独热编码数据进行拼接,形成长度为1*48=48的编码数据;以48条连续的CAN ID为一组,将独热编码后的数据组成48*48的图像;步骤2.4:已知分类标签集合为{Normal,DoS,Fuzzy,Spoofing},分别表示正常,DoS,模糊,欺骗;图像的标签为该组CAN ID所属CAN报文中各分类标签独热编码的和。4.如权利要求1所述的基于改进ACGAN的车载网络入侵检测方法,其特征在于,所述步骤3包括:步骤3.1:随机初始化生成器G和判别器D的参数;步骤3.2:向生成器G中输入服从正态分布的噪声向量z和随机图像标签gen_label,得到生成器G输出的图像gen_img;步骤3.3:将gen_img输入判别器D,判别器D对输入图像进行判定,得到输入图像gen_img为真实图像的概率validity和其预测标签pred_label;遍历判别器D中4个负责不同分类的Sigmoid函数输出值,大于等于阈值T时,预测标签pred_label的对应位置赋值为1;步骤3.4:利用以下公式计算生成器G的损失函数L
G
:L
G
=L
C

L
S
,L
C
=E[log P(C=c|X
real
)]+E[log P(C=c|X
fake
)],L
S
=E[log P(S=real|X
real
)]+E[log P(S=fake|X
fake
)],其中,L
C
是分类的损失函数,L
S
是真假判断的损失函数,E表示数学期望,P(C|X)表示给定输入样本X的情况下X属于类别C的概率,P(S|X)表示给定输入样本X的情况下X的数据来源为S的概率;源为S的概率;
其中,N为一个批次batch中的样本数量,l
n
为第n个样本对应的损失函数,M为分类标签集合中的元素数4,为第n个样本中第i个分类对应的损失函数,w
i
是用于处理标签间的样本不均衡问题的超参数,是判别器D对第n个样本第i个分类的预测值,所述预测值的取值范围为[0,1],是第n个样本第i个分类的真实值,所述真实值为0或1;l
n


w[y
n
*log x
n
+(1

y
n
)*log(1

x
n
)],其中,N为一个batch中的样本数量,l
n
为第n个样本对应的损失函数,w是用于处理标签间的样本不均衡问题的超参数,x
n
是判别器D对第n个样本数据来源的预测值,所述预测值的取值范围为[0,1],y
n
是第n个样本数据来源的真实值,所述真实值为0或1;步骤3.5:反向传播后用Adam优化器更新生成器G的参数;步骤3.6:先后向判别器D中输入真实图像和生成器G输出的图像gen_img,分别得到输出真实概率real_validity,真实预测标签real_pred_label和虚假概率fake_validity,虚假预测标签fake_pred_label;步骤3.7:利用以下公式计算判别器D的损失函数L
D
:L
D
=L
C
+L
S
,其中,L
C
是分类的损失函数,L
S
是真假判断的损失函数;步骤3.8:反向传播后用Adam优化器更新判别器D的参数;步...

【专利技术属性】
技术研发人员:王江涛吕宙
申请(专利权)人:华东师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1