文献阅读:基于电压规避的汽车CAN入侵检测(二)

论文名称:Evading Voltage-Based Intrusion Detection on Automotive CAN

目录

论文背景和要点

CAN协议

总线通信

CAN消息框架

总线仲裁

错误处理

汽车的CAN总线上脆弱的ECU

基于电压的入侵检测系统


论文背景和要点

CAN协议

对于车内网CAN协议来说,车内的软件程序只能改变消息报文的ID和数据内容及有效负载。大多数的CAN功能都是硬件中处理的,包括帧的框架仲裁错误处理以及物理层总线的通信

总线通信

在CAN总线上,位1和位0分别称为隐性位显性位。CAN是双绞线,有CAN高(CAN-H)和CAN低(CAN-L)两条线,那么隐性1和显性0可分别用在CAN-H和CAN-L之间的,0V和2V的差电压表示出来。如果ECU的CAN收发器是“开放”状态,就表示要传输隐性位的是实际电压值(0V),反之,如果是“闭合状态”就要传输诱导的电压值(2V)。那么如果总线上的多个ECU并发传输其比特,那么得到的电压对应ECU所诱导电压的叠加,得到的比特等于传输比特的逻辑与。收发器是硬件,其显示电压的特征是属于硬件特性,是攻击者所不能更改的,VIDS可利用这些特征进行指纹识别。

CAN消息框架

如上图2,是CAN消息的标准或扩展帧格式。标准格式的帧由11位ID-A,扩展格式的帧可加上18位的ID-B,共29位ID。两种帧都可以传输0-8比特的数据。所以ECU可以在同一总线传输不同格式的消息。

总线仲裁

CAN在ECU之间采用简单的仲裁过程来阻止任意两个ECU可能同时向总线上传输消息的可能,每个ECU都是通过帧开始(SOF)字段同步在总线上传输,对ID字段,ECU向总线发送ID位,然后从总线读取它,如果ECU在传输隐性位的同时读取了显性位,则会在仲裁中输掉,并停止传输;否则可以继续传输。攻击者便可以冒充受害者ID,利用这个仲裁过程,让自己的消息的数据字段和受害者的消息的数据字段故意重叠。

错误处理

CAN上的通信可能会被许多硬件或软件上因素,或者是附近设备的电磁干扰给破坏掉。在仲裁字段以外的任何传输过程中,当传输位不等于总线上的结果位时,就会发生误码(也叫比特错误)。针对这种错误,ECU分为三种状态:错误主动、错误被动和总线关闭(error-active、error-passive和bus-off)。正常情况是active状态,遇到一定数量的错误会转到passive状态,然后是bus-off状态。那么ECU在这种总线关闭的状态下会停止通信,必须之后重置到acitve状态才能重启通信。那么攻击者在受害者消息中造成误码,就可以迫使受害者进行状态转换。

需要注意的是,passive状态的ECU相较于active状态有两个重要区别:

  1. 传输两个连续消息时,passiveECU需要有11位扩展的IFS,多出了8位的暂停传输字段
  2. 遇到误码,passiveECU会等到总线变为空闲状态,传输一个14个隐性位组成的错误帧

汽车的CAN总线上脆弱的ECU

汽车上的ECU主要会受到攻击者的威胁包括:

  1. 通过USB、蓝牙、WIFI或移动数据等远程信息处理控制单元入侵
  2. 通过用于路边援助和碰撞报告的远程通信单元入侵
  3. 通过用于实现无钥匙进入和胎压监测的短程通信单元入侵
  4. 通过损坏的物理或空中媒体的无线电或娱乐单元入侵
  5. 通过第三方设备连接到车载诊断OBD-II端口入侵
  6. 通过电池控制模块在充电站的有线连接入侵 

并非所有汽车上的ECU都可以被直接破坏,所以攻击者可以首先攻击容易被破坏的ECU,然后再发起各种攻击,包括伪装攻击。 本文就是基于攻击者的能力来破坏至少两个易受攻击的ECU来发起DUET攻击。

基于电压的入侵检测系统

VIDS是来检测CAN上受损的、未监控的和新添加的ECU。它从每个CAN消息的测量电压特征中提取电压指纹(包括均值和方差等特征),然后用消息ID来推断发送源ECU,这样构建一个学习监督模型。在VIDS工作时,如果检测到CAN消息指纹和其源ECU不匹配,则会发出警告。这就是VIDS对ECU伪装攻击的应对原理。

但是消息的电压特性和指纹是会随着时间、环境、工作量、硬件更新等因素发生变化的。因此VIDS模型必须通过在线的、增量的或周期性的学习进行更新。但如此频繁的模型再训练又会使得所有现有的VIDS遭受到训练集中毒攻击。因此VIDS需要在安全模式下进行更新,并需要有对抗这种训练集中毒攻击的对策,比如使用MAC消息验证码等方式。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

丹牛Daniel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值