随着汽车电子控制系统功能复杂度和数据颗粒度呈阶梯式增加,其发展速度逐渐超越网络安全防护方法、技术和标准的发展,现阶段汽车电子正面临巨大的网络信息安全风险,对功能安全的潜在影响也仍在探索和解决中,信息安全问题已经成为影响传统汽车全面向智能网联汽车发展过渡的关键点。
1 车联网环境下汽车电子安全现状
1.1 汽车电子信息安全现状
万物互联的汽车电子时代使得整车厂和供应商不得不开始考虑和重视电控系统信息安全,商用车队暴露在公共环境复杂工况下,无论从时间或是空间一旦被恶意攻击、破解,其损失也将是难以自辩。近年来汽车行业安全事件频繁出现在大众视线中,比如 2015 年 Jeep 自由光被破解,黑客重新刷入了带有病毒的固件,并通过向CAN 总线发送指令的方式控制车辆减速、制动甚至关闭发动机,2017 年腾讯科恩实验室通过 WIFI 破解特斯拉 Model X 车载系统,实现特斯拉多个 ECU 的任意远程协同操控。各类安全事件正是信息安全认知普及的指导教材,从系统层面教会了汽车电子行业信息安全的概念,正向推动企业采取保护网络物理系统免受未授权访问或攻击的防御措施,并合法合规建立有效的网络信息安全防护体系。
1.2 OTA概念
空中下载技术(OTA)通过移动通信的空中接口对车载 SIM 卡信息及应用进行远程管理和控制,不仅可以为产品提供数据服务, 同时能够提供新业务下载和更新服务。相较于传统 ECU 更新方式, 汽车行业 OTA 的衍生为远程刷写、诊断提供优越技术保障,实现了线上实时问题定位和数据上传、软件下载和迭代更新,显著减少产品召回几率,整车厂售后维护成本得益于此突破性降低。
2 安全威胁分析
在车联网广泛应用和复杂功能中,本文选取最典型的应用场景OTA 进行威胁研究和分析,攻击者为达到破解通讯协议截获重要数据资产的目的,使得信息资产将主要面对三类攻击方式:物理接口方式、近距离间接方式和远程无线方式,如图 1 攻击和威胁典型向量示意。直接物理接入攻击主要通过非法接入 CAN、车载诊断系统 (OBD) 等生态接口,近距离无线攻击主要利用蓝牙和无线信道非法监听、重放或伪造节点身份信息的方式,远程无线攻击主要通过 WIFI 和移动数字蜂窝网络端口实现非法侦听、重放攻击或伪造凭证等方式进行攻击破解。本章节按照整个异构网络数据链路中通讯节点划分,从车载终端、传输链路和云服务器三个重要层面进一步研究说明其中的威胁向量和攻击方式:
2.1 终端威胁
ECU 或 T-BOX 作为终端设备具备了丰富的网络安全攻击生态入口,同时面临软件、硬件两大方面威胁:
(1)基础元器件脆弱性:汽车电子中大量使用的传感器、处理芯片等本身就可能存在设计上的缺陷或者漏洞,诸如信号干扰、缓冲区溢出、缺乏安全算法库等,攻击者通过异常环境对芯片进行攻击,SPA/DPA 功耗攻击或者物理探测等手段实现暴力破解。
(2)非法访问入口:ECU 固件程序是常见的攻击目标,如果ECU 对接入设备没有任何访问授权安全机制加上 CAN 总线中的消息明文传输情况下,任何人都可以使用 OBD 诊断设备接入总线进行操作,那么固件程序可能被非授权分析或平行越权,造成信息泄露实现渗透攻击。
(3)升级包篡改攻击:ECU 接收 OTA 升级包下载或更新, 如果没有对升级包进行安全凭证校验或者凭证验证过程被绕过,攻击者可刷入被篡改过的系统固件,使系统不再处于受控范围内。
(4)弱防御运行环境:恶意代码逆向攻击、渗透、访问受保护资源,运行环境被注入非预期执行命令,从而终端设备被非法控制。
2.2 传输威胁
车辆通讯协议传输层普遍存在消息不认证、数据无防篡改或是错误检测机制复杂度过低的潜在风险,在这种情况下传统 ECU 融合 OTA 接入无线网络后,使得汽车电子暴露在攻击威胁中的可能性和面临威胁向量的范围扩大。整体来看总线传输协议受到的安全威胁具有相似性,本章节从未经授权的中间人攻击和重放攻击两类进行归纳分析:
中间人攻击利用恶意数据节点注入,可能在未授权情况下使控制系统执行非预期命令或数据访问,造成通讯节点反馈或执行敏感动作,产生安全漏洞。针对传输数据完整性问题,传统通讯标准协议虽然预留数据域用于循环冗余检查(CRC),但随着密码学更多复杂算法的演进,CRC 算法结果被篡改的可操作性变得简单,尤其是在总线明文会话中,数据真实完整性防御机制和机密性保护机制存在不足,执行成功攻击所需的专业知识要求、对系统的熟悉程度以及突破机会窗口等威胁因素等级极低,也就是说仿冒、篡改或特权提升的攻击成功可能性非常高。
重放攻击通常利用 CAN, FlexRay 等现有技术采用明文广播发送的机理,攻击者窃听总线重要指令进行回放,或者利用网关将 64 位同步帧计数器的高 32 位字节每次增加 1 作敏感事件的撞库破解方式,通过对一定样本数量的历史明文数据帧进行逆向工程、模糊测试等捕获通信矩阵,进一步破解应用层通信协议。在这种攻击情况下,由于总线上缺失数据时效性保护机制和机密性安全机制, 通讯节点无法自主判断有效模式而盲目正响应,攻击成功可能性依然居高不下。
2.3 云端威胁
云平台,或者数据服务器在整个 OTA 应用场景中负责大数据安全管理和安全事件管理,车队访问控制变得非常繁杂 , 传统单一安全域中的访问控制模型和机制无法解决多域环境中可能出现的安全威胁。同时由于平台开放性,攻击者与普通入网用户权限一致,导致车联网服务平台比传统服务平台面临更多的攻击面,例如文件注入、漏洞扫描攻击、协议破解等,威胁影响范围更广泛。如表1所示。
3 信息安全防护架构
基于 OTA 用户场景和网络分段的角度,针对电控系统面临的安全威胁和风险,将网络安全的防御分为 4 个层次和 3 个阶段,分别是ECU、中央网关、TBOX 和云平台服务器四个层次,升级包发布、升级包传输、终端升级三个阶段进行防御,构建分层次的汽车电子网络安全纵深防御体系架构。如图 2 所示。
3.1 终端防护机制
终端设备需要考虑防止升级包被逆向分析风险、建立可信安全执行环境,如图 3 固件安全防护策略:
(1)集成安全组件。建立完善的安全防护机制通常采用软件与硬件相结合的解决方案,集成安全组件,包括但不局限于硬件专用安全芯片或是加密软件库,其最终目的是为上层应用提供基础密码运算能力和密码服务,将安全防护固化到硬件基础元器件层面中。
(2)分域隔离,也就是将系统存储空间基于 Trust Zone 理念划分为安全信任区域和非安全区域,将数据资产按照重要程度、脆弱性和攻击威胁产生的负面影响分区存储,从物理层面上将系统资源隔离,建立一个可信的安全管理系统环境。
(3)安全启动。基于可信运行环境的启动流程是保障固件安全的根本,对引导程序或固件等进行有效性验证是终端设备必须确立和实施的步骤。参考 SHE 标准安全启动机制,利用硬件加密模块 (HSM) 实现静态消息认证码(MAC)检查启动代码的一部分地址内容,只要引导程序和一些应用程序代码(包括加密库)真实性和完整性验证通过,允许主程序启动并帮助 HSM 检查代码的其余部分。在这种复合检查顺序下,一旦验证完成所有代码内容,应用程序可以释放其正常启动过程。
(4)安全更新。为了防止升级包在传输路径被篡改或仿冒, 刷写更新前应确保经过双向数字签名认证,终端需要安装根证书、客户证书以及服务器端证书,验证通过方可进行下一步操作。另一方面,只有在升级包来源被合法使用时,解密为明文。
(5)安全存储。重要数据应加密存储,保证存储机密性。同时,例如用户私钥、鉴权码或文件镜像等重要敏感数据的安全存储必须是非授权用户无法访问的,明确访问权限的区分。目前部分研究成果定义特权访问概念,管理核心系统资源的最高优先级仲裁者,将分散的访问权限进行集中管理,并对访问事件进行全程实时记录和审计。
(6)安全备份。回滚机制在发现节点升级失效后执行回滚,使节点恢复到稳定版本,保证车辆功能正常运行,同时要求镜像文件安全存储,防止恶意回滚操作。
3.2 传输防护机制
数据广播过程中也同样需要部署防护策略防止第三方信道监听和中间伪造,保障数据完整性、时效性以及数据源合法性。OTA 用户场景下大致可将数据传输分为两种,车内网络和车云网络。
从车内网络分析,CAN 总线作为目前应用最广泛的通讯协议在J1939 数据链路层标准定义中已经有一定程度的信息安全的考虑,接收与发送双方按照既定格式进行 CRC 和报文鲜度计数值校验用于验证信号传输路径完整性。然而传统 CRC 校验机制已经不能满足信息安全复杂度和实时性的安全需求,目前主流技术多数考虑基于密码学进行完整性和合法源检验的报文加密和认证机制。
加密机制考虑系统资源和运算效率通常优先选择对称加密算法,例如 AES,将明文数据经过加密后进行密文传输。认证机制如表 2 通常有两类方案,第一类是在 CAN 总线协议数据域中嵌入MAC 来表示认证信息。根据 MAC 密码学原理,不同长度数据内容都会加密计算压缩为固定长度消息摘要值,从而可以选择性适配总线数据域。这种计算方式受限于报文协议的固定数据帧长度,需要使用第二条报文传输鉴权码或者将鉴权码拆分存储报文 CRC 数据域。第二类方案是由系统架构中网关节点仲裁其他访问点的身份合法性,实时监控是否存在未授权的报文,采取高优先级错误帧来限制非法传输。
认证机制不同总线适配方案除外,MAC 的计算方式也可以利用伽罗瓦域乘法运算 (GMAC) 计算摘要值从而引入更多的瞬态变量来增强报文链路的实时可信性和数据鲜度保障,替换常见的分组加密消息认证码 (CMAC) 计算方式,为通讯完整性校验增强实时性监控和检测。如公式,相同明文块数据 DataInput、长度 Inputlength 和密钥 key 用户场景下,GMAC 算法在动态计算方面更加灵活,单调鲜度计数值或随机数都可以用作初始向量 IV,附加信息域 AD1和 AD2 可以由用户自定义关键私有信息,不同形参相同明文块也会有动态加密结果,从而使得针对 CAN 总线的重放攻击、通讯协议被破解成功可能性变低:
MAC=AES_CMAC(key,DataInput,InputLength)或MAC=AES_GMAC(key, IV, AD1, AD2, DataInput, Inputlength)
同理,车云网络基于无线传输协议也应遵循加密和认证原则,保证传输通道密文,防止其他恶意节点直接监听截获明文信息从而破解和篡改。
3.3 云端防护机制
云平台作为大数据量处理和事件管理服务器其性能和安全需求,包含主机安全、网络安全、数据安全和应用安全,都应考虑在企业建立信息安全体系范畴内。云计算安全架构中,可信根、可信链路和上层可信服务,以及动态安全管理的概念为云服务平台中数据安全保护措施提供了分析思路。
基于 OTA 场景下,云端对于车载终端重要安全服务之一是支持对重要事件的日志记录和管理审计功能,日志文件至少包含事件主体、事件发生的时间、事件是否成功、权限设置等要素,因此云端服务器应具有保证日志文件安全性的措施,防止非授权访问。第二类安全服务显而易见是升级包任务下发、密钥证书管理、数据加密和数字签名服务等,可参考公钥基础设施(PKI 体系),解决实体之间的信任问题。第三类安全服务,传统 IT 防护也理应归纳在信息安全体系考虑范围内。