一个 18 岁黑客,是怎么「黑」进一辆车的?
如果说之前黑客远程破解汽车的行动还没能让你意识到汽车安全的重要性,那么接下来的一条消息可能会让你意识到,原来不能联网的车也不是绝对安全。
在「补天」漏洞响应平台上,最近就有黑客团队曝出沃尔沃、比亚迪、别克这三个品牌部分车辆的防盗系统存在设计缺陷,只需要用成本在几十元的设备,就能无限制进行开关车门和后备箱的动作。整个过程并不需要车辆具备联网功能,只要是利用车钥匙遥控开关车门,就有潜在的风险。
车子不联网,黑客怎么能破解防盗系统呢?是不是就是我们常说的那种「锁车干扰」?事情当然没那么简单。
发现这一漏洞的是来自「神话团队」鬼斧实验室的一名 18 岁黑客。在发现漏洞的分享会上,我也了解到整个破解流程。由于关系到很多车辆的安全,因此相关核心漏洞需要保密(还因为我不懂代码)。
问题的关键在「同步值」
虽然核心漏洞不能透露,但整个破解原理并不复杂(只是很枯燥):黑客通过对汽车遥控钥匙的无线信号进行监听获取,并将信号按照特定的机制发送,就能够无限次的重现遥控车钥匙的功能。
黑客能够捕捉信号再发送给汽车进行破解,主要是因为这几款车的防盗系统都使用 HCS 滚码芯片和 keeloq 算法。这是在上世纪 80 年代美国一家公司推出的一种加密解密技术算法,具有安全性高的特点,主要应用于汽车防盗系统和门禁系统,是无钥进入系统领域的首选芯片。
换个容易听懂的说法, HCS 滚码芯片和 keeloq 算法是目前很多汽车和门禁遥控钥匙采取的软硬件解决方案,一旦被破解很容易引发大规模安全问题。
回到这次破解,车主每次按下钥匙的锁车键、开车键都会触发一次新的信号发出,车辆在收到信号后快速计算,决定是否打开车门。在这个命令的代码中,包含每辆车和钥匙的唯一且固定的识别码(序列号),以及每次命令加密过的同步值(每次操作之后同步值自动+1)。
钥匙每发出一次命令,钥匙和汽车都会对同步值进行保存记录,汽车接收到命令后,必须对同步值进行检验才会进行下一步操作。打个比方说,车钥匙发出同步值为「11」的信号,车内保存信号为「10」,车辆检验两者信号差在某个范围内即可开门(防止用户可能无意中按过开关导致同步值不统一,但差值不会太大)。
这个计算既有 10 进制算法、又有 16 进制算法,两者算法需要经过多次换算。程序员编写程序时候出现了一个明显漏洞,只要接收到两个连续的开锁命令(比如 10 和 11),系统就无法识别是否为当前钥匙所发送的命令,就会默认执行。
千言万语汇成一句话,一旦黑客获取到连续两个同步值的命令(这需要车主在特定时间长度内连续发送两次命令),就能利用这个漏洞无限制的模拟实现车钥匙的功能,车也就被黑了。
危害性大吗?
在破解现场,我们还经历了一段比较有意思的「意外」。由于受到不知名的干扰,接收器对于车辆发出的命令多次尝试仍然不成功,最后才发现是由于投影仪的遥控器的信号影响了破解设备的运作。从这一点我们可以看出,这套破解设备对于外界环境的抗干扰能力很低,需要在比较理想的情况下才能实现破解。
由于是对整段命令进行获取,所以黑客无法分析每辆车和钥匙独有的识别码。因此目前这样的破解只是针对特定的单一车辆,还不能对同一车型做出无差别破解。
对于这个漏洞,「神话行动」负责人王英健介绍,已经在沃尔沃 2008 款 XC90、比亚迪 F0、别克君威等部分款式车辆中发现,但目前尚不清楚受到影响的车辆总数。由于是软硬件问题,所以车主只能将车辆开回原厂或者 4S 店进行防盗系统更换或升级。而且使用 HCS 滚码芯片和 keeloq 算法的车辆时间跨度很长,有些车型已经很难进行维护。
再来说说这种破解方式和「锁车干扰」方式的区别。其实这个技术在「锁车干扰」之上获取了更多的权限,用户在毫无知觉甚至是确保门已经锁好的情况下,还是无法避免被黑客窃取信号进行破解。
只要一旦能够在车主不知情的情况下进入车里,那可以造成的隐私泄露、财产损失的危害就很不可控了。而且黑客还能利用漏洞进行锁车,让车主无法察觉车辆是否被入侵。
真是「防不胜防」……
感谢楼主的分享~ 学习学习技术,加油! 感谢楼主的分享~ 支持中国红客联盟(ihonker.org) 学习学习技术,加油! 学习学习技术,加油!