-
-
[翻译]GhostPeak:针对汽车智能钥匙的测距缩短攻击
-
发表于: 2022-3-5 18:36 20372
-
本研究展示了针对 Apple U1 芯片对(嵌入在 iPhone 和 AirTags 中)以及与 NXP 和 Qorvo UWB 芯片互操作的 U1 芯片的距离缩减攻击,即对 IEEE 802.15.4z 高速脉冲重复频率 (HRP) 超宽带 (UWB) 距离测量系统的远程攻击。这些芯片已部署在各种手机和汽车中,以确保汽车进入和启动的安全,并预计用于安全的非接触式支付、家庭锁和联系人跟踪系统。
攻击可以在没有任何加密知识的情况下运行,导致距离从 12 m(实际距离)减少到 0 m(欺骗距离),攻击成功概率达 4%,并且只需要廉价(65 美元)的现成设备。这些距离的缩短使 UWB HRP 在安全关键应用中的使用受到质疑。
测量距离的超宽带芯片被大量部署在智能手机、汽车和其他产品中。应用范围从汽车的进入和启动系统到移动支付、联系人追踪、空间感知和室内定位。与更传统的基于信号强度的测距相比,除了提高精度之外,UWB 旨在提供针对中继和距离减少攻击的安全性,这些攻击已在现实中用于汽车盗窃和非接触式支付攻击。
最近采用的 IEEE 802.15.4z 标准旨在解决已知的距离缩减攻击。它引入了两种测距模式:低速脉冲重复频率 (LRP) 和高速脉冲重复频率 (HRP)。虽然这两种模式都用于汽车应用,主要用于被动无钥匙进入和启动 (PKES) 系统,但 HRP 已在 Apple iPhone 和 AirTags 以及三星手机和 SmartTags。尽管已标准化和部署,但不存在用于安全相关功能的公共示例实现或标准化算法。 IEEE 802.15.4z 专注于垫子的消息,没有详细规定如何在端点完成测距和保护。
本文演示了针对 UWB IEEE 802.15.4z HRP 模式的第一个实用的空中距离缩减攻击。尽管最近研究了 HRP 的安全性,但这些研究是在模拟中完成的。本文改进了对 HRP 的现有攻击,引入了一种新攻击,并在 Apple U1(iPhone/AirTag/HomePod)、NXP Trimension SR040/SR150 和 Qorvo DWM3000 芯片的实际设置中证明了它们的可行性。攻击成功地减少了高达 12 m 的距离,总成功率为 4%。通常,门禁控制的错误接受率是 1/2^(20),移动支付是 1/2^(48),因此需要数天到数年才能接受虚假测量。
制造商将一些经过评估的芯片宣传为具有安全测距能力。使用这些芯片上可公开访问的配置进行了测试。由于测试的芯片(Apple、NXP、Qorvo)中没有公开安全算法和参数,因此很难确定这些系统是否可以进行不同的配置,以及这些替代配置是否容易受到本文或其他攻击。此外,过去已经表明,未公开的无线协议可以表示安全解决方案。
未来,超宽带的部署和使用可能会增加。 FiRa 联盟的成立旨在促进 UWB 技术在安全精细测距和定位方面的开发和广泛采用。 Car Connectivity Consortium 最近发布了 Digital Key Release 3.0,通过 UWB 结合低功耗蓝牙实现 PKES。至少有一家汽车制造商已经宣布将支持 iPhone 作为 PKES 的访问令牌,并引用 UWB 作为测距机制。由于 UWB 作为访问系统是一种新协议,因此恶意行为者可能需要一段时间才能完全理解并绕过安全检查。然而,汽车和其他与访问控制相关的领域的系统必须在初始部署后的几十年内保持安全。
对 PKES 系统的中继攻击的简单性和实用性促使安全测距的范式转变。利用信号的 ToF 是有希望的,因为继电器只能增加 ToF,从而增加测量距离。然而,该领域的研究表明,此类系统仍然容易受到更复杂的攻击,例如 Cicada或 Early Detect/Late Commit (ED/LC) 。
UWB 旨在实现安全测距,包括物理层安全。 IEEE 802.15.4 提出了两种用于 UWB 测距的模式,称为 LRP 和 HRP。它们都受到严格的功率限制,因为它们的信道与现有技术(如 Wi-Fi 或蜂窝网络)使用的频段重叠。虽然 LRP 通过使用更少但更强的脉冲(每个单独对接收器“可见”)来接近功率限制,但 HRP 依赖于大量更弱的脉冲(在大多数环境中无法由接收器单独解码)。这种设计上的差异会产生后果。虽然 LRP 的安全性很容易证明,但 HRP 对减少攻击的弹性是一个开放的研究问题。最近对 HRP 的模拟分析表明,HRP 可能很难配置为既高性能又安全。
IEEE 802.15.4 标准定义了三种不同的测距和定位方法,即单面双向测距(SS-TWR)、双面双向测距(DS-TWR)和到达时间差(TDOA)。本研究工作重点是 SS-TWR 和 DS-TWR。 TDOA 模式不在本研究的工作范围内,因为目前可用的 UWB 收发器芯片都不支持这种方法。
SS-TWR:如上图a 所示,它显示了如何通过从发起方测量的总往返时间 Tround 中减去 Treply(响应方的处理时间)来确定距离计算的 ToF。将结果除以 2 可得出传播延迟 T^prop 的估计值,或信号覆盖一种方式所需的 ToF。但是,此结果可能会受到发起方和响应方之间可能的时钟频率偏移的影响。如果发起者可以测量这个偏移量,它可以补偿它并改进测量。如上图b 所示,DS-TWR 通过传输更多消息来减轻时钟偏移。
DS-TWR:包括两个方向相反的 SS-TWR 交换。 Treply 和 Tround 使用两个设备/时钟进行测量,显着减少了由时钟偏移和漂移引起的误差。 DS-TWR被优化为同时使用第一个交换的响应消息作为第二个交换的请求消息,从而将过程减少到三个测距消息。
大多数射频通信技术依靠互相关来检测传入消息的存在。在 UWB 中,接收器使用本地模板不断扫描获取的信号以查找静态(预先协商的)前导码。接收到的信号被数字化并记录为输入相关器的 I/Q 样本。如果输出超过一定量的噪声电平,则接收器断定必须存在数据包并进一步分析信号。
在实践中,必须优化此过程以应对信道失真,尤其是多径衰落。在传输过程中,附近的物体会反射信号,从而创建在时间上略有延迟的信号副本,如下图所示。这些副本叠加到原始信号上,造成相长或相消干涉。因此,相关的瞬时输出是非决定性的,而是必须检查通道脉冲响应 (CIR),即随时间的相关输出。 CIR 极大地支持在接收到的信号中搜索已知模板,并且可以确定数据包的精确到达时间。 CIR可以估计如下,其中 s[·] 是复杂且时间离散的接收信号,gloc[·] 是预期信号的模板。
如下图所示,HRP UWB 测距在很大程度上依赖于互相关,以检测和确定前导码和加扰时间戳序列 (STS) 的到达时间。UWB 接收器将输入信号与前导的模板(例如,已知序列)交叉相关,如果存在,还与 STS 的已知模板交叉相关。高相关值意味着模板和接收信号之间的相似性。然而,CIR 在完美条件下仅显示一个独特的峰。由于多路径,CIR 通常显示包含多个峰值的轮廓,并且识别反映实际物理距离的第一个峰值/路径并不简单。相长干涉和相消干涉会导致 CIR,其中第一条路径以振幅显着低于最大值的峰值出现。信道和接收器噪声使寻找第一条路径和正确距离变得更具挑战性。
IEEE 802.15.4 的 HRP 模式使用 64 MHz 的高脉冲重复频率。脉冲之间的间隔很窄,为了满足对功率谱密度的严格限制 (−41.3 dBm/MHz),每个脉冲的功率很低,大约为 −80,瞬时 dBm(在天线端口)。数据包的信息元素要么使用二进制相移键控 (BPSK) 使用突发位置调制 (BPM) 进行编码,要么仅使用 BPSK 符号进行编码。在 BPM-BPSK 中,一个符号可以通过改变突发的位置和脉冲的极性来编码两个位,而在 BPSK 中,一个正极性脉冲编码一个值为零的位,一个负极性脉冲(180°相移)编码位值一。大多数 UWB 通道的宽度为 499.2 MHz,这是所有测试设备使用的带宽。在 499.2 MHz 时,一个脉冲的持续时间约为 2 ns。
HRP PHY 数据包:对于本文中描述的攻击,了解 HRP 数据包结构和脉冲序列至关重要。上图显示了使用 STS 构成 HRP 测距消息的不同段。数据包的前导用于检测测距消息的存在。出于安全目的,STS 包含一个伪随机位序列,并且数据段可用于传输附加信息。在计算传播延迟时,应以帧起始定界符(SFD)作为参考,PHR携带数据包的物理头。建议有兴趣的读者参考 IEEE 802.15.4 标准的正式版本,以获得对 PHY的更详细描述。
加扰时间戳序列 (STS) :是预定义的静态脉冲序列,表示 -1、0 和 1,使用三进制码调制,即正脉冲、负脉冲和无脉冲。相比之下,STS 由代表 -1 和 1 的 BPSK 调制脉冲组成。STS 中的位序列是伪随机发生器的输出,如下图所示。测距设备需要在 128-位密钥,例如,通过使用带外通道,在 UWB 测距操作可以开始之前。为每个测距消息生成一个新的 STS,因为 ST S V 计数器随着每个数据包的增加而增加。测距设备预先知道将用什么比特序列代替 STS,它们可以创建一个本地模板来使用前文描述的互相关来检测传入的 STS。由于STS的内容无法预测,理论上外部源不可能发出一个更早到达目标设备并且仍然包含合法STS的信号;只有合法设备知道要发送什么。
因此,测距设备可以将数据包的到达时间 (ToA) 基于 STS 的到达时间,从而保证没有外部对手通过及时推进接收信号来缩短测量距离。此外,由于作为 STS 一部分的 BPSK 脉冲只有大约 2 ns 长,因此也不可能对孤立脉冲做出反应并及时发送这些脉冲。对手无法在足够的时间内获取单个脉冲的极性,这使得任何重放或 ED/LC 攻击在物理上都是不可能的。在任何情况下,推进脉冲最多只会产生 2 ns 的减少,转化为小于 60 厘米的距离。
信道失真和多路径衰落 UWB 测距数据包会受到信道噪声和多路径衰落的影响,导致 STS 单脉冲的(直接)解调复杂,并且在某些信道条件下是不可能的。在 64 MHz 脉冲重复频率下,脉冲间隔约为 16 ns,高于通道延迟扩展。结果,脉冲间干扰和多路径衰落效应使单独的脉冲无法识别。为了解决这个问题,HRP 通过将接收到的信号与预期的 STS 进行互相关来检测 STS,类似于前导码检测。尽管互相关是确定 STS 是否存在的强大工具,但计算出的通道脉冲响应 (CIR) 通常显示包含多个相关峰值的轮廓,并且确定确切的到达时间仍然具有挑战性。
CIR 是互相关侧峰和弱早期路径相关峰的叠加。前面2)节中的图显示了接收后的两个脉冲(红色)和接收器使用的模板(灰色)。得到的 CIR(蓝色)呈现出多个峰。最高峰不一定对应于信号的 LoS 路径。即使在最强相关值之前,任何 HRP 接收器都必须检查特定时间窗口内的其他峰值。这样的峰值可能表明信号的较早但较弱的副本,属于较短的路径。通过使用这条路径作为参考,接收机可以计算出更准确的测距结果。 HRP 标准中没有详细说明如何确定 STS 的到达时间。
如果 STS 中包含的每个脉冲都被解调,没有噪声和信道效应,接收器就可以验证序列中的每一个比特。但是,在 HRP UWB 中,4096 位长的 STS 不会产生 4096 个可验证位。首先,在计数器模式下用于 AES 的密钥的熵只有 128 位,见上图。其次,由于 STS 是通过相关而不是单脉冲解调来验证的,因此任何安全保证都由早期峰值的显着性水平给出与整体互相关曲线相比。随机序列(例如 STS)的非理想互相关特性会导致相关中的旁瓣并起次要作用。
逐位 STS 比较而不是互相关必须考虑传输错误,这在 NLoS 场景中会自然发生。 IEEE 802.15.4z 没有规定 STS 是否应该在相关运算之后进行逐位比较。即使供应商实施了额外的检查,他们也需要考虑位翻转并选择一个对 STS 提供的安全性有显着影响的阈值。
到目前为止,只有少数供应商提供 HRP 收发器芯片,尽管基于 HRP 的定位和跟踪标签已大规模进入消费市场并且汽车制造商正计划发布搭载 PKES 系统的汽车HRP 芯片,例如 BMW iX 和 Genesis GV60 模型。 FiRa 联盟认为 HRP 对于消费级和安全关键型应用都是可行的。
Apple 拥有多样化的 UWB 软件和硬件堆栈。最近的产品中已经发布了不同版本的 Apple U1 芯片,例如 iPhone(从 iPhone 11 开始)、HomePod mini、Apple Watch(从 Series 6 开始),甚至还有 30 美元的 AirTag。在 iPhone 上,Apple 使用 iOS 13将 UWB 集成到 AirDrop 中,使用到达角 (AoA) 测量来简化设备的定位并增强用户体验。在 iOS 14 中,他们引入了 Nearby In 交互框架,向应用程序开发人员公开了一组选定的基于 UWB 的测距功能。自 iOS 15发布以来,就提供了第三方配件支持的兼容模式。但是,有关兼容模式配置参数的详细信息仅适用于 Made for Apple (MFi) 计划成员。
NXP 宣传他们的 Trimension 芯片系列可以实现安全测距和精确定位。存在用于 SR150 和 SR040 的开发套件。分析表明,一些三星产品,例如 SmartTag+ 和从三星 Note20 Ultra开始的手机,都包含 NXP 芯片,以实现测距和改进点到共享数据传输。包含 NXP 芯片的汽车示例是即将推出的 BMW 和 VW 车型,而大众汽车似乎将 LRP 芯片用于 PKES。
Qorvo 在被收购之前也称为 Decawave,生产 DW3000 芯片系列。这些芯片可与 Apple U1 芯片互操作。尽管如此,目前还没有市售产品使用 DW3000 系列并与三星或苹果消费设备兼容。 Qorvo 还提供两个开发套件:基于 Arduino 的开发板DWM3000EVB 和包含具有蓝牙 5.2 的 nRF52833 的集成板 DWM3001CDK。它们都可以使用他们的 SDK 进行编程。
假设一个试图减少两个 HRP UWB 设备之间测量距离的攻击者。例如,攻击者试图诱使汽车相信合法车主的汽车钥匙扣在附近,来解锁和启动汽车。
考虑具有以下限制的黑盒攻击者。攻击者无法访问受害设备之间共享的任何秘密,也无法预测 HRP UWB 中假定为不可预测的消息字段内容;即,攻击者无法预测加扰时间戳序列(STS)。由于无法猜测 STS,攻击者不能简单地发送有效数据包来提前消息到达时间,从而缩短距离。攻击者可以将其设备放置在与受害者设备之一物理接近的位置,但没有物理访问权限,也无法篡改这些设备。攻击者可以在无线通信信道上接收和注入信号。具体来说,他们可以根据 HRP 标准制作和传输 UWB 消息。
在下图中说明了攻击。在初始攻击阶段,攻击者设备的行为类似于 HRP UWB 数据包分析器,并解析受害设备交换的数据包序列。一旦确定了测距序列及其时序,攻击者设备就会被动地掩盖选定的数据包组件,如下图c 所示。由覆盖在接收器处引起的额外噪声被错误地分类为合法信号的早期副本,从而导致距离减小。
注入的覆盖信号遵循 HRP PHY 数据包的结构,但经过精心设计,以不同的功率电平传输不同的数据包字段。攻击者需要同步到数据包传输。数据包每隔几毫秒发送一次,具体取决于测距实现,并且攻击者的同步精度只需要在 µs 量级,尽管攻击了一个以 ps 分辨率测量时序的协议。
攻击可以使用简单且廉价的现成 HRP UWB 设备来实施和执行。因此,不需要复杂的实验室设备,使得攻击实用且易于实施。上图显示了与合法数据包对齐的注入数据包。注入的数据包由 Preamble、SFD 和 STS 组成,其中 STS 是在不知道合法 STS 的情况下随机生成的。每个字段的功率被独立调整以获得最佳结果。
在许多实际情况下,HRP UWB 设备使用 DS-TWR 并可能交换额外的同步或数据包。此信息也可以带外交换(例如,使用蓝牙、NFC、UHF)。然而,这种预协商不会影响攻击,它只针对测距序列中数据包的到达时间。如下图所示,该攻击可以很容易地泛化。通过配置接收到第一个数据包后的反应延迟,攻击者可以攻击序列中任何想要的数据包。在 DS-TWR 的情况下,可以利用它来选择要攻击的设备。或者,攻击者也可以使用两个设备同时攻击两端,从而增加成功的机会。
综上所述,攻击者需要配置在测距序列中攻击哪个数据包(通过选择接收到第一个数据包的延迟)以及要注入的 Preamble、SFD 和 STS 的功率。
准确的时间戳需要检测接收信号的最早副本,也称为前沿检测。在下文中解释了前沿检测的挑战,并描述了攻击如何通过掩盖内容来选择性地攻击测距序列中目标数据包的特定字段。
在具有障碍物和反射的现实环境中,接收器可能会收到多个传输信号副本,这些信号以不同的功率从不同的路径到达。在 HRP 中,由于这些延迟可能会导致间隔仅为 16 ns(64 MHz 的高重复频率)的脉冲之间出现自干扰,因此问题更加严重。对于双向测距中使用的飞行时间测量,接收器必须找到最早的副本,对应于最短路径。当接收器和发射器不在 LoS 中时,LoS 副本可能以比其他 NLoS 反射更低的功率到达,在寻找前沿副本时,任何算法或实现都必须决定是否它面临噪声或信号的非常低功率的早期副本,这是具有挑战性的。
假设攻击者能够向接收算法注入看起来与合法低功率副本相当相似的噪声。在这种情况下,它可能会欺骗接收器接受它作为前沿,从而导致距离减少。这种攻击首次用于 IEEE 802.15.4a。在 IEEE 802.15.4a 中没有 STS,攻击者可以注入 UWB 脉冲来攻击前导码。最近的一项研究提出了一个假设,通过模拟证实,Cicada 攻击的变体可用于通过注入 HRP 脉冲来攻击 IEEE 802.15.4z 中的 STS。由于 HRP UWB 接收算法尚未公开,因此模拟基于三个主要假设:(i)通过时域互相关计算 STS 的到达时间和质量,(ii)通过寻找前沿在最强峰值之前的有限反向搜索窗口中较小的相关峰值,以及 (iii) 设置阈值以评估相关性与噪声相比的重要性。 给定接收算法,在安全性和性能之间存在基本的权衡:在具有挑战性的多路径环境中接受合法的早期副本需要宽松的阈值,但这增加了接受攻击者感应噪声的机会。
在本文中采用相反的方法,不是假设某种算法和设计选择并在仿真中研究它,而是根据经验分析部署在实际产品(Apple U1)中的未知算法在受到信号注入时的行为。由于它们的闭源性质,不知道大多数设计选择。例如不知道他们是实施时域互相关还是采用频域方法,他们如何估计本底噪声,他们如何定义和配置阈值,以及这些阈值是否根据环境动态调整。
开发攻击时所做的唯一假设是接收器能够在 NLoS 条件下工作,能够凭经验证实这一点。然后选择传输由标准数据包制作的信号,以最大限度地提高产生被错误分类为合法副本的噪声的概率,并使攻击切实可行。不以不同的功率和重复频率注入细粒度对齐的脉冲,而是观察如何标准数据包的字段影响接收。调整了数据包的结构和场的功率水平,以最大限度地减少(通过注入 STS 脉冲)的机会,同时避免干扰和其他错误。一般来说,与以前的工作不同,本研究的攻击处理了许多挑战,因为它在实际交换中使用的真实数据包序列上运行。
值得注意的是,攻击者并不能直接控制距离减少的量。但是,它需要延迟合法副本,在接收时模拟前沿检测算法,实时分析其输出,并在获得所需结果时中断注入。 由于这些原因,很难在实践中实施,尤其是使用现成的设备。 作为替代方案,本文展示了序列中受害数据包的选择如何影响减少的分布。 在上表中将之前的前沿检测工作与本文的方法进行了比较。 然而在本文威胁模型中,攻击者对控制减少不感兴趣,而是对造成实际距离减少感兴趣,这将诱使受害者相信合法用户足够接近以授予访问权限。
只有当攻击信号的注入不会意外产生其他使测距序列无效的错误时,针对前沿检测的攻击才能在实践中成功。为了实现这一目标,本文攻击精心设计了攻击信号的时间、格式和功率级别。攻击者的传输不是连续的,而是被动的。与高斯噪声或 UWB 脉冲的连续传输相反,反应式传输允许针对测距序列中的特定数据包,而不会影响承载数据的数据包。类似地,攻击数据包不包含任何可能破坏合法数据包内容的数据字段。前导码以低功率传输,因此不会触发新的接收事件。当接收器确定 STS 质量和预期数据字段的存在时,这样的事件确实会导致错误。相反,STS 脉冲以更高的功率发送,以便它们遮盖合法信号并产生被错误分类为早期副本的噪声。最后,preamble 和 STS 的功率都根据设备之间的相对距离进行调整。特别是,当将数据包传输到阴影的设备很远时,会降低功率以避免干扰。
通常,使用 DS-TWR 是因为它可以补偿时钟误差和不对称的回复时间。在对许多 HRP UWB 配置的分析中证实了这一点。正如标准中提到的,距离是用以下方法计算的:
为简单起见可以忽略非理想因素,并将距离测量为两轮的平均值:
有时,使用第四条消息可能用于传输附加数据。如果测距数据包仅包含前导码和 STS 但不包含数据,则更早和/或更晚发送附加数据包。在任何情况下,攻击者都可以配置从接收到第一个数据包的延迟来攻击 DS-TWR 序列的第二个或第三个数据包。攻击第二个数据包对应于覆盖响应者发送和发起者接收的数据包,而攻击第三个数据包则相反。攻击者靠近接收者可以方便地使用较少的功率进行遮蔽,但并非绝对必要。值得注意的是,第二个和第三个数据包之间的选择并不完全对称。攻击第三个数据包的唯一效果是减少响应者(Tround2)测量的回合时间,导致:
相反,攻击第二个数据包会减少 Tround1(因为发起者更早收到数据包)和 Tround2(因为发起者因此更早回复),导致:
显然,通过攻击第二个数据包,攻击者可以获得比攻击第三个数据包所获得的减少两倍大的收益。减少量 δ 是一个不受攻击者控制的随机变量,并受接收机接受的 LoS 和 NLoS 路径之间的最大差异的约束。
作为替代方案,攻击者可以使用设备同时针对第二个数据包(靠近发起者)和第三个数据包(靠近响应者),可以将这两种攻击视为独立事件。因此,攻击者将获得 c^δ/4、2c^δ/4 和 3c^δ/4 的约简,每一个都以递减的概率下降。
本研究提出了一种进行距离缩减攻击的通用方法。原则上,它可以使用任何现成的 HRP UWB IEEE 802.15.4z 兼容设备来实现,该设备可以被编程为接收和发送数据包,并允许为每个字段配置单独的功率级别。在实践中使用 Qorvo DWM3000EVB 实现了攻击,由 Nordic Semiconductor nRF52 DK 控制,总成本仅为 65 美元左右。这些设备可以使用开源固件轻松编程,它们的大小有限,并且可以供电由便携式 USB 电池编辑。攻击的伪代码如下所示。延迟可以配置为受害者使用的回复时间的倍数,以便攻击信号与以下数据包之一同时传输。攻击者可以在攻击准备阶段找到这个和其他接收参数。
为此,基于连接到 STM32Nucleo-F429ZI 的 Qorvo DWM3000EVB 开发了一款嗅探器和数据包分析器。使用 Qorvo 的 SDK实现了一个快速 UWB 接收器,它通过 USB 连接将帧转发到主机。在这里,使用也支持 Apple 专有的 UWB 帧格式的自定义Wireshark 解析器分析数据包。可以连接多个不同配置的数据包分析仪,这是观察复杂测距过程所必需的。数据包分析器中的 DWM3000EVB 芯片可以接收精度为 15.65 ps的时间戳。这些时间戳被记录并转发到 Wireshark 解析器。微秒级的精度足以运行攻击,由于当今使用 UWB 的大多数协议都是封闭源代码,因此无法彻底分析这些协议以发现潜在的隐私和安全问题。除了测量帧,UWB 数据包分析器还接收数据帧。这使得能够检查是否有任何私有数据、静态标识符、密钥材料或类似内容通过 UWB 共享。 Apple 不使用 IEEE 802.15.4 MAC 帧格式,例如,用于 iPhone 到 iPhone 和 iPhone 到 HomePod 的范围。本文实现了一个 Wireshark解析器,允许检查它的未加密部分。
本文成功地针对部署在不同产品(iPhone、AirTag、HomePod)中的 Apple U1 芯片应用了距离缩减攻击,并与其他供应商的芯片(NXP SR040、NXP SR150 和 Qorvo DWM3000)互操作。
下图a 显示了一个具体示例。一部 iPhone 11 Pro (Apple U1) 放置在距离 NXP SR150 8 m 的视线范围内。两台设备共交换 6 条消息,其中 3 条用于 DS-TWR。 iPhone 是发起者(和受害者),NXP SR150 是响应者。 Qorvo DWM3000EVB 充当攻击者,放置在距离受害者 iPhone 约 30 厘米处。通过击中 DS-TWR 序列的第二条消息,攻击者导致距离减少多达 10 m。 iPhone 上运行的应用程序在攻击关闭时显示 8 m,在成功减少时显示 0 m。
上图b 显示了另一个针对两部相同 iPhone 的攻击示例。在这种情况下,消息总数为 4,但攻击是相似的。通过瞄准 DS-TWR 序列的第二个数据包,攻击者将绘制在笔记本电脑上的原始测量值从 10 m 减少到不到 2 m。
在室内 LoS 环境中运行攻击,两个受害者设备放置在 5 m 到 15 m 之间的不同距离处,天线彼此面对。当攻击关闭时,这种设置会产生相对良好的基线信号质量,并且测距误差很小(通常为 10 厘米到 20 厘米)。选择这种设置是为了避免由于通道(例如,多余的路径)引起的测量噪声,否则会扭曲结果。评估了以下设备组合:iPhone–iPhone(附近交互)、iPhone–AirTag(FindMy 测距)、iPhone–HomePod(Handoff 音乐)、iPhone–NXP 和 iPhone–Qorvo(兼容模式) 。
攻击者将一个或两个 Qorvo DWM3000EVB 放置在 ca 中。距离一个或两个测距设备 30 厘米。对抗性收发器执行反应性攻击,即它们被编程为检测测距交换的初始帧,然后覆盖一个或两个后续帧的前导码和 STS。需要注意的是,当使用两个设备时,虽然攻击的总体成功率和最大距离减少增加,但测距过程的结果在设备之间是同步的,即两个合法设备最终报告相同的测量时间序列。
基于 UWB 的关键解决方案只需要确定距离是否低于或高于阈值。因此,许多应用程序不会在用户界面中显示详细的距离信息。相反,需要精确的距离测量结果而不聚合来评估攻击的成功率。在 Apple UWB 实施的情况下,U1 芯片将原始测量结果报告给 iOS 驱动程序,记录它们。查看这些测量日志需要定位服务和 AirTag 调试配置文件,可以在任何 iPhone 上安装而无需越狱。然后,详细的测量信息会出现在日志中,包括距离。
在大多数测量模式下,iOS 会将原始测量值转发到相应的守护进程或附近交互框架。例如,在 iPhone 和 HomePod mini 之间进行一次距离测量就足以立即在 iPhone 上显示 HomePod 的音乐播放菜单。在兼容模式下观察到相同的行为,该模式用于第三方集成,如车钥匙。
Apple 注意到 UWB 距离测量并不总是可靠的。在将 Nearby Interaction 框架与示例 Peekaboo 应用程序一起使用时,当前测量值仅在与最近 11 次距离测量值的中值偏差不超过 1 米时才会发布。当手机与第三方设备交互时,不会应用此过滤器。通过用 FRIDA替换 iPhone 上的 U1 芯片报告的距离值来手动识别这个边界,类似于之前发布的hook。 iOS 仅丢弃应用层上的测量值,从而对好奇的开发人员隐藏它们。在下文中使用未经修改的 iPhone 日志提供的原始 U1 芯片测量值来获得可比较的结果,而不考虑不透明的应用层过滤器。
将攻击的成功量化为测距测量的相对速率(从 iOS 日志中读取),表明距离比基线短,在至少 15 分钟的观察间隔内平均。为了将良性测量的非理想性与实际的减少区分开来,只计算在运行攻击之前的 100 秒间隔内低于最大良性(负)偏差两倍的测量值。
对于不同的设备组合,攻击导致 ca 之间的距离减小。 2 m 到 12 m,成功率在 2 % 到 4 % 范围内。成功率的一些差异,即介于 2% 和 4% 之间的差异,可以通过以下事实来解释:测距过程中只有一个或两个数据包受到攻击。这意味着,对于每个单独的 ToA 测量(即,按数据包)的给定成功率,通过同时针对第二个和第三个数据包来增加测距交换的至少一个 ToA 测量成功完全减少的机会。举例说明多个攻击设备对整体减少的累积影响,上图显示了在 25 分钟观察间隔内的整个测量时间序列(iPhone-iPhone),每端放置一个攻击设备。由于攻击成功率随时间变化,还使用超过 300 次连续测量的滑动窗口显示瞬时成功率。该攻击导致测量值的总体减少率为 4.1%,而超过 300 个连续数据包的滚动平均值可高达 7.7%。
距离减少的分布偏向于减少≤5 m,因为任何一个设备,即一个针对第二个数据包和一个针对第三个数据包的设备,都可能导致这些。相比之下,设备回复发起者(即通过第二个数据包进行传输)只能产生长达 10 m 的影响。这一观察结果与前文中提供的分析一致。在此间隔内观察到的最长减少超过 12.35 m,这是由于在同一测距过程中对两个受到攻击的数据包的成功减少造成的。假设任一侧的影响独立,这表明这些附加减少(超过 10 m)虽然不太可能出现几个数量级,但仍然足够频繁,可以在实际时间窗口(25 分钟)内发生。类似地,在只有响应者易受攻击的配置中,距离减少受到 ca 的限制。 5 m,因为只能针对第三个数据包的 ToA。例如 iPhone 和 NXPSR040 的组合,因为 NXP SR040 只能配置为启动器。
可能的相对距离减少范围不取决于测距设备的实际距离,如果距离减少超过标称距离,U1 芯片甚至会报告负距离。下图突出显示了这一点,显示了 iPhone-iPhone 设置中减少距离报告的分布,其中一个攻击设备在两个不同的距离(5 m 和 15 m)上,在 15 分钟的观察期内。很明显,无论标称距离如何,相对减少都以 10 m 为界。
尽管声称 UWB 对干扰免疫,但看到完全有可能通过干扰干扰测距测量。当将传输功率设置为高电平并且传输时间与预期的测距帧匹配时,接收器将无法接收该帧,这很可能是由干扰 STS 引起的。
对抗信号的时序和功率水平必须与合法信号相匹配。要运行成功的攻击,与实际帧匹配的时间延迟必须精确到 5 µs 量级,才能使成功率超过 1%。虽然时序是相对静态的,但功率水平取决于基线信号质量。这意味着需要根据路径损耗(即合法设备之间的距离)来调整攻击力。例如,对于标称距离为 15m 的受害设备,将增益参数调整为 Qorvo 上最大可能值的一小部分,大约1/4 用于序言,1/3 用于 STS。
在下表中展示了针对不同设备对执行攻击的结果。在大多数情况下,iPhone 一直是主要受害者,因为它的实施似乎受此漏洞影响最大。结果表明,一个易受攻击的设备会导致两个设备的距离缩短。这个问题不能仅在一端得到缓解,因为每个 UWB 测距算法都需要两个设备向其他设备报告往返时间 Tround 和回复延迟 Treply。这意味着用户必须信任这两个设备,这只能通过独立认证来实现,包括对算法的审查。
此外,发现它与 iPhone 执行测距的设备无关。每个设备组合都容易受到距离缩短的影响,并且成功率很高。
赞赏
- [翻译]针对Model X无钥匙系统的远程攻击 23105
- [翻译]计时瞬态执行:针对英特尔处理器的新型侧信道攻击 11364
- [翻译]大疆无人机安全与DroneID漏洞 27916
- [翻译]基于充电桩的电动汽车勒索攻击 12491
- [翻译]基于DVFS的GPU电磁侧信道窃听攻击 22944