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

白日梦AI提供专注于AI视频生成的多样化功能,包括文生视频、动态画面和形象生成等,帮助用户快速上手,创造专业级内容。

Project Cover

有言AI

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

Project Cover

Kimi

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

Project Cover

讯飞绘镜

讯飞绘镜是一个支持从创意到完整视频创作的智能平台,用户可以快速生成视频素材并创作独特的音乐视频和故事。平台提供多样化的主题和精选作品,帮助用户探索创意灵感。

Project Cover

讯飞文书

讯飞文书依托讯飞星火大模型,为文书写作者提供从素材筹备到稿件撰写及审稿的全程支持。通过录音智记和以稿写稿等功能,满足事务性工作的高频需求,帮助撰稿人节省精力,提高效率,优化工作与生活。

Project Cover

阿里绘蛙

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

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

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