本发明专利技术涉及一种总线异常事件监测方法、终端设备及存储介质,该方法中包括:S1:在总线信号传输无异常时,采集额定时间窗内总线上各总线消息的顺序,并根据各总线消息的顺序,构建第一哈希索引;S2:在总线异常监测阶段,采集额定时间窗内总线上各总线消息的顺序,并根据各总线消息的顺序,构建第二哈希索引;S3:计算第一哈希索引与第二哈希索引之间的余弦距离;S4:判断余弦距离是否大于距离阈值,如果是,则判定额定时间窗内总线上有异常事件;否则,判定额定时间窗内总线上无异常事件。本发明专利技术基于消息的先后顺序对总线时间异常进行检测,提高了异常事件监测的有效性。了异常事件监测的有效性。了异常事件监测的有效性。
【技术实现步骤摘要】
一种总线异常事件监测方法、终端设备及存储介质
[0001]本专利技术涉及总线异常监测领域,尤其涉及一种总线异常事件监测方法、终端设备及存储介质。
技术介绍
[0002]汽车内部各电子元件之间需通过总线进行通信,常见的车内总线有CAN、CANFD、LIN、Flexray等。传统汽车总线均是一种“消息ID+消息内容”的通信模式,只注重总线消息传输的实时性,没有充分考虑总线信息的安全性,对于这类广播式的总线,有外部注入消息引起车辆电子设备控制消息混乱,造成功能异常的风险。
[0003]现有的处理方法中,一部分方法通过神经网络(CN201910671344.8)对总线数据进行外部数据入侵的安全监测,但是神经网络需要大量的数据训练,而且算力要求高,不适合汽车电子设备上运行,因此使用起来适用性不高;还有一部分方法利用信号相关性(CN201510404032.2)进行安全监测,但只适用于信号本身连续有时间上前后相关性的消息;采用钟漂信息进行通信双方的身份鉴别(CN201811553805.3)的方法,只适用于一对一通信的身份认证,不适用于整车全局异常事件的监测。
技术实现思路
[0004]为了解决上述问题,本专利技术提出了一种总线异常事件监测方法、终端设备及存储介质。
[0005]具体方案如下:
[0006]一种总线异常事件监测方法,包括以下步骤:
[0007]S1:在总线信号传输无异常时,采集额定时间窗内总线上各总线消息的顺序,并根据各总线消息的顺序,构建第一哈希索引;
[0008]S2:在总线异常监测阶段,采集额定时间窗内总线上各总线消息的顺序,并根据各总线消息的顺序,构建第二哈希索引;
[0009]S3:计算第一哈希索引与第二哈希索引之间的余弦距离;
[0010]S4:判断余弦距离是否大于距离阈值,如果是,则判定额定时间窗内总线上有异常事件;否则,判定额定时间窗内总线上无异常事件。
[0011]进一步的,步骤S1中额定时间窗的大小为总线上包含的所有总线消息的消息周期的公倍数的整数倍。
[0012]进一步的,步骤S1中总线信号传输无异常时为新车出厂前。
[0013]进一步的,第一哈希索引的构建过程包括:
[0014]S101:按照各总线消息的顺序遍历每个总线消息,初始化总线消息的序号为i=1;
[0015]S102:将第i个总线消息的ID和第i+1个总线消息的ID拼接后的值作为第一哈希索引内的键,判断该键是否已存在于第一哈希索引内,如果是,将第一哈希索引内该键对应的值增加1;否则将该建添加至第一哈希索引内,并将该键对应的值置为1;
[0016]S103:判断i=m
‑
1是否成立,m表示总线消息数量的总和,如果是,结束;否则,令i自增加1,返回S102。
[0017]进一步的,第二哈希索引与第一哈希索引的构建方法相同。
[0018]进一步的,第一哈希索引与第二哈希索引之间的余弦距离的计算公式为:
[0019][0020]其中,H1表示第一哈希索引,H2表示第二哈希索引,Cosim(.)表示余弦距离运算,key1表示第一哈希索引中的键,key2表示第二哈希索引中的键,表示第一哈希索引中的键的值,表示第二哈希索引中的键的值,表示第一哈希索引中所有键对应的值的平方和,表示第二哈希索引中所有键对应的值的平方和,key
′
表示第一哈希索引和第二哈希索引中相同的键,表示第一哈希索引和第二哈希索引中相同的键对应值的乘积的累加和。
[0021]进一步的,距离阈值的计算方法为:在步骤S2的总线异常监测阶段中,持续监测多次总线信号传输无异常时的总线消息,进而计算得到多个总线信号传输无异常时的余弦距离,根据计算得到的多个预先距离计算其均值x和方差y,则设定距离阈值为x+3y。
[0022]一种总线异常事件监测终端设备,包括处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本专利技术实施例上述的方法的步骤。
[0023]一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术实施例上述的方法的步骤。
[0024]本专利技术采用如上技术方案,基于消息的先后顺序对总线时间异常进行检测,提高了异常事件监测的有效性。
附图说明
[0025]图1所示为本专利技术实施例一的流程图。
具体实施方式
[0026]为进一步说明各实施例,本专利技术提供有附图。这些附图为本专利技术揭露内容的一部分,其主要用以说明实施例,并可配合说明书的相关描述来解释实施例的运作原理。配合参考这些内容,本领域普通技术人员应能理解其他可能的实施方式以及本专利技术的优点。
[0027]现结合附图和具体实施方式对本专利技术进一步说明。
[0028]实施例一:
[0029]当发生因信息安全攻击或其它如某些电子设备功能异常引起的汽车异常事件时,在车内总线上必然会出现与平常不同的消息通信模式,这些模式包括了消息本身的数量和不同ID消息前后顺序的异常。因此对于整车异常事件的监测,从总线消息的统计模式特征
进行分析,是一种有效的方法。基于此,本专利技术实施例提供了一种总线异常事件监测方法,如图1所示,所述方法包括以下步骤:
[0030]S1:在总线信号传输无异常时,采集额定时间窗内总线上各总线消息的顺序,并根据各总线消息的顺序,构建第一哈希索引。
[0031]为了确保总线信号传输无异常,该实施例中选择的总线信号为新车出厂前的总线信号。
[0032]为了确保额定时间窗内所有总线消息均能覆盖到,因此,该实施例中设定额定时间窗的大小为总线上包含的所有总线消息的消息周期的公倍数的整数倍。例如总线上包含的总线信号的ID分别为ID
a
、ID
b
、ID
c
、ID
d
,周期分别为100ms、150ms、50ms、500ms。则额定时间窗w的大小应为最小公倍数500ms的整数倍,最小为500ms。
[0033]该实施例中构建的哈希索引通过键
‑
值(key
‑
value)表来表示,具体构建过程包括:
[0034]S101:按照各总线消息的顺序遍历每个总线消息,初始化总线消息的序号为i=1。
[0035]S102:将第i个总线消息的ID和第i+1个总线消息的ID拼接后的值作为第一哈希索引内的键,判断该键是否已存在于第一哈希索引内,如果是,将第一哈希索引内该键对应的值增加1;否则将该建添加至第一哈希索引内,并将该键对应的值置为1。
[0036]需要说明的是,总线消息的ID为总线消息的唯一编码,用于区分不同的总线消息。
[0037]S103:判断i=m
‑
1是否成立,m表示总线消息数量的总和,如果是,结束;否则,令i自增加1,返回S102。
...
【技术保护点】
【技术特征摘要】
1.一种总线异常事件监测方法,其特征在于,包括以下步骤:S1:在总线信号传输无异常时,采集额定时间窗内总线上各总线消息的顺序,并根据各总线消息的顺序,构建第一哈希索引;S2:在总线异常监测阶段,采集额定时间窗内总线上各总线消息的顺序,并根据各总线消息的顺序,构建第二哈希索引;S3:计算第一哈希索引与第二哈希索引之间的余弦距离;S4:判断余弦距离是否大于距离阈值,如果是,则判定额定时间窗内总线上有异常事件;否则,判定额定时间窗内总线上无异常事件。2.根据权利要求1所述的总线异常事件监测方法,其特征在于:步骤S1中额定时间窗的大小为总线上包含的所有总线消息的消息周期的公倍数的整数倍。3.根据权利要求1所述的总线异常事件监测方法,其特征在于:步骤S1中总线信号传输无异常时为新车出厂前。4.根据权利要求1所述的总线异常事件监测方法,其特征在于:第一哈希索引的构建过程包括:S101:按照各总线消息的顺序遍历每个总线消息,初始化总线消息的序号为i=1;S102:将第i个总线消息的ID和第i+1个总线消息的ID拼接后的值作为第一哈希索引内的键,判断该键是否已存在于第一哈希索引内,如果是,将第一哈希索引内该键对应的值增加1;否则将该建添加至第一哈希索引内,并将该键对应的值置为1;S103:判断i=m
‑
1是否成立,m表示总线消息数量的总和,如果是,结束;否则,令i自增加1,返回S102。5.根据权利要求1所述的总线异常事件...
【专利技术属性】
技术研发人员:涂岩恺,叶旭辉,李辉,许振坪,
申请(专利权)人:厦门雅迅网络股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。