随着技术的进步,摩托车正变得越来越智能化,它们不仅能够提供更舒适的驾驶体验,还能通过网络连接提供各种服务和功能。它们已经不仅仅是简单的交通工具,而是变成了移动的计算设备,携带着大量个人数据和敏感信息。但这些智能摩托车真的安全吗?
一起来回顾下在SDC2024上发表的的议题分享:《智能摩托车进化之路》
*以下为速记全文
各位领导,各位嘉宾,大家早上好,我是任建文,来自易特驰。非常荣幸能在这里与大家分享智能摩托车的发展之路。摩托车安全是一个相对较新的话题,我们可以将其视为车联网安全的一个分支。我相信在座的各位对摩托车的网络安全问题是比较感兴趣的。
这次演讲总共会分为三个部分,首先,我将介绍摩托车的智能化水平,让大家了解当前摩托车能实现哪些功能,以及它们具备哪些智能化特点。
其次,我将结合实际情况,带大家感受摩托车目前面临的一些潜在威胁场。
最后,我将探讨摩托车与汽车在网络安全方面的异同,希望能以本次演讲引起摩托车车企对网络安全方面的重视。
一、摩托车智能化水平
在科技快速发展的当下,摩托车行业其实也在经历着一场前所未有的改变,这场改变某种程度上是跟随着汽车行业改变而进行的。
从最初的机械功能,到总线时代的到来,再到如今的软件定义汽车,汽车行业经历了长达数十年的演变。这一趋势其实也深刻影响着摩托车的变化,推动摩托车向更加智能化互联化的发展。
同时摩托车还会有一些自己的特殊性,如摩托车的体积会更小,用户对它的成本的敏感度会更高,用户的一些群体差异和汽车还会有一些区别,它自己的智能化、电气化包括互联化这方面还会有自己独特的路径。
从20世纪90年代中期,摩托车其实就始采用了更先进的电气系统,引入了总线到车辆内部网络里面。近年来,摩托车行业也是引入智能化和网联化的功能,比如智能驾驶、车道预警等等,这在摩托车也已经逐渐成为标准配置,同时也改变了传统摩托车的驾驶体验。
接下来,让我们看一下这两张摩托车的销量图,可以看到摩托车的市场规模在以惊人的速度增长。据行业数据显示,今年摩托车的市场规模预计突破2,200万辆,到2028年则有望突破2,500万辆。
当谈及摩托车时,大家可能会想到经典的机械结构和纯粹的驾驶乐趣。但今天我要告诉大家的是,摩托车其实已经像汽车一样变成了一个高度智能化的移动平台。首先远程控制可以让摩托车变得更加快捷,我们通过手机应用可以远程启动车辆、预热车把手或预热车辆座椅,部分电动机车类,可以用手机召唤车辆,让它自己从a点到达b点。
各种定制骑行功能可以根据你自己的喜好、骑行风格,来调整车辆的性能。云服务相关会让车辆变成一个数据收集、分析的中心,它能够实时去反馈你的骑行数据、骑行习惯,及时更新你的车辆并且在你车辆出现问题时进行远程诊断。
智能车机让摩托车变得更加聪明,里面内置了蓝牙WiFi等,会和你的手机或智能设备,如你的智能头盔进行连接。
摩托车架构图
现在展示的是摩托车的系统架构图。通过云端可以进行车辆控制、OTA升级等,然后GNSS可以为我们提供导航定位,NFC和PKG可以提供我们更加便利的进入方式, WiFi和蓝牙可以让车辆与智能手机或智能设备进行连接。回归到我们摩托车辆内部, TCU其实就是TBOX,可以确保我们车辆和云端进行连接。IVI负责提供了娱乐信息,车内网络其实就是CAN网络和K网络,连接着车辆的各个控制单元。
二、摩托车目前面临的潜在威胁
视频中展示的是一款配备无钥匙启动功能的摩托车,它不仅可以无钥匙启动,还可以通过密码启动。由于密码默认为四位数字,且多为弱口令,安全性不足,这使得车辆极易被盗,甚至被戏称为国内最大的“共享”摩托车品牌。这里可能大家有些疑问,在国内没有盗车案件啊?如果说你上班把车辆停在楼下,有人把你的摩托走,当作免费共享摩托车,你心里也会不舒服对吧。
随着摩托车智能化的发展,我们也面临着一些安全挑战,这些挑战中很大一部分是和汽车类似的,比如无线安全、远程控制、车内网络安全等,同时也会存在摩托车独特的风险点。如摩托车的车机会对外暴露,更易成为攻击目标。大家想想平时在你印象中摩托车是有车机吗?可能很多人会认为没有,其实摩托车是采用了和特斯拉一样的设计,车机和仪表二合一,把仪表作为一个应用程序显示在摩托车屏幕上面。然后其他的问题还包括更加被滥用的信息收集,还有一些配套智能设备涵盖的范围会更加广泛。
大家对摩托车可能不是很了解,我们一起走进摩托车的内部,看一看摩托车内部究竟是个什么样子的,它内部通信用了什么?车辆架构主要是什么样子?
这是某款摩托车的一个拆解图,大家可以看到,更像一个简易版的新能源车。我们从中可以分辨出有汽车中常见的一些TBOX,然后保险盒、OBD口,甚至充电口、BMS和电池等。它的充电口基本沿用了和新能源车上面的充电口一样,所用的通讯协议和充电桩的通讯协议和汽车基本一致。
我们将车辆拆解,右边这张图可以看到摩托车的整车线束,摩托车整车线束还是比较简单的,它的复杂程度和汽车的座舱线束类似。
摩托车内部通信采用什么呢?
有一些传统的摩托车可能会采用K线来通信, K线是半双工异步串行通信,使用一根通信线和一根GND就可以通信;现在越来越多的摩托车使用了和汽车常见的CAN通信。CAN通信是使用双绞线,04年的R1200系列是第一个使用CAN通信的宝马摩托车。
相信大家都应该知道,在汽车上,诊断就是通过些专业设备或者软件对车辆系统进行检测分析,去分析故障的这样一个功能。汽车上的诊断口也就是OBD口,一般在主驾驶的下方。诊断可以用来车辆监测,例如监测车辆的一些车身状态;或者说故障排查,根据故障码找车辆的故障;对车辆配置进行重置,比如改变你的发动机配置等;或者说刷写车辆ECU,刷写车辆ECU的固件。
同样的,摩托车上其实也是有诊断的。图中展示的几种就是我们常见的摩托车诊断口类型。左边这里大家可以看一下,中间三个Pin的就是我刚才谈到的K总线做诊断的,很多人了解UDS诊断,摩托车上的这种基于K线的诊断,叫KDS。我们多方收集发现,越来越多的摩托车诊断口逐渐向汽车的OBD口做靠拢,现在摩托车上CAN总线、K总线,不妨设想一下未来几年内摩托车上出现车载以太网也是有可能的。
在摩托车上的诊断口的位置有几种情况,如在图中显示,第一个可能处在这种车辆座椅下方,也可能处在发动机的下方。还有一些轻便式的摩托车可能会存在座桶里,也可能会存在脚踏处。脚踏处它是有一块塑料板,把那个板子拿掉,其实就可以直接接入车内网络,去修改你的车辆配置等。
这张图片应该很多人熟悉,这其实就是国外偷车贼偷路虎比较常用的一种方法,因为路虎的后覆盖件板是可以被切割的,这样切割出一个小洞,就可以把车辆的CAN总线接出来,进入车辆内部网络,然后去发送CAN消息进行车辆解锁、启动车辆等,实现盗窃车辆。他为什么会采用这种方式?因为路虎后覆盖件切割了,偷车贼偷盗车辆之后,把车辆再次售卖时维修成本会很低,这种攻击手法其实放到摩托车上会显得更加容易。
部分摩托车没有外观包裹,找到摩托车CAN总线,接入摩托车的车内网络发送启动数据,就可以实现车辆盗窃,这张图就是读取到的一些CAN数据。这张是我们对某款摩托车CAN数据解析的一个表格,这里面可以看到,包括一些熄火信号,上下电信号,后面还有一些转速、刹车信号等都是可以看到的。
然后我们回到车辆架构这里,右边这张图是某款汽车的电子架构,汽车电子架构一般都是以中央网关为中心的域集中式架构,这种架构中汽车电子系统被中央网关划分为几个功能域,起到CAN网络隔离和以太网隔离的作用。
在摩托车电子架构中,我们按照前面拆解到的一个摩托车整车线束,就可以得出摩托车的架构基本就是这种总线型架构,架构会比较简单,没有域的划分,车辆的所有通信都是在一起的,其实这是一种极其不安全的架构方式。
大家都知道汽车上是有中央网关的,摩托车上是不是也会有这种中央网关去起一个网络隔离的作用?很遗憾,我们研究发现是只有极少部分车型是有网关的,据了解只有春风和宝马的部分车型是有网关,把所有CAN数据进行网络隔离。
接下来,带大家看一下摩托车部分常见的漏洞,然后这里会有汽车常见的漏洞比较重合,大多集中在车机部分,就不会花费太多的时间来描述。
首先第一个系统安全方面,摩托车如车机使用安卓系统,它可能会有一些无线ADB的开放,各类端口开放、车机应用程序的安全问题,还有一些各类的未授权等。第二个就是WiFi、蓝牙,摩托车的WiFi、蓝牙和汽车的WiFi、蓝牙问题类似,只不过摩托车更处于一个裸奔的状态。我们甚至发现部分摩托车可以直接通过蓝牙去安装一些恶意程序;剩下就是配套装备的问题,如摩托车的智能头盔、各种显示或连接类的未认证问题,还有车辆防盗系统的安全问题,这个问题就是我们车辆上面的一些射频信号的一些重放、中继或算法的各种问题。
接下来会以某款摩托车TBOX案例简单分析一下,看一下摩托车到底是怎么从云端到进行远程控车的。
首先我们通过闲鱼淘到某款摩托车的TBOX,该TBOX是车企原装,但同时也可后装到该OEM的老款车型上。到手后我们发现,摩托车的TBOX其实还是比较小的,它的功能和汽车相比就不会这么复杂。物理外壳如图中展示这样,可以看到它线束接口,和我们刚才讲到的摩托车诊断口类似,这一点是为了方便它可以后装到一些老款车型上。然后我们对线束接口进行分析,发现它pin的定义中除了正负、ACC线之外,通信线分别有CAN_H、CAN_L和 K总线。
对其进行拆解后,拆解发现它有一块 PCB、备用电池和定位芯片,然后PCB的正反面就如图中所示,除了板子上的调试口外,还有两个接出来的线束口,一个是刚才提到的TBOX线束,另一个是它自己的调试接口。将 PCB板进行分析:SOC是使用移远的AG35, MCU是芯旺微 KF32A,FLASH是使用了W25Q。
接下来就是我们去调试、试引脚,去试一下各芯片和板子上面的引脚,然后找调试接口和提固件的部分。
最终通过swd访问ahb总线,提出了部分固件,对这部分固件去逆向分析,发现这里有一个严重问题,并不是通过调用服务接口来控制车辆的,这里面的逻辑是通过远程下发CAN数据到TBOX上,进行控制车辆。这里重写了一下,大约就是这样一个逻辑,很简单把CAN数据发到车辆,车辆TBOX转发到车内网络,最终实现刚才看到那些功能。同时TBOX会把所有的车辆通信数据上传到云端,通过Websocket接入。
在通信数据内发现deviceNum是十五位的数字,不太好定义目标,又开启了另一条攻击路径研究,最终可以实现远程控车的影响。
整个案例特别简单,我们简单回顾一下,从调试口到提固件,对固件分析,最终两条攻击路径,一条Websocket可以接入,发送CAN数据控制指定车辆,另一条的话通过云端去远程控制该品牌下的所有车辆,可以实现包括启动、解锁或者直接下发CAN数据等效果。
三、摩托车车企需引起重视
摩托车的防护现在还处于一个很薄弱的阶段,面对智能摩托车未来发展,首先第需要政府去构建全面的摩托车网络安全标准。之前是有消息说,R155要把摩托车纳入范围之内的,国内相关一些标准研究机构也需要把摩托车纳入考虑范围之内;同时也需要摩托车的OEM去承担车企责任,构建全生命周期的摩托车网络安全体系,加强车辆网络安全架构设计,像提到的摩托车电子电气架构就处于一个很不安全的水平。
同时还要摩托车企业把握好网络安全基线,在安全和业务之间做好平衡,摩托车的特性和汽车还是有一点区别。所以说我们还是要在安全和业务之间去做好中间的平衡问题,不要让安全裸奔。
只有这样,我们才能去确保我们智能摩托车进化之路可以走得更远更好!感谢大家的聆听,希望我的分享对大家可以有所启发。