Rust SGX SDK 是百度安全实验室开发的一个Intel SGX 可信计算平台的Rust语言开发工具包。基于Rust SGX SDK 程序员可以快速开发出没有内存安全漏洞的 Intel SGX 可信程序。即使在操作系统被恶意控制时也能提供迄今为止最强大的安全防护能力,避免敏感数据被窃取。Rust SGX SDK 对于数据隐私和云安全都有着非常重要的意义。第一个版本的开源发布已经快三个月了,百度安全实验室很高兴在今天发布第二个版本。
在v0.2.0中我们合入了Intel SGX SDK 1.9,开启了大家一直渴望的 SGX 大内存支持。之前SGX Enclave 最大只能支持128MB加密内存,这对于大数据时代的很多应用都是很严重的限制。而在v0.2.0中我们实测已经可以支持31.75GB内存!此外我们重点增强了SGX 内的Rust 线程支持和异常处理支持,使得能够更加安全的使用这些特性。
What's New
● 支持大内存 Enclave。在我们的 Xeon E3 1280v5 + 64GB 内存上 单个Enclave可以达到31.75GB内存。
● 支持 Rust nightly v1.20.0 (nightly-2017-07-06)。
● 支持最新的 Intel SGX SDK 1.9。
● 提供了一个新 Trait BytewiseEquality 用于限定结构体可以用直接内存比较的方法来判等。
● 提供了一个新 Trait ContiguousMemory 用于限定结构体严格分布于连续内存空间。
● 提供了 Rust 风格的异常处理机制支持 catch_unwind, panik 和 poisoning。
● 支持更多的多线程 API。现在 Rust 风格的 park() 和unpark() 函数已经可以使用。
● 增加了线程局部存储 TLS 的支持。支持采用 Bound TCS 策略的 Enclave 中的 TLS。
● 支持 Rust 风格的 Once 调用。
● 支持全局数据构造。提供了一个新的宏 init_global_object 在第一次 ECALL 发生时初始化Enclave内的特定数据。
● 支持 Rust 风格的读写锁 sgx_tstdc::rwlock。
● 支持 Rust 风格的自旋锁 sgx_tstdc::spinlock。
● 支持常数时间的内存比较函数 consttime_memequal 常用于密码学操作。
未来任务
● sgx_urts 模块方便开发人员使用 Rust 开发 Untrusted 部分的代码。
● 移植 Rustls到 SGX 环境中提供端到端的网络安全传输功能。
▽ 更多细节请点击“阅读原文”查看