
现代车辆的互联特性日益突出,使其成为搭载精密物联网技术的移动终端。虽然这种数字化演进提升了驾驶体验,但也带来了严重的安全隐患。
远程劫持汽车仪表盘运行《毁灭战士》等电子游戏的假设场景,如今已成为令人不安的现实。该漏洞源于汽车中控单元采用的系统级芯片(SoC)技术,特别是那些整合应用处理器与通信处理器来管理车辆功能的方案。
芯片级安全缺陷
问题的核心在于紫光展锐UIS7862A系统级芯片,该组件广泛应用于现代车辆中控单元。该芯片集成了负责3G/4G/5G通信的调制解调器,攻击者可利用调制解调器漏洞实现初始入侵。一旦突破防线,攻击者就能横向移动到应用处理器,最终完全控制仪表盘操作系统并窃取用户数据。

Securelist安全分析师发现该调制解调器在3G RLC协议实现中存在关键缺陷。通过固件分析,他们发现数据包分片处理机制缺乏足够的边界检查。这一疏漏使攻击者能在安全通道建立前,远程在调制解调器处理器上执行任意代码,从而绕过标准蜂窝网络安全措施。该发现凸显了汽车供应链中"黑盒"组件的脆弱性。
基于栈的缓冲区溢出漏洞
该漏洞的技术根源在于解析服务数据单元(SDU)的函数存在栈缓冲区溢出。协议允许数据包包含无限数量的可选头部(通过特定位值标识),解析算法会顺序处理这些头部并将数据写入栈变量。然而栈深度严格限制为0xB4字节,而恶意数据包大小可达0x5F0字节。

攻击者只需发送包含足够头部的畸形数据包即可触发溢出。由于该函数缺乏栈金丝雀保护机制,溢出会覆盖返回地址。

研究人员采用面向返回编程(ROP)技术绕过不可执行栈限制,构建的ROP链将执行流重定向至AT+SPSERVICETYPE命令处理程序,从而实现数据向RAM的传输。
// 漏洞解析逻辑伪代码
void process_sdu_headers(packet_data *sdu) {
uint16_t header_stack[0x5A]; // 0xB4字节缓冲区
while (sdu->has_more_headers) {
// 未检查边界即写入缓冲区
header_stack[index++] = read_next_header();
}
}
通过利用该内存破坏漏洞,攻击者成功执行了自定义代码——他们通过修改内存保护单元表获取写入权限,最终攻陷Android内核并在车载中控单元上运行任意应用。
参考来源:
Hackers Could Take Control of Car Dashboard by Hacking Its Modem
本文为 独立观点,未经授权禁止转载。
如需授权、对文章有疑问或需删除稿件,请联系 FreeBuf
客服小蜜蜂(微信:freebee1024)



