车载诊断系统的安全性、漏洞与防护

摘要

研究表明,"黑客活动分子"(hacktivists)能够对汽车发动严重攻击。车载诊断(OBD)接口为获取车载电子系统信息提供了便捷途径,但也为入侵者的未授权访问留下了可乘之机。研究发现,攻击者可通过多种攻击点实施远程利用,例如维修工具、CD 播放器、蓝牙设备和胎压监测系统(TPMS)。无线通信渠道使远距离车辆控制成为可能。最后,本文探讨了种子 - 密钥机制(Seed-Key Mechanism)在身份验证方面的缺陷,并提出增加额外身份验证层,以助力构建更安全的汽车生态系统。

1、引言

尽管大多数现代车辆都可能遭到黑客攻击,但一旦侵入汽车内部网络,攻击者便可绕过所有计算机控制系统,包括刹车和发动机等关键安全部件。攻击者无需实际接触车辆,就能控制汽车及其各类功能。汽车本质上是一个小型网络,目前尚未配备任何安全防护措施。黑客能够破解沃尔沃(Volvo)、大众(VW)、奥迪(Audi)和菲亚特(Fiat)等品牌部分车型的防盗锁,无需钥匙即可驾车逃离。SeVecom 等项目的开发旨在提供安全的车载通信系统,提升驾驶安全性。

本文的核心目的是通过标准化和简化调查技术,降低汽车黑客领域的研究成本,使感兴趣的研究人员无需实际车辆即可开展相关研究。我们的数字生活并非私密,在汽车中进行的点击、滑动和搜索操作同样缺乏隐私保护。汽车制造商正与 SAP 等大数据公司合作,试图将车辆转变为一站式服务中心。未来诸如奥迪 MMI 等车型或许能够直接通过车辆支付油费。届时,全球黑客将有充分动机扫描车载硬盘及所有与车辆相连的设备,搜罗信用卡信息、地址、社会保障号、密码及其他个人数据。

2、研究动机

汽车黑客已成为当今安全领域的主要关切之一。攻击者无需实际接触车辆,就能控制汽车及其各类功能。黑客攻击手段日新月异,对现有安全解决方案构成持续挑战。

目前已存在多种安全解决方案,大多数汽车制造商尝试在新款车型中应用这些方案以提升车辆安全级别。尽管这些解决方案成本高昂且技术复杂,但仍无法有效彻底阻挡黑客攻击。

其次,当未授权人员试图获取车辆访问权限时,系统会要求输入密钥进行身份验证,而此类安全系统在多个层面存在缺陷。因此,若能在现有安全系统基础上增加额外防护层,不仅能强化安全性,还能在发生滥用或未授权访问时立即通知车主。本文的目标是构建一个绝对安全的系统,使黑客几乎无法侵入。

3、背景研究

3.1 数字嵌入式系统

目前,在伦敦等主要城市,每十起汽车盗窃案中就有四起涉及某种形式的汽车黑客行为。由于警方报告无法解释部分汽车被盗的原因,研究人员罗埃尔・费杜尔特(Roel Verdult)、弗拉维奥・加西亚(Flavio Garcia)和巴里斯・埃盖(Baris Ege)开始调查车辆防盗锁装置的特性 ------ 该装置在没有正确钥匙的情况下可阻止发动机启动。研究发现,沃尔沃、大众、奥迪、菲亚特等品牌 100 多种车型(尤其是配备启动按钮而非传统钥匙的车型)所使用的防盗锁,容易被持有计算机的窃贼破解。由于研究报告涉及敏感内容,汽车制造商禁止研究人员在两年内发表该报告。如今的汽车包含多个相互联网的电子组件,共同负责监测和控制车辆状态。从防抱死制动模块、仪表盘到远程信息处理模块,每个组件都能与相邻组件通信。现代汽车通常配备超过 50 个电子控制单元(ECU),这些单元相互联网,车辆的整体安全性依赖于各 ECU 之间的近实时通信。ECU 在通信过程中需完成碰撞预测、侧滑检测、防抱死制动等功能。

3.2 汽车网络

电子控制单元(ECU)并非孤立存在,它们通过控制器局域网(CAN)相互连接 ------ 这是 2008 年起美国汽车的强制要求。汽车 CAN 网络从设计之初就未考虑数据安全,至今仍是如此。CAN 是一系列连接车辆各处计算机的数据传输通道,负责规范整个网络中的指令传输、确定指令优先级并拒绝故障信号,但该网络并未设计消息加密功能,也无法抵御恶意攻击。CAN 总线于 1983 年研发,旨在实现高效、快速的汽车通信,并已标准化为 ISO 11898。汽车制造商划分 CAN 网络的依据是生产便利性,而非出于保护转向、油门等组件免受入侵的内在需求。Strategy Analytics 公司预测,到 2007 年,约 55% 的新车将配备支持远程信息处理的终端,而 2000 年这一比例仅为 7.5%。

4、攻击入口

4.1 物理访问

黑客可能需要物理接触车辆,有时甚至需要拆解仪表盘,通过有线方式连接笔记本电脑,最终实现车辆熄火。攻击者可通过线路或电缆连接笔记本电脑,也可通过直接插入车辆核心敏感部件的设备获取访问权限。

4.1.1 车门锁与遥控钥匙(Key Fobs)

攻击者可模拟这两个系统使用的访问码,进而控制车门锁、启动或关闭发动机。

4.2 无线访问

4.2.1 蓝牙系统

蓝牙是一项常用功能,允许车主将手机与车辆配对,但同时也为黑客提供了无线攻击入口。黑客可通过诱骗车主访问恶意网站来入侵其手机,或在车主启动车辆且手机与车辆配对时捕获手机的媒体访问控制(MAC)地址。此外,当车内任何无线配对设备启用蓝牙时,黑客可通过嗅探蓝牙流量获取 MAC 地址。支持 3G 网络的车载导航系统是易受攻击的目标,因为这些系统通过远距离蜂窝网络通信,非常适合远程利用。

4.2.2 CD 播放器

黑客可在 CD 播放器中植入恶意代码,将其作为入侵途径。他们可能通过社交媒体诱骗驾驶员下载歌曲并在车内播放,此时车载媒体播放器会显示晦涩信息,若驾驶员未按正确按钮,播放器将重新刷新并加载恶意软件。

4.2.3 胎压监测系统(TPMS

这是一项政府强制要求的功能,通过仪表盘屏幕显示每个轮胎的气压。胎压信息由各车轮的传感器无线传输至车内计算机,TPMS 依赖射频识别技术实现无线通信。在 TPMS 攻击场景中,无线轮胎传感器的通信频率较低,每 60 至 90 秒传输一次数据。

4.2.4 未授权应用程序

汽车配备的车载计算机可执行或下载应用程序,而这些应用程序可能由恶意第三方或未授权方提供 ------ 此类应用通常通过应用商店或经销商定制界面分发。存在一种用于测试的应用侧载方法,黑客可利用该方法执行恶意代码,进而破解系统。

图1、攻击入口示意图

5、车载诊断(OBD)-II接口

现代车辆已成为复杂的信息技术(IT)系统,由多个相互连接的电子控制单元(ECU)组成,这些单元负责确保汽车安全、正常运行。为向车载 ECU 提供全面、易用的自诊断和报告功能,20 世纪 90 年代研发了标准化的车载诊断(OBD)接口。如今,OBD 已在全球范围内普及,并在美国和欧洲被列为法定强制要求。OBD-II 本质上是一台计算机,用于监测尾气排放、里程、车速及其他有用数据,且与故障指示灯相连 ------ 当系统检测到故障时,指示灯会亮起。一方面,OBD 允许数字化访问公共数据(如排放控制数据和故障码);另一方面,也可访问 "隐藏的" 制造商特定 ECU 设置(如防盗保护或发动机控制参数)。对黑客而言,OBD 接口通常位于车内,这种直接访问要求使其难以成为随机未知攻击者的目标。尽管 OBD 标准规定了四种不同安全访问级别的基础访问控制机制,但实际实施效果较弱。这些机制基于静态、专有或实现不当的算法,攻击者往往可利用廉价工具和少量公开信息即可绕过。诊断故障码(DTC)存储在系统中,不同车辆的故障码未必统一,外国制造商使用自定义故障码的情况也较为常见。尽管如此,维修人员(或任何持有 OBD-II 扫描工具的人)均可连接接口,读取故障码并识别车辆问题。

OBD-II 接口的标准引脚分布图如图 2 所示。若车辆诊断接口的引脚可访问目标总线,攻击者可使用扫描工具将标准引脚的线路切换至目标总线引脚,从而获取网络访问权限;否则,可通过在车辆某处的线束中接线实现。OBD-II 延长线可用于改造车辆端接口,获取裸露线路,进而向总线发送消息以控制各组件 ------ 因为该接口与多个 ECU 相互连接。

图2、作为数据链路连接器的OBD2接口引脚图

6、OBD-II接口的安全威胁

一辆中档轿车通常配备不到 30 个 ECU,涵盖关键传动系统组件及雨刷器、车门锁、娱乐系统等非关键组件。研究发现,通过 OBD-II 接口向汽车 CAN 总线发送特定消息和信号,可控制灯光、门锁、刹车、发动机等关键组件,还可向核心 ECU 注入代码,以植入持久控制能力并跨多个 CAN 总线渗透。由于工具和相关信息易于获取,汽车制造商面临的 ECU 篡改风险日益增加,这可能影响车辆安全、合规应用(如尾气处理)或破坏售后市场商业模式。因此,不仅有企图的车主可能滥用诊断服务激活非法功能、篡改 ECU 参数或重置里程数,犯罪组织也可能试图窃取原始设备制造商(OEM)和供应商的知识产权(用于制造假冒组件),或获取驾驶员敏感数据(如驾驶行为)。此外,ECU 中还存储着碰撞数据、保险相关数据或保修指标等关键信息,这些数据也容易成为恶意篡改的目标。例如,车辆碰撞前几秒的车速、安全带状态、刹车踏板位置等数据通常会被记录,事故涉事驾驶员可能会试图篡改这些数据,伪造刹车已踩下的假象。

7、安全解决方案

7.1 种子-密钥算法

"种子-密钥"(Seed-and-Key)算法利用密钥值从种子中计算出响应密钥。只有持有 ECU 正确密钥的测试设备,才能正确响应种子并获取诊断服务访问权限。该机制存在的问题在于,同一生产线的车辆通常使用相同的密钥 ------ 即所有车辆中的同款 ECU 采用相同密钥,有时多个不同 ECU 也会共享同一密钥。若攻击者获取该通用密钥,便可访问整条生产线车辆的诊断服务。攻击者可通过多种途径获取密钥,例如从修理厂获取或从测试设备中提取。制造商使用的 "种子 - 密钥" 算法属于专有技术,被视为机密信息。另一个问题是,密钥通常存储在测试设备或 ECU 的未受保护内存中,攻击者可通过调试接口等方式访问测试设备或 ECU,读取密钥信息,进而利用该密钥通过协议完成身份验证。

7.2 工作机制

种子 - 密钥协议存在诸多漏洞,需要通过额外安全措施加以修复。这些补充措施旨在解决简单种子 - 密钥协议的主要问题 ------ 成功身份验证后的通信仍处于不安全状态。

暴力破解 16 位长度的种子和密钥原本需要 7.5 天,但借助能够预测种子密钥生成多项式的设备,攻击者可在不到 10 分钟内破解,进而获取通用种子和密钥。可通过多种方式实现强大的测试设备身份验证。

下文提出的两种解决方案与现有种子 - 密钥协议协同工作,通过持续向车主反馈状态,增加种子和密钥的破解难度。

7.2.1 双向认证方法

双向认证方法在种子 - 密钥协议基础上增加了额外功能,使车主能够控制 OBD-II 接口的访问权限。流程图1(流程示意图)和图 3(架构图)详细描述了该方法的工作流程。

流程图1、双向认证流程示意图

该流程的核心是:ECU 收到安全访问请求后,向测试设备发送种子 S;测试设备收到种子后需与车主设备(如寻呼机、手机或其他可收发确认信息的设备)通信,完成双向认证。

若车主拒绝访问,种子将立即失效,后续响应不再处理;只有车主确认授权后,通用种子才会添加至种子 S,完成身份验证并授予访问权限。

图3、双向认证与种子 - 密钥机制架构图

该方法结合了种子 - 密钥协议的优势与双向认证机制,通过在每个环节向车主反馈状态,增加了安全防护层。

7.2.2 计时器方法

计时器方法针对暴力破解等算法破解 16 位种子密钥的时间成本设计,其流程如流程图2所示。

流程图2、计时器方法流程图

计时器方法赋予车主更高的自主权,直接向车主提供通用种子,且该种子每日更新,通过增加随机性提升破解难度。具体流程为:ECU 收到访问请求后,向测试设备发送种子 S 并启动计时器(默认设置为 1 分钟);若车主在 1 分钟内输入通用种子,系统将其与种子 S 组合生成密钥并验证;若黑客使用工具破解,其耗时通常超过计时器限制,此时系统将立即向车主发送恶意活动警报,从而保护 OBD-II 接口安全。

图4、种子-密钥机制中的计时器实现架构图

7.3 实现方案

以下部分详细说明上述认证方法的代码实现 ------ 客户端和服务器程序在 Windows 系统的 Cygwin 环境中运行,通过 gcc 编译器编译。

7.3.1 双向认证方法

只有当车主通过手机、蓝牙或其他外部设备发送确认信息,且种子 - 密钥验证通过时,系统才会授予 OBD-II 接口访问权限(如图 5 所示)。

图5、访问请求验证成功示例

若车主未发送确认信息,访问请求将被拒绝(如图 6 所示)。

图6、未收到确认信息,访问被拒绝示例

即使车主发送了确认信息,但种子 - 密钥验证失败,访问仍会被拒绝(如图 7 所示)。

图7、收到确认信息但种子-密钥验证失败示例

示例说明:ECU 发送的种子 S 为 20001,需将通用密钥 10110 添加至种子 S 后进行验证;车主发送确认信息(值为 1),但生成的密钥与 ECU 中存储的可接受密钥不匹配,导致身份验证不完整。

表1、ECU 中存储的可接受密钥列表

7.3.2 计时器方法

在计时器认证方法中,若密钥在计时器超时前与 ECU 的通用密钥匹配,身份验证成功并授予访问权限;若多次尝试后密钥仍不匹配且计时器超时,系统将拒绝入侵者访问,为种子 - 密钥协议提供额外安全保障(如图 8、图 9 所示)。

图8、计时器超时前种子-密钥验证成功示例

图9、种子-密钥验证失败且计时器超时示例

示例说明:ECU 发送的种子 S 为 10001,车主提供通用密钥 X,计时器设置为 1 分钟。

表 2、ECU 中存储的可接受密钥列表

Case 1:

· 种子 S:10001

· 车主输入密钥:10111

· 生成密钥(总和)=20112

· 该密钥在 ECU 可接受密钥数组中,授予访问权限。

Case 2:

· 种子 S:10001

· 车主多次输入密钥(20000、30000、10000、40000),生成的密钥分别为 30001、40001、20001、50001(如表 3 所示)。

所有生成的密钥均未匹配 ECU 可接受密钥,且计时器超过 1 分钟,拒绝访问并报告恶意活动。

表3、车主输入密钥与生成密钥对应表

该方法通过结合 ECU 中已知的可接受密钥验证和计时器限制,为种子 - 密钥机制增加了额外安全层。

8、安全车辆生态系统

联网汽车为汽车制造商和消费者带来了巨大机遇,但也引入了新的风险。与潜在的安全威胁相比,车辆被盗和相关网络视频仅为冰山一角。然而,构建端到端的汽车安全防护体系需要多年时间。远程信息处理服务、互联网娱乐服务等的引入,打破了车辆原有的封闭系统;此外,保险公司提供的蓝牙或 Wi-Fi 适配器(用于监测驾驶行为以调整保费)也使 OBD-II 接口可被远程访问。曾经的封闭系统突然转变为开放系统,但安全措施并未及时跟进。

车载系统最初设计为有线点对点架构,安全性相对可靠,但无线适配器的普及使其暴露于风险之中 ------ 部分适配器甚至未配备身份验证机制。

事实上,只有原始设备制造商(OEM)有能力解决车辆及生态系统的整体安全问题。例如,OEM 可引入硬件安全模块,实现车主对车内所有系统的身份验证(这是单个供应商无法独立完成的)。OEM 需将联网车辆视为包含车辆、网络、OEM 信息技术系统及第三方服务的大型生态系统的一部分,并对整个生态系统的安全承担全部责任。

8.1 联网车辆与物联网(IoT)

联网车辆面临的部分问题与物联网普遍存在的问题一致,包括数据完整性和身份验证需求。但车辆具有高价值、长生命周期的特殊性,且更新维护需前往维修店,成本较高;此外,车辆安全故障可能导致巨大的经济损失和人员伤亡,风险远高于普通物联网设备。在汽车行业受访者中,65% 认为安全问题将影响消费者对物联网产品的购买决策,仅有 35% 的受访者认为所在行业的物联网产品具备较强的抗网络攻击能力。为确保真实性,身份验证和授权应成为车载系统和车外系统的核心功能。尽管挑战艰巨,但在很大程度上可借鉴软件开发(包括移动设备和物联网领域)的成熟最佳实践,并将其应用于汽车行业的广泛需求中。

9、结论

本文概述了车载系统的各类安全漏洞和攻击入口,证实 OBD 接口防护不足会导致严重安全风险,对用户和制造商构成威胁。因此,本文重点提出了高效的安全解决方案,以降低通过 OBD 接口发起攻击的风险。

本文在种子 - 密钥机制基础上增加了额外安全层,实现了 OBD 接口的强化身份验证,并提出了两种新的安全增强方法 ------ 双向认证和计时器方法。研究人员、消费者和制造商可基于这些方案,提出在恶意 CAN 网络环境中提升 ECU 安全性的方法,以及检测和阻止通过 OBD-II 接口发起的 CAN 总线攻击的策略,进而构建更安全、更具韧性的未来车辆。OBD-II 接口与多个 ECU 相互连接,若该接口缺乏有效防护,车辆将极易遭受攻击。未来,自动驾驶车辆需在电子部件(ECU)安全性方面进一步 "智能化"。

相关推荐
枷锁—sha6 小时前
【SRC】SQL注入WAF 绕过应对策略(二)
网络·数据库·python·sql·安全·网络安全
天荒地老笑话么13 小时前
静态 IP 规划:掩码/网关/DNS 的正确组合
网络·网络协议·tcp/ip·网络安全
大方子1 天前
【PolarCTF】rce1
网络安全·polarctf
枷锁—sha1 天前
Burp Suite 抓包全流程与 Xray 联动自动挖洞指南
网络·安全·网络安全
聚铭网络1 天前
聚铭网络再度入选2026年度扬州市网络和数据安全服务资源池单位
网络安全
darkb1rd1 天前
八、PHP SAPI与运行环境差异
开发语言·网络安全·php·webshell
世界尽头与你2 天前
(修复方案)基础目录枚举漏洞
安全·网络安全·渗透测试
枷锁—sha2 天前
【SRC】SQL注入快速判定与应对策略(一)
网络·数据库·sql·安全·网络安全·系统安全
liann1193 天前
3.1_网络——基础
网络·安全·web安全·http·网络安全
ESBK20253 天前
第四届移动互联网、云计算与信息安全国际会议(MICCIS 2026)二轮征稿启动,诚邀全球学者共赴学术盛宴
大数据·网络·物联网·网络安全·云计算·密码学·信息与通信