AI智能总结
危 险 游 戏:智 能 驾 驶 一 线 攻 防 实 战 曾 颖 涛 、 高 树 鹏百 度 安 全 关于 XTeam攻防实验室致力于各类知名软件、知名硬件设备的漏洞挖掘,在车安全、AI安全、黑产打击、Web攻防等前沿攻防技术方向研究工作 团队连续多年在BlackHat、DefCon、HITB、BlueHat等国际安全会议上分享相关研究成果,在多届GeekPwn、补天杯、天府杯安全赛事获奖并取得名次 安全研究过程中曾发现Apple、微软、Google、Adobe公司等近200个漏洞,帮助诸多企业修复漏洞并获得官方公开致谢 目录 •智驾前期准备,获取硬件、资料渠道•智驾域控硬件架构介绍•智驾域控网络攻击面分析 •传统汽车到智驾网络架构演化•供应商风险导致车身CAN沦陷控车 •智驾模型、加密、逆向分析、仿真推理•智驾芯片TEE安全机制分析 •V2X协议攻击面分析 为什么研究智能汽车 •复杂度越高、系统越多的设备,攻击目标越多,漏洞越多•某CCC中央计算机群•4Ubuntu+1Android+1QNX+2TC399MCU •越平时难以接触到的设备,漏洞越多•汽车VS家庭路由器,物料昂贵,研究门槛高 •供应链越多的设备,漏洞越多•例如T-Box:高通4G基带、移远4G模块、Tier1慧翰微、车厂•每个供应链可能都会有自己的端口监听进程 •智能汽车反而安全性更弱,如果有突破口,极其脆弱•标品VS每家车厂自成体系:漏洞数量影响面增多 •可能涉及生命财产安全:控车 为什么研究智能汽车 安全研究员新的方向:•车上真实模型的对抗研究,提取成熟应用模型,离线在GPU集群跑 •车上使用识别框架(OCC、端到端)的安全风险分析、已有落地技术优化•更多逆向分析目标:•Android端:系统服务、车厂&第三方应用 •QNX端:车厂服务、QNX封闭系统的漏洞挖掘、虚拟化安全•嵌入式Linux端:网关、Tbox中的二进制服务•安全措施:OPTEE、加密服务、安全引导、签名验证、IDPS•MCU:固件提取、TI、瑞萨、NXP逆向分析•更多数据: •车上网络数据流的嗅探、分析(例如IDPS、隐私泄露分析) •传感器的数据获取、伪造、仿真(例如摄像头数据GSML、整车CAN信号、激光雷达)•进程间、域控制器间数据交互分析(SOMEIP、mqtt、zmq)•一些其他机会: •行车数据取证与事故分析 •国内外车辆数据外传分析(隐私数据、非法测绘)•新的传感器、识别技术在自动驾驶中的效果(效果对比,例如热成像、红外) 设备、资料获取 获取研究目标硬件 获取研究目标硬件 获取目标设备资料 可通过各类渠道获取各大主机厂商的维修手册、电路图 智驾域控部件位置 车辆维修手册、装配位置、电路图 获取目标设备资料 获取目标设备资料 汽车域控提取DBC文件 智能汽车结构分析 整车结构 •CDCU作为整车中央控制器:•自动驾驶域控制器与车机一体结构,两张PCB电路板一体•核心控车在左控制器•8295车载娱乐在右控制器•通信:•TBOX提供网络•CDCU作为以太网交换中心(红实线)、所有路CAN中心 网关控制器硬件架构 •整车最核心的控制部件•连接各路CAN总线•动力•底盘•车身•娱乐•诊断•高速、低速、LIN、FlexRay、Ethernet •传统VS现代智能车•传统结构:单MCU•现代结构:MCU+Linux+以太网控制器 •攻击风险:•获取shell,底层控制整车 •Shell途径:与自动驾驶域控制器类似•通过以太网进入车内网•TBox、IVI等作为跳板 网关控制器硬件架构 自动驾驶控制器硬件架构 •一般为单、双AISoc+MCU结构•部分产品存在异构(例如地平线+TI方案)•为满足ASIL-D要求,控车数据由soc发给MCU,MCU下发CAN信号•高端智驾方案,一般都使用UFS+EMMC存储结构•板上大量串行、解串器的使用•摄像头输入口需要通过解串器,把两线信号解码为摄像头的视频CSI信号•摄像头数据(例如停车时)需要通过串行器进行编码为DSI信号发给车机 •车载以太网的大量使用:•只需要两线,抗干扰强 控车路径举例 •TBox是最大的入口风险•搞定TBox,成功一半•网络互通,潜在目标:•车机(QNX、Android)•自动驾驶域控制器(2Ubuntu)•网关(Linux)、左右域控制器(Linux)、流媒体后视镜、后排娱乐、投影仪、投影大灯、HUD、行车记录仪。。。。。 权限获取与漏洞挖掘 准备工作-获取文件系统、shell 准备工作-获取文件系统、shell 准备工作-获取文件系统、shell •读取/etc/shadow即可进行暴利破解,例如默认密码nvidia•写入已知密码、密钥 •分析密钥算法 •当前均未启用全盘加密、SELinux等防护,攻击破解均可实现 准备工作-获取文件系统、shell •UFS无法挂载•写入等长公钥 •注意需要计算好UFS的目标LUN、分区、偏移 准备工作-获取网络权限 实战分析案例 从网络通信层→车辆控制执行层→模型算法层→芯片安全层→车路协同层 “智能驾驶的安全,不仅在路上,更在网络、芯片与算法的每一环。” 智驾域控网络侧风险 TBoxRCE风险 某车系型处理set_remotelog请求时,存在命令注入 某Tier1厂商Tbox产品TCUxxx_4G进程,handleMcuxxx函数memcpy存在栈溢出漏洞,影响多个品牌全系车型 某车型v12长度只有0x100字节,而memcpy时v4值来自用户输入,可以导致溢出 某Tier1厂商Tbox产品vxxxx.jsonservice进程自实现了FTP协议,存在命令注入问题,影响多个品牌车型 汽车CAN报文解析 在相同网络内的ECU之间可互相广播CAN报文,通过仅报文ID进行解析 黑盒:重放canplayer、candump、cansniffer二分法、物理联动分析报文字段白盒:从ECU中提取DBC文件,解析报文字段、校验算法等 域控程序DBC 零部件风险导致车身网络沦陷 (相关安全问题已披露厂商或已被修复!) 控车攻击链路 攻击链路:构造合法固件,OAD实现芯片任意代码执行CC2642-TCAN4550-构造任意CAN ID报文可近场发任意车身网络中ECU报文例如打开车门、发起泊车指令 存在UDS升级VCU、GW器件横向至动力域路径 近场未授权控车演示 智驾模型保护机制 模型算法是智驾系统最核心的知识产权 智驾域控模型加密机制 密钥的两个存放目录路径 vblkdev52设备文件,推测为Nvidia Tegra系统提供的虚拟设备,推测为Nvidia的安全存储机制 通过该密钥,可以顺利完成模型解密 无法通过上述的两个路径拿到密钥,则系统会启用程序的备份key,内容为8960...避开了安全存储限制,猜测是为了向下兼容 DK(UDK(U智驾模型仿真推理难点 DriveOrinDrive OS(QNX / Linux +DriveWorks + Drive Orin RTOS)封闭系统,需要NDA,不对个人零售,正常渠道获取不到资料RT+DeepStRT+DeepSt Jetson OrinJetPackSDK(UbuntuLinux + CUDA + TensorRT)完全开放,可root、刷系统、编译驱动 智驾模型仿真推理难点 3.Drive OS使用特供版本编译推理模型, NVIDIA TensorRT模型推理对版本苛刻 1.TRT版本无法向下兼容 2.几个小版本差别都无法加载模型 TensorRT开源版本无法兼容加载 解决模型仿真推理 迁移域控模型推理环境,例如编译后的TensorRT环境、以及相关插件即可在Jetson Orin上进行推理 智驾模型分析 常见模型格式为:.trt/.hbm/.onnx/.bin/.caffemodel/.pt/.pth/.pb/.om hrt_model_exec工具识别 netron可视化智驾模型,可以简单了解模型结构如果模型没有去掉原数据,可以获取到一些模型信息例如检出的分类等否则需要逆域控推理、感知程序 trtexec模拟推理识别 智驾模型感知程序逆向 智驾模型推理流程 •模型输入预处理将模拟的图片或视频转换成 定义好的尺寸例384*384,视频NV12处理 •模型推理函数构建模型的推理环境,例如 TensorRT、DriveOS,将转化后数据调用接口进行推理 •推理结果后处理处理bbox坐标、conf置信度、cls类别例如画框选类别,NMS合并检测框等 智驾端到端模型分析 vilt模型输出3130词表,根据词表内容并非只有yes、no,似乎能像人类一样思考所看到的场景 智驾端到端模型分析 vilt模型在思考车辆当前是否为地下停车场、隧道、高架桥场景,OCR模型识别交通标识、限速、公交道等标识 智驾芯片TEE安全机制 从软件加密到硬件信任,我们把视角拉到更底层:芯片的TEE可信执行环境 智驾芯片TEE环境介绍 •什么是TEE? 全称为“可信执行环境”(Trusted Execution Environment),是位于主处理器中的一个独立的安全区域 • TEE的角色? TEE为运行在其中的应用程序提供了一个隔离的环境以保护应用程序和数据免受其他软件的攻击。TEE常用于处理敏感的数据,如密码、密钥、生物识别数据等。即使设备的主操作系统被攻击,TEE中保存的敏感数据和安全策略也不会受到影响 •什么是Normal World?指设备的主操作系统环境,包括运行的应用程序和操作系统本身。这个环境通常包含用户的各种应用程序和 服务,但是它并不被认为是安全的,因为它可能受到各种各样的攻击 •什么是CA(Client Application)?这些应用程序运行在设备的主操作系统(即“Normal World”)中,并通过特定的API与TEE通信 •什么是TA(Trusted Application)?TA是运行在Secure World(安全世界)中、由TEE(可信任执行环境)管理的安全应用程序来源:2023 SDC李中权《深入Android可信应用漏洞挖掘》 OP-TEE例程 域控TEE环境基于OP-TEE基础开发,除了无符号信息,结构一致 智驾芯片基于OP-TEE二次开发,在open_session过程中增加了限制,防止用户空间任意的CA去调用TA中函数 v7变量为关键点,kernel代码在open session的过程中,增加了一个偏移为0x178的数据参数在el3中,tee固件会判断该型数据参数的值是否正确,以决定session是否合法 智驾芯片TEE缺陷 secsave_store整数溢出 特权打开调试功能 通过TA中的特权函数实现任意地址读 智驾V2X安全分析 从‘可信计算’到‘可信协同’,进入V2X安全分析 智驾V2X安全分析 V2X是车与车、人、路、云等万物互联的通信技术,V2X在智能驾驶绕不开的一个点,这些领先的技术在带来便利的同时也引入了新的风险 SPAT(交通信号灯与时序消息):传递交通信号灯相位状态,每个信号状态持续的时间等 BSM(基础安全消息):传递刹车/转向/刹车/双闪/车辆位置等参数,用于变道预警,视觉盲区,路口碰撞预警 RSM(路测安全消息):例如车辆发生事故,车辆异常等 RSI(路测信息):传递道路的信息,交通堵塞,限速标志 MAP(地图信息):用于描述区域道路信息,道路宽度,车道限速 V2X信号分析设备 C-V2X PC5(LTE-V)采用Sidelink模式QPSK调制国内V2X无线频段工作在5905Mhz~5925Mhz V2X信息泄漏风险 谢谢 特别致谢张烨(David)、朱建尧(胡一米)师傅!