
1. 项目概述从无线电到车联网的攻防实战最近几年车联网安全从一个冷门话题逐渐变成了安全圈和汽车行业共同关注的焦点。我手头这台WTS1004算得上是无线电安全测试领域的一把“瑞士军刀”它集成了多种无线电协议的分析与攻击能力。这次分享的案例不是实验室里搭建的模拟环境而是一个真实世界中的车联网渗透测试项目。客户是一家主流汽车制造商他们新推出的某款智能网联车型在内部安全评估中发现其无钥匙进入与启动系统可能存在潜在风险于是委托我们进行深入的、贴近真实攻击场景的渗透测试目标就是验证风险是否真实存在以及其可能造成的实际影响边界在哪里。这个案例的核心在于如何将通用的无线电安全测试工具精准地应用到车联网这个特定场景中。车联网涉及大量无线通信比如TPMS胎压监测、蓝牙钥匙、NFC卡片、以及最经典的低频/高频RFID无钥匙进入系统。WTS1004的强大之处在于它对这些协议的广泛支持和解调、解码、重放、注入等攻击面的覆盖。但工具是死的人是活的真正的挑战在于理解汽车电子系统的交互逻辑、信号时序以及安全机制的薄弱点。本次测试的目标系统就是该车型的PEPS被动式无钥匙进入和启动系统我们将尝试在不使用原装智能钥匙的情况下完成从车外解锁车门到车内启动引擎的全链条攻击验证。2. 工具与目标深度解析WTS1004与车联网PEPS系统2.1 WTS1004无线电测试平台能力拆解WTS1004不是一个单一功能的设备而是一个高度集成化的软件定义无线电平台。在开始实战前我们必须吃透它的核心能力边界这样才能在测试中游刃有余。首先它的硬件基础是一台高性能的SDR软件定义无线电接收和发射的频率范围覆盖了从几十MHz到6GHz的广阔频谱。这意味着市面上绝大多数消费电子和物联网无线通信协议如315MHz/433MHz遥控钥匙、胎压、125kHz低频门禁、汽车寻卡、13.56MHz高频NFC、蓝牙、Wi-Fi、LoRa等它都能进行捕获和分析。其内置的FPGA提供了强大的实时信号处理能力能够应对一些对时序要求极其苛刻的攻击比如针对滚动码系统的重放攻击。软件层面它配套的图形化操作软件是灵魂。这个软件将复杂的无线电操作抽象成了几个清晰的功能模块频谱分析、信号录制、信号解码、信号重放、信号注入。频谱分析功能可以让你快速扫描目标车辆周围存在的无线信号锁定可疑频点。信号录制则是攻击的起点你需要以足够高的采样率录制下合法钥匙与车辆之间的完整通信过程。解码模块内置了数十种常见协议的解析器能自动将捕获到的射频信号“翻译”成人类可读的数据帧比如看到一串十六进制代码并标识出其中的ID、命令、滚动码值、校验和等字段。最关键的攻击模块是重放和注入。重放攻击相对简单就是将录制到的合法信号原封不动地播放出去。但对于采用了滚动码或加密认证的现代系统简单的重放是无效的这就需要用到信号注入或更高级的中继攻击。WTS1004允许你编辑解码后的数据帧修改特定字段比如尝试暴力破解滚动码的增量再重新调制为射频信号发射出去这就是一种主动注入攻击。注意使用WTS1004或任何无线电设备进行发射操作必须严格遵守所在国家或地区的无线电管理条例。在非授权频段、以超过规定的功率进行发射是违法行为。所有测试都应在客户授权的、隔离的实验室或专用场地内进行。2.2 目标车辆PEPS系统工作原理与攻击面分析我们要攻击的PEPS系统其工作流程可以简化为两个阶段唤醒与认证。第一阶段低频唤醒。当你携带智能钥匙靠近车辆通常1.5米内车身四周的低频天线通常位于门把手、后备箱盖内会周期性地发射125kHz的低频磁场信号。这个信号就像在喊“钥匙在吗在的话吱一声。” 钥匙内的低频接收器被这个磁场激活进入工作状态。第二阶段双向认证。被唤醒的智能钥匙通过UHF频段如433.92MHz向车内的接收模块发送一个包含其唯一ID和加密挑战应答的数据包。车辆BCM车身控制模块或专用的PEPS控制器收到后会验证ID是否合法并通过加密算法验证挑战应答是否正确。只有全部通过BCM才会向门锁控制器发送解锁指令。基于这个流程我们可以梳理出几个清晰的攻击面低频信号重放/放大攻击如果我们能捕获到车辆发出的低频唤醒信号并将其放大后发射到更远的地方就可能唤醒远处比如放在家里或办公室的合法钥匙。UHF认证信号中继攻击这是当前最主流的“中继攻击”原理。使用两套设备一套放在车旁接收车辆的低频唤醒信号并中继给远处的另一套设备另一套放在钥匙旁接收钥匙发出的UHF认证信号并中继回车辆。这样就在车辆和钥匙之间建立了一个透明的、远距离的通信桥梁欺骗车辆认为钥匙就在旁边。UHF信号解码与伪造攻击如果能破解其加密算法或密钥就可以直接伪造合法的认证信号。这是难度最高但也是最彻底的攻击。滚动码预测/暴力破解如果系统使用的是较弱的滚动码算法如Keeloq可能存在通过捕获多个连续码字来预测下一个码字的漏洞。本次测试客户明确要求我们重点验证风险1和风险2即低技术门槛的中继攻击是否可行。风险3和4属于深度密码学分析不在本次常规渗透测试范围内但我们会做初步的探测。3. 实战渗透过程从信号侦察到成功启动3.1 环境搭建与信号侦察测试在一间屏蔽室中进行内部停放目标车辆将外界无线电干扰降到最低。我们准备了WTS1004主机、配套的低频天线用于125kHz、UHF天线用于433MHz、一台用于控制和分析的笔记本电脑以及两个用于中继攻击的辅助射频前端可以是另外两台SDR或专用的中继器模块。第一步是信号侦察。我们将WTS1004连接到低频天线设置中心频率为125kHz带宽足够覆盖可能使用的频偏。打开频谱分析功能逐步靠近车辆门把手。很快在频谱图上观察到了周期性的脉冲信号峰这正是车辆LF天线发出的唤醒信号。录制一段信号使用解码功能尝试解析。由于LF信号通常只承载简单的命令如唤醒和车辆标识数据格式相对简单解码器成功识别出了一种常见的曼彻斯特编码格式并显示出了一串固定的数据模式这很可能就是“车辆身份证”。接下来侦察UHF频段。将天线切换到UHF中心频率设为433.92MHz这是亚太地区常见的RKE/PEPS频点。让同事在车内按下原装钥匙的解锁按钮同时进行录制。频谱图上立即出现了一个短暂的、带宽较窄的信号突发。回放录制文件使用ASK/OOK或FSK解调器进行解码。经过几次尝试解码器成功将信号解析为一串数据包其中包含了钥匙ID、一个看似随机的滚动码以及CRC校验。我们连续按了十次解锁键录制了十个数据包发现滚动码部分每次都在变化但变化似乎有规律初步判断是使用了滚动码机制但算法未知。3.2 第一阶段攻击低频信号捕获与中继我们的第一个攻击尝试是简单的低频重放。将之前捕获到的车辆LF唤醒信号通过WTS1004的发射功能用低频天线对准放在屏蔽室另一角落的合法钥匙进行播放。结果钥匙上的指示灯并没有亮起攻击失败。原因分析与调整LF信号是近场磁耦合通信对天线摆放位置、方向和距离极其敏感。原信号是从门把手特定位置发射的我们用单一天线在远处模拟很难复现其磁场分布。此外车辆LF天线可能采用了定向发射或轮询不同天线驾驶侧、副驾侧、后备箱的机制我们捕获的信号可能不完整。于是我们调整策略采用“低频中继”方式。这是中继攻击的前半部分。我们将一个辅助射频前端设备A连接低频接收天线紧贴车辆驾驶侧门把手放置专门用于接收车辆发出的原始LF信号。设备A不进行解码而是将接收到的原始射频信号通过有线如同轴电缆或无线另一个干净频段的方式实时传输到远处的另一个设备B。设备B连接低频发射天线放置在合法钥匙旁边将接收到的信号原样转发出去。这个过程中WTS1004扮演了信号监视器和调试器的角色。我们用它来监视设备A接收到的信号质量以及设备B转发出去的信号是否失真。经过仔细调整天线耦合和增益我们成功观察到当设备B转发信号时远处模拟放在家中的合法钥匙上的指示灯被成功点亮——这意味着钥匙被成功远程唤醒了第一阶段攻击验证成功。3.3 第二阶段攻击UHF认证信号中继与系统欺骗钥匙被唤醒后它会自动发射UHF认证信号。现在我们需要完成中继攻击的后半部分将钥匙发出的UHF信号中继回车辆。我们在钥匙旁边放置了第三台设备C连接UHF接收天线用于接收钥匙发出的认证信号。同时在车辆旁边放置第四台设备D连接UHF发射天线。设备C将接收到的钥匙UHF信号通过独立链路实时传输给设备D由设备D向车辆发射。关键难点时序同步。车与钥匙之间的认证通信有严格的时序要求。车辆LF唤醒后会在一个很短的时间窗口内等待钥匙的UHF回应。如果中继链路引入的延迟过长车辆就会超时导致认证失败。我们使用的高性能SDR和直接电缆连接将端到端延迟控制在了毫秒级但对于某些协议这可能仍然不够。搭建好整个中继链路后我们进行了测试。操作流程如下测试人员靠近车辆模拟攻击者。触发中继系统启动。设备A接收车辆LF信号通过链路传给设备B。设备B向远处钥匙发射LF信号唤醒钥匙。钥匙发射UHF认证信号被设备C接收。设备C通过链路将信号传给设备D。设备D向车辆发射该UHF信号。我们观察到车辆的双闪灯闪烁了两次并伴随着“咔哒”一声——车门成功解锁了我们拉开车门进入了车内。3.4 纵深攻击从解锁到启动引擎进入车内只是第一步PEPS系统的另一个核心功能是允许驾驶员在车内一键启动引擎而无需插入物理钥匙。这个过程通常涉及另一个认证当你踩下刹车按下启动按钮时系统会再次通过车内的低频天线寻找钥匙进行一轮车内认证。我们坐在驾驶位踩下刹车按下启动按钮。仪表盘上提示“未检测到智能钥匙”。这是因为车内的LF天线搜索范围更小、更精确而我们通过中继链路“虚拟”放在车内的钥匙其物理实体并不在车内LF天线的有效耦合范围内。为了完成启动我们需要将中继攻击延伸至车内。一种方法是尝试定位车内LF天线的位置通常在扶手箱、中控台或后座椅下方并将一个额外的低频接收天线设备E放入车内接收车内LF信号再通过中继链路传回给钥匙。同时也需要确保钥匙响应的UHF信号能被车内的接收器收到可能需要增强发射功率或调整天线位置。这是一个更精细的操作。我们使用一个手持式近场探头连接到WTS1004在车内不同位置扫描最终在中央扶手箱下部探测到了最强的125kHz信号。我们将一个微型环状天线设备E固定在该位置附近。然后将设备E接收到的信号并入到之前的中继链路中即车内LF信号 - 设备E - 传输 - 设备B - 唤醒钥匙。调整链路后我们再次尝试。踩刹车按启动按钮。这一次仪表盘自检灯光亮起发动机传来清脆的启动声——车辆成功启动了。至此我们完成了从远程解锁到远程启动的完整链式中继攻击验证。4. 技术细节与参数深度剖析4.1 关键射频参数设置与优化在本次测试中射频参数的细微调整直接决定了攻击的成败。以下是我们总结的关键参数设置经验1. 采样率与带宽LF (125kHz) 捕获采样率至少设置为1Msps每秒百万样本以上。虽然信号频率低但较高的采样率能更好地保留信号的上升沿、下降沿细节这对于后续的信号再生和精确同步至关重要。带宽设置为50kHz足以覆盖主要能量。UHF (433.92MHz) 捕获采样率需要更高我们设置为4Msps。中心频率设为433.92MHz带宽设为500kHz到1MHz以捕获整个信号突发同时避免引入过多噪声。优化心得过高的采样率会产生巨大的数据文件影响处理速度。我们的经验是采样率设置为信号符号率的8-10倍是一个较好的平衡点。例如如果钥匙信号的符号率是10kbps那么80ksps到100ksps的采样率就足够用于解码。2. 增益控制这是最容易出问题的地方。增益太小信号淹没在噪声中无法解码增益太大信号饱和失真同样无法解码甚至可能引入互调干扰。手动调整策略我们始终优先使用手动增益模式。在侦察阶段先设置一个中等增益观察频谱图上信号与噪声底噪的相对高度。理想状态是信号峰值比底噪高出20-30dB且顶部没有出现“削顶”平顶现象。如果出现削顶立即调低增益。针对中继的增益设置对于中继链路中的接收端如设备A和C增益应调整到能清晰稳定解调信号的最小值。对于发射端设备B和D应从低功率开始逐步增加直到能可靠触发响应为止避免功率过大影响其他设备或产生辐射超标问题。3. 频率校正任何SDR设备都存在频率偏移。WTS1004虽然精度较高但在进行严苛的中继攻击时微小的频偏经过两级收发后可能被放大导致通信失败。校正方法我们使用一个高精度的标准信号源如GPS驯服晶振产生的参考信号来校准WTS1004的本振偏移。如果没有一个实用的土办法是录制一个已知的、非常干净的标准信号如FM广播载波分析其频谱中心与标称频率的差值将此差值作为系统误差在软件中进行补偿。4.2 信号解码与协议逆向技巧面对一个未知的车辆信号如何快速解码是核心能力。WTS1004的自动解码器并非万能很多时候需要手动介入。1. 调制方式判断观察时域波形在软件中查看录制信号的时域图。如果振幅有明显变化像开关一样很可能是ASK/OOK。如果振幅恒定但波形疏密有变化可能是FSK。观察频谱ASK/OOK信号的频谱通常有一个明显的载波峰旁边有边带。FSK信号则可能有两个主要的峰代表两个频率。实用技巧对于汽车遥控钥匙433MHz频段早期多用ASK/OOK因为电路简单较新的系统可能采用FSK抗干扰性更好。可以先尝试ASK解码如果得到乱码再尝试FSK。2. 编码方式与位速率分析解码器输出乱码很可能是编码方式或位速率设置错误。常见编码有曼彻斯特、差分曼彻斯特、PWM脉宽调制等。位速率估算在时域图上测量一个最短的脉冲宽度高电平或低电平。位速率bps约等于1 / (脉冲宽度 * 2)。例如测量到最短脉宽为500微秒那么位速率可能在1 / (0.0005 * 2) 1000 bps左右。在解码器中围绕这个值进行微调。手动比对法连续录制多次按键信号。如果系统使用固定码那么每次的数据帧应该完全相同。如果使用滚动码那么大部分数据相同只有特定位置滚动码部分有规律变化。通过比对多个数据帧可以人工定位出滚动码字段和固定ID字段。3. 数据帧结构猜测解码出的十六进制数据通常遵循一定结构前导码、同步字、固定ID、命令码、滚动码、校验和。前导码/同步字通常是一串特殊的、较长的二进制模式如0xAA55用于唤醒接收机并建立位同步。校验和常见的包括CRC-8、CRC-16、求和校验等。可以尝试用不同的校验算法对数据帧的一部分进行计算看结果是否匹配数据帧末尾的字节从而反推出校验算法和校验范围。这对于后续的信号伪造至关重要。5. 防御视角车联网无线电安全加固建议通过这次渗透测试我们不仅验证了攻击的可行性更重要的是从防御者角度为车企提出了切实的加固建议。安全是一个攻防对抗的过程了解攻击手段是设计有效防御的第一步。5.1 针对中继攻击的硬件与协议层防护中继攻击之所以有效核心在于无线信号可以被透明地放大和转发。因此防御思路必须围绕“增加中继难度”和“引入不可中继的参数”展开。1. 增加距离测量机制Ranging这是目前最被看好的解决方案例如UWB超宽带技术。UWB可以通过测量无线电波飞行时间ToF来精确计算两点之间的距离精度可达厘米级。如果PEPS系统集成UWB模块它就可以要求钥匙在认证过程中同时进行距离测量。如果测量结果显示钥匙距离超过物理上限比如1米即使认证码正确也会拒绝请求。中继攻击会引入巨大的处理延迟这个延迟会直接体现在飞行时间上从而被系统轻易识破。2. 强化LF信号的方向性与强度管理定向天线与波束成形车辆LF天线可以采用定向设计使其磁场主要分布在车门把手附近非常狭小的空间内而不是均匀辐射。这样放置在稍远位置的中继设备就很难耦合到足够强的信号。动态磁场强度检测钥匙端可以监测接收到的LF信号强度。车辆可以发射一个强度已知的参考信号钥匙测量实际接收强度后在UHF回应中将其上报给车辆。车辆比对预期强度与实际报告强度如果差异过大表明信号可能被中继放大或衰减则判定为异常。多天线轮询与三角定位利用车上多个位置的LF天线左前、右前、左后、右后、车内依次或同时发射带有轻微差异的唤醒信号。钥匙需要报告它从哪些天线收到了信号以及各自的强度。车辆可以根据这些信息粗略估算钥匙的位置。如果钥匙报告的位置信息矛盾例如同时从相距很远的两个天线收到强信号则可能是中继攻击。3. 引入物理不可克隆函数PUF与环境指纹在钥匙和车辆端集成PUF芯片。PUF利用芯片制造过程中微小的、不可复制的物理差异生成唯一的、不可预测的密钥。每次认证时挑战-应答的密钥材料都与当前的环境参数如芯片温度、供电电压的微小波动轻微绑定。即使攻击者完整录制了一次认证过程由于环境指纹不同也无法在另一次通信中复现有效的应答。5.2 系统级安全增强与入侵检测除了针对无线链路本身的防护整个车联网系统的安全架构也需要同步升级。1. 实施多因素认证与行为异常检测不要仅仅依赖无线认证。可以结合其他因素例如只有检测到驾驶员车门被物理拉开门把手微动开关信号后才执行解锁动作后的引擎启动预备认证或者要求用户在车载屏幕上输入PIN码进行二次确认用于某些高权限操作。建立车主驾驶行为模型。例如通常解锁后多久会开门、开门后多久会启动引擎、启动后通常的行驶路线和时间段等。如果系统检测到“解锁后立即启动并驶向陌生地点”这类异常行为序列可以触发警报如向车主手机APP推送通知或进入限速模式。2. 安全网关与域控制器隔离现代汽车电子架构正向域控制器演进。应将PEPS控制器、车身控制器BCM、动力总成控制器EMS等关键ECU电子控制单元置于同一个安全域内由一个车载安全网关进行严格的域间通信过滤。即使攻击者通过中继攻击进入了车身域解锁了车门安全网关也应阻止从车身域向动力域发送未经授权的启动指令除非动力域控制器也收到了来自合法钥匙通过车内认证的、带有正确安全计数器的消息。3. 定期的无线安全渗透测试与固件在线升级将本次演示的渗透测试作为车辆研发周期中的固定环节。不仅要在实验室测试还要在真实的复杂电磁环境如地下车库、闹市区中进行测试。建立漏洞响应机制一旦发现漏洞可以通过OTA空中升级方式为已售车辆的PEPS控制器、钥匙等部件更新固件修复安全缺陷。OTA过程本身也必须采用强加密和认证防止被利用成为新的攻击入口。这次针对车联网PEPS系统的渗透测试清晰地展示了无线电中继攻击对现代汽车安全的现实威胁。作为安全研究人员我们的价值不仅在于发现漏洞更在于理解攻击链的每一个环节从而帮助企业设计出更立体、更纵深的防御体系。工具如WTS1004提供了发现问题的能力但最终解决问题的是对系统原理的深刻理解、严谨的测试方法以及持续改进的安全设计思维。汽车正在从交通工具演变为移动的智能终端其安全边界早已超出了钢铁车身延伸到了无形的电波之中。守护这片边界需要汽车工程师和安全研究员的共同努力。