整车架构讲解
协议栈讲解
智能汽车协议栈的详细结构,分为应用层、协议层和物理层。在应用层,包括监控平台、PKI平台、自动泊车、辅助驾驶、数字钥匙、远程控车、卡片钥匙、主动刹车、工程模式、carLink、日志服务、诊断服务、U盘升级、ECALL、SSH、Telnet、ADB、Backdoor和OTA等功能模块。在协议层,涵盖了GATT、DDS、MQTT、SOME IP、DOIP、RPC、IPC、J1939、CAN/FD、UDS、XCP、CCP、E2E、SecOC、NFC、LVDS、RTSP、RS485/232等多种通信协议。在物理层,则涉及CAN/FD、Lin、Flexy、以太网、ETH、Wi-Fi、BLE、GPS、RF、4G/5G、UWB、USB、MCU、FLASH、EMMC、HSM、JTAG和UART等硬件接口和技术标准。整个协议栈展示了智能汽车系统中各层次的功能模块和通信机制,为理解和优化系统的安全性与性能提供了全面的视角。
攻击点分析
智能汽车的多种攻击点,包括Wi-Fi、USB、NFC、APP、OBD、Charging、IVI、OTA、TBOX、CAN、sensor、carlink、Carkeys、4G/5G和GPS等。这些攻击点涵盖了车辆的各种通信接口和系统组件,如无线网络连接(Wi-Fi)、物理接口(USB)、近场通信(NFC)、应用程序(APP)、车载诊断接口(OBD)、充电系统(Charging)、信息娱乐系统(IVI)、在线固件更新(OTA)、远程控制盒(TBOX)、控制器局域网(CAN)、传感器(sensor)、车联网(carlink)、车钥匙(Carkeys)以及移动网络连接(4G/5G)。通过这些攻击点,攻击者可能利用各种漏洞进行入侵,从而对车辆的安全性和隐私构成威胁。
渗透思路分享
从信息收集开始,逐步深入到系统的各个层面。首先通过信息收集获取目标系统的固件和相关数据,然后利用多种手段如ETH、Wi-Fi、USB、ADB、SSH和Telnet等获取shell权限。在获得shell权限后,可以进行横向和纵向渗透,进一步探索系统内部。同时,通过协议分析深入了解系统通信机制,并利用固件中的漏洞实现对车辆功能的控制。整个过程还涉及数据泄露的风险评估,确保全面理解系统的安全状况。
案例分享
这张图展示了一个案例分享,涉及网段隔离不严格导致可以通过Wi-Fi访问TBOX的SSH服务。具体包括:
利用traceroute查找TBOX内网IP地址:通过网络命令ping 172.16.21.1和ssh root@172.16.21.1 -p 22323成功连接到目标主机,显示了网络连通性和SSH登录过程。
审计OTA服务日志,越权获取全车固件包:展示了从OTA服务日志中提取的信息,包括固件包的URL、大小、版本号等详细信息。
这些示例说明了在网段隔离不足的情况下,攻击者能够利用网络工具轻松访问敏感服务,并通过审计日志进一步获取关键系统信息,从而对系统安全构成威胁。
通过解包车机固件包并重新挂载,可以访问车机的文件系统。具体操作包括使用Python脚本处理固件包中的镜像文件,并通过命令行工具(如ls、sudo mount等)查看和挂载这些镜像文件。
通过逆向工程提取的Java代码片段,其中包括一个名为EngineeringModeNative的类,该类中定义了用于获取证书密码的方法getCertPwd()。此外,还展示了使用调试工具进行代码分析的过程,通过这些工具可以深入理解应用程序的内部逻辑和数据流。