?使用Intel SGX 实现可信赖的人工智能和大数据分析 英特尔SGX为其“安全飞地”提供完整性和机密性保证,以保护用户的数据。尽管存在侧通道漏洞,但Intel SGX似乎是业内最实用的解决方案,具有最清晰的安全边界、众多手册和远程认证服务。目前,没有任何东西(包括trustzone、sev等)能与IntelSGX竞争。很容易理解,内存安全对IntelSGX非常重要。Intel SGX旨在保护用户隐私和私钥,而SGX Enclaves中的简单缓冲区溢出将泄漏这些宝贵的数据/密钥,并导致数十亿美元的损失。内存损坏是英特尔SGX飞地的第一个敌人。我们需要一个完整的解决方案来构建内存安全的IntelSGX飞地。在本文中,我们将介绍MesateSGX软件栈。MesateSGX软件栈提供了用rust/rpython编写的内存安全库,并提供了一系列有用的内存安全库,如序列化程序/反序列化程序、TLS终止、更多的加密原语、FastML库、WASM解释器,甚至还有一个内存安全的pypypy解释器。开发人员可以使用这些库轻松开发IntelSGX应用程序,并通过几个简单步骤将更多rust/python库移植到Enclaves中。我们在SGX软件设计和实现中遇到了大量的陷阱,并希望在本文中与大家分享。这些陷阱通常与可信/不可信的输入和分区方法/哲学有关。他们相应的解决方案以前没有介绍过,我们认为我们应该将我们的故事作为“当前已知的最佳实践”来分享。我们将详细讨论“混合内存拇指安全规则”的理念,以及面向安全的标准库设计、基于认证的TLS、安全快速的解释程序/ML实现等,我们坚信这一讨论将使Bluehat的用户受益匪浅。一种新型的面向安全的软件设计与实现。