车机简单介绍
In-Vehicle Infotainment 简称 IVI,车载娱乐信息系统,是集成于汽车中控台的一 台智能多媒体设备,俗称汽车导航。如今,汽车导航产品越来越普遍,功能也越来 越多,除了基本的 CD/收音机,GPS 导航,蓝牙,USB/AUX,发展趋势呈智能化、 网络化发展,Wi-Fi,WCDMA 也逐步得到应用。汽车导航现在已不再是高配车专有的配置,未来可能会是标准配置,可谓市场巨大。
随着相关车载软硬件的演进和车联网服务形式的不断创新,现在的IVI系统已逐渐覆盖了导航、音乐、视频、语音识别、电话、信息交互等内容。同时,在车内IVI系统的体系架构的演进上,IVI系统与车身电子、ADAS等系统之间逐渐呈现硬件一体化、软件互操作的发展趋势。
在IVI系统的操作系统(Operating System,简称OS)中,目前应用比较广泛的主要包括了QNX、Android,Windows和Linux (私有Linux和开源Linux)。众所周知,从全球IVI系统的OS市场份额来看,QNX的出货量处于主导地位(在2015年到2017年占据全球IVI系统OS的约52%-55%的市场份额),而某些始于上世纪80年代的实时操作系统(RTOS系统,如VxWorks、Integrity、T-Engine、μItron等)也仍然在某些车型上应用,也并未完全退出历史的舞台。
个人从业经历来看国内众多国产品牌车厂中车机系统用的比较多的Android和开源Linux,WinCE和私有Linux一般在合资车和进口车的中高端车型较多些。本文列举的分析方法主要针对的是Android和开源Linux。
Android车机分析
个人将车机的分析分三类:
软件安全:车机操作系统安全分析、车机应用软件安全分析
硬件安全:车机硬件安全分析
通信安全:车机与云端通信分析、车机与CAN交互分析、车机板载模块间通信分析
分析车机的入口点
寻找其可以接入车机内部的入口,通常是软硬件方面同时入手。软件上寻找开发商用于调试工厂模式这点类似于渗透银行终端、地铁售票机、各种触摸屏的广告机器,通常在其设置或类似功能、屏幕的四角连续点击即可进入工厂模式;若车机具有热点分享功能,则打开其功能操作笔记本连接至车机使用端口扫描工具扫描车机可能会有意想不到的惊奇发现。硬件上可检测开发商是否为方便调试留有或忘记去除调试用的阵脚,或者尝试将车机USB连接电脑是否可直接adb shell至车机。
上述的操作为基本的探测车机的入口点的方法,一般情况下经过上述方法测试肯定会进入车机,但不排除有特殊情况。这时候就需要做些稍微复杂些的操作了。
准备一台刷写OPENWRT的路由器(就是感觉它操作方便),在上面方便抓包。笔记本电脑和车机连接该网络,寻找车机和访问网络的功能,如应用升级、配置手册升级服务器、或者其他下载功能的地方,结合路由器抓包流量分析出下载链接后,则同一局域网下尝试对IVI进行欺骗攻击,将下载的应用替换成ROOT工具或者其他原创管理工具即可。
基本上经过上面的入口点检测操作,我们能够访问车机系统了。如果还是不行,同志继续努力吧。
信息收集(固件提取)
最好将/system/
目录下的文件打包提取到本地,有个快速定位车机开发商应用的技巧,通常都会以开发商英文名或者其他特殊的字符作为应用的前缀或者后缀
将/etc
目录下的文件也保存到本地,注意细致观察配置文件
观察/tmp
目录下的文件将其
寻找查看/backup和/cache
目录观察寻找系统升级文件。如果能找到升级包上最好了。
必要调试操作
开启adbd
重新挂在目录使其可读可写
ADB_KEY的准备
为动态调试方便可向车机中传入IDA、Frida的agent
不定期更新