一种用于车载LIN网络的入侵检测方法

文档序号:36913759发布日期:2024-02-02 21:42阅读:11来源:国知局
一种用于车载LIN网络的入侵检测方法

本发明属于移动通信领域,涉及车载网络通信技术安全领域,具体涉及一种用于车载lin网络的入侵检测方法。


背景技术:

1、随着汽车智能化、便捷化、网联化的发展,现代汽车不得不搭载更多的电气控制单元(electronic control unit,ecu)、传感器和外部通信接口,为用户提供舒适、智能网联服务和网络安全。然而,随着汽车的复杂度和互联度的增加,并且已有的车载网络欠缺网络安全的设计,汽车遭受攻击的面越来越广泛,安全风险日益突出。

2、车载网络的安全问题是现在的研究热点。同的总线有不同的安全问题,can是基于广播的总线网络,设计初期未考虑它的安全性,缺乏认证和加密等技术来保护其通信安全,已经有许多研究证明can是黑客的主要攻击目标。而lin一般挂靠在can的一个节点上,这个节点一般作为lin的主节点,如果黑客有意地想去攻击lin总线,影响对方向盘和车门等的控制信息,势必会对车辆和车内人员造成安全威胁。

3、虽然lin总线已经比较“老旧”,但对它的使用并没有减少,因此保障它的安全是必不可少的。目前已有的安全策略大多是针对can总线的,如身份认证、防火墙和入侵检测系统。而对于lin总线的安全问题研究十分少。假如汽车行驶在高速公路上,黑客控制了lin的通信,对方向盘和车门的控制信息进行篡改,或者注入假的控制信息,驾驶员将会面临巨大的风险。在一些研究中对lin所受到的攻击进行了描述,但是覆盖面较小,并且提出的安全措施并未进行检验,由于lin的通信机制和数据长度的限制,身份认证和防火墙等方式对于lin就不适用,还有研究描述了由于lin总线物理层的脆弱性,对lin使用加密技术很容易被破坏,并且对比其他总线如can和flexray它也更容易受到攻击。因此亟需对lin设计一种新的入侵检测来解决以上问题。


技术实现思路

1、有鉴于此,本发明的目的在于提供一种用于车载lin网络的入侵检测方法,从lin数据包中提取特征,结合深度学习的方法实现车载网络lin总线入侵检测方案。

2、为达到上述目的,本发明提供如下技术方案:

3、一种用于车载lin网络的入侵检测方法,在数据集的预处理阶段使用one-hot编码的方法,减少系统处理时间,保证入侵检测系统的实时性,以此来保障车辆与车内人员的安全。该方法具体包括以下步骤:

4、s1:采集数据:利用car bus analyzer软件收集lin的数据包,整个数据包包含异常和正常的车载lin数据包,并对数据包进行标记,正常数据包标机为“normal”,异常数据包标记为“abnormal”;

5、s2:数据预处理:从车载lin数据包中提取pid、数据域长度和数据域等关键数据,然后将提取的数据通过one-hot编码方法转化为lin图像;

6、s3:划分数据集:将预处理后的lin图像按比例随机拆分成训练集、验证集和测试集,训练集、验证集和测试集都包括“normal”和“abnormal”两种类型图像;

7、s4:构建深度卷积神经网络模型,并对模型进行训练优化;

8、s5:将待测数据输入训练完成后的模型,获得检测结果。

9、进一步,步骤s2中,将提取的数据通过one-hot编码方法转化为lin图像,具体包括:将从车载lin数据包中抽取lin的pid、数据域长度和数据域三部分拼在一起,一条报文就形成一个m位16进制数的字符串;为了保证形成的图像大小一致以及减少系统处理时间,在不足m位的报文在低位补‘*’号,称为lin_pac,再将lin_pac利用one-hot编码形成一个16×m维的one-hot向量,每n条报文形成一个16×n×m维的矩阵即“lin图像”,最后将lin图像转换为特征图,打上“normal”和“abnormal”的标签,只要n条报文中出现一条异常报文,特征图就被标记为abnormal。

10、进一步,步骤s4中,构建的深度卷积神经网络模型包括三个conv块,即block a、block b和block c;

11、block a主要对lin图像进行预处理,归一化处理,包括输入层、两个separableconv2d层、批量归一化和最大池化层;

12、block b通过多个层的叠加,并且应用残差连接,进一步提取特征并加强特征图的表示能力,包括两个separableconv2d层和批量归一化层;

13、block c用于分类,包括一个separableconv2d层、一个全局平均池层、四个全连接层和一个dropout层。

14、进一步,步骤s4中,对模型进行训练优化,具体包括:先使用tensorflow的api的方法将数据集划分为训练集、验证集与测试集,接着将包含输入图像和标签的数据集载入模型进行训练,利用回调函数保存在验证准确率最高的时候的模型权重以及加上提前停止的功能,防止过拟合;最后将测试集输入保存的模型,利用得到准确率、真阴性、假阴性、假阳性、真阳性、f1和auc这些指标来评估模型,得到整个入侵检测系统的性能。

15、进一步,步骤s4中,对模型进行训练,具体包括:使用梯度下降优化算法进行迭代训练验证,训练lin图像,提取图像的特征,使用具有二元交叉熵损失函数的adam优化器,损失函数为:

16、

17、其中,n为样本数量,yi={0,1}是二元标签,p(y)是输出属于y标签的概率;每次迭代抽取10个特征图用以训练与验证,学习率设置为0.0001,并且利用早停的策略来防止出现过拟合并提高训练效率。

18、进一步,步骤s4中,训练完成后,使用keras库的evaluate()方法使用测试数据集评估模型性能,以获得测试损失和测试精度。

19、本发明的有益效果在于:与现有的消息认证和加密算法安全技术相比,本发明提出的入侵检测技术不用受lin的通信机制和报文数据域大小的限制,能够高准确度的识别系统异常。本发明将lin协议数据包的pid域和数据域形成“lin图像”,将形成的特征图输入到深度神经网络中来检测系统的异常,模型使用可分离卷积层和残差网络的方法可以提高最后检测的准确度。

20、本发明的其他优点、目标和特征在某种程度上将在随后的说明书中进行阐述,并且在某种程度上,基于对下文的考察研究对本领域技术人员而言将是显而易见的,或者可以从本发明的实践中得到教导。本发明的目标和其他优点可以通过下面的说明书来实现和获得。



技术特征:

1.一种用于车载lin网络的入侵检测方法,其特征在于,该方法具体包括以下步骤:

2.根据权利要求1所述的入侵检测方法,其特征在于,步骤s2中,将提取的数据通过one-hot编码方法转化为lin图像,具体包括:将从车载lin数据包中抽取lin的pid、数据域长度和数据域三部分拼在一起,一条报文就形成一个m位16进制数的字符串;在不足m位的报文在低位补‘*’号,称为lin_pac,再将lin_pac利用one-hot编码形成一个16×m维的one-hot向量,每n条报文形成一个16×n×m维的矩阵即“lin图像”,最后将lin图像转换为特征图,打上“normal”和“abnormal”的标签,只要n条报文中出现一条异常报文,特征图就被标记为abnormal。

3.根据权利要求1所述的入侵检测方法,其特征在于,步骤s4中,构建的深度卷积神经网络模型包括三个conv块,即block a、block b和block c;

4.根据权利要求1所述的入侵检测方法,其特征在于,步骤s4中,对模型进行训练优化,具体包括:先使用tensorflow的api的方法将数据集划分为训练集、验证集与测试集,接着将包含输入图像和标签的数据集载入模型进行训练,利用回调函数保存在验证准确率最高的时候的模型权重以及加上提前停止的功能,防止过拟合;最后将测试集输入保存的模型,利用得到准确率、真阴性、假阴性、假阳性、真阳性、f1和auc这些指标来评估模型,得到整个入侵检测系统的性能。

5.根据权利要求4所述的入侵检测方法,其特征在于,步骤s4中,对模型进行训练,具体包括:使用梯度下降优化算法进行迭代训练验证,训练lin图像,提取图像的特征,使用具有二元交叉熵损失函数的adam优化器,损失函数为:

6.根据权利要求4所述的入侵检测方法,其特征在于,步骤s4中,训练完成后,使用keras库的evaluate()方法使用测试数据集评估模型性能,以获得测试损失和测试精度。


技术总结
本发明涉及一种用于车载LIN网络的入侵检测方法,属于移动通信领域。该方法先利用Car BUS Analyzer软件收集LIN的数据包,接着从LIN协议数据包中提取PID、数据域长度和数据域等关键数据,然后将提取的数据通过One‑Hot编码方法转为简单特征图;最后将图像输入到搭建的深度卷积神经网络模型中进行学习与测试,以此完成检测。本发明在卷积神经网络中使用残差结构,增加网络深度,提高模型性能,由此来提高最后入侵检测的准确度。

技术研发人员:程安宇,王珊珊,周海南,赵海航,孙雨婷,魏宇
受保护的技术使用者:重庆邮电大学
技术研发日:
技术公布日:2024/2/1
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1