CAN总线安全-概述

        CAN是一种已有30多年历史的协议,在汽车行业中广泛使用。这是因为其高可靠性和低成本。是一种几乎完美设计的协议,用于以短实时延迟和原子方式(即,所有接收器都看到数据,或没有接收器看到数据)传输传感器和执行器命令。但CAN的设计并没有考虑到安全性。

        连接到CAN的设备如果受到故意攻击,可能导致损坏或伤害(例如,气囊在使用寿命结束时使用CAN发送的诊断命令引爆)。因此,保护CAN总线至关重要。

CAN安全有几个方面:

• How is the CAN bus accessed by a malefactor? 方式?        
• What can they do with access?  做什么?
• What are the strategies for mitigating these threats? 后果?

本文概述了如何访问CAN总线,并简要概述了CAN攻击类型和典型防御措施

Access to the CAN bus 

  • 通过 ODB-II 连接口

        插入该连接器的通常是一个“加密狗”,它包含一个CAN收发器,一个CAN控制器,以及一个通信接口,用于与其他东西通信(通常是蓝牙,用于与附近的笔记本电脑或电话通信)。

        一种用于访问 OBD 端口的流行插件加密狗是 ELM327 OBD-II 适配器。ELM327 是 ELM Electronics 名副其实的 OBD 转换器系列之一,包含一个预编程的 PIC18F2480 微控制器,该微控制器使用实现测试协议的专有代码进行定制。这些设备允许用户在插入汽车的 OBD-II 端口时从 OBD-II 系统获取信息,并且可以通过蓝牙或 Wi-Fi 提供该信息。使用这个加密狗作为中间人,抽象低级协议,您可以将您的智能手机或平板电脑(在兼容应用程序的帮助下)变成一个非常方便的扫描仪,显示您车辆的详细信息。

        通过加密狗访问CAN总线可能存在非恶意原因。例如,保险公司越来越多地使用这些服务为司机提供服务。但连接到外部设备的加密狗为CAN总线创造了更多的途径:连接到加密狗的笔记本电脑或手机上的恶意软件,可以通过加密狗的固件漏洞,完成对CAN总线的入侵。

  • 通过线束

        通过了解CAN总线的布线位置,将入侵设施接入到总线中去。也可能是犯罪分子试图通过在车身面板上开一个洞来直接接触线路。

  • 通过车载娱乐系统

         大多数车辆信息娱乐系统是由桌面操作系统(如Linux)上的大型软件栈构建的。软件的巨大复杂性导致了大量可能危及设备的漏洞。这些攻击从本地攻击(其中带有目标病毒的USB可以通过插入来劫持信息娱乐系统)到附近攻击(例如利用WiFi,蓝牙中的漏洞)的远程攻击(例如,精心操纵网页中的字体,以利用车内浏览器中的漏洞漏洞漏洞)。
 

Types of CAN attack

当获得对CAN总线的访问时,有三种广泛的攻击类型:

  • 鉴别攻击。在这些情况下,接收器可以看到带有操纵数据的CAN帧,像来自合法节点,但旨在触发动作(例如打开门锁)
  • 协议攻击。在这种情况下,发送至收发器的CAN TX引脚上的信号不是来自CAN控制器,而是发送精心定时信号以攻击CAN协议本身的软件拒绝服务攻击。数据操纵可定义为将未经授权的can帧插入网络。因为CAN协议没有授权机制,恶意节点可以连接网络并插入数据。帧伪造、帧注入和重放攻击是数据操纵的一个例子。
  • 拒绝服务攻击。这些攻击可以是简单的泛洪攻击,向总线加载其他合法流量(导致低优先级帧延迟或丢失),也可以是破坏can协议。

鉴别攻击可能是最严重的:这些攻击可能导致执行器在现实中动作。但拒绝服务攻击也有现实世界的后果:阻止合法交通可以阻止重要功能的执行,如果基本车辆控制被禁用,这一情况尤其严重。

Attack mitigation techniques  

有几种技术可以缓解攻击。

  • 入侵检测。这是一种检查CAN总线是否有异常行为的技术。如果没有硬件支持,它通常无法防止攻击,但即使如此,它在信息收集和事后取证中也有用途。
  • 安全网关。这是一种使用具有两个(或更多)CAN总线接口的设备的硬件方法。网关仅复制可信总线(通常是车辆控制网络)和包含可能受损设备的不可信总线之间的合法流量。
  • 加密。这通常是一种软件技术(有时有硬件辅助),其中ECU使用加密方法保护其CAN总线流量。只有拥有密钥的接收者才能解密消息并验证其合法性。在实际使用加密保护CAN时,存在几个问题。
  • CAN安全硬件。这些方法使用包括在PCB上的硬件设备,该硬件设备监控进出CAN总线的CAN信号,并提供不同级别的保护。
     
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当涉及到CAN总线的教程时,以下是一些重要的主题和步骤,希望能对你有所帮助: 1. 什么是CAN总线? CAN(Controller Area Network)总线是一种常见的实时通信协议,广泛应用于汽车、工业控制和其他领域。它允许多个节点在同一个总线上进行通信,具有高可靠性和高实时性。 2. CAN总线的基本组成 CAN总线由多个节点组成,其中包括一个或多个控制器和多个设备。控制器负责管理总线上的通信,而设备则是实际进行数据交换的节点。 3. CAN总线的通信方式 CAN总线使用一种基于事件的通信方式,即只有在节点有数据要发送时才会发送。这种方式称为事件驱动通信,可以最大程度地提高总线的利用率。 4. CAN总线的物理层 CAN总线的物理层(如电缆、传输速率等)需要根据具体应用来选择。通常使用双绞线作为传输介质,可选择不同的传输速率,例如CAN 2.0标准中的高速(1 Mbps)或低速(125 Kbps)。 5. CAN总线的帧格式 CAN总线使用帧来进行数据交换,包括标准帧和扩展帧。标准帧包含11位标识符,扩展帧则包含29位标识符。帧中还包含数据域、控制域和校验位等字段。 6. CAN总线的错误检测和纠正 CAN总线具有强大的错误检测和纠正能力。每个节点在发送数据时都会对数据进行CRC校验,并在接收数据时验证CRC以检测错误。此外,CAN总线还具有冲突检测和错误恢复机制。 7. CAN总线的应用 CAN总线广泛应用于汽车领域,用于汽车电子系统中的各种控制单元之间的通信。它还被用于工业自动化、航空航天、医疗设备等领域。 这只是一个简要的概述,如果你对CAN总线感兴趣,可以进一步深入学习相关的资料和教程。希望这些信息能够对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值