新思科技解析导致汽车无钥匙进入系统易受攻击的漏洞及缺陷
作者:新思科技首席汽车安全策略师 Dennis Kengo Oka 博士
汽车科技不断进步,一些繁琐的程序逐渐简化,比如车钥匙已经慢慢被无钥匙进入系统取代。与此同时,无钥匙进入系统的便利性可能需要付出代价:信息安全隐患。本文带您了解黑客如何攻击密钥卡以及新思科技建议采取的主动安全措施。
多年来,安全研究人员发现了汽车系统中的许多漏洞。因此,人们对汽车网络安全需求攀升。 近期关注度较高的案例是 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 更新,以便及时修补新发现的漏洞。
原文
评论