无钥匙进入系统是大多数现代汽车的基本配置。其最大的优势就是方便,车辆自身就能检测钥匙并自动解锁。但是很多人对此类系统的安全性提出质疑。他们认为无钥匙进入系统的便利性有时候需要付出代价:信息安全。
本文带您了解黑客如何攻击密钥卡以及新思科技建议采取的主动安全措施。
多年来,安全研究人员发现了汽车系统中的许多漏洞。因此,人们对汽车网络安全需求攀升。 近期关注度较高的案例是2020年11月特斯拉Model X无钥匙进入系统中的一系列漏洞。该漏洞是由比利时鲁汶大学的Lennert Wouters发现的。
密钥卡攻击中的步骤
特斯拉Model X无钥匙进入系统的操作步骤如图所示。图中的数字表示各个步骤。请注意,目标车辆已被锁定,且目标密钥卡已远离车辆。
1.攻击者接近目标车辆,通过挡风玻璃读取车辆识别号码(VIN),并为攻击设备中的修改后的车身控制器(BCM)配置仿真SE以使用目标VIN
2.攻击者找到目标密钥卡,并将攻击设备靠近它,并佯装成目标车辆,以约5米的距离通过低频(LF)连接。攻击者使用从VIN派生的标识符来强制先前配对的目标密钥卡通过蓝牙低功耗(BLE)显示为可连接
3.攻击者利用Raspberry Pi通过BLE将恶意固件更新推送到目标密钥卡,以获得对密钥卡的完全控制。可以通过在最大30米的距离处使用目标密钥卡上无线下载服务(OTA)来执行此更新
4.在更新目标密钥卡之后,攻击设备将通过BLE重新连接。由于密钥卡正在运行由攻击者控制的恶意固件,该固件允许将任意应用程序协议数据单元(APDU)命令发送到目标密钥卡中的SE,因此攻击者能够从智能钥匙中的SE向目标车辆提取许多有效的一次性解锁命令(例如解锁车门、行李箱等)
5.攻击者接近目标车辆并使用有效的解锁命令来解锁目标车辆。解锁命令通过BLE从Raspberry Pi发送到目标BCM
6.攻击者可以物理访问车辆内部,并可以通过位于中央显示屏下方的诊断端口将攻击设备物理连接至车载网络。攻击设备通过控制器局域网(CAN)连接到目标BCM
7.攻击设备指示目标BCM与修改后的密钥卡配对。在通过BCM挑战应答验证后,添加修改后的密钥卡,必要的凭据将存储在密钥卡的仿真SE中
8.攻击者使用攻击设备上新配对的密钥卡启动车辆,使用先前存储在模拟密钥卡SE中的凭据成功通过挑战应答验证,然后将目标车辆开走
导致密钥卡易受攻击的漏洞/缺陷
此类攻击主要是由于以下两种漏洞/缺陷造成的:
尽管在密钥卡上执行了签名验证,但是由于存在漏洞,攻击者使用恶意固件通过BLE更新密钥卡。此外,尽管有效的密钥卡通常存储从后端接收签名证书,但是当与密钥卡配对时,这些证书不会被车辆BCM验证。
值得注意的是,安全研究人员已于2020年8月负责任地向特斯拉披露了这些问题。特斯拉于2020年11月发布OTA补丁。
采用应用安全测试工具解决执行及设计漏洞/缺陷
第一种情况,密钥卡签名验证不当,这类问题通常可以用静态应用安全测试、软件组成分析(识别已知漏洞)和模糊测试(检测未知漏洞)来发现。此外,渗透测试重点检测高风险区域,比如安全相关的功能和固件更新,也可以检测出此类漏洞。
第二种情况是BCM和密钥卡之间的配对协议设计中缺少证书验证。这些类型的设计问题通常可以通过安全设计审查来识别。此外,必须对目标系统进行适当的威胁分析和风险评估,识别高风险区域,这有助于定义适当的安全要求并设计相应的安全控制措施。
汽车行业已经有许多帮助改善网络安全的举措,例如ISO SAE 21434网络安全工程标准以及联合国关于网络安全和网络安全管理系统的第155号条例等。
开发100%安全的汽车系统不大现实,因此汽车企业需要考虑并部署适当的措施来启用OTA更新,以便及时修补新发现的漏洞。