首页 > 其他分享 >车载测试系列:CAN总线渗透测试

车载测试系列:CAN总线渗透测试

时间:2022-12-02 13:46:12浏览次数:34  
标签:攻击 报文 模糊 总线 车载 渗透 测试

随着汽车智能化、网联化的高速发展,对于汽车通讯网络的安全威胁越来越多,而CAN总线是目前汽车使用最广泛的总线之一,因此对汽车CAN总线网络安全威胁进行渗透测试、挖掘潜在漏洞至关重要。

渗透测试是一种通过模拟恶意攻击者的技术和方法,挫败目标系统的安全控制措施,取得访问控制权,并发现具有业务影响后果安全隐患的一种安全测试与评估方式。

渗透测试方式一:模糊攻击

模糊攻击指通过生成一系列随机、无效或非预期的报文后,将这些报文发送至目标总线上,以达到目标总线出现非预期的行为的一种渗透测试方式。模糊攻击不需要了解攻击对象本身的数据特点(如CAN报文的某一数据位所表示的意义),只需要构建符合CAN报文格式的数据,因此可以通过模糊攻击挖掘系统的潜在漏洞。

模糊攻击可以测试当前被测对象是否有做报文数据完整性校验的安全防护措施,若无安全防护措施,则被测对象将可能产生非预期的行为。模糊可以在不同层面上进行,分别为:原始报文层、系统信号层、协议层。针对这三种层面,均可使用随机模糊、遍历模糊或自定义的模糊策略进行模糊攻击。

例如将报文ID设置为完全随机、报文DLC设置为4、报文Data设置为”1X 12 34 56”,其中X表示需要模糊的数据,对CAN总线进行模糊攻击,可以看到发送的模糊报文如下图所示。

 

渗透测试方式二:重放攻击

重放攻击指的是恶意地将有效报文发送至目标总线上,使目标系统重现该报文所控制的行为或对应的状态的一种渗透测试方式。

重放攻击的前提是CAN总线利用全局广播进行通信,攻击者利用这点能够轻而易举地获取到CAN总线上所有的报文信息。重放攻击不需要了解攻击对象本身的数据特点或工作原理,只需原封不动地将报文发送即可达到攻击目的。

重放攻击可以测试当前被测对象是否有做关于数据来源的真实性校验的安全防护措施,若没有则被测对象将会执行恶意重放报文的控制行为。

渗透测试方式三:Dos攻击

DoS是Denial of Service的简称,即拒绝服务,指通过临时或无限期干扰连接于网络的服务。DoS攻击基于CAN总线以报文优先级进行仲裁实现。

对于CAN总线,DoS攻击可以理解为频繁向目标总线发送高优先级报文来占满目标总线的资源,提高总线负载率,使其他正常报文不可传输。

DoS攻击需要了解CAN报文的优先级仲裁机制,即CAN报文的id位越小,CAN报文的优先级越高;在具有相同id时,数据帧的优先级大于遥控帧的优先级、标准帧的优先级大于拓展帧的优先级。DoS攻击可以测试当前被测对象是否有做可用性保护的安全防护措施。

例如将报文ID设置为0x1、报文DLC设置为4、报文Data设置为“12 34 56 78”、期望负载率设置为40%,对CAN总线进行DoS攻击,可以看到总线负载率如下图所示。

 

渗透测试方式四:UDS探测

UDS(Unified Diagnostic Services,统一的诊断服务)诊断协议是在汽车电子ECU环境下的一种诊断通信协议。UDS报文与普通报文不同,通常情况下在CAN总线中不会存在大量的UDS报文;当用户需要对ECU请求服务时,才会向CAN总线发送UDS报文,在接收到UDS报文后,ECU会以相应的正响应或负响应进行回复,可以将这一过程理解为一种问答式的通信方式。基于这种问答式的通信,用户可以在CAN总线上实现基于ISO 14229协议中的许多服务,如诊断会话控制服务、通过ID读数据服务,暴力破解安全进入服务,进一步得到用户或者厂家的私密信息。

UDS探测并非一种攻击方式,可以理解为一种为之后渗透测试攻击所做的准备工作。通过UDS探测,可以获取到汽车所支持的服务类型等信息,窃取用户以及厂商的私密信息,也可采取进一步的渗透测试,如模糊攻击等。

例如可先探测目标网络诊断物理寻址请求ID与ECU的响应ID,为后续进一步的渗透提供前置条件。探测效果图如下所示。

标签:攻击,报文,模糊,总线,车载,渗透,测试
From: https://www.cnblogs.com/laoluoits/p/16944210.html

相关文章

  • 车载测试系列:车载蓝牙测试(三)
     HFP测试内容与测试方法2.3接听来电:测试手机来电时,能否从车载蓝牙设备和手机侧正常接听】拒接、通话是否正常。1、预置条件:待测手机与车载车载设备处于连接状态2、......
  • 车载测试系列:车载蓝牙测试(二)
    车载蓝牙测试内容 HFP测试内容与测试方法2.1连接与释放:针对HFP的连接管理功能1、预置条件:待测手机开启蓝牙功能,车载蓝牙设备与待测手机相距10m以内2、测试步骤:1)测......
  • 车载测试系列:车载常见面试题
    自我介绍项目介绍项目具体是怎么测试的?CANoe是怎么使用的?台架是怎么搭建的?台架怎么测试的?诊断服务是怎么测试的?功能寻址和物理寻找的区别10服务有什么会话?11服务......
  • 车载测试系列:CAN总线错误及故障处理
    CAN五种错误检测机制一、基于信息流级别的错误检测1、CRC校验错误15位的CRC通过发送端根据发送信息的内容计算产生接收端根据接收内容重新计算CRC并于发送端发送过来......
  • 车载测试系列:SOA架构设计
    汽车传统架构很难满足新增信号、新增节点、变更功能等问题: 新增信号流怎么办?修改通信矩阵?突然增加一个节点,怎么办?修改路由表?变更功能如何从其他节点获取所需信息?......
  • 车载测试系列:MIL、SIL、PIL、HIL测试到底做什么?
    测试工程师需要搞懂的测试类型:MIL用于测算法SIL和PIL用于测代码(和模型的一致性)HIL用于测控制器系统MIL:模型在环测试 如图一所示,在Simulink模型中,将控制算法模型......
  • 车载测试系列:基于CANoe CAPL代码的诊断测试
    Canoe有独立的编译开发软件CAPL,CAPL是一个编译器,在CAPL里面编写代码,编译后可以在Canoe中运行。测试工程师可以在CAPL编写自动化测试脚本,在Canoe中自动发送Can报文,以及判断......
  • 车载测试系列:SOA接口测试(二)
    SOA服务测试内容及环境搭建SOME/IP协议底层通过以太网实现,基于service的控制器之间对服务的调用流程,以及基于service的控制器和基于信号(signal)的控制器之间对信息的传输......
  • 车载测试系列:SOA接口测试(一)
    SOA是什么?SOA(ServiceOrientedArchitecture)是一种面向服务的架构,最早应用于IT行业,SOA把功能定义成为服务,服务带有明确的可调用接口,并可以通过网络调用。在汽车领域,对于......
  • 车载测试系列:CANoe中如何创建dbc文件
    用CANoe读取信号时,需要加载DBC文件。信号是报文的主要组成部分,通过DBC数据库,可以在测试过程中进行信号解析。CANoe的Tools菜单下打开CANdb++: 一、CANdb++左侧网络拓......