汽车基础软件信息安全关键技术

图3.4-7 分层的安全系统架构
在最底层的硬件层,提供安全芯片作为系统的信任锚。安全芯片通常采用 HSM(Hardware Security Module),配备独立的 CPU 核和针对特定算法的硬件加速器(如 AES-128、SHA-256 等)。HSM 通常还拥有单独的存储区,包括 RAM 和 NVM,HSM 的存储区在正常运行状态下应只允许 HSM 核读写,主核不能读写。这样就可以把算法密钥等重要数据存储在 HSM 存储区,与主核进行隔离,进一步加强安全性。此外 HSM 模块还会带有真随机数生成器等加密算法常用外设。
TEE 是一种具有运算和储存功能,能提供安全性和完整性保护的独立处理环境。其基本思想是:在硬件中为敏感数据单独分配一块隔离的内存,所有敏感数据的计算均在这块内存中进行,并且除了经过 授权的接口外,硬件中的其他部分不能访问这块隔离内存中的信息。以此来实现敏感数据的隐私计算。具体实现参考 3.4.10 TEE 可信执行环境。
在硬件层之上的操作系统内核层面,操作系统内核应为用户态应用程序的存储访问提供隔离措施, 以保证每个存储访问相互隔离。操作系统内核应提供措施来约束每个进程在执行过程中不会使用超过其 预先分配的资源,应对操作系统内核的地址空间进行保护,并为应用程序提供访问操作系统内核地址空 间的安全接口,以支持安全相关的进程间通讯。在操作系统内核空间出现异常时,如非法系统调用、堆栈溢出、指针异常访问、内存越界、死循环、死锁、超时等,操作系统内核应立即调用内核异常处理程序,并上报对应的故障代码。操作系统内核应尽可能地监控每个用户态进程的资源消耗,如 CPU、内存等。提供栈溢出诊断机制,以探测已经发生的栈溢出错误并调用内核异常处理程序。对于内核服务接口,操作 系统内核应向用户态软件模块提供安全的服务接口(如 I/O 操作、信号处理等),不正确地调用这些服务接口不应导致内核崩溃。当出现不正确的操作系统内核服务接口调用(例如,传递非法地址、无效参数、非法的上下文等)时,操作系统内核服务接口不应执行对应的服务,并且立即返回错误代码。
安全启动 (Secure Boot) 就是在基础软件系统启动过程中,前一个系统验证后一个系统的数字签名, 验证通过后,运行后一个系统。在可信计算体系中,建立信任需要先拥有可信根(Root of Trust),然后建立一条可信链(chain of Trust), 再将信任传递到系统的各个模块,之后就能建立整个系统的可信。安全启动的原理就是硬件信任锚 + 信任链。而 HSM 在安全启动中就充当了硬件信任锚的角色,具体安全启动流程可参见 3.4.5 安全可信启动章节。
基础软件系统本身应当执行系统加固,以减少遭受外部攻击的可能性,具体说来基础软件系统应遵 循最小化原则:移除不必要的服务程序,关闭不需要的端口和服务;移除开发、编译、调测类、网络嗅探类的服务和工具;去除安装、显示和调整系统安全策略的服务和工具;检查不应存在任何后门和隐藏接口。基础软件系统应执行漏洞扫描,不应存在由权威漏洞平台 6 个月前公布且未经处置的高危及以上的安全漏洞。
主动防御是利用操作系统内核与工具链对整个基础软件系统引入动态、随机、多样的安全基因。使整个基础软件系统在没有外界辅助手段支撑的情况下仍具有发现和抵抗各种 “病毒”(包括未知威胁)的能力。具体说来就是针对 “系统探测” - “漏洞挖掘” - “系统突破” - “系统控制” 的攻击链,主动防御能在不同的攻击步骤上通过随机化(运行地址随机化、全局符号随机化、数据结构随机化)、异构发布等手段,改变攻击过程所依赖的系统规律,通过编译器产生具有随机、多样性特征的多变体,使被攻击路径呈现为随机、多样的特征,提高攻击、破解基础软件系统的难度。
基于硬件和操作系统内核的安全支撑,基础软件系统还能提供防火墙和入侵检测来应对外部网络攻 击。防火墙可以隔离内外部网络,入侵检测可以及时阻止基础软件系统内部异常的通信。为了进一步提 高内部网络的安全,还可以按风险、业务将内部网络分割成互相隔离的部分。针对车内常见的 CAN 通信, 采用 SecOC 来保证通信的可靠性。
防火墙可以提供针对特定端口或 IP 的访问控制实现防 DDos 攻击功能,实现对报文的安全过滤,拦截非法数据,避免其进入安全区域。防火墙的相关数据(如拦截数据流量、防火墙故障状态和防火墙规则数量等)也可以存储在相应的安全区域,并及时上报或转发其它模块处理。
入侵检测 (IDS) 实时监视系统,一旦发现异常情况就发出警告。根据信息来源可分为基于主机 IDS、基于 CAN 和以太网的 IDS。基于主机的入侵检测系统作为基础软件系统的监视器和分析器,它并不作用于外部接口,而是专注于系统内部,监视系统全部或部分的动态行为以及整个计算机系统的状态,包括 对系统配置文件、系统日志、进程、系统调用、文件系统的监控及异常发现和告警能力。基于 CAN 总线和以太网的入侵检测可以通过车内接口,实时采集 CAN 总线和以太网的通信数据,并根据策略分析是否有异常流量的数据包,并及时上传到相关控制器和云端。根据检测方法又可分为异常入侵检测和误用入侵 检测,前者先要建立一个系统访问正常行为的模型,凡是访问者不符合这个模型的行为将被断定为入侵;后者则相反,先要将所有可能发生的不利的、不可接受的行为归纳建立一个模型,凡是访问者符合这个模型的行为将被断定为入侵。
为了提高网络通信的安全性,还可以采用网络分割来防御车内网络攻击。将关键安全网络和非关键安全的网络或者是能与外部链接的网络隔离,通过受限制在不同的网络中,网络间的通信限制通过防火墙或者安全网关,单独允许一个可选择的信任帧列表从低信任的广播到高信任的网络,使攻击者实现攻击难度大大增加。
目前在车内应用最广的 CAN 通讯设计之初没有考虑信息安全。其明文传输、报文广播传输、极少网络分段等特性带来了很大的安全风险。为了给 CAN 通讯增加一定的安全性,响应汽车行业对数据加密和验证的需求,AUTOSAR 组织补充了全称为 Secure onboard Communication(SecOC)的组件,为车载通讯总线引入了一套通信加密和验证的标准,增加了加解密运算、密钥管理、新鲜值管理和分发等一系列的功能和新要求(相关技术的详细介绍可参考 4.1.1 节)。SecOC 模块在 PDU 级别上为关键数据提供有效可行的身份验证机制。认证机制与当前的 AUTOSAR 通信系统无缝集成,同时对资源消耗的影响应尽可能小,以便可为旧系统提供附加保护。
基础软件系统安全是一个综合课题,需要在不同层次、不同维度对基础软件系统面临的威胁进行分析, 结合对安全资产、攻击者角度、攻击路径、造成的危害综合评判,采用不同的安全技术对基础软件系统进行保护,并且随着新的漏洞发现和攻击技术的出现,及时更新基础软件系统的防护能力。
安全可信启动
目前主流的嵌入式设备都采用可编程片上系统 (System on a Chip,SOC) 作为其嵌入式系统。在SOC 启动过程中存在一定的安全风险,恶意软件有可能会修改引导加载程序等固件。比如,使 SOC 受到Rootkit 攻击。Rootkit 等恶意软件通过修改系统的启动过程,安装到系统内以达到持久驻留系统的目的, SOC 一旦受到 Rootkit 等恶意代码感染,即使重新安装系统也无法清除。因此有必要对 SOC 进行安全保护,防止在启动过程中固件被恶意篡改。

图3.4-8 安全可信启动
由于操作系统启动时需要有多个启动镜像,因此在安全启动过程中通过建立信任链。每个固件在加载运行前都经过数字签名的验证,只有当前阶段对后续待启动的模块进行验证通过后,才会加载和执行后续的模块。
- 下一篇:国内外政策、法规与标准现状
- 上一篇:汽车基础软件信息安全与AUTOSAR
编辑推荐
最新资讯
-
2025智驾“封神榜”测评|小鹏MONA M03智车
2025-04-29 18:24
-
风噪测试在电动汽车时代的关键作用
2025-04-29 11:34
-
汉航车辆性能测试系列之操纵稳定性测试--汉
2025-04-29 11:09
-
新能源汽车热管理系统验证体系PITMS正式发
2025-04-29 11:09
-
试验载荷谱采集
2025-04-29 11:07