2023年4月20-21日盖世汽车与上海市国际展览(集团)有限公司(SIEC)共同主办第二届中国汽车信息安全与数据安全大会上,小米科技智能终端安全实验室负责人罗丁表示,攻防中心在于座舱与通信。因为功能域划分各家有差异,座舱和通信属于常用功能域;同时座舱与外交互,是第一攻击入口。罗丁表示,小米对此进行了逆向分析思路和正向安全建设的攻防探索。并强调在实践探索上,重点关注用户的数据安全与隐私保护,例如识别IVI存储芯片的未加密风险。
“通过技术手段提取固件后,我们对IVI调试认证常见方案进行了攻防分析。” 罗丁称,“此外,我们还进行了突破座舱域的探索尝试逃逸座舱的虚拟化容器,例如利用qnx系统发送can数据包,利用车载以太网攻破T-Box等。”
罗丁 | 小米科技智能终端安全实验室负责人
以下为演讲内容整理:
攻防的重心与思路
目前智能网联汽车的网络安全问题高度频发,攻防的重心为什么是座舱与通信?一是功能域划分各家有差异,座舱和通信属于常用功能域;二是成本较低可以随意组合;三是功能复杂,攻击面多;四是与外交互,成为第一攻击入口。
逆向分析思路总结为四点:一是硬件分析,包括拆解以及芯片封装的型号和点位分析等;二是固件提取,芯片夺取调试以及通过其他的调试读取固件;三是软件逆向,加密固件的解密、运行程序分析等;四是漏洞挖掘与利用,如通过fuzz、侧信道攻击等方式寻找漏洞等。
正向安全建设思路也分为四点:一是通过基线和规范的制定给业务和安全工作组进行指导规范;二是通过自动化平台建设,让其有自动卡点的流程存在;三是制定安全上线流程,覆盖全面车端产品分析,包括设计、测试等阶段需要的漏洞修复和安全监控;四是产品全生命周期管控,可以结合最新AIGC或ChatGPT为工程师提效,通过它编写文案的能力和攻防思路,可以提高代码立项的可读性,甚至可以查找漏洞。
实践案例验证数据钥匙的漏洞
在固件的调试方面,以比亚迪为例,通过多次点击就可以把ADB调试出来,因其对后续的安全防御体系的自信,开放权限较为透明。延伸到下面有三类:一是硬编码的Key,这种较为基础,可以直接绕过认证;二是设计了相对复杂的算法,要生成一个脚本进行调试;三是把调试进程写了个死循环,没有办法从座舱的界面调试程序。在PCB版上有调试焊点,接上去也能调试。
基于此想到了可以设计一套基于PKI证书及授权,或者参考比亚迪不依赖调试,以整个安全体系来做。做完这些相当于拿到了IVI主机的调试权限,但这仅是普通的权限,并不能达到最终的效果,想要提升可以利用哪些手段?例如车机里的特权app存在代码执行问题,或者系统存在不安全启动配置。可以通过代码注入完成提权。有了高权限就可以继续下一步跳出座舱域,甚至可以攻击动力域。
提权完成后我们发现当前shell感觉像是在虚拟机中,整个安全设计是很先进的。这种高通生平台常见的一体化主机架构即满足了合规要求又实现了降本还提升了安全性,现阶段使用频率很高。因为在虚拟机的防护存在,想要攻击其他域,就必须先逃逸虚拟机。可以利用系统漏洞、错误配置、虚拟机监控程序漏洞、侧信道等攻击手段完成逃逸。
跳出座舱域之后,下一步最有攻击价值的是什么?模拟黑客思维首先想到的是T-BOX,为它里面有控车的相关进程,以及无钥匙系统的模块,刚才的方式是通过Can来攻击T-BOX,其他方式包括蓝牙、Wifi、蜂窝网络、以及以太网等。这里的蓝牙需要注意,因为其有两个模块,最终得到的效果也有所区别。
谈及T-BOX就涉及到了非常重要的数字钥匙,在没有任何权限的情况下,先攻击数字钥匙模块来解锁车辆,然后再进行下一步的攻击包括远程控制车辆等。那么数字钥匙会面临哪些问题?比如实体也有的RF和BLE以及UWB,他们会面临逻辑漏洞、证书秘钥窃取等问题,都是攻击者喜欢研究和容易出问题的地方。
第一个案例是传统的油车后装远程控制方案,是通过VIN做绑定,功能包括开门开锁远程开空调等,但它没有与用户身份绑定,导致只要拿到车辆VIN码例如看了车挡风的VN就可以做任意的解锁;第二个案例是某车手机APP的蓝牙解锁功能,它存在一个逻辑漏洞,可以任意的窃取其APP的蓝牙秘钥开锁凭证来解锁;第三个案例是T-BOX和TSP做MQTT交互,有其固定的算法在其中,可以拿到设备号之后伪造T-BOX和车辆登陆,相当于失控状态;第四个案例T-BOX系统有进程做任意端口监听,且蜂窝的网络在运营商侧没有做隔离,打掉了其中一个T-BOX,可以跳板攻击其他T-BOX达到远程控车的目的。
首先讲一下车为什么会被偷?因为车的无钥匙系统应用,也就是数字钥匙的功能,车主习惯性的把蓝牙钥匙在门口,盗窃者根据这个习惯做了破解方案一个攻击者在车旁边中继车的蓝牙模块,另一个攻击者去到车主门口中继蓝牙钥匙的模块,相当于是做信号放大,这样车辆就以为它的蓝牙钥匙已经靠近就会完成解锁。
在欧美国家这类事件频发,那车是怎么消失的?一个是拆解零件去卖,另一个是可以通过技术手段禁用远程定位。然而在车机里直接禁用远程定位是没有用的,这只是IVI给用户的一个功能。在车联网的后台管理端,车主依然可以看到车辆的定位。但如果入侵到T-BOX里面,找到定位相关的进程和模块并破击,这时就可以形成车主和车厂无法定位的情况。嫌麻烦直接用无线电屏蔽器也是可以的。如何防御的问题上,比如从供应链的角度提供一套可以进行限制的方案,并且第三方的外设也可以考虑,例如生物识别等技术。
自动化的思路
这里面包含了已经实现和正在建设中的,小米已有的手机×IOT的扫描矩阵,覆盖了安卓应用、IOS应用、小程序等,也包括了软件、硬件和后台的移动API,App的扫描系统简称appscan,也就是移动安全应用与隐私的扫描平台,集成了动态和静态两大引擎,包括在静态、动态引擎上可以做隐私政策的分析,还可以做自动化模拟点击、网络流量的分析等,还有海量的关联库去支撑这两个引擎,包括隐私的规则库,会依据相关的法律法规不断升级规则库。
第二个库,是SDK和APP资产库,包括了市面上流行的几千个SDK以及通过聚类生成的十万SDK信息来区分哪些是APP厂商自有的漏洞,哪些是归属第三方供应链的漏洞。并且我们的漏洞库也一直在持续的迭代开发中。这个是APP的扫描平台,之前应用于手机APP和系统APP,现阶段可以直接复用到车机APP和车主APP的扫描。
图源:演讲嘉宾材料
第二个平台是IOT扫描平台,内部称之为黑灯,我认为该平台具备了行业首例3D安全隐私分析的能力,除了做固件分析、流量抓取,还针对自家做了自定义的安全插件,包括做BLE相关的攻防和中继测试,可以用相关的衍生插件来做探测。
因为这是一个硬件平台,还需要自己攒硬件画电路图,复杂度也会较高。之前更多是应用于家用IOT场景,比如小爱音箱、小米空气净化器,小米电视等,后面计划延伸向车载、ECU和车机系统,通过它来进行车载硬件和系统的自动化测试。
除了上述能够直接迁移复用的,还有一些业务提过来的需求,我们发现并不能直接应用的,比如车端的数据与安全隐私的检测。首先第一个需求是跨境的网络,不论是境外还是境内,双向的都是不允许的。但车里的零部件既有国内又有国外的,很难去做,所以第一想到的是用伪基站方式,虽然其通用性强,但流量跨境归属于哪个模块还是未知的,所以下一阶段的思路是在T-BOX上做一些操作,比如T-BOX流量镜像,这样就可以关联进程。
因为这个数据解密还不成熟,后续会考虑用T-BOX做一些系统插件、模块关联和数据解密。在复杂的域控里面,比如车机做插桩就可以进一步做数据解密和数据标记,最后阶段较为理想化一些,就是把数据解密、数据标记之后,再和前面建设的资产互做关联。这种流程称作是自动化的闭环,这就是整个车端数据安全与隐私自动化检测的建设思路。