车辆数字钥匙是汽车智能化变革下的一项创新技术,NFC、UWB、BLE(蓝牙)等不同通信技术,将NFC智能卡片、智能手机、智能手表等智能终端变成汽车钥匙,从而实现无钥匙启动、钥匙分享、远程车辆控制等功能,为人们提供更加智能便捷的用车体验。
但汽车钥匙的数字化发展,也带来了新的安全风险挑战。攻击者通过重放攻击 、滚码遍历等手段,破解车辆钥匙,恶意解锁车辆,给车主带来的较大的人身及财产安全风险。
一、数字钥匙类型和风险点
1、数字钥匙种类
目前常见的车辆数字钥匙有如下5种:
无线车钥匙,由发射器、遥控中央锁控制模块、驾驶授权系统控制模块三个接受器及相关线束组成的控制系统组成。遥控器和发射器集成在车钥匙上,车辆可以根据智能钥匙发来的信号,进入锁止或不锁止状态。大家基本上都用过,上面有解锁按钮、锁定按钮和后备箱打开按钮。
NFC卡片钥匙,现在一些新能源汽车会配备NFC卡片钥匙,很薄,刷卡即可解锁车辆。开车时把这个卡片放在中控台上,就可以启动车辆。
手机蓝牙钥匙,使用汽车App开启手机蓝牙钥匙后,手机便可以取代随车的遥控钥 匙,进行解锁、上锁和启动车辆。现在一些新能源车辆会配备一个手机蓝牙钥匙,比如极氪APP,跟车辆绑定之后,就可以使用手机APP去解锁车辆、启动车辆。
UWB+BLE钥匙,是当下比较重点的一个发展方向。从遥控钥匙诞生,一直发展到后面的蓝牙数字钥匙,中继攻击 一直是绕不开的话题。UWB方案中加入了安全时间戳的技术, 极大提升了UWB防中继攻击能力。
生物特征钥匙,基于生物特征信息进行身份识别的一种技术,是当下比较潮的应用。一般会在B柱上方安装一个摄像头,当靠近车辆时通过人脸识别来解锁车辆。
2、五大数字钥匙面临的风险
每一种数字钥匙因为使用了特定的技术,都具有特定的风险。比如,无线钥匙面临的重放攻击 、滚码遍历攻击,目前一些厂商已发现重放攻击对车辆数字钥匙影响比较大,已经升级使用了回码机制。
NFC 、BLE 面临的中继攻击,目前车辆的NFC卡片配备的都是安全等级较高的CPU卡,但是这种卡片对于中继攻击也没有很好的防御办法。
生物特征钥匙面临对抗攻击,比如常见的AI对抗,通过使用特定的对抗算法,把车主的人脸和攻击者人脸做混合,比如说做成面具或者做成生物指纹或雕刻出来,攻击生物特征识别机制,导致车辆被偷窃。
UWB+BLE钥匙暂无特定风险攻击。
二、常见攻击场景和手法介绍
下面将对常见的攻击场景及手法进行介绍。
1、重放攻击
重放攻击(Replay Attacks)又称重播攻击、回放攻击,是指攻击者发送一个目的设备已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。
比如,一个车主在车辆附近使用没有滚码技术的无线车钥匙,通过按车钥匙上的解锁按钮,发送一串解锁信号给车辆,此时旁边的攻击者可以使用特定的监听设备,把这个信号记录下来,等到车主不在车辆旁边时,就可以通过重放解锁信号,达到解锁车辆的目的。在这个过程中,黑客并不需要接触到车钥匙,只需要在几十米到一百米左右的距离,接收到解锁信号即可。重放攻击的成本很低,并且非常有效。
2、中继攻击
“中继攻击”是目前比较难防御的一种攻击手法,指犯罪分子利用汽车的无钥匙进入系统欺骗汽车,让汽车认为无线 遥控器就在它旁边。
比如,车主正在办公室工作,车辆放在相距几百米的地库。此时两名攻击者黑客A和黑客B,其中黑客A就站在车辆旁边,黑客B在车主附近。黑客A拿出模拟设备,对车辆发出解锁请求,黑客A拿到了要求认证的信息,通过4G、5G技术传输给黑客B。黑客B也有一个模拟出来的蓝牙设备,他把要求认证的信息在靠近车主之后发送给车主真正的蓝牙钥匙,真正的蓝牙钥匙误以为是车辆发过来的认证要求就会进行处理,并返回一个合法的认证信息。
黑客B再通过4G、5G通道把认证信息返回给黑客A,黑客A将认证信息发送给车辆,就达到了远程解锁车辆的目的。
在整个过程中,车主和车辆相距较远,车主没有办法发现车辆已经被偷走。黑客A和B并不需要提前知道车辆有没有加密信息,只需要在中继认证挑战、返回认证信息、利用信息,从而实现解锁车辆的目的。
3、人脸识别—对抗攻击
对抗样本是结合攻击者的图像与被攻击 的图像通过算法计算生成的干扰图案,干扰图案可以使人脸识别系统误判两个面部特征不一致的人为同一个人。
网上有一个例子,一家公司的研究成果,把车主的照片加入一些干扰图像之后,做成类似于这么一个形状的眼镜,攻击者戴上眼镜之后,就可以绕过手机上的一些人脸识别机制。在整个应用测试过程中,研究员验证了大概20部手机,当时除了iPhone以外,其他基本上所有安卓手机都可以被这种攻击手法所绕过。
2D相对3D来说,其安全性会更弱一些。因为3D有深度信息,有面部的立体信息,有对人脸整体特征的计算,然后进行比对,准确度会更高。如果是单纯的2D,很有可能被一些照片欺骗,导致对抗攻击。
4、逻辑漏洞
比如,特斯拉数字钥匙的逻辑漏洞案例。特斯拉汽车各使用 NFC 卡解锁后 130 秒内自动启动,而且还让汽车处于接受全新钥匙的状态(无需身份验证,车载显示屏提供零指示)。
研究人员构建了自己的应用程序,名为 Teslakee,该应用程序使用VCSec,特斯拉官方应用程序用于与特斯拉汽车进行通信的语言相同。在特斯拉汽车使用NFC卡片解锁后的130秒内,通过 VCSec调蓝牙后向车辆添加NFC卡片,这样车辆在第二天停在这里的时候,车主在车辆旁边攻击者就可以拿着新添加的NFC卡片去解锁车辆,从而达到偷窃车辆的目的。
智能手机里APP的数字钥匙有分享功能、添加车钥匙配对新车辆等功能,这些复杂功能背后也存在较多的逻辑问题。比如,车辆在分享车钥匙时,没有很好地控制分享钥匙的时效性,也没有很好地在分钥结束后把相关钥匙删除掉等,都是主机厂在做数字钥匙时,需要主动考虑的业务逻辑上的安全问题
5、物理攻击
上述都偏向于远程无线的攻击手法,下面再给大家介绍一下,如何通过物理的方式去攻击。比如说无钥匙启动场景。
车钥匙有高频和低频两个信号发射器,按下解锁按钮时,车钥匙通过高频信号来远程解锁车辆,当车主拿着车钥匙进入到车辆内部以后,通过低频信号进行通讯,通过低频的方式判断车钥匙是否在车内,并判断是否是合法的车钥匙。
当发现车钥匙是合法钥匙,接收器会发送类似于验证通过的指令给引擎启动ECU以启动车辆。如果指令每次都相同的,就可以通种物理攻击的方式,通过一些设备直接对引擎ECU发送启动指令,这样就可以绕过车钥匙校验,从而实现无钥匙启动车辆。
接下来介绍几种数字钥匙分析工具,来分析各种数字钥匙的工作机制是否存在安全问题。
—— 数字钥匙分析工具
Ubertooth/Ellisys Vanguard:蓝牙通信分析工具。Ubertooth可以进行低功耗蓝牙相关的分析,进行通信申报调频的跟进,捕获相应的通信数据。Ellisys Vanguard可以对低功耗蓝牙及经典蓝牙的通信进行跟踪和分析。
Proxmar:NFC卡片分析工具。可以用来跟NFC卡片或车辆进行通信,使用NFC通信协议,可以去了解NFC卡片在验证过程中的应答机制,包括它所涉及到的指令以及发送哪些数据。如是一张包含历史漏洞的卡片,也可以使用这个工具进行破解。
HackRF/USRP :433Mhz通信分析工具 。可以被用来捕获数据,然后使用特定的软件对通信数据进行协调,把它反映成数字信息,去观察分析通讯过程中发送了什么数据、有没有使用规划技术、有没有使用相应的加密技术或者防护技术。
DWM1001-DEV :UWB信号分析工具 。可以捕获UWB信号并还原成数字信息,进而分析UWB在与车辆交互中是否按照标准和规范对数据进行处理。
—— 要分析无线信号,首先要知道什么是调制,什么是解调。
调制就是用基带脉冲对载波波形某个参数进行控制,形成适合于线路传送的信号。解调就是当已调制信号到达接收端时,将经过调制器变换过的类比信号去掉载波恢复成原来的基带数位信号。射频通信常用的调制模式有三种,PSKASK和FSK。
—— 在分析数字钥匙的时候,如何通过专业的硬件和软件把它还原成二进制数据?
使用URH+SDR设备抓取无线信号,然对它进行解调,无线信号被解调后就会被还原成二进制数据,也可以还原成16进制等,就可以还原出通信当中它所发送的数字信息,这就是整个把无线信号转换成数字信号的过程。
如果需要对还原出来的信号进行篡改,需要先把模拟信号给转换成数字信号,再对数据信号进行调整把它还原成无线信号发送出去。此时候就用到了调制技术,把二进制数据跟特定的载波,用特定的调制模式变成无线信号,最终再通过HackRF硬件设备把它发送出去,这样就可以在接收车钥匙信号后,对它进行篡改,再发送给车端。
下面介绍两种常见的无线信号分析工具。URH、GNURadio是两个比较常用的无线信分析软件。URH是一个用来分析无线私有协议的工具,通过把硬件设备接到电脑,再启动这个软件,就可以接收无线信号,并把无线信号转换成01等序列。还具有调制模式,有规律地去调整一些二进制数据,再把它发送出去。
GNURadio是一个强大的开源软件,是一个无线开发工具包,可提供多种信号处理模块,来实现软件无线电,通过它与HackRF等硬件设备联用,来模拟发射各种无线信号,可以广泛用来研究频道频率、各种类型的通信。
三、防御方案介绍
1、防御重放攻击--Rolling Code
传统的解锁指令,无论按多少次解锁指令,Pass code都是相同的,攻击者只用捕获其中一次通信就可解锁车辆。目前主流车厂都配有滚码技术,每次的Pass code是随机的,攻击者无法预测下一次应该发送什么解锁指令,车辆会认为是非法钥匙,就不会去开门,这样就达到了防御重放攻击的目的。
滚码技术涉及两个比较重要的点,首先要有一个计算随机数的种子,第二车钥匙和车端要有一个相同的随机数生成算法。两者把相同的种子丢到随机树生的方法当中之后,车钥匙和车端通过相同算法,每次就会得出一个相同的随机数。因为外部人员不知道种子,也就不知道随机数产生的办法,所以就没有办法预测下一次的解锁指令。
2、防御中继攻击 -- UWB
基于IEEE802.15.4a/f/z标准的「超宽频」(Ultra-Wideband;UWB)技术是一种利用纳秒级窄脉冲进行资料传输的无线通讯技术。其优势如下图所示
UWB技术可以终止中继攻击。原因是 UWB 芯片总是测量车钥匙和汽车之间的直线距离(测量光速 TOF),如果车钥匙不在车内,汽车的引擎就无法启动,非常有效地进行防御中继攻击。
3、BLE安全机制—跳频机制
BLE具有跳频机制,蓝牙信道有两种通信信道,广播信道和数据信道(advertisingchannelsand datachannels)。其中广播信道只使用37,38,39这三个通道。数据信道共包含37个信道。在进行数据通信的时候,会在37个通道中快速跳频,从比如说从8跳到10、从10跳到15,大概一分钟可以跳1000多次。
所以对攻击者来说,如果想要捕获跳频数据,普通的设备是没有办法捕捉到。主机厂可通过采购专业的蓝牙设备,把37个信道都监听起来,然后计算出通讯过程中完整的通讯数据,在此基础之上对两种通信的数据进行分析,查看是否有加密等。
BLE安全机制具有4个安全等级,如下图所示
4、AUTOSAR SecOC –- 车载通信协议安全
The Autosar concept Secure Onboard Communication(SecOC) 检查单个传输协议数据单元的真实性,以检测攻击,例如重放、欺骗和篡改。
SecOC提供了真实性的功能,它会在数据包当中添加 MAC值去校验完整性,如果尝试重放指令,因为计数器没有及时更新及没有完整性的MAC值做保护,所以就无法存放指令。因此,对于一些关键部位的通信,比如接收器与启动控制器与ECU之间的通信,要使用SecOC进行保护,防止出现物理攻击绕过数字钥匙的场景。
车辆钥匙的数字化发展,为人们带来了更加便捷舒适的用车生活,但其带来的安全风险也不容忽视。主机厂、科技公司及政府机构,都在不断研究新的防御方法、制定相应的安全规范,去解决数字钥匙的安全问题。未来在大家的共同努力下,相信车辆数字钥匙面临的安全风险将逐步得到解决,为人们的智慧安全出行保驾护航。
本文来源于“车辆数字钥匙安全与应用——2022智能汽车安全守护者云大会 (第六期)”
推荐阅读
Linux+Windows安装r2Frida环境的配置及使用方法