ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

胎压监测系统明文广播漏洞:用软件无线电追踪车辆与防御策略

胎压监测系统明文广播漏洞:用软件无线电追踪车辆与防御策略 去年我参与一个小型车队的无线安全评估那天下午我和同事把设备架在路侧绿化带边上笔记本接了一个软件无线电接收器调到 433MHz。不到五分钟屏幕上就刷出了一串胎压检测系统的广播报文其中几帧里带着完整的传感器 ID、胎压值、温度甚至加速度数据。车队负责人站在旁边问这些数据能干嘛我说能追踪你们每一台车而且不需要破解任何密码因为这条链路压根就没有加密。他当时愣了很久。这件事其实已经不是什么新鲜结论了。过去几年国内外多个安全研究团队都发布过类似的分析丰田、奔驰、雷诺、现代等不少车企的胎压检测系统TPMSTire Pressure Monitoring System在无线通信环节使用了明文广播。如果你了解一点点射频协议和信号处理就能在路边用几百块的软件无线电设备被动接收这些报文并把每一辆车和它的传感器 ID 关联起来进而实现大范围的车辆追踪。这不是键盘上的 0day 攻击更像是“开着大门的小屋”——问题不复杂但暴露面很真实。我说清楚这个问题的原理、影响范围、我们能做什么以及这件事背后更值得关注的智能汽车安全设计通病。无论你是车主、汽车工程师、安全从业者还是单纯对车联网隐私感兴趣这篇文章都能给你一个完整的视角。1. 事件拆解为什么一颗胎压传感器的广播会扯上车辆追踪1.1 TPMS 的工作机制与链路结构TPMS 全称 Tire Pressure Monitoring System中文叫胎压监测系统主要作用是实时监测四个车轮的气压和温度。一旦某个轮胎出现慢漏气、温度过高或者气压异常系统就会在仪表盘上给出报警提醒车主及时处理。整个系统分为两部分传感器和接收器。传感器安装在每个车轮的轮毂上也有部分车型装在气门嘴位置内部包含压力传感器、温度传感器、加速度计、MCU 和一颗纽扣电池。它平时处于低功耗休眠状态当车辆行驶后车轮转动加速度计唤醒 MCU传感器开始测量然后通过射频发射器把数据包广播出去。接收器安装在车身的网关或仪表盘控制单元附近负责接收四颗传感器有的车型还有备胎传感器发来的射频信号解调出胎压温度数据在仪表盘上显示并在异常时触发报警。两条核心链路一条是传感器到接收器的单向上行射频链路另一条是接收器到仪表盘/网关的车内总线链路。前一条用的是 315MHz北美常见或 433MHz欧洲、亚洲常见的 ISM 频段后一条大多是 CAN 总线。1.2 报文结构与“固定 ID”这个关键锚点TPMS 的无线报文本身是一种遥测数据包。虽然各家车企的私有协议细节不一样但报文里通常包含这几类字段它们像一张公开的名片把每辆车都区别开来传感器 ID一般是一个 8 到 32 位的编号在出厂时写入传感器整辆车的生命周期内都保持不变。胎压值通常用 kPa 或 psi 表示。轮胎温度单位是摄氏度。加速度/运动状态字段用于判断车辆是否在行驶。电池电量状态位传感器电池电压低时会设置报警位。最关键的是传感器 ID。这个 ID 本身没有经过任何加密处理直接以明文形式出现在无线电波里。而驾驶者看车牌号还要隔着几十米才能识别但射频信号的识别距离远得多——只要在数百米内有接收设备你的车就会被“点出”一个唯一身份。1.3 为什么车企默认不做加密很多第一次听说这个问题的朋友反应是这不科学啊现在都 2024 年了车企连个加密都舍不得做事实上这不是“舍不得”三个字能说清楚的。TPMS 传感器是极端低功耗设备。一颗纽扣电池要用 5 到 10 年工作期间每几秒发一次报文平时必须深睡。在这种功耗预算下加解密运算需要占用额外的算力和能耗一个 16MHz 或 32MHz 的 MCU 跑非对称加密确实很吃力但这并不是无法解决的——真正卡住车企的是成本与市场节奏。TPMS 带有强安全法规属性美国 NHTSA 在 2007 年就强制所有乘用车安装 TPMS欧盟在 2012 年起也对新车提出胎压监测要求。法规要求的是“必须有这么个功能”并没有要求“无线链路必须加密”。各大车企为了满足法规、控制成本、压缩开发周期直接选用了市面上成熟但不加密的芯片方案。还有一个客观原因TPMS 传感器是消耗件轮胎换位、轮组更换时可能重新配对。如果做复杂的双向认证就会导致配对过程变得麻烦车主在第三方轮胎店换传感器时也可能因为授权问题去不了。这属于典型的“安全影响用户体验产品经理选择了放弃”的取舍。所以说未加密不是疏漏而是长期以来的设计惯性。只不过随着汽车逐渐智能化、联网化这个惯性正在变成实实在在的隐私风险。2. 追踪攻击的技术原理被动监听如何实现车辆定位2.1 被动采集你只需要一台 SDR先给对射频不太熟的朋友解释一下TPMS 信号的发射本身就是无差别的广播传感器不会去确认“接收器是不是我自己车上的”只要功率够、频点对准任何一台能解调该协议的设备都能“偷听”。实操层面现在做这件事的门槛非常低。一种方式是硬件直接解调买一个价格在 1000 元左右的多通道无线电接收器比如 Great Scott Gadgets 的 Yard Stick One配合电脑上现成的 TPMS 解调脚本插上 USB 天线就能抓包。另一种方式是使用软件无线电SDR例如价格 200~400 元的 RTL-SDR 电视棒配合开源的通用无线电工具GNU Radio以及网上现成的 TPMS 协议解析模块几十行 Python 就能把报文里的字段解出来。我实测过用 RTL-SDR 在路边接收经过车辆的 TPMS 信号在一分钟流量约 60 辆车的城市道路上平均能抓到 30 辆以上车辆的明文报文。整个过程不接触目标车辆、不干扰任何信号、不触发目标车上任何告警是完全被动的监听。2.2 多点部署用“同一 ID 在不同地点的出现”画出轨迹单独抓到一个传感器 ID 只能说明“有辆车经过了这个点”。要实施车辆追踪关键在于多点采集和 ID 交叉关联。攻击成本可以从两个维度看单点长时监听固定安装接收器在一栋楼、一个停车场或一条主干道边持续记录经过车辆的时间戳和传感器 ID形成“某时间段内有哪些车经过”的数据积累。多点网格化部署在城市多个路口布置同样的接收节点当车辆驶过路口 A 时节点 A 记录 ID 和 RSSI 信号强度驶过路口 B 时节点 B 也记录到同一个 ID。把两个时间戳和信号强度一对比就知道这台车从 A 开到 B 用了多少分钟顺藤摸瓜形成一条完整的行驶链路。RSSI 信号强度这个参数很重要。同一颗传感器发射的射频信号距离接收天线越近信号越强。单一节点只能估出车辆距节点大概多远但多个节点同时收到用三角定位原理就能把车辆的位置逼近到几十米的误差范围内。在城市路口布置三到四个接收节点配合 RSSI 测量基本可以做到“双向车道级”的定位。这个攻击意味着什么只要攻击者在目标车辆经常出现的地方比如嫌疑人的小区门口、公司楼下布下几个接收器一段时间内就能积累目标车辆的 TPMS ID 库之后无论它开到哪里只要经过己方网格节点就会被自动识别和上报。2.3 这个方案的实际局限在哪里追踪技术是有效的但不是没有短板。干扰很常见TPMS 发射功率很低通常在 0 dBm 上下典型接收距离在开阔地约 100 到 300 米城市环境下由于建筑遮挡可能缩到几十米。所以你要做成全覆盖的追踪网络节点密度需求是非常高的成本远超装 GPS 追踪器。其次TPMS 传感器只在车辆行驶且车轮启动后周期性发射。车辆熄火停放时传感器进入休眠广播停止无法通过 TPMS 定位静止车辆。这个局限直接限制了对“停车后人在哪”的追踪。第三数据链路单向被动采集无法实时推送车辆位置到攻击者手机。除非攻击者在每次节点捕获后做网络回传否则这套网格系统实际部署复杂度很高不是小白能玩的。但这些局限并不能消除核心问题明文广播把“一个稳定的车辆指纹”暴露在空间里而且这个指纹不像车牌号关不掉也撕不下刷不掉。对于有能力部署网格的专业机构来说TPMS 就是一个免费的车辆追踪基础设施。3. 威胁不止于追踪伪造报文与其它连锁风险3.1 伪造 TPMS 报文伪造一场“爆胎”报警TPMS 追踪问题广为人知之后我们圈子里讨论的不仅是“读”还有“写”。既然协议是明文的传感器 ID 可见调制方式和编码方式是公开的那攻击者完全可以伪造一帧“0 kPa”的报警报文用同一频点、大功率在目标车辆经过时发送。接收器对比 ID 匹配后会在仪表盘上触发高压报警甚至有可能触发车辆低速行驶时的“请立即检查胎压”提示。诱导车停在路肩这件事危害远比想象大。高速路上一旦仪表盘突然弹出“当前轮胎压力为 0”多数驾驶员的反应是猛踩刹车减速、靠边停车万一后车距离近直接导致追尾。这是典型的无线电制造“软故障”却能引发物理事故。这里需要说明不同车企对 TPMS 报警的处理逻辑不太一样有的只显示图标有的会有声音提示和仪表文字提示。要实际达到“逼停一台车”的效果还需要结合具体车型做针对性协议分析。但从攻击者角度这远比网络攻击门槛低。3.2 重放攻击同一个 ID重放同一段报文重放攻击在无线通信里是老面孔了。攻击者录制一段包含某传感器 ID 的 TPMS 报文稍作修改后在同一频点上反复重放。如果目标车型的接收器没有做报文计数或时间戳校验就可能被欺骗实际胎压正常仪表盘却一直报警。更微妙的是重放攻击还能用于伪造“车辆状态”的假象比如传感器信号被重放到错误的时段接收器可能误以为车辆刚启动。虽然 TPMS 报文触发不了车辆启动等核心功能但在汽车安全研究里它往往成为攻击链中的一环——攻击者在尝试接触车内总线、OTA 升级接口或诊断口时先用 TPMS 重放制造一个可乘之机比如诱导车主下车、诱导车主开窗操作这就是社会工程学和无线攻击的交叉应用了。3.3 从一条射频消息到车主身份隐私串联单看一条 TPMS 报文陌生人只会看到一个十六进制 ID。但攻击者只要做一次“线下关联”就能把 ID 变成真实身份。最典型的场景是停车场攻击者在某个高端小区地下车库出口放置接收器连续记录每天出入车辆。某个夜晚他可以拍摄到某辆车的车牌并记下车型颜色用 SDR 在同一时间窗口抓取这辆车的 TPMS ID。一次操作ID 和车牌就绑定了。之后ID 关联的车牌有了身份信息交通违章、保险、登记信息都在这套系统里传感器的明文 ID 就成了这辆车的“电子身份证”。而且这个 ID 几乎终身不变只要车不换传感器动作永远暴露在监听网络之下。这在欧盟已经引发了监管层面的关注2023 年欧洲一些隐私保护机构开始讨论 TPMS 信号是否构成 GDPR 下的“个人数据关联物”因为一旦 ID 与自然人身份关联它已经具备身份识别能力。国内虽然还没有明确法规说“TPMS 明文广播违法”但在车联网数据安全标准如 GB/T 40855-2021和智能网联汽车信息安全相关的标准里对远程通信链路的数据加密已经提出了明确要求而 TPMS 这条链路恰好在合规审计中容易被漏掉。4. 车企整改路线图从“明文裸奔”到“低功耗加密”4.1 加密不是不行是要选对方向先说结论TPMS 完全可以做加密只是不能照搬手机和电脑那套重加密方案。TPMS 传感器端约束非常苛刻MCU 主频低通常 16MHz~48MHzRAM 小几百字节到几 KBflash 也只有几十 KB电池容量往往在 200~400mAh 之间寿命要求 5~10 年。这意味着非对称加密RSA/ECC 签名验签虽然理论上可行但每次发射报文前都要做一次签名运算功耗和时间成本都比较高。现实中更合理的形态是轻量级对称加密 动态滚动码。以 AES-128 为例在 48MHz 的 MCU 上执行一次分组加密只需要几十微秒单次加密电流增加约 1~2mA持续时长极短。配合极低功耗的唤醒周期管理对电池寿命的影响可以控制在整颗电池容量的 5% 以内。车企完全可以用一个 128 位 AES 密钥对 TPMS 报文做加密和完整性校验外加计数器滚动让重放攻击无效化。当然密钥管理是个新问题传感器和接收器之间的预置密钥如何安全写入间隙性换轮、换传感器时如何完成安全配对这需要一套密钥管理系统KMS或者一次性的“学习-配对”过程。4.2 轻量密码算法的方案取舍我简单整理一下目前行业内比较主流的几个技术方案方便同行和产品经理判断选型方案算法/机制优点缺点适用场景对称加密AES-128-CTR/CCM成熟MCU 实现容易功耗可控需要密钥管理需保证计数器同步大多数量产 TPMS 升级首选轻量级密码PRESENT, SPECK硬件实现更省面积极低功耗商用案例少部分算法密码学审阅不足超低功耗老平台 MCU滚动码每次广播用递增计数器派生认证标签防重放单向链路也能验接收器需维护同步状态现有硬件稍加改动即可逐步落地物理层指纹用发射芯片的射频指纹识别传感器不需要改协议、不用增加密钥准确率受环境温度、老化影响辅助增强不是独立方案你对其中“滚动码”这个词可能不陌生车库遥控器、无钥匙进入系统都用它。TPMS 的问题是很多老批次车型还在用最原始的固定报文连个计数器都没加。这其实是件很遗憾的事——因为 TPMS 报文载荷很小加密和认证带来的额外字节数非常低在射频链路里几乎没有通信开销压力。4.3 UNECE R155 与新法规的推动力过去车企可以拿“没有强制要求”当挡箭牌但这条挡箭牌正在消失。UNECE联合国欧洲经济委员会的 R155 法规是汽车信息安全领域第一个真正意义上的强制安全法规。它对车辆的网络安全管理系统CSMS和车型信息安全提出了明确要求要求汽车制造商进行威胁分析和风险评估TARA并在车辆全生命周期内识别网络安全风险。TPMS“明文广播可被监听追踪”这种问题在 R155 的框架下会被识别为“隐私泄露风险”和“远程数据操纵风险”。一旦落入风险评估矩阵且措施不足就无法获得车型认证届时智能网联汽车在欧洲市场可能连准入都拿不到。国内同样在跟进。2021 年后发布的智能网联汽车相关的信息安全和数据安全标准已经开始覆盖“无线通信链路安全、车外异常报文检测、车载网络安全”等内容。趋势非常明确未来 2-3 年TPMS 加密大概率会从一个没人管的角落变成强制合规项。4.4 产业升级中的几个绕不开的坎就算车企现在决定加加密落地过程也有不少坑。第一个是生命周期内的密钥更新一颗传感器寿命 5 年车主可能在第三年换了新胎同时换了新传感器。新传感器怎么和车载接收器配对如果密钥是固定的第三方轮胎店根本拿不到密钥。这就要设计一套“保守但安全”的配对流程比如整车进入学习模式后先用临时密钥广播、再用主密钥签发或者通过用户的手机 App 做一个蓝牙中转授权。每一步都牵扯到用户体验不是改几行代码能搞定的。第二个是传感器成本上涨。加密芯片和更大内存的 MCU单颗成本可能从原本的 20~30 元涨到 40~50 元。一台车四颗车企多掏百八十块钱。这个成本对豪华品牌不算事但对走量的中低端车型来说真能卡掉一批老平台方案。第三是“兼容老车型”的魔咒。存量车型的接收器硬件不支持新算法总不能强制全部召回换仪表盘。实际中大概率只能从新平台开始老车型继续裸奔到下架这就意味着追踪风险会持续存在很长一段时间。如果你是车主指望车企“主动帮你升级”短期并不现实——这也是我在文章最后给车主建议的原因。5. 从业者验证路径怎么快速判断你的车是否暴露5.1 用 RTL-SDR 从零开始验证 TPMS 明文如果你手里有车或者需要做企业车队的无线安全摸底我建议花一个周末自己做一次验证。过程不复杂也完全合法接收自己车或授权车辆的无线信号。步骤是这样的准备硬件RTL-SDR 电视棒一个选带 TCXO 的版本频率稳定性更好天线用 433MHz 的直型天线或吸盘天线。安装开源无线电工具电脑上装 SDR# 或者 SDRangel能可视化看到频谱即可。配置频率把中心频率设为 433.92MHz欧系车或 315MHz美系车带宽设 2MHz。观察信号特征开车绕小区一圈观察频谱里出现的短促跳变信号带有明显的 FSK 调制特征就是 TPMS 报文。使用开源的 TPMS 解析工具目前 GitHub 上有多个可用的 tpms 协议解析脚本接入采集到的 IQ 数据即可输出传感器 ID、胎压、温度字段。确认配对开启车内仪表胎压界面等待报警或手动放气一次对比抓到的 ID 变化确认该 ID 就是自己车的那颗传感器。如果你按这个流程在自己的车上抓到了明文 ID那么换攻击者来在主驾门和副驾门线外的路边装两台设备他在你等红灯、进出地库、车队排队的时候同样也能抓到。5.2 企业车队自查一次低成本的安全审计企业车队尤其是物流、网约车、机场摆渡车这类有固定线路的车辆更需要做一轮 TPMS 无线安全审计。我建议的审计思路不是“部署全套反追踪”而是先定量评估暴露面审计项方法输出覆盖车型统计车队里所有车型、年款、TPMS 供应商确认哪些车大概率是明文方案无线信号验证SDR 扫描车队停车场的 315/433MHz 信号抓取到明文报文的车辆数量占比ID 稳定性分析连续 48 小时记录各车 ID观察是否变化是否存在长期稳定指纹响应距离测试在距车辆 5m/20m/50m 处测试接收灵敏度数据推演出攻击者的部署密度成本伪造报文测试授权使用 USRP 或 Yard Stick 发送伪造报警报文明确能否触发目标车仪表报警车队的结论往往会颠覆人的直觉你可能在 30 台车里发现 20 台能抓到完整明文 ID而且其中 80% 的 ID 是长期稳定的。这个结论交给管理层比任何口头说明都有说服力。5.3 作为普通车主我们有没有反击手段聊点务实的。坦白说普通车主几乎无法从车辆端解决这个问题。你不能换掉原厂 TPMS 传感器也不可能给车辆加装无线加密网关。你能做的是降低被追踪的风险暴露面注意停车环境如果明显感觉总是同一辆车出现在你常去的地点附近不要以为是巧合。多换几个停靠位置观察是否对方设备也会移位。不要让第三方随意读取车辆 OBD 或胎压数据维修保养时去正规授权店可以减少数据被复制的概率。警惕车内后加的射频设备部分车主后期加装的胎压显示器、行车记录仪本身也可能成为新的无线暴露点。选择支持蓝牙/本地协议的产品减少数据传输链路。合理看待风险TPMS 追踪的最大威胁来自“有组织的持续监控”而不是路人偶遇。普通人被装的概率远低于被 GPS 定位。你不需要恐慌但要有这个意识和基本常识。从工程师视角来看我更建议从业者和车主共同关注“数据边界”这个概念所有从车延伸到车外的无线数据都应该默认被视为“可公开”。TPMS 只是一个开始进入智能驾驶时代后车外摄像头、V2X 路侧通信、蓝牙钥匙、超宽带雷达每一路无线信号都在扩展边界也都在扩大暴露面。6. 从 TPMS 看智能汽车安全设计的通病边界数据与默认信任6.1 单向链路的“信任默认”是最难改的遗产在 TARA 框架里有一个常用概念叫“资产Assets”。TPMS 的资产不只是“轮胎气压信息”更应该是“与车辆唯一绑定的可识别信息”。过去设计者把它定义为普通遥测数据只考虑“帮助驾驶员识别气压低”却忽略了它同时具备“身份标定”的能力。这种设计错位在汽车行业并不罕见。你可以看到很多车联网功能也是这样——车况接口、充电状态、路线统计都在云平台上日志一备份就是一整年。安全界经常说“没有数据该裸奔”但车企产品序列里仍然可能存在“裸奔数据”问题不是能力不够而是“默认信任”的惯性。6.2 几点个人经验与建议我自己和同行做过很多次车辆无线安全验证有一个体会越来越深单纯追求“一次攻破”的展示价值并不大真正有价值的是帮车企和监管层建立一套“快速发现低垂风险”的机制。TPMS 这个问题本身已经非常成熟学术界、安全研究人员、媒体都讲了一轮又一轮但直到现在很多新车型依然是明文方案。原因并不复杂没有发生大规模安全事故没有被强制也没有大面积用户投诉。安全产品经理在排优先级的时候它总是被排到后面。所以如果你恰好是汽车电子工程师或产品经理我建议你做设计评审时可以多问一句“这台车发出的每一个字节会不会让外界认出它来”这个问题的答案往往比一份几百页的合规文档更能揭示真实风险。最后说个小经验如果你要做类似的无线安全测试一定记得先跟法务确认测试范围和授权边界。在车辆无线安全研究里“接收”和“发射”的法律性质完全不同。被动接收一般处于灰色甚至合法地带但主动发射伪造报文来测试车辆响应未经过车主或车企授权的话是有法律风险的。测试工具怎么选、发射功率控制到多少、是否需要屏蔽箱这些细节都要提前想好。安全研究的意义从来不是吓唬人而是把问题摊开让该做决定的人有机会做正确决定。这一轮希望更多车企能做出正确的决定。
返回列表