多次按下汽车遥控器是否会为滚动代码提供拒绝服务攻击?

信息安全 无线的 车辆
2021-08-10 23:48:45

我对遥控车钥匙和类似的带有滚动代码的安全设备的理解是,钥匙设备是一个发射器,每次按下按钮时,它都会以钥匙唯一的已知序列发送下一个秘密。它不包含接收器。

同时,汽车中的接收器会跟踪(对于它识别的每个密钥卡)它期望下一个秘密是什么,并且只有在接收到正确的代码时才会解锁。

存在传输可能丢失的风险——例如在超出范围时按下的按钮——因此接收器实际上接受了序列中接下来的几个秘密中的任何一个。我听说有一个系统允许最多 256 个窗口,但我不知道这个数字是否正确以及是否是典型的。

如果我的理解是正确的,那么在超出汽车范围的情况下按下按钮至少 256 次,就有可能使遥控钥匙失效(即对车主执行拒绝服务攻击)。

这显然依赖于对密钥卡的访问,但不是在汽车靠近时 - 这是用户可能不那么警惕的时候。

所以,如果一个朋友在酒吧喝醉了,我可以通过在他们在浴室里快速按下他们的汽车遥控器 300 次来确保他们不能开车回家。

一直困扰着这样的攻击是可能的,但我从来没有听说过有人这样做,这让我怀疑我是否完全理解了这一点。

3个回答

在车辆范围外按下按钮至少 256 次,可以使遥控钥匙失效。

不是没用,而是不同步。任何汽车都可以让您重新同步,典型程序的一个示例是:

  • 在不到 10 秒的时间内打开和关闭点火钥匙八次。这告诉车内的安全系统切换到编程模式。

  • 按下您希望汽车识别的所有发射器上的按钮。大多数汽车至少允许四个发射器。

  • 关闭点火开关。

但我从未听说有人表演过

你身边没有3岁的孩子吗?

我的大女儿就是这么做的……我们在车上放东西的时候,她拿到了车库门遥控器,在没有她抱怨任何事情的情况下开了 10 分钟后,我看到她按下了遥控器上的按钮……回到家,却是一个不同步的偏僻的。

三岁的孩子可能是危险的、无情的攻击者,因此请注意密钥卡的物理安全。

十年前使用 64 位有效载荷的典型滚动代码 fob 如果收到一个与预期相差 16 以内的代码,或两个连续的与预期相差在 32768 以内且相邻的代码,就会解锁其他。按下按钮 32768 次将导致遥控钥匙变得足够不同步以致于无用,但前提是电池持续这么长时间。

随着有效载荷大小的增加,对紧凑窗口的需求已经减少。滚动代码的更大问题是它们对被动中继或阻塞和重放攻击没有免疫力。如果有人使用相同的遥控钥匙按钮来操作两个车库,那么有人会在一个车库接收到发送的代码并将其转发给另一个车库的人,并在原主人下次使用他的遥控钥匙之前随时使用它。将干扰器放在接收器附近并将自己的接收器靠近人的密钥卡的人可以捕获一些传输,同时阻止接收器听到它们,然后传输第一个他们收到的代码。拥有密钥卡的人可能会对它看起来多么不可靠感到恼火,但不太可能察觉到任何错误。然而,除非他在没有卡住的情况下再次使用他的 fob,否则骗子会有第二个密码,他们可以在闲暇时使用。

正如您所描述的那样,攻击的问题在于,它掩盖了许多关于无钥匙进入和启动系统如何工作的细节,以及关于内置备份系统的细节,其中一些已经在对问题的评论中有所提及其他答案。

首先,让我们讨论进入车辆:换句话说:问题中描述的攻击是否可以作为拒绝服务,因为它会阻止您进入车辆?

  • 汽车制造商了解有源电子设备容易出现故障,因此他们设计了解决方法。例如,为远程或免提开门而提供的遥控钥匙通常包括备用物理钥匙,如果它被锁定,它可以用于门上的备用钥匙孔中以打开车辆。因此,旨在禁用验证密钥的滚动代码过程的攻击不会阻止持有密钥卡的人进入车辆。
  • 此外,一些无钥匙免提应答器(即当您触摸门把手时解锁车门的种类)可用于双向通信,因此滚动代码禁用攻击也不会阻止您进入车辆。

现在,让我们介绍一下进入车内后的启动情况:攻击是否会阻止您进入车内后启动和驾驶车辆?

  • 具有无钥匙启动(即“按下启动”按钮)的车辆使用双向应答器,而不是滚动代码 - 启动顺序包括车辆和钥匙之间的双向通信。因此,旨在破坏滚动代码生成的攻击不会阻止拥有功能密钥卡的人在进入车辆后启动车辆。
  • 此外,无钥匙启动的车辆通常包括一个被动启动机构,旨在让您在遥控钥匙中的有源电子设备被禁用的情况下驾驶车辆。(例如,如果电池没电了)。这些系统通常意味着“防白痴”并且不涉及复杂的程序 - 通常,您将遥控钥匙本身靠在启动按钮上,或者将遥控钥匙靠在转向柱上的指定位置(这两者都很好地模仿了使用物理钥匙的老式方法),或者您用来进入车辆的备用物理钥匙也可以在转向柱上的隐藏钥匙孔中工作。所以 - 再一次,即使遥控钥匙中的有源电子设备被禁用,只要你有遥控钥匙,你仍然可以启动和驾驶车辆。
  • 带有遥控钥匙的汽车总是有将新的(或禁用的)遥控钥匙重新同步到车辆的程序。这些程序旨在允许所有者同步替换的 fob,即在其原始 fob 已被破坏或丢失的情况下。有时,这些程序很复杂,有时它们需要某种备份身份验证机制 - 即您需要另一个工作密钥卡,或者您需要来自工作密钥卡的内置备份密钥之一,或者您需要特定品牌插入车辆的诊断工具。这肯定会给事情带来不便,但作为对上述几点的最后备份,如果一切都失败了,它仍然可以让你操作车辆,并且你仍然拥有一个不知何故与车辆未同步的遥控钥匙.

所以 - 总而言之 - 如果问题的前提是,

我可以执行拒绝服务攻击 - 即阻止某人使用车辆 - 攻击旨在禁用 fob 可能用于对车辆进行身份验证的滚动代码功能?

答案是否定的,这不会是有效的拒绝服务攻击。

相反,如果问题是,

我是否可以通过禁用遥控钥匙中的滚动代码功能使使用汽车变得烦人或困难?

答案可能是肯定的,尽管这有点主观。如果您有一个朋友不太“了解”他们的车辆如何工作,并且不了解备用功能,并且因为他们一直在喝酒而失去理智,那么是的 - 这可能是一个有效的拒绝服务攻击。但是从遥控钥匙中取出电池也是如此,这可能比按按钮捣碎几百或几千次更容易、更快捷。拿他们的钥匙肯定更容易,更快捷。

作为最后一个脚注,如果问题是要包括安装在车辆上的售后警报/安全系统,我认为可以肯定地说所有的赌注都没有,因为多年来有各种各样的此类系统有效(或不) 以各种不同的方式——其中一些与设计不良的防病毒软件一样具有破坏性,从某种意义上说,它们造成的使用损失与防止感知问题一样多。

如果这个问题的意思是包括车库门系统,那么——是的——它基本上可以工作,至少对旧的、更简单的系统具有合理的按钮混搭潜力(成百上千,而不是几万)。然而,这仍然可能只是一个不便,因为大多数车库门系统也有备份 - 即房主可以通过另一扇门进入车库,然后拉动门驱动系统上的手动释放手柄,这将开启器与门分离,并允许用手打开门。