[论文解读] CURE: A Security Architecture with CUstomizable and Resilient Enclaves
Cure 是一种新颖的硬件辅助安全架构,专为现代高性能系统设计,引入了可定制且具备弹性的可信执行环境(enclaves)——子空间、用户空间和自包含的可信执行环境——在特权级别之间实现细粒度隔离,支持对 CPU、缓存和外设等资源的专属分配,并提供实用的缓存侧信道防护。该架构在 RISC-V 基准测试中仅带来 15.33% 的几何平均性能开销,且硬件改动极小。
Security architectures providing Trusted Execution Environments (TEEs) have been an appealing research subject for a wide range of computer systems, from low-end embedded devices to powerful cloud servers. The goal of these architectures is to protect sensitive services in isolated execution contexts, called enclaves. Unfortunately, existing TEE solutions suffer from significant design shortcomings. First, they follow a one-size-fits-all approach offering only a single enclave type, however, different services need flexible enclaves that can adjust to their demands. Second, they cannot efficiently support emerging applications (e.g., Machine Learning as a Service), which require secure channels to peripherals (e.g., accelerators), or the computational power of multiple cores. Third, their protection against cache side-channel attacks is either an afterthought or impractical, i.e., no fine-grained mapping between cache resources and individual enclaves is provided. In this work, we propose CURE, the first security architecture, which tackles these design challenges by providing different types of enclaves: (i) sub-space enclaves provide vertical isolation at all execution privilege levels, (ii) user-space enclaves provide isolated execution to unprivileged applications, and (iii) self-contained enclaves allow isolated execution environments that span multiple privilege levels. Moreover, CURE enables the exclusive assignment of system resources, e.g., peripherals, CPU cores, or cache resources to single enclaves. CURE requires minimal hardware changes while significantly improving the state of the art of hardware-assisted security architectures. We implemented CURE on a RISC-V-based SoC and thoroughly evaluated our prototype in terms of hardware and performance overhead. CURE imposes a geometric mean performance overhead of 15.33% on standard benchmarks.
研究动机与目标
- 解决现有 TEE 架构采用单一模板可信执行环境模型所导致的局限性,该模型无法满足多样化服务需求。
- 为单个可信执行环境提供对系统资源(如 CPU 核心、缓存行、外设)的安全专属访问。
- 在不依赖操作系统全局修改的前提下,提供实用且高效的缓存侧信道攻击与受控侧信道攻击防护。
- 通过支持可信执行环境跨越多个特权级别和核心,满足包括 MLaaS 和传感器连接服务在内的多样化工作负载需求。
- 设计一种灵活、与架构无关的 TEE,支持未经修改的应用程序,并在不同安全上下文之间实现强隔离。
提出的方法
- 提出三种不同的可信执行环境类型:子空间可信执行环境用于在所有特权级别实现垂直隔离,用户空间可信执行环境用于非特权应用程序,自包含可信执行环境则跨越多个特权级别和 CPU 核心。
- 通过新增的系统总线和缓存控制机制实现硬件强制的资源分配,支持将缓存行、CPU 核心和外设专属分配给单个可信执行环境。
- 采用动态缓存分区技术,将缓存行以可配置边界分配给可信执行环境,实现对缓存侧信道攻击的细粒度、可运行时调整的隔离。
- 通过安全 I/O 绑定机制,实现外设(如加速器)的直接、专属分配至特定可信执行环境,消除对外部不可信操作系统或虚拟机监控器的依赖。
- 利用现有的 RISC-V 扩展和极少的硬件修改,支持可信执行环境创建、内存加密及特权级别隔离,无需引入新的处理器微架构。
- 设计轻量且实用的防护机制,避免使用昂贵的数据无关算法或操作系统层面的修改。
实验结果
研究问题
- RQ1TEE 架构如何支持多种可定制的可信执行环境类型,以适应多样化应用工作负载和安全需求?
- RQ2何种机制可实现对系统资源(如缓存、CPU 核心、外设)的细粒度、专属分配,且性能与硬件成本均较低?
- RQ3能否在不依赖操作系统全局修改或不切实际的页面着色方案的前提下,实现实用且高效的缓存侧信道防护?
- RQ4如何实现对可信执行环境的安全 I/O 绑定,以防止不受信的虚拟机监控器或操作系统组件的干扰?
- RQ5在开源 RISC-V 架构上,TEE 架构在仅做极少硬件修改的前提下,能在多大程度上实现并保持强安全保证?
主要发现
- Cure 是首个支持三种不同可信执行环境类型(子空间、用户空间和自包含可信执行环境)的 TEE 架构,实现了在特权级别和执行上下文之间的灵活隔离。
- 该架构支持将 CPU 核心、缓存行和外设专属分配给单个可信执行环境,确保强隔离性,并防止基于资源的侧信道信息泄露。
- Cure 的动态缓存分区机制可实现细粒度、可运行时配置的缓存行到可信执行环境的映射,为缓存侧信道攻击提供实用且高效的防护。
- 在基于 RISC-V 的 SoC 上的原型实现,在标准基准测试中仅带来 15.33% 的几何平均性能开销,证明其运行时成本极低。
- Cure 的设计避免依赖昂贵的数据无关算法或操作系统层面的修改,相比以往工作提供了更具可扩展性和实用性的解决方案。
- 与现有 TEE 架构(如 SGX、SEV 或 TrustZone)不同,Cure 原生支持安全外设绑定和多可信执行环境隔离,无需外部硬件或复杂变通方案。
更好的研究,从现在开始
从论文设计到论文写作,大幅缩短您的研究时间。
无需绑定信用卡
本解读由 AI 生成,并经人工编辑审核。