Occlum 是用于 Intel SGX 的内存安全的多进程库 OS(LibOS)。作为 LibOS,它可以使旧版应用程序在 SGX 上运行,而几乎不需要修改源代码,从而透明地保护了用户工作负载的机密性和完整性。
作为一款 TEE OS,Occlum 可以大幅降低 SGX 应用的开发门槛。Occlum 的一个设计理念是 Enclave-as-a-Container,它的用户接口与 Docker 和 OCI 标准接近。
除了提供类容器的、用户友好的接口以外,Occlum 还有三个主要特色:
高效多进程支持:Occlum 实现了一种轻量级的进程,相比此前最先进的开源 TEE OS(Graphene-SGX),进程启动提速 10-1000 倍,进程间通信的吞吐量提升 3 倍;
强大文件系统:Occlum 支持多种文件系统,比如保护完整性的文件系统、保护机密性的文件系统、内存文件系统、主机文件系统等等,满足应用的各种文件 I/O 需求;
内存安全保障:作为全球首个使用 Rust 语言开发的 TEE OS,Occlum 极大降低了内存安全问题的几率。