大家读完觉得有帮助记得关注和点赞!!!
抽象
控制器局域网(CAN)协议被广泛用于车载通信,但缺乏固有的安全机制,容易受到网络攻击。本文介绍了KD-GAT,这是一种入侵检测框架,它将图注意力网络(GATs)与知识蒸馏(KD)相结合,以提高检测精度,同时降低计算复杂度。在我们的方法中,CAN 流量表示为使用滑动窗口来捕获时间和关系模式的图形。以跳跃知识聚合为教师模型的多层 GAT,而紧凑的学生 GAT(仅为教师规模的 6.32%)通过两阶段过程进行训练,包括监督预训练和知识蒸馏以及软标签和硬标签监督。在三个基准数据集(Car-Hacking、Car-Survival 和 can-train-and-test)上的实验表明,教师和学生模型都取得了很好的结果,学生模型在 Car-Hacking 和 Car-Survival 上的准确率分别达到了 99.97% 和 99.31%。然而,can-train-and-test 中的显着类不平衡导致该数据集上两个模型的性能下降。解决这种不平衡仍然是未来工作的重要方向。
关键字
控制器局域网、入侵检测系统、网络安全、图注意力网络、知识蒸馏。

图 1:KD-GAT知识蒸馏框架。变量h和n表示注意力头的数量和层数。
第一介绍
现代车辆包含许多电子控制单元 (ECU),它们管理车辆的几乎所有功能,从发动机性能到高级驾驶员辅助系统 (ADAS),例如车道偏离警告 (LDW) 和自适应巡航控制 (ACC)。控制器局域网 (CAN) 协议于 1980 年代中期引入用于车载网络 (IVN),以其可靠性、成本效益和稳健性而闻名[1].CAN 被广泛认为是 IVN 中 ECU 的标准通信协议。然而,CAN 协议最初的开发很少强调加密、消息身份验证和访问控制等安全功能,因为它被认为是一个没有外部接入点的封闭系统[2].
随着所有车辆采用车载诊断 (OBD) 端口,直接访问 CAN 网络成为可能。随着各种通信技术的发展,如 Wi-Fi、车联网 (V2X) 网络和蜂窝网络,对网络的访问进一步增加。这使得包括其他车辆和基础设施在内的外部来源能够与车辆进行交互,从而扩大了车辆 CAN 系统的潜在攻击面[3].J1939 等开放协议的用户了解了这一固有漏洞,已开始开发安全解决方案,但仍有许多网络安全漏洞需要弥补。
研究[4,5]已经表明,对车载 CAN 网络的网络攻击可以通过远程接入点(例如 Wi-Fi、移动网络、蓝牙)和物理接口(例如 USB、OBD-II、CD 播放器)发起。一旦获得访问权限,攻击者就可以注入恶意消息来破坏车辆功能,从而有可能完全控制。对制动器或动力总成等关键系统的攻击可能会导致严重的安全风险,因此最近有关于通过入侵检测系统增强 CAN 总线安全性的研究。
随着人工智能的进步,IVN入侵检测已经从监控ECU物理特性转变为使用深度学习分析CAN数据[6,7],主要分为基于数据包的方法和基于窗口的方法。 基于数据包的 IDS 使用 ECU 时钟偏差和时序等功能快速检测威胁[8],但它们无法捕获数据包序列,从而限制了对欺骗、泛洪、模糊和重放攻击的检测。基于窗口的 IDS 分析数据包相关性,实现检测和分类。 熵等统计方法[9]与低容量攻击作斗争,同时生存分析[10]显示出希望,但缺乏重放攻击评估。 为了解决基于窗口的 IDS 的局限性,一项研究[6]提出了一种基于图论的统计方法,每N个数据包构建一个图,并使用卡方检验来识别攻击窗口。 更新的基于 ML 的 IDS,例如基于深度卷积神经网络 (DCNN) 的 IDS[11]以及基于 K 最近邻 (KNN) 的 IDS[12],旨在减少此类延迟,同时提高检测精度。
在[13],提出了一种使用基于时间图的特征和机器学习(SVM、KNN)的IDS,以实现高达97.99%的DoS、模糊和欺骗攻击的准确率。 提出了一种使用动态图的实时CAN IDS来检测攻击并有效地识别被泄露的消息ID。[14].它实现了低检测时间和内存使用,并通过概率分析进行了理论验证。 在&[15]用于使用仲裁和数据图的 CAN 总线 IDS。它在OTIDS数据集上实现了99.92%的准确率,优于现有方法。 最后,KD-XVAE 是一款基于 VAE 的轻量级 IDS,它使用知识蒸馏并通过 SHAP 整合可解释的 AI 以实现透明的决策,确保稳健高效的 IVN 安全性[16].由于模型大且可解释性低,基于 ML 的 IDS 很难在资源有限的 IVN 中进行调整和部署。为了帮助解决这个问题,知识蒸馏和利用基于图的特征等技术可以实现轻量级且适应性强的检测。
I-A赋予动机
已经研究了许多 IDS 方法来保护 CAN 协议,但每种技术都有缺点。基于数据包的 IDS 分析连续数据包相关性的能力有限,并且大多数无法对攻击进行分类。 基于窗口的 IDS 也已被研究,但开发仍处于早期阶段。 为了解决现有 IDS 的局限性,我们提出了一种基于图神经网络 (GNN) 的教师模型,该模型可以从 CAN 流量中学习丰富的结构模式。然后,通过知识蒸馏训练轻量级学生模型,以复制教师的见解,即使在资源受限的车载系统上也能实现高效、准确的入侵检测。
IB贡献
我们的主要贡献如下:
- •
我们提出了一种新颖的图注意力转换器(GAT)架构,该架构通过跳跃知识跳过连接进行了增强,从而能够更有效地学习CAN流量中的结构模式。
- •
我们引入了针对资源受限的边缘环境量身定制的知识蒸馏框架,实现了紧凑的学生模型,其大小仅为教师模型的 6.32%,同时保持了较高的检测性能。
- •
我们对多个基准数据集进行了全面的实验,包括新创建的 can-train-and-test[17].据我们所知,这是第一项评估整个 can 训练和测试数据集的深度学习研究。
图 1 可视化了框架。
第二相关工作
二甲文献综述
已经探索了几种用于保护车载CAN网络的IDS技术,其共同分类基于三个关键方面:检测所需的帧数、使用的数据类型和检测模型设计[18].根据帧数,IDS 通常分为基于数据包的方法和基于窗口的方法。
基于数据包的 IDS 方法使用来自单个 CAN 数据包的数据来检测攻击。Kang 等人。[19]采用深度神经网络(NN)将高维CAN数据包特征分类为正常或恶意,尽管其评估仅限于模拟数据。格罗扎等人。[20]开发了一种 IDS,利用车内交通的循环性和固定数据字段格式,使用 Bloom 滤波器来评估帧周期性。但是,此方法仅对周期性帧有效,对非周期性帧无效[21]. 虽然基于数据包的 IDS 提供快速检测,但它们缺乏分析连续数据包之间相关性的能力,从而限制了其准确性。
基于窗口的 IDS 在固定大小或时间范围内分析 CAN 数据包序列。Olufowobi等人提出了一种实时IDS,使用基于消息间隔和最坏情况响应时间的定时模型。它可以检测没有预定义规范的异常,但很难处理非周期性消息和重复 ID[22].一些基于窗口的 IDS 使用频率分析。Taylor等分析了CAN数据包频率和汉明距离[23],但此类方法难以应对非周期性数据包攻击[24,25].Islam 等人使用固定大小窗口中的图形特征以及卡方和中位数检验来检测异常和重放攻击,但他们的方法需要许多数据包,从而降低了响应能力[6]. 基于图的 IVN IDS 对 ECU 交互进行了良好的建模,但主要检测简单的攻击 G-IDCS 通过将基于阈值的 (TH) 分类器与使用消息相关性对攻击类型进行分类的 ML 分类器相结合来解决这个问题,该分类器使用消息相关性对攻击类型进行分类,这是基于数据包的 IDS 所忽略的[26].
第三背景

图2:CAN数据帧结构
III-ACAN协议
CAN是一种串行通信系统,旨在高效处理分布式实时控制,广泛用于车辆中电子控制单元(ECU)之间的通信。在 CAN 总线设置中,发送节点广播消息,而接收节点使用过滤机制来决定是否处理消息。如图 2 所示,CAN 数据帧由七个字段组成。首先是帧开始 (SoF)、单个主导位,然后是仲裁字段、11 位标识符和 1 位 RTR。接下来是控制字段、一个 1 位 IDE、一个保留位和一个指定数据字段长度的 4 位 DLC。数据字段的大小根据 DLC 而变化,并保存实际有效负载。CRC 字段具有 15 位循环冗余校验和带有隐性位的 1 位分隔符。ACK 字段包括用于确认的主导位和隐性分隔符。最后,EoF 场以七个隐性位结束帧。
III-B图神经网络
图是一种数据结构,由一组节点 V 和一组连接节点对的边 E 组成。图形可以定义为G=(V,E)哪里V={v1,v2,…,vn}是一个节点集,具有n节点,以及E={e1,e2,…,em}是具有m边缘。 鉴于这种图结构,图神经网络 (GNN) 希望找到有意义的关系和图的见解。实现此目的的最常见方法是通过消息传递框架[27] [28],其中在每次迭代中,每个节点都会聚合来自其本地邻域的信息。在迭代中,节点嵌入包含来自图其他部分的信息。此更新规则可以通过以下等式来解释:

哪里φ是更新函数,ψ是消息函数,⨁是聚合运算符(例如,sum、mean),并且𝒩(v)是节点的邻居v.
加特[29]通过引入注意力机制建立在 GNN 的基础上。这允许消息传递框架中的每个节点动态地为其邻居分配权重贡献。对于节点v、注意力系数αvu对于邻居u计算公式为:

哪里α是可学习的注意力向量,𝐖是一个权重矩阵,并且||表示权重矩阵之间的串联。
attention 函数计算节点的每个邻居的标量权重v我,用α我j,这反映了节点的重要性或相关性vj对于节点v我.

哪里σ是激活函数,通常是 ELU 或 RELU。
跳跃知识 (JK) 模块[30]通过组合中间层表示(类似于跳过连接)进一步增强 GAT。本文使用基于 LSTM 的聚合,其中hv(l)表示节点v的层表示l∈1,…,L.JK 模块收集所有层输出,执行正向 LSTM 通过层 (1→L),并执行向后 LSTM 反向通过相同层 (L→1),将它们连接起来以获得最终表示。方程 4、5 和 6 演示了这个过程。

四方法论
IV-A图构造
CAN 数据通常表示为表格时间序列数据集,其中每条消息m我以 CAN ID、有效负载数据和时间戳等属性为特征。为了将此顺序数据转换为适合基于图形的入侵检测的图形输入,我们定义了以下过程:
滑动窗口和图形形成
给定一个大小W(在本工作中设置为 50 条消息),我们提取 CAN 消息的子序列:

其中每条消息m我=(身份证我,有效载荷我).
节点定义
窗口内的每个唯一 CAN ID𝒲t对应于一个节点vj在图表中Gt=(Vt,Et).节点属性定义为:

哪里nj是 CAN ID 的出现次数j在窗口中,以及p¯j是该 ID 的平均有效负载值。
边缘构造
边缘ejk∈Et在节点之间创建vj和vk如果它们的相应消息按顺序出现在窗口中。正式地,对于消息对(m我,m我+1)如果m我对应节点vj和m我+1到节点vk然后:

这捕获了窗口内 CAN 消息的时间关系结构。
图形输入摘要
因此,每个推拉窗𝒲t表示为图形Gt=(Vt,Et,Xt)哪里Vt是节点(唯一的 CAN ID),Et是边(顺序消息关系),并且Xt是上面定义的节点属性。标签是为二元分类任务创建的,其中0如果Wt仅包含良性消息,并且1如果Wt包含任何攻击消息。图 3 显示了无攻击图和攻击图的一些示例。

图 3:从汽车黑客数据集创建的图表。每个节点代表窗口中的唯一 CAN ID,每个边都是在顺序 ID 之间构造的,包括自边。不显示与每个节点关联的特征向量。蓝色表示图形没有攻击 ID,而红色表示至少有一个节点是入侵。
IV-B知识蒸馏
知识蒸馏 (KD),由 Hinton 等人推广。[31],是一种广泛采用的模型压缩技术,其中训练一个小型、高效的学生模型来重现大型、准确的教师模型的行为。 教师模型输出的软目标概率对班级之间的丰富关系信息进行编码,这些信息通常无法仅通过硬标签捕获。训练学生模型以匹配这些软化的输出,使其能够学习比单独使用单热标签进行训练的信息更丰富的函数近似值。
具体来说,给定一个输入x,教师产生一个 logits 向量st(x),通过温度缩放转化为软化分布τ:

通过最小化教师和学生分布之间的 Kullback-Leibler 差异(蒸馏损失)以及标准监督分类损失,对学生进行训练以匹配这些概率:

哪里α平衡了基本事实和教师监督的贡献。
V实验
V-A实验设置
所有实验均使用 PyTorch 和 PyTorch Geometric 进行。模型训练和评估是在俄亥俄超级计算机中心 (OSC) 提供的 GPU 集群上进行的。表 I 突出显示了教师和学生模型之间的差异,其中学生模型是教师模型大小的 6.32%。
表一:教师和学生模型参数
| 参数 | 老师 | 学生 |
|---|---|---|
| GAT 层 | 5 | 2 |
| 注意头 | 8 | 4 |
| 隐藏频道 | 32 | 32 |
| 线性层 | 3 | 3 |
| 损失函数 | 公元前 | 吉隆坡分歧 |
| 总参数 | 4,999,426 | 316,034 |
KD 框架的运行方式是教师网络首先进行培训,然后是学生网络,由两个阶段组成:
- •
第一阶段:仅使用二进制交叉熵 (BCE) 损失(称为“预热”期)预训练学生模型。
- •
第二阶段:使用混合损失微调学生,将 BCE 与蒸馏损失结合起来,使用教师和学生的 logits。
表 II 详细介绍了该实验的超参数。最后,在每个实验中,80% 的数据集用于训练,20% 用于验证,并使用了由数据集提供者编译的不同测试集。
表二:超参数
| 超参数 | 价值 | 笔记 |
|---|---|---|
| 学习率 | 0.0005 | Adam 优化器 |
| 批量大小 | 128 | - |
| 时代 | 100 | 保存的最佳验证纪元 |
| 学生热身时代 | 5 | 仅在预热后进行蒸馏 |
| 辍学 | 0.2 | 跨所有 GAT 和线性层 |
| 温度缩放 | 2.0 | 对于软目标 |
| α | 0.5 | 蒸馏系数 |
| 窗口大小 | 50 | 滑动窗口长度 |
| 步幅 | 50 | 在窗口之间步进 |
V-B数据
我们提出的方法已经在三个公开的汽车 CAN 入侵检测数据集上进行了评估,每个数据集都为全面的 IDS 评估提供了独特的特征和挑战。下面详细比较了数据集的规格和特征。
HCRL 汽车黑客攻击:该数据集包含来自现代 YF Sonata 的 CAN 流量,具有四种攻击类型:DoS、模糊测试、RPM 欺骗和齿轮欺骗。所有攻击都是在真实车辆上进行的,数据通过 OBD-II 端口记录。该数据集包括 988,872 个无攻击样本和所有攻击类型的总样本约 1660 万个[32].
HCRL生存分析:该数据集收集自三辆车(雪佛兰 Spark、现代 YF Sonata、起亚秀尔),支持基于场景的评估,包括三种攻击类型:洪水 (DoS)、模糊测试和故障(欺骗)。该数据集由 627,264 个训练样本和四个测试子集组成,旨在评估 IDS 在已知/未知车辆和已知/未知攻击中的性能[33].
可以训练和测试:11https://bitbucket.org/brooke-lampe/can-train-and-test-v1.5/src/master/最大的数据集,包含来自两家制造商(通用汽车和斯巴鲁)的四辆车的 CAN 流量。它提供了九种不同的攻击场景,包括 DoS、模糊测试、系统攻击、各种欺骗攻击、停机攻击和间隔攻击。该数据集分为四个载体集(set_01 至 set_04),总样本超过 1.92 亿个。每个集合包含一个训练子集和四个测试子集,遵循已知/未知载体和攻击范式[17].
can-train-and-test 数据集表现出极端的类不平衡,不同子集的无攻击样本与攻击样本比率范围为 36:1 至 927:1。为了应对这一挑战,我们将焦点损失应用于两个模型目标函数,将学习重点放在难以分类的少数类样本上:

哪里γ是我们的实验中将焦点参数设置为 1.0。这种方法有助于减轻类不平衡对模型性能的影响,特别是对于少数攻击类。
V-C评估指标
我们报告准确性、精确度、召回率和 F1 分数,定义如下:

其中 TP、TN、FP 和 FN 表示真/假阳性/阴性。
六结果与讨论
VI-A结果
以下是前几节中描述的实验结果。使用的比较模型是 A&D GAT[15]和 ECF-IDS[34],一个利用布谷鸟滤波器和 BERT 模型的 IDS。选择这些模型是因为一个是 CAN IDS 唯一已知的 GAT 模型,而另一个是唯一已知的评估 CAN 训练和测试数据集的 DL 模型。模型的性能是使用由[17].
表三:验证和测试 CAN 入侵数据集上所有方法的性能。
| 验证 | |||||
|---|---|---|---|---|---|
| 数据 | 方法 | 账户。 | 前。 | 召回 | F1 |
| 汽车黑客攻击 | A&D(分析)[15] | 0.9995 | 0.9994 | 0.9993 | 0.9994 |
| 老师 | 0.9995 | 1.0000 | 0.9983 | 0.9991 | |
| 学生-KD | 0.9995 | 1.0000 | 0.9982 | 0.9991 | |
| 汽车生存 | 老师 | 1.0000 | 1.0000 | 1.0000 | 1.0000 |
| 学生-KD | 1.0000 | 1.0000 | 1.0000 | 1.0000 | |
| Set_01 | 老师 | 0.9981 | 1.0000 | 0.8908 | 0.9423 |
| 学生-KD | 0.9991 | 1.0000 | 0.9478 | 0.9732 | |
| Set_02 | 老师 | 0.9740 | 0.9980 | 0.6983 | 0.8216 |
| 学生-KD | 0.9959 | 0.9970 | 0.9553 | 0.9757 | |
| Set_03 | ECF-IDS[34] | 0.9996 | 0.9991 | 0.9984 | 0.9986 |
| 老师 | 0.9963 | 1.0000 | 0.8897 | 0.9416 | |
| 学生-KD | 0.9977 | 0.9976 | 0.9335 | 0.9645 | |
| Set_04 | 老师 | 0.9977 | 1.0000 | 0.8509 | 0.9194 |
| 学生-KD | 0.9975 | 1.0000 | 0.8362 | 0.9108 | |
| 测试 | |||||
| 数据 | 方法 | 账户。 | 前。 | 召回 | F1 |
| 汽车黑客攻击 | 老师 | 0.9977 | 0.9969 | 0.9985 | 0.9977 |
| 学生-KD | 0.9997 | 1.0000 | 0.9993 | 0.9997 | |
| 汽车生存 | 老师 | 0.9695 | 0.9415 | 0.9987 | 0.9692 |
| 学生-KD | 0.9931 | 0.9897 | 0.9961 | 0.9929 | |
| Set_01 | 老师 | 0.9923 | 1.0000 | 0.7706 | 0.8705 |
| 学生-KD | 0.9929 | 0.9993 | 0.7874 | 0.8808 | |
| Set_02 | 老师 | 0.9908 | 0.5446 | 0.2473 | 0.3402 |
| 学生-KD | 0.9818 | 0.2034 | 0.3055 | 0.2442 | |
| Set_03 | 老师 | 0.9698 | 1.0000 | 0.5811 | 0.7350 |
| 学生-KD | 0.9824 | 1.0000 | 0.7554 | 0.8606 | |
| Set_04 | 老师 | 0.8831 | 0.9999 | 0.4960 | 0.6631 |
| 学生-KD | 0.8707 | 1.0000 | 0.4425 | 0.6135 | |
VI-B讨论
从结果来看,在验证集和测试集中,教师和学生在 Car Hacking 和 Car Survival 数据集的可比模型中的表现都一样好或更好。可以通过验证集进行 can-train-and-test 的结果也很有希望。然而,在对看不见的测试数据进行测试时,类比率的巨大差异会导致精度、召回率和 F1 分数等指标表现不佳。原作者以外唯一使用数据集的论文[17]是[34]与他们的型号 ECF-IDS。然而,它们仅提供Set_03的结果,因此尚不清楚其他深度学习模型在 can-train-and-test 的所有子集中的表现如何。尝试采取不同的辍学率、班级权重平衡和焦点损失等措施来缓解班级失衡,但这些实验未能取得明显更好的表现。
七结论
我们提出了 KD-GAT,这是一个将 CAN 流量转换为图表示的框架,并应用知识蒸馏来开发适用于边缘设备的紧凑、准确的入侵检测模型。我们的学生模型只有教师的 6.32%,但在 Car-Hacking 和 Car-Survival 数据集上分别达到了 99.97% 和 99.31% 的准确率。虽然两种模型在验证数据上都表现良好,但 can-train-and-test 数据集中的严重类不平衡导致测试性能下降。解决这种不平衡仍然是未来工作的关键方向。

7183

被折叠的 条评论
为什么被折叠?



