基于时空特征的车联网CAN总线入侵检测方法

文档序号:36891705发布日期:2024-02-02 21:24阅读:17来源:国知局
基于时空特征的车联网CAN总线入侵检测方法

本发明属于车联网安全,涉及基于时空特征的车联网can总线入侵检测方法。


背景技术:

1、现代汽车正变得高度自动化,为驾驶员和乘客提供更加舒适、安全和便捷的体验。这包括自适应巡航控制、车道偏离警告、自动停车辅助和信息娱乐系统等服务。为了提供这些服务,汽车配备了许多基于微处理器的电子控制单元(ecu),例如发动机和变速箱控制单元。这些ecu需要相互通信以交换各种信息,就需要一个统一和支持实时的数据传输的控制器局域网络(can)。can作为汽车应用中最常见的车载通信协议,具有布线成本低、抗电干扰、自诊断和纠错等优点。然而,尽管有这些功能优势,不断增加的车内和车内通信使can容易受到网络攻击。

2、can总线现有的内置安全功能主要是为确保可靠的通信而设计的,而不是为了网络安全;因此,它无法防止网络受到网络攻击。因此,预计网络攻击会对can产生深远影响。例如,对安全气囊或abs系统的攻击可能危及驾驶员和乘客的安全。同样令人担忧的是can中缺乏加密,这对个人数据隐私有很大影响。按照设计,can是一个广播网络,允许节点捕获通过网络的消息。由于广播数据未加密,对手可以获得所需数据。这可能会导致隐私受到侵犯,主要是当现代汽车能够获取驾驶员的个人信息时。并且许多安全研究人员已经证明,可以通过访问obd-ii端口、蓝牙、wifi和蜂窝网络等通信通道来破坏can总线,攻击现代汽车。

3、入侵检测系统(ids)已被提出来识别车载网络中的恶意活动。ids可分为基于签名的检测和基于异常的检测。由于新颖的攻击检测能力,基于异常的检测已经引起了研究人员的关注。基于异常的can ids可以进一步分类为统计、机器学习(ml)、基于规则和物理指纹方法。基于机器学习的can ids已被证明比其他方法更有效,因为它们能够处理具有多种功能的大量can流量数据。然而,can数据的结构和语义不可公开访问,并且被视为车辆制造商的机密专有信息。这些规范存储在称为can数据库的文件中。这使得开发广泛采用的ids变得困难,并且对某些攻击实现完全准确也是不现实的。

4、can总线数据帧由支持数据传输的七个字段组成。分别是帧开始(sof)、仲裁字段(can id)、控制字段(dlc)、有效负载(data)、循环冗余码(crc)、应答(ack)和帧结束(eof)。其中can id和有效负载被认为是can帧中最重要的字段。can id对于一个ecu来说是唯一的,两个或多个ecu不能使用相同的id。id表示消息的标识符,用于根据id值对消息进行优先级排序。较低的id获得较高的优先级,而较高的id获得较低的优先级。can有效负载值包含必须通过网络传输的信息,支持高达64位(8字节)的数据传输。通常,原始can数据中的id和有效负载均以十六进制格式提供。与can帧相关的规范可在dbc文件中找到,但是该文件不公开,并且这些规范根据车辆品牌、型号、年份和内饰而变化。

5、基于can id的ids使用can id序列或时间相关功能来检测can总线上的攻击。例如可以使用基于长短期记忆(lstm)的ids预测下一个can id,然后将预测的id与实际id进行比较。使用未标记的数据训练生成对抗网络(gan)和基于卷积对抗ae的模型,以学习正常模式。基于can id的ids的主要限制是无法检测改变can有效负载字段模式的高级攻击。

6、基于can有效负载的ids使用can有效负载值来检测can总线上的攻击。基于ml的分类器(例如一类支持向量机(ocsvm))、基于深度学习的模型(例如ae和lstm)已用于检测对can有效负载数据的攻击。基于can有效负载的ids的主要限制是忽略与其他id有效负载值的交互。特别是,这可能会限制上下文异常的检测。

7、上述针对can总线数据入侵检测的研究虽然取得了一定成果,但仍有各种不足,仅利用can id字段的ids能够实时的检测有效地检测注入攻击。然而,时间序列can有效负载数据对于检测伪装攻击等高级攻击至关重要。因此设计一种同时考虑can id与负载的时域卷积神经网络入侵检测方法对提升入侵检测系统的性能具有重要意义。


技术实现思路

1、鉴于以上问题,本发明的目的在于提供一种同时考虑can id与有效负载的时域卷积神经网络入侵检测方法。can总线数据在时间上存在的上下文依赖关系,在正常行驶的场景下,按照时间顺序进行统计分析,能观察到五个id序列按固定顺序出现的频率较高,普遍出现了10000次以上,最高频率达到30000次。对于黑客的注入攻击,可能会创建在正常驾驶期间无法观察到的新can id序列,在这些新序列中,注入的can id出现在不寻常的上下文中,因此使用基于时间序列的检测手段,可以很好的将这个这种注入攻击检测出来。对于伪装攻击,黑客会创建正常驾驶期间观察到的can id,并篡改这些id所携带的有效负载,传递错误信息,故仅对can id时间序列做检测,不再适用了,需要对其有效载荷部分的特征进行检测,检测出与正常数据表征差异大的异常载荷。由于仅对有效载荷部分的检测,无法结合上下文的时间特征,于是本发明使用时域卷积神经网络(tcn)提取can id序列的上下文时间特征,同时提取有效负载的空间特征。

2、关于时间序列、自然语言处理等任务大家一般都会想到rnn、lstm、gru,一维cnn以及后面延伸出的bi-lstm、convlstm等等,这是因为rnn天生可以记住以前时段的信息,而传统的神经网络并不具有这个功能。卷积神经网络和循环神经网络作为深度学习的两大支柱,已近被越来越多的学者进行研究。在最近的研究之中,特定的卷积神经网络结构也可以达到很好的效果,比如goolgle提出的用来做语音合成的wavenet,facebook提出的用来做翻译的卷积神经网络。这就体现出经过特定设计的卷积神经网络在处理时间序列的任务上也具有巨大的发展潜力。有研究者表明时域卷积神经网络(tcn)可以有效地处理序列建模任务,甚至优于其他模型,还证明了tcn比lstm保持更多的扩展记忆。tcn中使用了因果卷积(causal convolution),和传统的卷积的不同之处在于,因果卷积不能看到未来的数据,它是单向的结构,不是双向的。也就是说只有有了前面的因才有后面的果,是一种严格的时间约束模型。若需要考虑到更久之前的变量,那么卷积层数就会增加,同时就会带来:梯度消失,训练复杂,拟合效果不好的问题,为了决绝这个问题,tcn还使用了膨胀卷积(dilatedconvolution)。最后使用残差网络,防止出现输入处理过程中出现维度变化,为原始数据增加权重,增加训练参数。tcn拥有并行性、灵活的感受野、稳定的梯度和模型内存更低的优点。当给定一个类似句子的序列时,tcn可以将句子并行的处理,而不需要像rnn那样顺序的处理。tcn的感受野的大小受层数、卷积核大小、扩张系数等决定。可以根据不同的任务不同的特性灵活定制。rnn经常存在梯度消失和梯度爆炸的问题,这主要是由不同时间段上共用参数导致的,和传统卷积神经网络一样,tcn不太存在梯度消失和爆炸问题。rnn在使用时需要将每步的信息都保存下来,这会占据大量的内存,tcn在一层里面卷积核是共享的,内存使用更低。

3、本文重点考虑can总线数据的特点,提出了一种基于时空特征入侵检测方法,该方法首先利用多通道1dcnn分析数据的空间特征以进行局部特征的提取,再添加批量归一化,保持网络的稳定性,然后利用多通道门控gtcn处理时间特征,为了让有用的输出特征得到更好的表达,引入通道注意力机制给不同通道的特征分配不同的权重使得模型可能更好捕获重要特征,最后将多通道时空特征进行融合再通过softmax分类判别。本文所提出的模型充分考虑了can总线数据在时间域和空间域的联系,挖掘数据间的潜在联系,可以有效的提高检测率和减低误报率。

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

5、一种基于时空特征的车联网can总线入侵检测方法,该方法包括以下步骤:

6、步骤1)将can数据进行预处理;

7、步骤2)采用多通道一维卷积神经网络mc-1dcnn提取数据的空间域特征;

8、步骤3)采用多通道门控时域卷积神经网络mc-gtcn提取特征中的隐藏信息和时间关系;

9、步骤4)使用通道注意力机制对多通道时空特征进行权重分配;

10、步骤5)将时空特征通过softmax分类器分类。

11、进一步,所述步骤1)具体为包括以下步骤:

12、步骤11)can数据集中,存在一些特征为判断帧类型的标识符数据,如“rtf”属性,内容为“1”时,表示远程帧,用于请求数据,内容为“0”时,表示数据帧,用于传输数据。还存在crc循环冗余码,用于接收方的ecu判断收到的帧与发送的帧是否有误。这些特征对数据的检测没有太大的贡献,故将这些冗余特征去除,留下时间戳、can id、有效负载这三个关键特征。

13、步骤12)在can总线数据帧的结构中,can id字段占11个比特位,数据集中使用十六进制将其表示,有效负载字段占64个比特位,数据集中使用8个字节的十六进制将其表示。首先将两个字段的十六进制形式统一转化为十进制的形式表示。考虑到不同的特征具有不同的量纲,若直接将未归一化的数据送入模型学习,易导致值域范围大的数据特征具有很高的权重,使其成为主导属性,而值域范围小的数据的权重小,易使得特征丢失。为了便于算术处理和消除不同量纲,采用min-max归一化方法,在[0,1]区间内均匀且线性地映射每个特征的范围。计算公式为:

14、

15、其中,x′表示归一化之后的值,x表示初始特征值,xmin表示该属性中的最小特征值,xmax表示该属性中的最大特征值。

16、步骤13)首先,将绝对时间戳转化成相对时间戳,计算公式为:

17、time_abs=timestamp-min(timestamp)

18、其中,time_abs表示相对时间戳,timestamp表示初始绝对时间戳,min(timestamp)表示绝对时间戳中的最小特征值。

19、得到相对时间戳后,按从小到大对数据进行排序,设置滑动窗口大小为10,每次滑动一个相对时间戳的单位,为固定窗口大小创建一组同时包含can id和有效负载的时间序列组。

20、步骤14)数据集内各种类别的标签一般为字符型,需要对标签进行顺序编码转换为数字型标签。

21、进一步,所述步骤2)具体为包括以下步骤:

22、步骤21)cnn计算机视觉领域占据着重要地位,而cnn同样可以用在时间序列上。区别在于应用在图像上的卷积核是二维的,而应用在时间序列上的卷积核是一维的,也就是一维卷积神经网络,1d cnn。将固定时间窗口t内的can data作为输入,按照时间顺序分别输入到mc-1dcnn中对应的通道中,一个通道提取一条数据的空间特征并不会打乱它们的时间顺序。

23、步骤22)在mc-1dcnn中每个通道均使用一维卷积堆积后接平均池化层和批量归一化层。一维卷积层提取data的空间特征后,使用平均池化层达到减少参数的目的,针对一些包含噪声的数据也可以进行去噪处理,最后使用批量归一化层标准化卷积层的输出,使其均值接近于0,标准差接近于1,防止输出的均值或方差过大,有助于减少梯度消失和爆炸问题,从而提高训练速度和稳定性。

24、进一步,所诉步骤3)具体包括以下步骤:

25、步骤31)在提取到can data的空间特征后,将mc-1dcnn的输出与同时间窗口的canid进行拼接,使用mc-gtcn进一步提取特征中的隐藏信息和时间关系。gtcn网络使用因果卷积对时间序列的特征进行提取,输出信息只依赖于过去的输入信息,从而有效地避免了未来信息的干扰。时间序列经过因果卷积的输出:

26、

27、其中,x表示输入序列x=[x1,x2,...,xt],h表示卷积核h=[h1,h2,...,hk],yt是卷积操作后的输出序列的第t个元素,x*h表示卷积操作,t表示时间步,hi·xt-i表示卷积核中的第i个权重与输入序列中的第t-i个元素相乘。卷积核仅应用于当前时刻及之前的数据,从而确保了未来的信息不会影响当前时刻的计算结果。

28、步骤32)为了解决因果卷积感受野受限的问题,引入膨胀卷积。与因果卷积不同,膨胀卷积在卷积时对输入进行间隔采样,即膨胀因子d。当d=4时,表示每4个点作为输入进行采样。随着层数的增加,膨胀因子变大,感受野也变大,从而确保随着层数的增加有效卷积窗口的大小呈指数增长,同时浅层网络也可以获得较大感受野。因此gtcn有效的扩大了感受野,顶层的输出可以接收到更大范围的输入信息。此外,gtcn通过在每层并行处理相同的卷积核提高了整个模型的计算效率。引入膨胀因子后的因果卷积公式为:

29、

30、步骤33)由于在每个卷积层中不同的卷积核提取到的特征之间存在一定的相似,会造成信息冗余,这样的冗余信息经过层层积累,会增加模型的处理压力,并对最终的检测性能造成损失。在自然语言处理中,门控循环单元网络(gated recurrent unit,gru)和长短期记忆网络通过在循环单元网络(recurrent neural network,rnn)中加入门控机制来保留或屏蔽信息,使模型具有了选择性地读取、遗忘和输出信息的能力。因此可以在卷积神经网络中加入门控单元来控制信息的流通,来对提取的特征进行过滤和筛选。本发明提出的gtcn模块由膨胀因果卷积与门机制构成,使用门控机制来过滤冗余的、相似的特征信息,加速模型收敛。

31、门控卷积参照长短期记忆网络中的遗忘门,在每层卷积输出的特征序列后紧跟一个门控单元。门控单元由一个常规卷积接一个sigmoid函数组成,输出值在0到1之间,作为特征图的权重参数,判断提取到的特征中需要被保留的部分(权值接近于1)以及被过滤的部分(权值接近于0)

32、门控卷积的表达式如下:

33、

34、式中,x是每个卷积层的输入数据;w是卷积核的权重;b是偏差参数;σ是sigmoid激活函数。相比于relu激活函数的只用0或1来对序列做加权,门控单元输出的权值在0到1之间,可以判断提取的特征中应该被重点关注或者可以被忽略的成分。相较于tanh激活函数,门控机制中有线性通道,训练过程中梯度下降比较稳定,反向传播时不会锐减,因此采用门控单元作为激活函数训练时模型能够更快地收敛。

35、步骤34)随着神经网络深度的增加,神经网络可以提取的特征信息也会更丰富,这意味着神经网络具有更好的非线性表示能力。但是,在实际实验验证中,网络性能会随着网络层数的不断加深而下降。卷积层和池化层在网络中的盲目叠加往往容易导致梯度消失或梯度爆炸问题以及退化问题。影响gtcn感受野的因素包括网络深度v、卷积核大小k和膨胀因子d,因此构造一个合理的深层gtcn网络是一个关键问题。为了实现对更深层的网络进行训练,gtcn使用残差连接来避免梯度消失或爆炸的问题。

36、步骤35)将上一步提取到的空间特征作为gtcn的输入特征,依次经过膨胀因果卷积层、权重归一化层、激活函数relu和dropout层后进入门控机制,最后与1*1的卷积层进行残差连接,最后输出时空特征。

37、进一步,所述步骤4)具体为包括以下步骤:

38、步骤41)注意力机制是一种模仿人类洞察外界的方法,从全景信息中抓取重要部分并进行特征提取。例如人在进行正常阅读时,会更加关注一段句子中的关键字。加入注意力机制的方法,可以不需要使用人工技术或者先验条件,自动的为数据分配不同的权重。本发明,针对多通道的时空特征,使用通道自注意力机制为每个通道分配不同的权重,根据权重值,进行多通道的特征融合,输出最终的时空特征向量。通道注意力机制的公式如下:

39、1.通过全局平均池化,将每个通道的特征压缩为1个实数来表示。

40、

41、h和w分别是该通道内数据的维度,c为通道数。

42、2.通过全连接层(fc1),将向量的通道维度降低为原来的1/r,即[1,1,c*1/r];然后经过swish激活函数;再通过一个全连接层(fc2),将特征向量的特征上升回原来[1,1,m];然后经过sigmoid函数转化为一个0-1之间的归一化权重向量。

43、s=fex(z,w)=σ(g(z,w))=σ(w2δ(w1,z)

44、z为通道特征压缩后的实数,w为全连接层参数,σ为sigmoid激活函数,δ为swish激活函数,s为通道权重值。

45、3.将归一化权重和原输入特征逐通道相乘,生成加权后的特征。

46、

47、进一步,所述步骤5)具体为包括以下步骤:

48、步骤51)得到各通道的权重值后,对各通道的特征进行融合,使用softmax层预测的数据结果与真实的数据标签进行对照,将预测误差损失值实时记录并反馈给模型,通过多轮次的数据迭代训练,不断优化更新网络节点的权值与偏置,使最终分类结果更加接近真实标签。

49、有益效果:

50、1.同时考虑can id序列的时序特征和can有效负载的空间特征,对攻击的检测更全面的,时空特征的结合加强模型对数据的理解,提升检测效果。

51、2.使用gtcn网络中的门控膨胀因果卷积提取时间特征,能够很好学习车辆正常行驶的规律,对比lstm网络,gtcn模型参数少,更轻量化。

52、3.添加通道注意力机制能够提取到信息在中更加重要的特征,能够有效避免全局平局分类的局限性,突出了多异常行为的重点检测。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1