adtop

以下是Occlumv1.0技术亮点的详细说明

来源:IT之家    作者:李陈默    时间:2022-12-13 13:08   阅读量:8628   

蚂蚁集团主导的可信执行环境开源操作系统Occlum v1.0正式发布与上一版本相比,该版本具有更高的稳定性和完整性,在线程调度,网络和存储IO方面有高达5倍的显著性能提升v1.0版本还首次推出蚂蚁集团与英特尔联合开发的Spark大数据分析解决方案,可以帮助Spark用户无缝迁移到TEE机密计算环境

Occlum是一个开源的操作系统,具有内存安全和多任务用户模式,适用于各种tee,允许应用负载方便地部署在tee中,以保证整个计算过程中用户隐私数据的机密性和完整性目前Occlum可以支持的TEE有英特尔SGX和蚂蚁集团自主研发的国产TEE—HyperEnclave

Occlum是一款安全高效的多任务用户态操作系统,在英特尔SGX上的一个单独区域中实施由于Occlum采用在单个飞地实现LibOS的方案,因此在资源占用和运行效率上,Occlum都优于其他LibOS实现方案

2021年,蚂蚁集团决定将Occlum捐赠给Linux基金会的机密计算联盟CCCOcclum经过四年的开发和打磨,已经在开源社区发布了40多个版本,获得了1000多个Github Star

以下是Occlum v1.0技术亮点的详细说明

1)支持超过150个Linux兼容的系统调用

为了让Linux原生应用无缝迁移到Enclave,不需要修改和编译,Occlum v1.0中实现了150多个Linux兼容的系统调用,支持大多数主流编程语言,包括:C/C++,Java,Python,Golang,Rust,shell脚本等等同时,Occlum开源仓库提供了很多Linux应用,比如SQLite TensorFlow,OpenVino,PyTorch,Redis,MySQL,Spark,Flink等如何使用的Demo演示在Occlum上运行,参考在K8S上部署可扩展的基于Occlum的安全推理案例的实现方案

2)易用,高效,实用,安全

首先,在易用性方面,Occlum的使用方式与容器体验类似用户可以用几个简单的命令将应用程序部署到TEE

第二个特点——效率高Occlum是一个高性能的多任务系统,支持多进程它采用单一地址空间架构,因此许多进程共享同一个飞地因此,Occlum可以在TEE中快速完成进程启动和进程间通信

第三个特点——实用性Occlum支持多种文件系统,如加密文件系统,内存文件系统等,可以满足应用的各种文件I/O需求,并且可以对应用运行时需要存储在磁盘上的数据进行透明加密

第四个特性——内存安全Occlum是业内第一个用内存安全语言Rust编写的LibOSRust是一种追求内存安全而不额外损失性能的编程语言用Rust语言编写的Occlum可以消除低级内存安全错误,从而提高Occlum整体内核代码的安全性,在托管安全关键应用时更值得信赖

3)引入四大核心技术,让运行用户的应用加载更加高效。

首先,Occlum v1.0提出了异步设计思想,重新设计了整个Occlum代码架构,利用Rust语言的异步特性,基于Rust轻量级协程和异步运行时,在Enclave中实现了高效的线程调度机制,特别是针对机器学习,分布式编排等大型应用,可以大幅提升计算性能。

其次,Occlum v1.0创新性地引入了Linux的新一代异步I/O接口io_uring,支持大部分io操作有了这个新特性和Rust异步操作,Occlum的网络IO性能接近于Linux本身的性能

第三,Occlum v1.0吸收了蚂蚁集团自主研发的新一代基于日志结构的可信虚拟块设备,可以使现有主流文件系统具备保护磁盘I/O的能力,高于Linux内核中现有的文件I/O或磁盘I/O保护方案,也高于SGX—PFS等同类TEE保护方案由于可信虚拟块设备采用了全新的附加写日志结构设计,IO性能将得到大幅提升

第四,Occlum v1.0采用了基于按需分配的动态内存管理设计,不仅提高了Enclave物理内存的利用率,还大大缩短了应用加载到TEE的时间。

对比Occlum v1.0和之前社区版本0.29的性能测试数据可以看出,Occlum v1.0的线程调度性能是之前版本的5倍当应用线程数量较大时,1.0版的调度性能优势会更加明显在网络传输速度和文件IO吞吐量方面,相比上一版本也有2倍和3倍的性能提升,尤其是在网络IO上,可以接近相同环境下Linux的原生网络传输速度

4)蚂蚁集团与英特尔联合开发的Spark大数据分析方案首次上线。

蚂蚁集团与Intel BigDL团队合作,在Occlum中运行Apache Spark分布式大数据处理应用。基于这一能力,蚂蚁集团与英特尔团队联合发布了基于Occlum和BigDL构建端到端安全的分布式Spark大数据分析方案,该方案也已上线Occlum v1.0

与业界现有的Spark on SGX方案相比,该方案不仅支持多种部署模式,还弥补了现有方案在Spark能力支持方面的不足。

在Occlum安全运行环境的基础上,基于BigDL搭建分布式隐私保护机器学习平台,可以保护端到端的分布式人工智能应用(包括数据输入,数据分析,机器学习,深度学习等阶段)与传统的隐私计算框架不同,该方案提供了标准大数据应用可以运行的环境,希望帮助现有的大数据/分布式应用无缝迁移到端到端的安全环境,加强每个环节的安全性

借助Occlum能力中的Spark,现有Spark应用无需任何代码修改即可直接运行到TEE环境中,并可根据数据规模进行横向扩展,轻松支持TB级数据规模,另一方面,负责完整性的远程证明功能也毫无感觉地加入到整个过程中应用程序开发人员可以通过Occlum和BigDL提供的远程证明功能实现实例的远程证明和验证,而无需显式添加远程证明代码该方案已经在微软Azure机密计算博客频道上线,同时也是开源的

本站了解到,伴随着当前TEE硬件架构的发展,为了满足不同计算场景下更多的安全需求,Occlum将支持GPU TEE,将CPU提供的TEE安全能力扩展到GPU,以确保数据能够安全地传输到更强大的计算硬件设备上。

Occlum还在为英特尔将于明年推出的下一代TEE TDX做准备Occlum计划从用户态操作系统发展到内核态操作系统

郑重声明:此文内容为本网站转载企业宣传资讯,目的在于传播更多信息,与本站立场无关。仅供读者参考,并请自行核实相关内容。

猜你喜欢