本发明涉及车载网络通信安全领域,尤其涉及一种基于时空的自动驾驶车辆入侵检测方法。
背景技术:
1、随着人工智能和传感器技术的迅猛发展,自动驾驶技术取得了显著进步,并因其便捷性、高效性和安全性在全球范围内得到了广泛应用和研究。车辆的车载网络结构中包含大量的传感器、电子控制单元(ecus)、控制器和网关,这些组件通过控制器局域网(can)协议相互连接,实现多种功能并进行信息交换。然而,can总线缺乏必要的安全机制,导致网联车辆逐渐成为恶意攻击的目标。
2、为应对这些安全威胁,同时满足准确性和实时性要求,基于入侵检测的方法被提出,该方法是一种在不改变现有车辆系统的情况下,对车载网络进行高效异常检测的轻量级的安全性方法。基于can总线的入侵检测方法中,研究技术可以分为两类:一类是基于传输特征的方法,该方法在固定滑动窗口内应用预定义的规则,在特征的变化超过阈值时判定为异常;另一类是基于数据的方法,该方法利用can报文所携带的数据和信息来检测入侵行为。
3、此外,基于车辆传感器相关性的入侵检测方法通过研究具有相同物理现象的车载传感器之间的关系进行入侵检测。kim等人提出了一种切换算法,利用同质传感器信息来检测异常,ganesan等人利用对车载传感器关键变量两两相关的聚类分析来检测异常,sagong等人提出了一种利用cusum算法检测车辆运动信息之间的相关性的方法来检测异常。现有的基于车辆传感器的入侵检测方法虽然能够利用数据之间的相关性来检测异常,但只考虑了数据在空间维度上的关系,忽略了数据本身的物理特性,并且在异常定位方面也存在一定的局限性。
技术实现思路
1、本发明提供一种基于时空的自动驾驶车辆入侵检测方法,以解决现有方法仅考虑数据在空间维度的关系,忽略了数据本身的物理特性,无法在异常定位等方面进行有效检测的问题。该方法通过对车载传感器数据进行多维度分析,识别异常模式,及时发现并应对潜在的安全威胁,在满足实时性的前提下,能够更准确高效的进行入侵检测。
2、本发明采取的技术方案是,包括下列步骤:
3、s1:从自动驾驶车辆网络系统的传感器中获取若干个车辆状态数据值;
4、s2:对获取的原始数据进行数据重采样,对缺失值进行处理,之后再进行数据标准化操作,得到预处理后的多元车辆状态数据;
5、s3:为时间模型和空间模型划分滑动窗口;
6、s4:在空间模型中,用图注意力机制进行入侵检测:首先构建图结构对各个车辆状态数据之间的关系进行学习,接着利用图注意力机制对每个时刻各个车辆状态数据的值进行预测,最后根据预测结果计算每个车辆状态数据的异常分数,将异常分数和阈值进行比较,得到空间模型的入侵检测结果;
7、s5:在时间模型中,用马氏距离进行入侵检测:对于一个滑动窗口内的数据,计算相邻两个时间戳之间的马氏距离的累加和,如果大于阈值则判定为异常;
8、s6:对于各个滑动窗口内的车辆状态数据,综合时间模型和空间模型的结果得到最终的异常检测结果。
9、本发明所述步骤s2中对数据进行预处理的具体过程如下:
10、重采样操作:由于数据的原始采样率不同,使用相同的采样频率对数据进行重采样;
11、缺失值处理:对重采样后存在缺失值的某一时刻的数据采取删除策略;
12、数据归一化:对每一个车辆状态数据用最大最小归一化的方法分别进归一化处理;
13、本发明所述步骤s3中为模型划分滑动窗口的具体操作如下:
14、在数据集中,有m个时间戳对应的n个车辆状态数据表示为:c={c1,c2,…ct…,cm},m表示时间上共有m维的数据;ct={ct,1,…,ct,i…,ct,n},ct,i表示t时刻第i个车辆状态数据,使用滑动窗口的方法实时截取车辆状态数据,将滑动窗口的大小设置为w,步长设置为1,一个滑动窗口内的数据表示为:
15、
16、本发明所述步骤s4中利用图注意力机制进行入侵检测的具体步骤如下:
17、(1)有向图构建
18、对于输入空间模型的车辆状态数据,先为每一个车辆状态数据引入一个嵌入向量,然后根据它们之间的关系,构建图结构;
19、为每个车辆状态数据引入的嵌入向量表示为:
20、
21、其中vi表示第i个车辆状态数据的嵌入向量,d表示这个车辆状态数据有d维的特征;
22、构建一个有向图a来表示各个车辆状态数据之间的关系,该图是一个完全图,把每个车辆状态数据看作有向图中的一个节点,其嵌入向量为vi,节点之间的边表示各个车辆状态数据之间的依赖关系,边上的权重为两个车辆状态数据之间的依赖程度,用eji表示:
23、
24、vi和vj分别表示车辆状态数据i和j的嵌入向量,j表示除i之外的所有车辆状态数据,也就是节点i的任意一个邻居节点,eji计算的是vi和vj之间的余弦相似度,用以表示两个车辆状态数据之间的依赖程度;
25、(2)基于图注意力机制聚合
26、以t时刻为例:使用图注意力机制基于一个滑动窗口内的数据x(t)以及图结构a,对t时刻的n个车辆状态数据进行预测:
27、利用图注意力机制从空间维度学习图中各个节点之间的关系,对每个节点的特征也就是进行更新,对于每个节点根据注意力系数αi,j聚合相邻节点的特征,αi,j计算公式为:
28、
29、其中,αi,j表示从节点j到节点i的注意力系数,j表示节点i的邻居节点,用于衡量节点j对节点i的重要性;vi和vj分别表示车辆状态数据i和j的嵌入向量;w是可训练的权重参数矩阵,用于对每个节点进行线性变换;和分别表示节点i和节点j的输入特征;表示对注意机制的学习系数向量进行转置;表示连接符号;使用leakyrelu作为非线性激活函数,并且使用softmax函数对注意力系数进行归一化;
30、在t时刻各个节点的聚合结果表示为对于节点i,不仅要考虑其邻居节点对其特征的影响,还会考虑自身特征对其特征的贡献,聚合结果可表述为:
31、
32、其中,表示在时刻t节点i的更新特征;l为节点i所有邻居节点的集合,j表示任意一个邻居节点;αi,j表示从节点j到节点i的注意力系数,表示节点j对节点i的重要性,αi,i是节点i自己对自己的注意力系数,表示节点i自身特征对其更新特征的贡献程度;和分别表示节点i和节点j的输入特征;w是可训练的权重参数矩阵,对每个节点进行线性变换;relu是激活函数,用于对节点i的加权特征和进行非线性变换;
33、(3)输出预测结果
34、把每个节点的聚合结果和它对应的嵌入向量相乘,得到t时刻各个车辆状态数据的预测结果
35、
36、fθ表示一个带有参数θ的函数,用于将输入特征映射到预测结果;
37、空间模型的损失函数如下:
38、基于预测结果和真实值,使用均方误差作为最小化损失函数,利用损失函数结果最小的时的模型作为最优的网络模型,也就是异常检测阶段使用的模型,损失函数loss表示为:
39、
40、其中为t时刻模型的预测结果,ct为真实值,m为训练集中所有的时间戳总数,w为一个滑动窗口的大小,在上述公式中用于表示在训练过程中被忽略的初始时间步数;
41、(4)计算异常分数
42、基于预测结果和真实值ct计算t时刻每个车辆状态数据的异常分数,对残差进行归一化处理,使得不同尺度的残差具有可比性,异常分数anomaly score的计算过程为:
43、
44、公式中ct,i表示t时刻车辆状态数据i的真实值,表示t时刻车辆状态数据i的预测值,表示第i个车辆状态数据真实值与预测值在t时刻的差异,为其中的均值,为标准差,用于对残差进行标准化处理;
45、(5)和阈值进行比较
46、取t时刻异常分数最大的车辆状态数据作为该时刻的异常对象,并把它和阈值t1进行比较,如果大于阈值,则该时刻车辆存在异常情况,可能被攻击;如果小于阈值t1,滑动窗口移动一步,继续预测下一时刻的车辆状态数据的值;
47、基于空间模型,如果发现某一时刻存在异常,可以先检查该时刻哪个车辆状态数据的异常分数最大,定位到该车辆状态数据后,再检查(1)中该车辆状态数据依赖程度eji最高的几个车辆状态数据,进行原因筛查等异常处理工作。
48、本发明所述步骤s5中,利用马氏距离进行入侵检测的具体步骤如下:
49、在时间模型中,对于一个滑动窗口内的数据x(t)=[ct-w,ct-w+1,…,ct-1],计算相邻两个时间戳之间的马氏距离d,其计算过程为:
50、
51、其中,ct+1,ct表示相邻两个时间戳的多维车辆状态数据,s为c的协方差矩阵:
52、
53、其中,w表示滑动窗口的大小,ci表示数据集中的第i个样本行,是均值向量;该滑动窗口内所有的马氏距离集成表示为:
54、k={d1,d2,…,dm-1}
55、用一个滑动窗口内所有的马氏距离两两进行差值运算,再求和:
56、
57、将其和阈值t2进行比较,如果h>t2,该滑动窗口内存在异常,如果h<t2,该滑动窗口内的数据正常,继续进行下一个滑动窗口的检测。
58、本发明所述步骤s6中,综合入侵检测结果的具体步骤如下:
59、在空间模型中,累计预测一个滑动窗口大小的数据后,把其结果汇总为一个滑动窗口的预测结果,如果滑动窗口内某一时刻存在异常,则判定该滑动窗口内存在异常,在时间模型中,如果一个滑动窗口内的累计马氏距离之和大于阈值,则存在异常;
60、对于各个滑动窗口内的车辆状态数据,综合时间模型和空间模型的入侵检测结果:采用or运算,只有时间模型和空间模型都判定为无异常,该滑动窗口才会被认定为正常。
61、本发明与现有的技术相比,具有以下优点:
62、第一:本发明结合时间序列分析和空间分布分析,从时空两个维度对车辆状态数据进行异常检测,能够更全面地监控和检测自动驾驶车辆的异常行为和潜在的入侵活动,从而为自动驾驶车辆的安全运行提供有力保障。
63、第二:本发明在空间上采用图注意力机制对自身节点和邻居节点的值进行聚合,考虑到数据本身的特性,在预测结果中融合了各个车辆数据自身的嵌入特征,减少了预测值和真实值之间的误差,有利于提高异常检测的准确率。
64、第三:本发明在空间上利用图神经网络学习各个车辆状态数据之间的相关性程度,把各个数据点之间的依赖关系数值化,在发生异常时,可以根据异常分数以及数据点之间的相关性定位异常的数据采集源,这有利于后续的异常处理工作;
65、第四:本发明具有较高实时性,可以用于车辆的实时异常检测。
1.一种基于时空的自动驾驶车辆入侵检测方法,其特征在于,包括下列步骤:
2.根据权利要求1所述的一种基于时空的自动驾驶车辆入侵检测方法,其特征在于,所述步骤s2中对数据进行预处理的具体过程如下:
3.根据权利要求1所述的一种基于时空的自动驾驶车辆入侵检测方法,其特征在于,所述步骤s3中为模型划分滑动窗口的具体操作如下:
4.根据权利要求1所述的一种基于时空的自动驾驶车辆入侵检测方法,其特征在于,所述步骤s4中利用图注意力机制进行入侵检测的具体步骤如下:
5.根据权利要求1所述的一种基于时空的自动驾驶车辆入侵检测方法,其特征在于,所述步骤s5中,利用马氏距离进行入侵检测的具体步骤如下:
6.根据权利要求1所述的一种基于时空的自动驾驶车辆入侵检测方法,其特征在于,所述步骤s6中,综合入侵检测结果的具体步骤如下: