汽车电子的ECU攻击分析

描述

概述

从汽车电子电器架构的角度来看,汽车就是由ECU(点)和总线(线)构成的一个结构体(对于无线传感,车内部很少用,把网关、T-BOX等也统称为ECU)。对汽车进行攻击,其实际就是针对不同的ECU进行攻击。ECU的攻击向量有哪些,如何攻击一个ECU,对于hacker来讲是最感兴趣的话题,对整车防御来讲也是首先要搞清楚的事情。 ECU结构 首先从几个不同角度来看看ECU是什么样子的

1.物理

拆开一个ECU,最直观来看,一个ECU可以分为两部分: 芯片/PCB + 接口; 芯片/PCB是被封装在金属外壳(电磁干扰)里的部分 接口又可以分为两种:不隐藏的通信接口+隐藏的调试接口

2.操作系统

从操作系统的角度看ECU,是要了解固件是如何运行的,是为了破解ECU的固件;

ecu

3.程序架构

这个是汽车的控制器独有的一部分,从这个分类角度可以进一步明确针对ECU不同模块的具体攻击手法。

ecu

先从这三个角度来看ECU,这三个角度涉及到硬件、操作系统/程序运行方法、汽车电子软件,细说起来每一个部分都很多,希望日后可以详细说一下。

ECU攻击 上一节说了汽车ECU是什么,从什么角度对其进行分层分类,从而在这一节得到攻击向量,以上三个角度可以统一在以下三层: 网络(接口):协议的攻击(从第一、第三角度看) 固件(FLASH):固件的逆向(从第一、二、第三角度看) 芯片/PCB:物理攻击(从第一角度看) 网络 网络的攻击向量可以通过无线网络和有线网络;有线网络主要是CAN网络;CAN网络攻击可以分为对RAW帧的攻击和对协议报文的攻击;RAW帧的攻击主要是因为CAN本身的属性造成的: 1.无身份认证 2.优先级 3.广播 4.总线错误 对于协议报文则可以从第三角度来看: 对诊断报文 对应用报文 对网络管理报文 固件 固件获取:固件获取的方法有很多种,也有很多的介绍;从第一角度来看,固件获取可以从FLASH直接提取,从调试口读取甚至可以动态调试 固件分析:这个就要先从第二角度来看了,对于通用操作系统有自己的工具链,相对麻烦一些;对于操作系统和程序没有区分的可以直接用动静态分析工具去做。 漏洞利用:对于通用的操作系统,其利用方法很多;对于另一种可以窃取一些数据,更改一些参数,但是持久化利用是一个问题。

芯片 到了芯片这一级,就是一些物理攻击手段了,最典型的就是侧信道分析和故障注入。参考NXP的一张图。

ecu

保护 简单说一下保护。针对各种攻击都应有相应的保护手段。保护的根本还是基于密码学的,目前来看就是要保证硬件安全,建立可信体系,主要使用的就是硬件安全模块,如HSM、TPM。 HIS SHE 这个规范主要是讲基于对称加密(AES)的硬件安全模块,其密钥如何管理,如何使用,并介绍了安全启动等流程

ecu

EVITA SHE 这个项目介绍了对于不同场景采用不同的安全等级设计,分为FULL Medium Light三种,并对报文安全等级也进行了一个划分

ecu

小结

介绍了一下ECU攻击的情况,其中有自己的思考和参考一些他人的思考,后面需要对每一种结合自己的实践进行一个更详细的介绍。汽车作为一种IoT设备,和普通IoT设备的漏洞挖掘有很多相似之处,但是也有很多不同,对以下四个问题需要进行进一步思考: 1.对于汽车ECU的攻击向量还有待发掘 2.如何进行漏洞的利用 3.保护方法有效性 4.攻防的均衡

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分