一种控制器局域网总线攻击检测方法和设备

专利2023-04-10  175



1.本技术涉及控制器局域网总线安全技术领域,尤其涉及一种控制器局域网总线攻击检测方法和设备。


背景技术:

2.随着车联网技术与自动驾驶技术的迅速发展,越来越多的自动驾驶方案被提出。越来越多的汽车厂商通过控制器局域网技术与辅助驾驶技术的融合,实现汽车的远程控制和自动驾驶等功能,为用户提供了更舒适的驾驶体验。但是,一系列汽车驾驶安全事件表明,控制器局域网技术的应用,也使得攻击者有可能通过一定方式实现远程劫持一辆处于任何状态的车辆,干扰驾驶员正常驾驶。为提高自动驾驶车辆的安全性能,相关技术根据控制器局域网的缺陷,提出了诸多控制器局域网总线攻击检测方法。但是这些方法或者特征限制不够,无法很好地区分正常报文和攻击报文;或者检测特征单一,检测系统仍然存在漏洞。


技术实现要素:

3.有鉴于此,本技术的目的在于提出一种控制器局域网总线攻击检测方法及设备。
4.基于上述目的,本技术提供了一种控制器局域网总线攻击检测方法。所述方法包括:
5.识别接收报文的唯一标识码;
6.调取所述唯一标识码最近一次的历史报文;
7.判断所述接收报文是否在所述历史报文的时间窗口内;
8.响应于确定所述接收报文在所述历史报文的时间窗口内,判断所述历史报文的时间窗口内的报文是否多于一条;
9.响应于确定所述时间窗口内的报文多于一条,确定所述时间窗口内存在的攻击报文。
10.可选的,确定所述时间窗口内存在的攻击报文之后,所述方法还包括:
11.调取所述唯一标识码的分段比特翻转率表;
12.根据所述分段比特翻转率表,确定所述历史报文与所述接收报文的数据段的固定位及变化位;其中,所述固定位为所述历史报文的数据段中与所述接收报文的数据段中数值一定相等的位;所述变化位为所述历史报文的数据段中与所述接收报文的数据段中数值一定不相等的位;
13.响应于确定所述接收报文的固定位与所述历史报文的固定位的数值不相等,或响应于确定所述接收报文的变化位与所述历史报文的变化位的数值相等,确定所述接收报文是攻击报文。
14.可选的,响应于确定判断所述接收报文的固定位与所述历史报文的固定位的数值相等,且所述接收报文的变化位与所述历史报文的变化位的数值不相等,确定所述接收报
文满足比特约束。
15.可选的,确定所述接收报文满足比特约束后,所述方法还包括:
16.调取所述唯一标识码的汉明距离分布表;
17.计算所述接收报文与所述历史报文的第一汉明距离,以及所述历史报文与下一条报文的第二汉明距离;
18.根据所述汉明距离分布表,确定所述第一汉明距离和所述第二汉明距离的权重值;所述权重值表示汉明距离出现的概率;
19.响应于确定所述第一汉明距离的权重值小于第二汉明距离的权重值,确定所述接收报文为攻击报文。
20.可选的,响应于确定所述第一汉明距离大于或等于第二汉明距离的权重值,确定所述接收报文为正常报文。
21.可选的,所述判断所述接收报文是否在所述历史报文的时间窗口内,包括:
22.调取所述唯一标识码的报文时间间隔表;
23.根据所述报文时间间隔表,确定所述唯一标识码的报文之间的最小时间间隔和最大时间间隔;
24.根据所述历史报文的时间戳、所述最小时间间隔和所述最大时间间隔,计算所述时间窗口的取值范围;
25.响应于确定所述接收报文的时间戳在所述取值范围内,确定所述接收报文在所述历史报文的时间窗口内;
26.响应于确定所述接收报文的时间戳不在所述取值范围内,确定所述接收报文不在所述历史报文的时间窗口内。
27.可选的,所述判断所述历史报文的时间窗口内的报文是否多于一条,包括:
28.确定所有未检测报文;所述未检测报文包括所述接收报文;
29.判断每个所述未检测报文的时间戳是否在所述历史报文的时间窗口内;
30.响应于确定存在多于一条所述未检测报文的时间戳在所述历史报文的时间窗口内,确定所述历史报文的时间窗口内的报文多于一条。
31.可选的,响应于确定所述接收报文不在所述历史报文的时间窗口内,确定所述接收报文为攻击报文。
32.可选的,响应于确定所述时间窗口内的报文有且仅有一条,确定所述时间窗口内不存在攻击报文。
33.基于同一发明构思,本说明书一个或多个实施例还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述任意一项所述的慢阻肺复发预测方法。
34.从上面所述可以看出,本技术一个或多个实施例提供的一种控制器局域网总线攻击检测方法及电子设备,通过时间特征、比特约束特征以及汉明距离三个特征对接收报文进行攻击检测。由于本技术提出的方法通过多个特征进行检测,且提高了检测的特征限制条件,因此提高了检测效率,降低了自动驾驶车辆的安全事故概率,保护了司乘人员和国家道路交通的安全。
附图说明
35.为了更清楚地说明本技术或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
36.图1为本技术一个或多个实施例的一种控制器局域网总线攻击检测方法的根据时间间隔特征检测部分的流程示意图;
37.图2为本技术一个或多个实施例的一种控制器局域网总线攻击检测方法的根据比特约束特征检测部分的流程示意图;
38.图3为本技术一个实施例的分段比特翻转率和报文数据对照示意图;
39.图4为本技术一个或多个实施例的一种控制器局域网总线攻击检测方法的根据汉明距离特征检测部分的流程示意图;
40.图5为本技术一个或多个实施例的电子设备结构示意图。
具体实施方式
41.为使本技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本技术进一步详细说明。
42.需要说明的是,除非另外定义,本技术实施例使用的技术术语或者科学术语应当为本技术所属领域内具有一般技能的人士所理解的通常意义。本技术实施例中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
43.如背景技术部分所述,随着车联网技术和自动驾驶技术的迅速发展,越来越多的汽车厂商提出了自动驾驶的解决方案,意图通过控制器局域网技术与辅助驾驶技术的融合,实现汽车的远程控制和自动驾驶等功能,为用户提供了更舒适的驾驶体验。但是随着自动驾驶技术的发展,自动驾驶的车辆安全问题也日益成为人们关注的重点。现有技术中,车辆自动驾驶功能依赖于控制器局域网(can,controller area network)实现,而由于控制器局域网协议本身存在广播、明文、仲裁机制等方面的缺陷,因此攻击者很容易利用这些缺陷实现can报文的伪造和注入,欺骗与can通信连接的电子控制单元(ecu,electronic control unit)执行异常操作,从而实现对汽车状态的控制。
44.相关技术中,主要通过基于机器学习的入侵检测和轻量级入侵检测。然后,前者的方法需要强大的算力作为支撑,而车载部件有限的运算能力难以满足其性能要求,因此目前仍具有一定的局限性;后者的方法,虽然算法复杂度较低,但是由于其检测特征单一,特征限制也不够严格,导致检测准确率无法得到保证,尤其对于重放攻击,各种检测几乎直接失效。
45.综合上述考虑,本技术一个或多个实施例提出一种控制器局域网总线攻击检测方
法。考虑到目前常见的攻击主要为拒绝服务攻击和模糊攻击,其中拒绝服务攻击为:攻击者根据总线仲裁机制的缺陷,持续注入较小id的报文,使得所有正常报文无法发送,从而导致车内ecu无法正常通信,造成车辆故障。模糊攻击为:攻击者通过一定规则构造“坏”数据注入can总线,判断汽车是否有异常响应,以发现汽车总线通信规则设计上的缺陷或者找到总线中的某些控制指令。
46.通过观察发现,上述攻击发生时,注入的数据与总线中的正常数据之间的变化难以满足比特约束。因此本方法选择根据时间间隔特征、比特约束特征和汉明距离特征检测接收报文是否异常。同时,通过模型训练,提高了上述三个特征的限制程度,提高了区分攻击报文的准确度。
47.通过这种方法,可以提高攻击报文检测有效性和检测效率。同时,本方法降低了计算复杂度,实现了轻量级查表检测。
48.以下,通过具体的实施例来详细说明本技术一个或多个实施例的技术方案。
49.参考图1,本技术一个实施例的控制器局域网总线攻击检测方法,包括以下步骤:
50.步骤s101:识别接收报文的唯一标识码。
51.在本步骤中,提取接收报文的唯一标识码(id,identity document),后续基于该id调取历史报文和相关数据进行攻击检测。在一些实施例中,后续可以根据以id调取历史报文、分段比特翻转率表、报文时间间隔表和汉明距离分布表。
52.在一些实施例中,对接收报文进行数据预处理。首先识别报文的数据帧中的唯一识别码(id),根据id对接收报文进行划分。在一些实施例中,接收报文的标准帧包括唯一识别码(id)、报文类型(type)、数据段(data)和时间戳(time)等内容。对上述内容进行提取,构成(type,data,time)三元组序列,作为模型的输入数据。在一些实施例中,同一时间接收多条报文,由于不同id之间的报文没有任关联,因此在多核计算机系统中,可以同时对不同id的接收报文进行并行运算,减少模型训练时间。
53.步骤s102:调取所述唯一标识码最近一次的历史报文。
54.在本步骤中,当接收到新报文后,根据步骤s101识别的上述接收报文的id调取最近一次的历史报文作为对比验证组。通过对比历史报文与接收报文的区别,并根据比较特征进行判断,确定上述接收报文是否为攻击报文。
55.步骤s103:判断所述接收报文是否在所述历史报文的时间窗口内。
56.在本步骤中,首先通过报文的时间间隔特征判断上述接收报文是否为攻击报文。
57.在实现本技术的过程中,申请人发现由于控制器局域网总线的仲裁机制,当总线中同时有多条报文需要发送时,会导致部分报文发送滞后,导致本次时间间隔变长,而这一次报文发送滞后,又可能导致下一次的时间间隔变短。这种情况下,导致时间间隔并不是每一次都相等,而是在一个范围内进行波动。
58.相关技术中,通过判断接收报文与历史报文的时间间隔是否小于时间间隔周期的一定阈值(如50%),判断接收报文是否为攻击报文。但是这种判断方式会由于历史数据的被污染而导致误判,因此本技术提出的方法通过判断接收报文是否在历史报文的时间窗口内判断上述接收报文是否为攻击报文。
59.在一些实施例中,调取步骤s101中识别的id对应的时间间隔表,上述时间间隔表可以包括该id最小时间间隔和最大时间间隔。在一些实施例中,可以通过对同一id的多条
历史报文进行模型训练得到该id相邻两条报文的最小时间间隔和最大时间间隔,剔除掉0.05%的离群数据后,通过计算报文间时间间隔的上下界及平均值,并生成时间间隔表。
60.根据历史报文和报文时间间隔表确定上述历史报文的时间窗口。在一些实施例中,通过将历史报文的时间戳与最小时间间隔相加,得到时间窗口的下限值;通过将历史报文的时间戳与最大时间间隔相加,得到时间窗口的上限值。根据上述历史报文的时间窗口的上限值和下限值,以及接收报文的时间戳,判断接收报文是否在历史报文的时间窗口内。
61.响应于确定接收报文不在上述时间窗口内,确定上述接收报文为攻击报文。
62.步骤s104:响应于确定所述接收报文在所述历史报文的时间窗口内,判断所述历史报文的时间窗口内的报文是否多于一条。
63.在本步骤中,进一步地,通过判断所述历史报文的时间窗口内的报文是否多于一条,判断时间窗口内是否存在攻击报文。在一些实施例中,通过判断现有未检测的同id的接收报文的时间戳是否在上述时间窗口内,确定上述时间窗口内是否有多条报文。
64.步骤s105:响应于确定所述时间窗口内的报文多于一条,确定所述时间窗口内存在的攻击报文。
65.响应于确定所述时间窗口内的报文多于一条,可以确定该时间窗口内存在攻击报文。
66.上述方法,通过时间间隔特征判断是否有攻击报文的存在。但是仅根据时间间隔特征,无法定位具体的攻击报文。
67.可选的,参考图2,本技术一个或多个实施例的控制器局域网总线攻击检测方法还包括如下步骤:
68.步骤s201:调取所述唯一标识码的分段比特翻转率表。
69.在本步骤中,调取步骤s101中识别的id对应的分段比特翻转率表。
70.在实现本技术的过程中,申请人发现,报文数据段中的数据变化表现出一定的规律性,即:对数据段进行分段操作,对于一些段,当该段发生变化时,则该段中某些位一定会发生变化或不会发生变化。对于一定会发生变化的位,称为变化位;对一定不会发生变化的位,称为固定位。这一特征称为比特约束特征,比特约束限制值是根据正常数据的变化情况计算得到的,正常数据的变化是存在特定模式的,例如某id下的报文中的某一段可能表示的是车速,很明显车速这个变量是不会发生突变的,相邻报文该段数据具有变化的规律性。而模糊攻击的过程具有相当的随机性,包括报文的数值以及注入的时间,模糊攻击的攻击报文数据相对于上条正常报文数据的变化情况满足比特约束的概率很小。因此通过比特约束特征,可以有效检测攻击报文。在一些实施例中,可以通过对同一id的多条历史报文进行模型训练得到表示该id的固定位和变化位的分段比特翻转率表。
71.其中,分段比特翻转率的计算公式为:其中bfri表示第i位的分段比特翻转率,bci为第i位在训练数据中的变化计数,scj为第j段在训练数据中的变化计数,这里第i位是位于第j段内的某一位,第j段为报文的某一分段。对于每次计算,通过将第一报文和第二报文中指定分段所代表的数值进行按位异或运算,求得异或结果。如果异或结果不为0,则表示当前分段发生了变化,那么对应的分段计数器scj加1,否则scj保持不变。同理,对于该分段每一位,如果该位的异或结果为1,则对应的位计数器bci加1,否则bci保持不变。
通过上述计算,最终可以得到每一位的分段比特翻转率,取值范围为[0,1]。
[0072]
以图3本技术一个实施例的报文数据段变化情况示意图为例,选取两个连续的长度为4比特的分段进行比较。其中“分段比特翻转率”行表示的是报文中某连续8位经过训练后得到的分段比特翻转率,“上条报文”行表示的是这8位在第一报文中的数值,“当前报文”行表示的是这8位在第二报文中的数值的三种情况。第一报文与第二报文为相邻报文。对于“当前报文”行左侧第一行,分段数据从0001变为0010,更具体为,第三位从0变为1,第四位从1变为0。根据分段比特翻转率,第四位的分段比特翻转率为1,即根据训练结果当该分段发生变化时,第四位一定发生变化;1至3位的分段比特翻转率分布在0至1之间,即当该段发生变化时,1至3位的数据有可能发生变化,也有可能不发生变化。在一些实施例中,由于很难确定段比特翻转率在0至1之间的位是否真的应该发生变化,因此只考虑分段比特翻转率为0或1的位的变化情况。该段报文第四位数据发生了变化,符合变化规律,因此判断该段正常,可以对其他段继续进行判断,如所有段判断结果均为正常,则判断该报文为正常报文。
[0073]
对于“当前报文”行左侧第二行,分段数据从0001变为0011,更具体为,第三位从0变为1。根据分段比特翻转率,第四位的分段比特翻转率为1,即根据训练结果当该分段发生变化时,第四位一定发生变化。但是该段报文第四位未发生变化,不符合变化规律,因此判断该段报文为攻击报文,进而该条报文为攻击报文。
[0074]
对于“当前报文”行左侧第三行,分段数据未发生变化。当分段数据未发生变化时,默认分段未出现异常,不需要进行对比,可直接判断该段报文为正常报文。
[0075]
步骤s202:根据所述分段比特翻转率表,确定所述历史报文与所述接收报文的数据段的固定位及变化位;其中,所述固定位为所述历史报文的数据段中与所述接收报文的数据段中数值一定相等的位;所述变化位为所述历史报文的数据段中与所述接收报文的数据段中数值一定不相等的位。
[0076]
在本步骤中,根据步骤s201调取的分段比特翻转率表,确定所述历史报文与所述接收报文的数据段的固定位及变化位。在一些实施例中,为了进一步降低算法的复杂性,可以将报文数据段分为若干段进行考虑。此时无需考虑报文数据的实际含义,只需要考虑当某一段发生变化时,每个位发生变化的概率,其中概率为0的位视为固定位,概率为1的位视为变化位。在一些实施例中,通过多条历史报文进行分段和变化概率的计算,得到上述分段比特翻转率表。
[0077]
步骤s203:响应于确定所述接收报文的固定位与所述历史报文的固定位的数值不相等,或响应于确定所述接收报文的变化位与所述历史报文的变化位的数值相等,确定所述接收报文是攻击报文。
[0078]
在本步骤中,通过对比历史报文和接收报文的固定位、变化位的数值变化情况,判断上述接收报文是否为攻击报文。
[0079]
通过上述比特约束特征对接收报文进行的比特级别的入侵检测,可以在结合时间间隔特征的基础上很好地监测出常见的攻击报文。但是,由于比特约束特征的模型的建立基于对历史报文的训练,因此当历史数据被污染后,上述模型会暂时失去攻击检测的能力。在一些实施例中,可以通过添加攻击检测的特征条件,提高检测能力。
[0080]
可选的,参考图4,本技术一个或多个实施例的控制器局域网总线攻击检测方法还包括如下步骤:
[0081]
步骤s301:调取所述唯一标识码的汉明距离分布表;
[0082]
在本步骤中,调取步骤s101中识别的id对应的汉明距离分布表。
[0083]
相关技术中,通过训练集计算每个id的相邻两条报文的汉明距离的最小值和最大值,得到汉明距离的阈值范围,而后通过判断接收报文的汉明距离是否在该阈值范围内,确定接收报文是否为攻击报文。但这种方法容易对汉明距离在阈值范围边缘的报文出现误判。
[0084]
在实现本技术的过程中,申请人发现汉明距离的特征不仅表现在距离值都属于某一阈值范围内,同时还表现出特定的的分布形态。利用汉明距离的权重值来表示该汉明距离出现的概率值,当权重值越大时,表示该汉明距离值出现的概率越大,所对应的接收报文为正常报文的可能性越大。在一些实施例中,通过接收报文与历史报文的第一汉明距离的权重值和历史报文与下一条报文的第二汉明距离的权重值相比较,当第一汉明距离的权重值大于或等于第二汉明距离的权重值时,上述接收报文为正常报文。当第一汉明距离的权重值小于第二汉明距离的权重值时,上述接收报文为攻击报文。
[0085]
步骤s302:计算所述接收报文与所述历史报文的第一汉明距离,以及所述历史报文与下一条报文的第二汉明距离。
[0086]
为了判断接收报文是否为攻击报文,同时调取历史报文和接收报文的下一条报文,然后分别计算上述接收报文与上述历史报文的第一汉明距离,以及上述历史报文与下一条报文的第二汉明距离。
[0087]
步骤s303:根据所述汉明距离分布表,确定所述第一汉明距离和所述第二汉明距离的权重值;所述权重值表示汉明距离出现的概率。
[0088]
根据步骤s301的汉明距离分布表,确定上述步骤s302中得到的第一汉明距离和第二汉明距离的权重值。上述权重值表示汉明距离出现的概率。权重值越大,意味着该条报文为正常报文的可能性越大。
[0089]
步骤s304:响应于确定所述第一汉明距离的权重值小于第二汉明距离的权重值,确定所述接收报文为攻击报文。
[0090]
步骤s305:响应于确定所述第一汉明距离的权重值大于或等于第二汉明距离的权重值,确定所述接收报文为正常报文。
[0091]
需要说明的是,本技术实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本技术实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
[0092]
需要说明的是,上述对本技术的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0093]
基于同一发明构思,与上述任意实施例方法相对应的,本技术还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的控制器局域网总线攻击检测方法。
[0094]
图5示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
[0095]
处理器1010可以采用通用的cpu(central processing unit,中央处理器)、微处理器、应用专用集成电路(application specific integrated circuit,asic)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
[0096]
存储器1020可以采用rom(read only memory,只读存储器)、ram(random access memory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
[0097]
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
[0098]
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如usb、网线等)实现通信,也可以通过无线方式(例如移动网络、wifi、蓝牙等)实现通信。
[0099]
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
[0100]
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
[0101]
上述实施例的电子设备用于实现前述任一实施例中相应的控制器局域网总线攻击检测方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
[0102]
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本技术的范围(包括权利要求)被限于这些例子;在本技术的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本技术实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
[0103]
另外,为简化说明和讨论,并且为了不会使本技术实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(ic)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本技术实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本技术实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本技术的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本技术实施例。因此,这些描述应被认为是说明性的而不是限制性的。
[0104]
尽管已经结合了本技术的具体实施例对本技术进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态ram(dram))可以使用所讨论的实施例。
[0105]
本技术实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本技术实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本技术的保护范围之内。

技术特征:
1.一种控制器局域网总线攻击检测方法,其特征在于,所述方法包括:识别接收报文的唯一标识码;调取所述唯一标识码最近一次的历史报文;判断所述接收报文是否在所述历史报文的时间窗口内;响应于确定所述接收报文在所述历史报文的时间窗口内,判断所述历史报文的时间窗口内的报文是否多于一条;响应于确定所述时间窗口内的报文多于一条,确定所述时间窗口内存在的攻击报文。2.根据权利要求1所述的方法,其特征在于,确定所述时间窗口内存在的攻击报文之后,所述方法还包括:调取所述唯一标识码的分段比特翻转率表;根据所述分段比特翻转率表,确定所述历史报文与所述接收报文的数据段的固定位及变化位;其中,所述固定位为所述历史报文的数据段中与所述接收报文的数据段中数值一定相等的位;所述变化位为所述历史报文的数据段中与所述接收报文的数据段中数值一定不相等的位;响应于确定所述接收报文的固定位与所述历史报文的固定位的数值不相等,或响应于确定所述接收报文的变化位与所述历史报文的变化位的数值相等,确定所述接收报文是攻击报文。3.根据权利要求2所述的方法,其特征在于,响应于确定判断所述接收报文的固定位与所述历史报文的固定位的数值相等,且所述接收报文的变化位与所述历史报文的变化位的数值不相等,确定所述接收报文是正常报文。4.根据权利要求3所述的方法,其特征在于,确定所述接收报文是正常报文后,所述方法还包括:调取所述唯一标识码的汉明距离分布表;计算所述接收报文与所述历史报文的第一汉明距离,以及所述历史报文与下一条报文的第二汉明距离;根据所述汉明距离分布表,确定所述第一汉明距离和所述第二汉明距离的权重值;所述权重值表示汉明距离出现的概率;响应于确定所述第一汉明距离的权重值小于第二汉明距离的权重值,确定所述接收报文为攻击报文。5.根据权利要求4所述的方法,其特征在于,响应于确定所述第一汉明距离大于或等于第二汉明距离的权重值,确定所述接收报文为正常报文。6.根据权利要求1所述的方法,其特征在于,所述判断所述接收报文是否在所述历史报文的时间窗口内,包括:调取所述唯一标识码的报文时间间隔表;根据所述报文时间间隔表,确定所述唯一标识码的报文之间的最小时间间隔和最大时间间隔;根据所述历史报文的时间戳、所述最小时间间隔和所述最大时间间隔,计算所述时间窗口的取值范围;响应于确定所述接收报文的时间戳在所述取值范围内,确定所述接收报文在所述历史
报文的时间窗口内;响应于确定所述接收报文的时间戳不在所述取值范围内,确定所述接收报文不在所述历史报文的时间窗口内。7.根据权利要求6所述的方法,其特征在于,所述判断所述历史报文的时间窗口内的报文是否多于一条,包括:确定所有未检测报文;所述未检测报文包括所述接收报文;判断每个所述未检测报文的时间戳是否在所述历史报文的时间窗口内;响应于确定存在多于一条所述未检测报文的时间戳在所述历史报文的时间窗口内,确定所述历史报文的时间窗口内的报文多于一条。8.根据根据权利要求1所述的方法,其特征在于,响应于确定所述接收报文不在所述历史报文的时间窗口内,确定所述接收报文为攻击报文。9.根据根据权利要求1所述的方法,其特征在于,响应于确定所述时间窗口内的报文有且仅有一条,确定所述时间窗口内不存在攻击报文。10.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如权利要求1至9所述的方法。

技术总结
本申请提供一种控制器局域网总线攻击检测方法及设备。所述方法包括:识别接收报文的唯一标识码;调取所述唯一标识码最近一次的历史报文;判断所述接收报文是否在所述历史报文的时间窗口内;响应于确定所述接收报文在所述历史报文的时间窗口内,判断所述历史报文的时间窗口内的报文是否多于一条;响应于确定所述时间窗口内的报文多于一条,确定所述时间窗口内存在的攻击报文。本申请一个或多个实施例通过时间间隔特征、比特约束特征和汉明距离特征判断接收报文是否为攻击报文,提高攻击报文检测率,为车载总线信息安全提供保障,进而更好地保护司乘人员的生命财产安全,以及国家道路交通安全。交通安全。交通安全。


技术研发人员:徐国胜 徐国爱 王晨宇 郑凯玄
受保护的技术使用者:北京邮电大学
技术研发日:2022.06.01
技术公布日:2022/11/1
转载请注明原文地址: https://tieba.8miu.com/read-2304.html

最新回复(0)