文献笔记 —— GIDS: GAN based Intrusion Detection System for In-Vehicle Network

文献笔记 —— GIDS: GAN based Intrusion Detection System for In-Vehicle Network(GIDS: 基于GAN的车载网络入侵检测系统)

这篇文章是2018年发布在Privacy, Security and Trust (PST)会议上的。

Author: Eunbi Seo; Hyun Min Song; Huy Kang Kim
Date of Conference: 28-30 Aug. 2018
Date Added to IEEE Xplore: 01 November 2018
INSPEC Accession Number: 18229294
DOI: 10.1109/PST.2018.8514157
Publisher: IEEE

一、文章贡献

提出了一种新的车载网络入侵检测模型——基于深度学习模型的生成对抗网络入侵检测系统(GIDS)

  • 可扩展性:车内环境变化对于GIDS的检测没有影响;
  • 有效性:GIDS可以只学习正常的数据,因此可以检测入侵而不受限于特定类型的攻击(可以检测到未使用的未知攻击);
  • 安全性:GIDS是一种具有黑盒特性的深度学习模型,攻击者很难操控检测系统的内部结构。

二、相关概念

数据集相关

  • CAN总线:控制区域网络(CAN)是一种标准的车载网络总线系统,为ECU之间提供高效的通信。
  • ECU:电子控制单元(ECU),车载电脑。
  • OBD2接口:通过USB提供实时OBD2数据,通常用于专业诊断和OEM车辆开发中。更专业的OBD2接口还可以用于传输OBD2数据以及专用的CAN总线数据,这对于CAN嗅探和汽车黑客攻击很有用。

模型相关

  • IDS:入侵检测系统(IDS),实时监视系统,发现异常情况就发出警告
  • GAN:生成式对抗网络(GAN),包含(至少)两个模块,生成模型(Generative
    Model)和判别模型(Discriminative Model)

文章中具体还涉及到的概念如有需要可以自行查询,在此只给出了非常简单的解释。

三、数据集Dataset

1、CAN总线的信令逻辑
CAN信令逻辑

  • 当一个ECU传输一个0比特(显性),CAN高线有5v、CAN低线有0v。相反,当ECU传输1比特(隐性)时,两根导线都有2.5 V。
  • 总线上的电平有显性电平和隐性电平两种,显性电平的逻辑值为“0”,隐性电平逻辑值为“1”。(显性优先)

2、CAN数据帧格式
CAN数据帧格式
CAN总线上传输的CAN数据是有两种数据帧格式的,分别为CAN2.0a、CAN2.0b。根本的区别是CAN2.0b格式多了18位的扩展ID位。根据作者在文中的描述,作者使用的是CAN2.0a的这种数据帧格式,采用的CAN ID是11bits的,是从0x0到0x7FF。依据作者所给的链接,我下载了数据集,我们在此以Dos_attack_dataset举例。

dataset
可以看到ID这个部分是由7个元素组成的,但是作者在使用的使用只使用了3个元素(000-7FF),所以由此我们分析一下这个ID各个位置所代表的含义。
ID格式
以上的分析是我在已知作者使用了三位ID进行编码的情况下所倒推得出的结论,如果有问题/大家有不同的想法,欢迎来与我交流!
下面给出一个比较详细介绍CAN数据帧格式的网址:https://blog.csdn.net/daweihuahuo/article/details/78352762

3、攻击数据集的构建
作者采用了四种攻击方式:

  • 拒绝服务攻击在短周期内注入高优先级的CAN消息(0x000 CAN ID packet)作者每0.3ms注入一次。
  • 模糊攻击是通过欺骗注入随机CAN ID和数据值的消息,作者每0.5ms注入一次。
  • RPM/GEAR攻击: 远程代码执行漏洞/GEAR攻击是通过注入与RPM/GEAR 信息相关的某些CAN ID信息,作者每1.0ms注入一次。

4、数据预处理——one-hot编码
作者采用的是one-hot编码的方式,对数据进行预处理。
概念:独热编码即 One-Hot 编码,又称一位有效编码,其方法是使用N位状态寄存器来对N个状态进行编码,每个状态都有他独立的寄存器位,并且在任意时候,其中只有一位有效。通常用来处理类别间不具有大小关系的特征。有几个类别,就会生成几维的稀疏向量。
one-hot编码
比如作者给的例子,CAN ID 三个元素分别是2a0,那么对每个元素在对应的位上为1,其余的位为0。每一个CAN ID 编码出来就是一个16*3的矩阵,这个矩阵就是CAN 图像。

四、GIDS模型

1、GIDS模型
GIDS
左边是针对已知攻击的模型,右边是针对未知攻击的模型。

  • 已知攻击的模型:D1鉴别器接收从实际车辆中提取的真实的正常CAN图像和异常CAN图像,在训练过程中使用了攻击数据,因此他可以检测到已知的攻击,但是也仅限于检测已知的攻击。
  • 未知攻击的模型:发生器G和鉴别器D1是同时进行训练的,发生器G利用随机噪声产生伪CAN图像,鉴别器D2只接收真实的正常CAN图像和由生成器G生成的伪CAN图像,并估计接收到的图像为真实的CAN图像的概率,也就是分辨是真实的图像还是G生成的,生成器G和鉴别器D2互相竞争,提高他们的表现,使得D2能够检测与CAN图像相似的伪图像。

2、GIDS流程
GIDS流程
①实时的CAN数据采用one-hot编码,转换成CAN图像
②D1接收CAN图像并输出一个介于0-1之间的值
③如果输出低于阈值,则当前状态异常(检测出已知攻击)
④如果输出高于阈值,则由D2接收CAN图像并输出一个介于0-1之间的值
⑤如果输出低于阈值,则当前状态异常(检测出未知攻击)

3、鉴别器D的设计
鉴别器D
三层的深度神经网络。将输入数据的维数降至一个在0-1之间的输出,用来区分车内网络的正常状态和异常状态。

4、发生器G的设计
发生器G
反卷积神经网络组成,将随机噪声数据的维数扩展到与鉴别器输入数据相同大小的一副图像,转换成一个CAN 图像。

五、实验结果
超参
这是作者给出的超参的大小。作者最后给出了两个鉴别器的平均准确率分别是100%和98%。

六、总结
作者就是实现了一个基于生成式对抗网络GAN的一个入侵检测模型,其中用到了两个步骤。第一步先筛选检测已知的攻击,第二步用第一步中检测正常的数据中筛选未知的攻击。这样就使检测系统不会限制可检测的攻击类型。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值