Project Icon

occlum

为Intel SGX提供高效安全的多任务LibOS解决方案

Occlum是专为Intel SGX设计的内存安全多进程LibOS,支持传统应用几乎零修改运行于SGX环境。它具备高效多任务处理、多文件系统支持和内存安全特性,采用Rust语言开发,提供简便的构建工具,显著简化SGX enclave应用部署流程。

Occlum 徽标

所有贡献者 基础测试 SGX 硬件模式测试 演示测试

新闻: 我们的论文《Occlum:英特尔 SGX 单个飞地内的安全高效多任务处理》已被 ASPLOS'20 接收。这篇研究论文突出了 Occlum 采用的单地址空间架构的优势,并描述了一种新颖的飞地内隔离机制,作为这种方法的补充。论文可在 ACM 数字图书馆Arxiv 上找到。

Occlum 是一个内存安全多进程的库操作系统(LibOS),适用于 英特尔 SGX。作为一个 LibOS,它能够让传统应用程序在 SGX 上运行,只需很少甚至无需修改源代码,从而透明地保护用户工作负载的机密性和完整性。

Occlum 具有以下显著特点:

  • 高效的多任务处理。 Occlum 提供轻量级 LibOS 进程:它们之所以轻量级,是因为所有 LibOS 进程共享同一个 SGX 飞地。与重量级的每飞地 LibOS 进程相比,Occlum 的轻量级 LibOS 进程在启动时速度快1000 倍,在 IPC 上速度快3 倍。此外,Occlum 还提供了可选的 PKU(用户空间保护密钥)功能,以在需要时增强 Occlum 的 LibOS 和用户空间进程之间的故障隔离。
  • 多文件系统支持。 Occlum 支持各种类型的文件系统,例如,只读哈希文件系统(用于完整性保护)、可写加密文件系统(用于机密性保护)、不受信任的主机文件系统(用于 LibOS 和主机操作系统之间的便捷数据交换)。
  • 内存安全。 Occlum 是第一个用内存安全的编程语言(Rust)编写的 SGX LibOS。因此,Occlum 出现低级内存安全漏洞的可能性大大降低,更值得信赖来托管安全关键型应用程序。
  • 易用性。 Occlum 提供用户友好的构建和命令行工具。在 SGX 飞地内运行 Occlum 上的应用程序可以像输入几个 shell 命令一样简单(请参阅下一节)。

从 0.30.0 版本开始,Occlum 引入了 EDMM 作为可选功能。使用 EDMM,Occlum 的配置变得更加灵活,飞地加载时间显著减少。更多详情请参阅 edmm_config_guide

Occlum 文档

Occlum 的官方文档可在 https://occlum.readthedocs.io 找到。

以下是一些快速链接。

实现状态如何?

Occlum 正在积极开发中。我们目前专注于实现更多的系统调用和生产环境所需的其他功能,包括裸机服务器和公共云(阿里云、Azure 等)虚拟机。

此外,我们使用专门的分支 1.0.0-preview 进行下一代 Occlum 的开发。

内部工作原理是什么?

Occlum 的高级架构总结如下图所示:

架构概览

为什么取这个名字?

项目名称 Occlum 源自 J.K. 罗琳的《哈利·波特》系列中创造的词 Occlumency。在《哈利·波特与凤凰社》中,Occlumency 被描述为:

防御外部侵入的神奇心灵防护。这是一个鲜为人知但非常有用的魔法分支... 正确使用 Occlumency 的力量将帮助你抵御访问或影响。

同样的话也适用于 Occlum,不是针对心灵,而是针对程序:

防御外部侵入的神奇程序防护。这是一个鲜为人知但非常有用的技术分支... 正确使用 Occlum 的力量将帮助你的程序抵御访问或影响。

当然,Occlum 必须在支持 SGX 的英特尔 x86 CPU 上运行才能发挥其魔力。

贡献者

我们欢迎任何形式的贡献!在项目变得更加稳定后,我们将发布贡献指南并接受拉取请求。

感谢所有这些对本项目做出贡献的优秀贡献者

许可证

Occlum 在 BSD 许可证下发布。请参阅此处的版权信息。

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号