特斯拉Autopilot系统安全研究|附dbc下载

原创 汽车ECU开发 2021-07-19 07:00
特斯拉的Autopilot是马斯克最引以为豪的系统之一,其可提供L2级别的自动驾驶功能。Autopilot系统主要依赖于摄像头、超声波传感器和雷达。此外,Autopilot在HW3.0之前的版本配备了来自 Nvidia 等制造商的计算硬件,允许车辆使用深度学习处理数据以实时对条件做出反应。
APE,即“Autopilot ECU”,是特斯拉自动驾驶技术的关键部件。虽然已经有很多文章谈论它的硬件解决方案,但关于它的软件的讨论却少得多。众所周知之前所有的 APE 2.0 和 2.5 板卡都是基于 Nvidia 的 PX2 AutoChauffeur(实际上是高度定制的)。下面讨论主要集中在APE2.5。如下图1所示,简单的展示了其内部组件是如何连接的。

图1 APE内部模块的连接
APE和APE-B都是Tegra芯片,和Nvidia的PX2一样。LB是英飞凌Aurix芯片。此外,还有一个英伟达的GPU(GP106)连接到 APE。APE和APE-B上运行的软件镜像基本相同,而LB有自己的固件。在 APE中,LB 是一个协处理器,支持监控 CAN 总线上的消息,控制风扇速度,确定是否应该打开APE的部分功能等。在原始 PX2 板上,Aurix 芯片在串口上运行一个控制台 有几个有用的功能。但是在APE 2.5上,这个芯片只提供很少的控制台命令。
并非 APE 和 APE-B 都用于 Autopilot,特别是考虑到并非两个芯片都连接到所有传感器。来自雷达和其他传感器的信息通过一些 CAN 总线(包括私有的)传输,并由 LB 转发为 UDP 消息,UDP 消息可以被两个处理器接收。
但是所有摄像头,尤其是主摄像头、窄摄像头和鱼眼摄像头仅通过 CSI 接口连接到 APE。此外GPU 芯片仅连接到APE,没有看到足够的证据表明两个Tegra 芯片(以及摄像头)共享 GPU 芯片。因此我们认为 APE-B 只是一个类似“存根功能”的东西,而 APE 是执行实际工作的实际芯片。
后来对固件的调查表明,APE-B 有时可能会从用于启动 APE 的同一镜像启动。启动过程让我们相信,只要 APE 和 APE-B 运行相同的固件,我们就可以轻松实施我们的攻击。APE 的固件是一个 SquashFS 镜像,没有任何加密。该映像运行高度定制的 Linux(如 CID 和 IC)。在固件中我们观察到 APE 软件的二进制文件位于 /opt/autopilot 文件夹下。

01


智特斯拉的视觉系统

在本节中,我们将介绍Autopilot中视觉系统的实现细节。二元视觉是 Autopilot 的关键组件之一。Autopilot 使用它来处理从所有摄像头收集的数据。我们对使用纯计算机视觉解决方案的自动雨刷和车道识别这两个功能进行了大量反向工作。这些函数的特殊过程可以概括为两部分:它们共同的预处理,以及它们自己的神经网络计算和后处理。
预处理
我们认为特斯拉使用的是12位HDR摄像头,可能是RCCB。视觉神经网络模型并不是为了直接处理这些图像而设计的。因此,程序需要先对图像进行预处理。
如前所述,不同的可执行文件(或服务)之间的通信是通过共享内存进行的,包括从相机获取的原始图像。这些图像是根据调度图从某些文件句柄中获取的。

图2 缓冲区由select()模型管理
此外,视觉任务还会从 /dev/i2c 和其他共享内存区域获取一些控制消息。出于诊断和产品改进的目的,图像的副本也将保存到共享内存中,以便快照任务可以获取和发送它。快照任务在不同的任务中有大量的记录点,这使得调试和功能开发工作更加高效。
从快照中收集的原始数据为 HDR、1280x960 和 16 位小端整数,色调映射图像如下图3所示。

图3 来自相机的色调映射图像
我们之前提到过函数 tesla:TslaOctopusDetector::unit_process_per_camera,它将处理来自每个相机的每一帧,包括预处理过程。首先从图像中删除一些前缀和后缀行。根据安森美为AR0132AT(可能不是特斯拉的传感器,但可能是类似型号)提供的数据手册,这些线可能仅用于像素调整和诊断目的,因此我们假设自动驾驶任务没有使用那些像素。
下一步是色调映射,调整相机HDR图像的动态范围,使其适应神经网络的输入模型。在早期版本中,这个映像是通过tmp_cuda_exp_tonemapping处理的,现在重命名的函数是tesla::t_cuda_std_tmrc::compute,有很多改进。
T_cuda_std_tmrc有几个输出,包括:
* linear_signal, 经过HDR转换和距离压缩的原始图像;
* detail_layer,边界检测的结果,可能会使用canny边缘检测器并进行一些改进;
* bilateral_output,可能是某些双边过滤器的结果;
此外,输出还包含一些其他层,但由于它与我们的研究没有太大关系,我们不在这里提及它们。
对不同相机的预处理可能不同。虽然目前我们只注意到代码中的去马赛克控制布尔值,但我们相信为不同的相机添加不同的预处理过滤器很容易。
预处理后的图像输出根据其类型和位置通过几个不同的模块进行处理。目前,我们观察到三种不同的类型,通过枚举来表示所有摄像头的为位置,如图4所示。

图4 通过枚举来表示不同的摄像头

图5 从左到右分别为主摄像头,长焦,鱼眼摄像头
通常,这些处理过的图像都会被写入到它们对应的神经网络的输入缓冲区中。每个神经网络解析输入图像,并为 tesla::t_inference_engine<float>。各种后处理程序接收这些结果,并向控制器提供控制提示。这些后置处理器负责多项工作,包括识别汽车、物体和车道,绘制周围环境的地图,以及确定降雨量。令我们惊讶的是,这些工作大部分都是在一个感知神经网络内完成的。
自动驾驶任务的复杂性需要为不同的相机分配不同的推理引擎,配置不同的检测器,并填充几种不同的配置。因此,Tesla 使用大类来管理这些功能。解析出每个成员并不是一件容易的事,尤其是对于一个被剥离的二进制文件,填充了大类和 Boost 类型。

02


智远程转向控制

在本节中,我们将介绍 APE 单元如何与 EPAS(电动助力转向)单元一起实现转向系统控制。此外,由于我们已经获得了 APE 的 root 访问权限,我们将演示如何远程影响 EPAS 单元以控制特斯拉汽车在不同驾驶模式下的转向系统。
APE是特斯拉高级驾驶辅助系统的核心单元。它负责汽车在辅助驾驶和自动泊车模式下的转向系统控制和电子速度控制。据我们所知,这些先进的辅助驾驶功能是基于高级视觉和汽车总线(以太网、CAN、LIN、FlexRay)系统。
CAN总线系统
图6 APE的CAN总线系统
通过对APE中与CAN总线相关的一些服务(canrx、cantx等)进行逆向工程,初步了解了APE CAN总线系统的网络结构。如图6所示,APE集成了两个CAN-Bus接口(CAN0和CAN1),通过CAN1与雷达互连。为了冗余机制或其他安全考虑,CAN0和LB一起连接到私有CAN总线。
此外,由于域隔离,APE与LB单元共享一个逻辑CAN(称为APE2LB_CAN)总线,用于与PT(动力总成)和CH(底盘)CAN总线通信。
对于特斯拉汽车,转向系统可由底盘 CAN 总线上的 EPAS 单元控制。虽然有了APE的系统的完全接入,但显然我们需要打破APE的CAN总线系统的一些安全机制障碍,比如冗余CAN总线、CAN消息计数器和域隔离。
我们主要关注 cantx 服务,它接收来自视觉系统的中间信号,然后将信号转换为车辆控制命令。这些命令将被封装到特殊的 CAN 消息(APE2LB_CAN)中,并通过 LB 单元转发到 PT/CH CAN 总线。
APE2LB_CAN

图7 APE2LB_CAN的格式
APE2LB_CAN 是一种基于 UDP 协议的 CAN 报文。APE 中的 cantx 服务使用 APE2LB_CAN 与 LB 单元进行通信。使用APE2LB_CAN,APE可以与LB构建逻辑CAN总线。LB 更像是一个支持以太网和 CAN 协议的网关,它负责从 APE2LB_CAN 中提取 CAN ID 和原始 CAN 报文,然后将它们封装成一个标准的 CAN 报文帧,最后将该帧传送到不同 CAN 总线上的各个 ECU( Chassis, Body, Powertrain) 。
转向控制消息
DasSteeringControlMessage (DSCM)是最关键的CAN信息之一,用于汽车在ACC (Adaptive Cruise control)和APC (Automatic Parking control)两种模式下的转向系统控制。
在cantx服务的DasSteeringControlMessageEmitter::populate_message()函数中,产生DSCM并封装到APE2LB_CAN的raw_can_msg中,DSCM的目的地包括一些与转向系统和汽车速度相关的ECU,如EPAS(Electric Power Assisted Steering) 和 EPB(电动驻车制动器)装置。
图8 DasSteeringControlMessage帧格式
图8描述了DSCM的帧格式:
1、转向角的值存储在DSCM的前2个字节中;
2、第三个字节是 CAN 报文计数器和控制类型的组合。该字节的低 6 位是 CAN 报文计数器,一旦填充了一个 CAN 报文,报文计数器应增加 0x01。第三个字节的高2位表示CAN报文的控制类型。当特斯拉汽车处于ACC或APC模式时,控制类型应设置为0x01,表示启用转向角控制,LB单元允许APE让EPAS单元控制转向系统。
图9 填充DasSteeringControlMessage的代码片段
CAN消息的第四个字节是一个单字节的校验和,它是由8bit_checksum算法以CAN ID (0x0488)作为初始种子计算出来的:
图10 eightbit_checksum算法
图11显示了在cantx服务的DasSteeringControlMessageEmitter::finalize_message()函数中填写了DasSteeringControlMessage的校验和:
图11 DasSteeringControlMessage的代码片段

03


远程控制转向系统

在弄清楚APE、LB和其他与转向系统控制相关的ECU(EPAS、EPB)之间的CAN-bus通信后,我们还不能通过直接从APE向LB注入恶意DSCM来欺骗EPAS控制转向系统 . 原因是,如前所述,DSCM 受到消息时间戳和计数器的保护,以及在 APE 中称为 PARTY CAN-bus 的冗余 CAN。
最后,我们找到了一个有效的解决方案:将恶意代码动态注入 cantx 服务,并钩住 cantx 服务的 DasSteeringControlMessageEmitter::finalize_message() 函数,以重用 DSCM 的时间戳和计数器,以任意值操纵 DSCM。此外,关键部分是DSCM的控制类型必须设置为0x01,APE2LB_CAN的can_bus设置为0x01,表示DSCM的目的地是底盘CAN总线。
到目前为止,我们能够通过利用这些漏洞远程入侵 APE 的系统,从远程移动设备向 APE 中的 cantx 服务发送任意 DSCM。
为了可视化这个针对转向系统的远程攻击链,我们设法使用游戏手柄演示了远程转向控制。游戏手柄控制器的控制过程如下图所示:游戏手柄通过蓝牙连接到我们的移动设备上。同时,移动设备接收来自游戏手柄的控制信号并将该信号转换成相应的DSCM。一旦 APE 受到威胁,cantx 服务将定期通过 3G/Wi-Fi 从移动设备拉取 DSCM。此外,APE 需要不断地将实时转向角推送到移动设备,以计算出我们预期的准确转向角。

图12 采用手柄进行遥控控制
在测试中,我们发现这种方法在不同的驾驶模式下对汽车有不同的影响:
1、当汽车停放时,我们可以毫无限制地控制转向系统;
2、当汽车通过换挡手柄从R(倒车)模式切换到D(驾驶)模式时,APE似乎认为汽车处于APC(自动泊车控制)模式,该模式允许我们以大约8km /H的速度控制转向系统;
3、当汽车处于高速ACC(自适应巡航控制)模式时,转向系统也可以不受限制地控制;
4、即使汽车不在ACC(自适应巡航控制)模式下,方向盘也有可能受到影响。
以上就是通过静态逆向工程和动态调试,对APE视觉系统进行了深入分析。根据研究结果,在物理世界做了一些实验测试,成功的让Tesla APE在攻击场景下表现异常。这证明,通过一些物理环境装饰,可以在不与车辆物理或远程连接的情况下,干扰或在一定程度上控制车辆。

参考:整理自腾讯科恩实验室的资料
转发本文并点在看,截图至后台,获取Model3的dbc
推荐阅读

详解功能安全概念阶段

详细揭秘大众ID.4的高压系统

特斯拉Model 3的BMS系统

ISO 26262中的安全分析:FMEA、FMEDA与FTA

从工程师角度看上汽掌门人谈到的与华为的合作

详解特斯拉FSD芯片的解决方案

结合AUTOSAR和DDS实现灵活的车辆架构

分享不易,恳请点个【再看】
汽车ECU开发 专注于汽车电子ECU软件开发,技术分享。
评论 (0)
  • ​CS6212是一款可分别用于USB Type-C主机/显示端口源应用的带重定时的有源开关。这设备符合USB 3.2标准版本1.0和USB Type-C标准上的VESA DisplayPort Alt模式 1.0版,支持通过GPIO或12C进行灵活的模式切换。此设备支持USB 3.2第2x1代 运行速度高达10Gbps,DisplayPort 1.4运行速度高达HBR3 8.1Gbps。CS6212管脚分布及功能定义:CS6212支持重定时器训练,并支持USB 3.2标准中定义的状态状态机(RT
    QQ1540182856 2025-03-07 10:09 166浏览
  • 深圳触觉智能SOM3506核心板现已上市,搭载瑞芯微RK3506B/J超低功耗处理器(1.5GHz三核A7+M0),低功耗满载仅0.7W,支持40℃~85℃工作环境,即日起宽温级59元/工业级68元,特价开售!芯片介绍RK3506是瑞芯微Rockchip在2024年第四季度全新推出的Arm嵌入式芯片平台,三核Cortex-A7+单核Cortex-M0多核异构设计,CPU频率达1.5Ghz, M0 MCU为200Mhz。RK3506适用场景简介工业控制‌:RK3506适用于工业控制、工业通信、人机
    Industio_触觉智能 2025-03-07 10:03 165浏览
  • 多人同时共享相同无线网络,以下场景是否是您熟悉的日常?姐姐:「妈~我在房间在线上课,影音一直断断续续的怎么上课啊!」奶奶:「媳妇啊~我在在线追剧,影片一直卡卡的,实在让人生气!」除此之外,同时间有老公在跟客户开在线会议,还有弟弟在玩在线游戏,而妈妈自己其实也在客厅追剧,同时间加总起来,共有五个人同时使用这个网络!我们不论是在家里、咖啡厅、餐厅、商场或是公司,都会面临到周遭充斥着非常多的无线路由器(AP),若同时间每位使用者透过手机、平板或是笔电连接到相同的一个网络,可想而知网络上的壅塞及相互干扰
    百佳泰测试实验室 2025-03-06 16:50 162浏览
  • 在企业管理和职场环境中,权力是一个常被提及却又让人感到微妙的话题。有人觉得它充满吸引力,有人却对它避之不及。然而,不管你对权力的态度如何,理解它、掌握它,甚至善用它,都是职场成功的重要一环。今天,我们就来深入探讨权力的本质,特别是个人权力和社会权力的区别,以及如何在职场中逐步建立属于自己的影响力。权力的两种面貌:你掌控自己,还是掌控他人?说到权力,首先要区分它的两种类型。个人权力是你对自己生活的掌控感。比如,你能自由决定自己的职业方向,不用总是请示他人。这种权力让人感到踏实和满足,是我们在生活中
    优思学院 2025-03-07 15:56 216浏览
  • 深圳触觉智能RK3506开发板现已上市,开启预售!搭载瑞芯微RK3506B/J超低功耗工业处理器(1.5GHz三核A7+M0,主频1.5GHz);支持1280×1280显示、双百兆网口、星闪无线三模,板载高达2路CAN FD与5路串口。RK3506适用场景简介工业控制‌:RK3506适用于工业控制、工业通信、人机交互等应用场景。其多核异构架构(3xCortex-A7+Cortex-M0)和外设接口丰富,支持Buildroot、Yocto系统,适合轻量级HMI应用‌。‌工业通信‌:RK3506均支
    Industio_触觉智能 2025-03-07 10:04 136浏览
  • 一、系统概述MYD-LD25X搭载的Debian系统包含以太网、WIFI/BT、USB、RS485、RS232、CAN、AUDIO、HDMI显示和摄像头等功能,同时也集成了XFCE轻量化桌面、VNC远程操控、SWITCH网络交换和TSN时间敏感网络功能,为工业设备赋予“超强算力+实时响应+极简运维”的体验!类别名称描述源码TF-AArm Trusted Firmware 2.8OP-TEEOP-TEE 3.19BootloaderU-boot 2022.10KernelLinux Ke
    米尔电子嵌入式 2025-03-07 14:08 250浏览
  • 服务器应用环境与客户需求PCIe 5.0高速接口技术的成熟驱动着生成式AI与高效能运算等相关应用蓬勃发展。在随着企业对服务器性能的要求日益严苛,服务器更新换代的周期也持续加快。在此背景下,白牌与DIY(Do It Yourself)服务器市场迎来了新的发展契机,但同时也面临着更趋复杂的技术挑战。传统上,白牌与DIY服务器以其高度客制化与成本效益优势受到市场青睐。然而,随着PCIe 5.0等高速技术的导入,服务器系统的复杂度大幅提升,对组装技术与组件兼容性也就提出更高的要求。举个简单的例子来说,P
    百佳泰测试实验室 2025-03-06 17:00 169浏览
  • Sub-GHz,即工作频段低于1GHz的无线通信技术,常见频段有315MHz、433MHz、868MHz与915MHz等。其可借助无线电波在自由空间传播的特性,把数据调制到射频载波上进行传输,达成物联网设备间的无线通信,是物联网设备实现高效、稳定、无缝交互的“通信基石”。典型射频信号(无线电波)收发电路简示在工业自动化、智慧城市、智慧农业与智能家居等物联网领域中,LoRa、Wi-SUN、Z-Wave、Sigfox等工业级通信协议大多运行在Sub-GHz频段。而正是通过Sub-GHz射频技术,传感
    华普微HOPERF 2025-03-07 11:39 167浏览
  • 近年来,越来越多的企业在5S管理的基础上,开始追求6S、7S甚至8S管理,仿佛S越多,管理就越先进,企业就越优秀。于是,6S增加了“安全”,7S又加上了“节约”,8S甚至引入了“学习”……看似更加全面,实则很多企业只是机械地增加S,却忽略了管理的核心目标:提升效率、降低浪费、优化工作环境。优思学院认为,5S本身已经是一套成熟的精益管理工具,它的核心理念不仅简单高效,而且易于实施和推广。如果企业只是为了赶时髦,盲目增加S,而没有真正理解5S的本质,那么这些额外的“S”很可能会变成管理上的负担,而不
    优思学院 2025-03-07 12:43 207浏览
  • 文/Leon编辑/cc孙聪颖2025年全国两会进行时,作为“十四五”规划收官之年,本届两会释放出坚定目标、稳中求进、以进促稳等信号。其中,企业家们的建议备受关注,关系到民营经济在2025年的走向。作为国内科技制造业的“老兵”,全国人大代表、TCL集团创始人及董事长李东生在本届两会中提出三份代表建议,包括《关于优化中国科技制造业融资环境的建议》、《关于加强AI深度伪造欺诈管理的建议》和《关于降低灵活就业人员社会保险参保门槛的建议》,表现出对科技制造、AI发展和劳动者保障方面的关注。会后,李东生接受
    华尔街科技眼 2025-03-06 19:41 149浏览
  •        深夜的公园里,当路灯熄灭后,传统监控摄像头只能拍出模糊的黑白画面,仿佛老式胶片电影里的场景。而搭载为旌瑶光ISP的摄像头,却能像猫科动物一样,在几乎全黑的环境中捕捉到行人衣服的颜色、树叶的纹理,甚至快速跑动的宠物狗毛发细节。这种从“黑白默片”到“全彩4K电影”的跨越,背后是为旌瑶光ISP对传统红外补光技术的颠覆性创新。一、传统方案之困:被红外光“绑架”的夜视世界        传统安防摄像头依赖红外
    中科领创 2025-03-07 16:50 335浏览
  • ASL6328芯片支持高达 6.0 Gbps 运行速率的交流和直流耦合输入T-MDS 信号,具备可编程均衡和抖动清理功能。ASL6328 是一款单端口 HDMI/DVI 电平转换 / 中继器,具有重新定时功能。它包含 TypeC双模式 DP 线缆适配器寄存器,可用于识别线缆适配器的性能。抖动清理 PLL(锁相环)能够消除输入抖动,并完全重置系统抖动容限,因此能更好地满足更高数据速率下 HDMI 抖动合规性要求。设备的运行和配置可通过引脚设置或 I2C 总线实现。自动断电和静噪功能提供了灵活的电
    QQ1540182856 2025-03-06 14:26 137浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦