首页 > 汽车技术 > 正文

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

2023-02-03 20:03:05·  来源:汽车测试网  
 
安全边界的隔离通过Hypervisor 的vCPU 调度隔离安全、内存隔离、网络隔离和存储隔离技术来支持, 实现了同一物理机上 Hypervisor 和虚拟机之间的隔离。

vCPU 调度隔离安全:处理器架构为了保护指令运行,提供了指令运行的不同特权级别,X86 架构有 Ring0-3 四个级别,Ring0 安全级别最高,一般运行操作系统,Ring3 最低,运行应用;ARM 架构有 EL0-EL3 四个级别,EL3 安全级最高,Hypervisor 运行在 EL2,GuestOS 运行在 EL1,应用运行在EL0。各个级别可运行的指令是不一样的,Hypervisor 运行在 Ring0 或 EL2,负责 vCPU 的上下文切换, 能有效防止 GuestOS 运行特权指令,实现了 Hypervisor 和 GuestOS 的隔离;应用程序运行在 Ring3 或EL0,实现了 GuestOS 和应用的隔离。Hypervisor 也支持虚拟机和 vCPU 绑定,使得 GuestOS 运行在独立的 vCPU( 组 ) 上,实现了 GuestOS 间的隔离。

内存隔离:X86 和 ARM 架构均支持 MMU 技术,MMU 实现了虚实地址的映射。在 Hypervisor 虚拟化架构下,GuestOS 虚拟地址到物理地址的映射由 Hypervisor 来实现,Hypervisor 可以使 GuestOS 的虚拟地址映射到不同的物理内存段上,保证了 GuestOS 间的内存隔离。

网络隔离:从 GuestOS 接收或发动的数据包都会经过 Hypervisor,通过在 Hypervisor 中支持虚拟的防火墙及路由器功能,可以实现数据包的过滤和完整性检查,结合数据包标签及许可证,可实现 Gues- tOS 间网络数据隔离。

存储隔离:Hypervisor 架构下的设备驱动可划分为前端驱动程序、后端驱动程序和原生驱动三个部分,

其中前端驱动在虚拟机中运行,而后端驱动和原生驱动则在 Hypervisor 中运行。虚拟机的 I/O 请求通过前端驱动会传递到 Hypervisor 中的后端驱动,后端驱动解析 I/O 请求并映射到物理设备,提交给相应的设备驱动程序控制硬件完成 I/O 操作。这种模型下,虚拟机所有的 I/O 操作都会由 Hypervisor 截获处理, Hypervisor 保证虚拟机只能访问分配给它的物理磁盘空间,从而实现不同虚拟机存储空间的安全隔离。

二是需要建立深度防御漏洞的缓解机制。对于安全边界存在的潜在漏洞,Hypervisor 需要有一定的技术手段进行主动防御,这些技术手段包括地址空间布局随机化(ASLR)、数据执行保护(DEP)、任意 代码保护、控制流保护和数据损坏保护等。

三是建立强大的安全保障流程。与 Hypervisor 相关的攻击面包括虚拟网络、虚拟设备和所有跨虚拟机表面,所有虚拟机攻击面建议都实施威胁建模、代码审核、模糊(fuzzed)测试,通过建立自动化构建及环境,触发定期安全检查。

虚拟化技术作为云计算场景的重要技术,在 10 多年的生产实践中已经积累了很多安全范式,这些经验也可被汽车场景借鉴。但是与云场景相比,汽车场景的虚拟化技术也有其特殊性,如虚拟机不需要动态迁移 / 创建,Hypervisor 有功能安全等级的要求等等,其安全性手段需要在实践中不断丰富和完善。

TEE 可信执行环境

智能网联汽车的发展,带动了面向服务体系架构(Serivice-Oritened    Architecture)的推广,目前作为 SOA 载体的操作系统代码庞大、业务数量多、车内外通信复杂,导致漏洞风险也就越大。如果系统被非法入侵和破坏,如何保护 SOA 架构下的安全资产,已成为车载的主要安全课题。解决这种课题的思想是在开放的环境里创建隔离的环境,在这个环境中,即使操作系统受到破坏,安全资产也会受到保护, 这就是我们所说的可信执行环境。

可信执行环境 (Trusted Execution Environment) 是 CPU 芯片层面上单独划分出来的一片 “区域” , 是独立于 REE(Rich Execution Environment,例 Linux、Android、AUTOSAR 等系统)而存在的可信的、隔离的、独立的执行环境,与 REE 并行运行。TEE 可给数据和代码的执行提供一个更安全的空间,并保证它们的机密性和完整性,对安全性要求更高的业务(如身份认证、密钥证书保护、安全支付等)可部署到 TEE 中。目前各主流的芯片厂商均支持 TEE 技术,下表是对主流 CPU TEE 技术的比较。

表3.4-2 主流CPU TEE技术的比较

厂商 / 架构

隔离技术

度量支持

运行态

内存加密

隔离区

ALL

TPM/TCM

NA

×

×



Intel

TXT

NA

×

×

SGX1/SGX2

√(self)

U

TDX

K/U

√(VM)


AMD

SME

×

NA

×

SEV(-ES)

K/U

√(VM)

厂商 / 架构

隔离技术

度量支持

运行态

内存加密

隔离区


ARM

Trust-Zone

EL0-3

×

RealM

EL0-3

RISC-V

SPMP/SMPU

S/M

飞腾

FT2000/2500

ARMv8 架构Trust-

Zone


EL0-3

×


海光

CSV(China Security Virtualization),类同 AMD SEV,海光内存加密技术 SME(Se-

cure Memory Encryption) 使用 SM4 国密算法,加密每次写入内存的数据。

分享到:
 
反对 0 举报 0 收藏 0 评论 0
沪ICP备11026917号-25