基于硬件能力的软件隔离权衡
密码学与安全
2023-09-22 v2 操作系统
摘要
隔离(compartmentalization)是一种防御性软件设计形式,其中应用程序被拆分为隔离但相互通信的组件。将隔离改造到现有应用中通常被认为在工程投入与性能开销方面代价高昂。尽管如此,近年来已有一些隔离方法被提出,承诺较低的工程投入与减小的性能影响。ARM Morello 将现代 ARM 处理器与能力硬件增强 RISC 指令(CHERI)的一种实现相结合,旨在提供高效且安全的隔离。以往探索基于 CHERI 的隔离的工作受限于仿真/FPGA 原型。在本文中,我们探索在 Morello 芯片上利用 CHERI 实现可能的隔离方案。我们提出两种方法,代表了在工程投入、安全性、可扩展性与性能影响方面的不同权衡。我们在运行于 Morello 芯片裸机上的原型操作系统中描述并实现了这些方法,对两个流行应用进行了隔离,并研究了性能开销。此外,我们表明,若愿意在可扩展性与安全性上做出权衡,隔离可以以相当低的工程成本实现,且性能开销与其他地址空间内隔离机制相似。
引用
@article{arxiv.2309.11332,
title = {Software Compartmentalization Trade-Offs with Hardware Capabilities},
author = {John Alistair Kressel and Hugo Lefeuvre and Pierre Olivier},
journal= {arXiv preprint arXiv:2309.11332},
year = {2023}
}
备注
12th Workshop on Programming Languages and Operating Systems (PLOS 2023)