Intel® Software Guard Extensions (Intel® SGX ) is a securing computing tool that generates a trusted execution environment (TEE) for users that need secure and confidential environments for such use cases as private key management, multi-party computing with private data, and securing public cloud deployment for critical applications.
While the Intel® SGX SDK for Linux* OS successfully tackles these important use cases, its implementation is not simple. It can require significant system redesign and code changes by engineers because under the SGX SDK’s threat model, the OS is not trusted, and only trusted applications and code can be worked on in the secure environment portioned out by SGX, i.e., an “enclave.” Therefore, the trusted and untrusted components of the applications involved need to be separated. Moreover, engineers will then need to re-engineer some of their code base to ensure it will be trusted in this enclave. Finally, SGX has certain library dependencies that engineers may need to work into the code base and thus require recompiling.
This clearly laborious process can be simplified with a library OS solution that can sidestep the need for code modifications or recompilation as well as retain OS level access. One such solution is Occlum*, an open source LibOS project by Ant Group* that gives users the power and freedom to run programs in SGX without the hassles presented by the standard SGX SDK. Occlum uses a single node solution that enables efficient multitasking within the secure enclave provided by Intel’s SGX.
Occlum* can preserve memory safety while retaining this efficiency because it is written in Rust, a programming language that emphasizes memory safety, with many safeguards in place, such as prevention of null pointers, dangling pointers, and data races (a type of memory issue whereby two or more threads of a single process try to access that memory location simultaneously).
Occlum* continues to expand its list of supported applications and use cases. With BigDL PPML (Privacy Preserving Machine Learning) for example, the single node solution can be expanded into a Trusted Cluster Environment, which is key to being able to handle analysis on large unmodified data sets and run many other machine learning and deep learning applications.
BigDL is part of Intel’s end-to-end developer portfolio of AI tools, framework optimizations, and libraries. It is designed with data scientists’ and data engineers’ ever-growing needs at its core. With a breadth encompassing everything needed for big end-to-end AI applications, BigDL gives data scientists and engineers access to features such as DLlib, providing easy access to a distributed deep learning library for Apache Spark, and Friesian, a large end-to-end recommender framework, among others.
See the video: Exploration on Confidential Computing for Big Data & AI
Ant Group* is continuing to demonstrate the importance of Occlum* through its upcoming additions. One upcoming improvement is the addition of SGX EDMM (Enclave Dynamic Memory Management) support to enable significantly higher memory performance. They will also be able to increase the performance and stability of Occlum* further through support of Async/Await in Rust, providing the syntactic ability to write asynchronous and thus non-blocking functions in a way that still provides synchronous execution of parts of the codebase, namely when there is a particularly long-running asynchronous task that could otherwise halt the execution of other code. Lastly, Occlum* will be supporting Linux io_uring, a kernel system call interface that Linux uses to tackle some of the performance issues of certain similar asynchronous input/output operations with functions like read()/write().
In a world where data is everywhere and data is the lifeline of AI and ML technologies, security is vital. In turn, being able to work more efficiently with big data and cutting-edge technologies while retaining secure coding expectations is something that every company in this space and every person from manager to developer to product owner to the end consumer will ultimately reap the benefits.
About our experts
Chunyang Hui is a software engineer of Ant Group and is now working on Occlum, a memory-safe, multi-process library OS for Intel SGX. His current main interest is system security. Before joining Ant Group, Chunyang was a cloud engineer at Intel focusing on I/O acceleration.
Dr. Qiyuan Gong is an AI Framework Engineer at Intel. He joined Intel in 2017 after he finished his PhD at Southeast University where he focused on data anonymization & privacy. He is a key contributor to open source Big Data + AI project BigDL, Analytics-Zoo, and Big data project SSM. Now at Intel, he is working on Privacy Preserving Machine learning, Federated Learning, and BigDL Cluster Serving.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.