[0019] 为了使本技术领域的人员更好地理解本申请中的技术方案,下面对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0020] 一种车载边缘设备基于关联学习的受损电子控制单元定位方法,包括以下具体步骤:
[0021] 步骤1:数据预处理,分别采用上升状态和下降状态标记已知的电子控制单元,并记录状态突变点,获得若干预处理数据集,所述预处理数据集包括:记录的状态突变点、所有已知电子控制单元的ID、状态编号以及时间戳,其中,将每一个未受到攻击的预处理数据集记为预处理数据集A;
[0022] 步骤2:序列提取,将每一个预处理数据集A中电子控制单元ID的状态编号从小到大排序并删除重复数据,生成数据集B,对数据集B进行全排列,并计算每个排列结果的出现次数,根据支持度,删除出现次数小于支持度的排列结果,剩余的排列结果即为模式序列;本发明中,该步骤对每一个预处理数据集A都会进行序列提取,所有预处理数据集A提取的序列将整合在一个文件中,用于与步骤3中的提取的序列进行对比。
[0023] 步骤3:攻击识别,对所有受到攻击的预处理数据集进行遍历读取序列(即将所有受到攻击的预处理数据集分割成长度为2的序列),将当前读取的序列与通过步骤2提取得到的模式序列进行对比,如果当前读取的序列不在模式序列中,则将该序列标记为攻击,同时将相应的电子控制单元标记为已破坏。
[0024] 优选地,所述步骤2中的支持度为特定的出现次数,其计算过程如下:对预处理数据集A中每个电子控制单元的出现次数进行计数,然后根据出现次数进行升序排列,删除重复数据及零值数据得到数据集C,且数据集C表示为{C|C=a1,…,ai},其中,i=数据集C中的元素个数,则支持度的值即为aj的出现次数,且j=0.05×i。
[0025] 本发明中,设置支持度值的原因:当j=0.05*i,j=0.1*i,j=0.2*i和j=0.5*i时,攻击识别的正确率分别为:0.9308、0.9270、0.9256和0.9256。根据比较结果,当j=0.05*i时,正确率最高。
[0026] 优选地,对所述步骤2得到的模式序列进行优化,在每个长度为T的时隙中,通过迭代以下步骤实现深度学习,得到受损电子控制单元定位模型,具体过程如下:
[0027] S1:车载边缘设备中的边缘计算中心将模型参数分配给若干车辆;
[0028] S2:每辆收到模型参数的车辆使用其车载计算机系统上的本地数据来更新这些模型参数值;
[0029] S3:每辆收到模型参数的车辆将更新的模型参数值传输到边缘计算中心;
[0030] S4:边缘计算中心汇总其接收的模型参数,根据更新的模型参数,计算深度学习模型的损失函数,使得损失函数最小的作为当前更新的定位模型,直至满足迭代次数或者定位模型达到一定精度(这个精度可根据实际需求进行设定),否者返回步骤S1继续迭代优化学习。
[0031] 对比试验1:采用上述的定位模型与基于时钟的入侵检测方法同时在不同速度下对同种车辆攻击进行识别,计算两者的识别正确率,其结果如表1所示。其中,正确率的计算公式如下:
[0032]
[0033] 其中,TP为真阳性:实际值为“攻击”,计算值为“攻击”;FP为假阳性:实际值为“正常”,计算值为“攻击”;TN为真阴性:实际值为“正常”,计算值为“正常”;FN为假阴性:实际值为“攻击”,计算值为“正常”。
[0034] 表1两种识别方法在不同车速下的识别正确率
[0035]
[0036] 根据表1可知,与基于时钟的入侵检测方法相比,车速为0km/h时,本发明的识别正确率提升了41.5%;车速为20km/h时,识别正确率提升了60.7%;车速为40km/h时,识别正确率提升了96.7%;车速为60km/h时,识别正确率提升了48.0%;车速为80km/h时,识别正确率提升了64.1%。
[0037] 对比试验2:采用上述的定位模型与基于时钟的入侵检测方法相同车速环境下对四种不同车辆攻击(丰田凯美瑞)进行识别,其识别的正确率结果如表2所示:
[0038] 表2两种识别方法对不同车辆攻击类型的识别正确率
[0039]
[0040] 根据表2可知,与基于时钟的入侵检测方法相比,本发明的诊断攻击的识别正确率提高了8.2%;模糊攻击的识别正确率提高了50.4%;重放攻击的识别正确率提高了13.3%;欺骗攻击的识别正确率提高了25.6%。以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。