作为唯一安全技术入选IEEE,机密计算为什么如此重要?

75f9f920bfa353d1a5423eeebf834dfa.gif

作者 | 蓝晏翔 邵乐希

出品 | IDEA研究院

b0897284aea0a9f4a04162395302e6ef.png

大规模AI计算中的数据和模型安全

人工智能技术(AI)作为这个时代最具影响力的技术,渗透到了我们生活的方方面面。特别是2022年底,OpenAI发布的ChatGPT表现出了惊人的信息分析、整合、决策和对话能力。随着人工智能模型规模和能力的进一步增强,AI未来将帮助人们完成一系列个性化的复杂工作,诸如信息咨询、任务代办等等。

AI技术的演变离不开大数据和大模型的支撑,动辄上千亿参数的大模型的训练需要消耗上万亿的高质量数据,并在面向市场的过程中不断根据用户的反馈进行调整升级。在这里,整个AI服务涉及到数据的提供者、模型的拥有者和算力的提供者三个角色。对于数据的提供者来说,数据包含了其个人的敏感数据或者企业经过多年运营沉淀下来的数据,蕴含着巨大的商业价值;对于模型的拥有者来说,模型包含着拥有者对于AI算法以及应用行业的深刻理解,以及为了训练模型所付出的巨大开销,是企业宝贵的知识产权。

参与的各方都希望在模型的训练和应用过程中保护自身数据隐私,因为数据和模型本身被视为参与方的宝贵资产。从另一方面来说,随着《网络安全法》《数据安全法》和《个人信息保护法》的颁布和实施,对于数据隐私的保护,实现数据“可用不可见”“可控可计量”也成为法律法规的要求,数据和模型一旦泄露,将会带来严重的社会负面影响以及巨大的经济损失。

随着云计算的发展和模型训练对于超大规模算力的需求增长,绝大部分的模型训练工作已迁移到云上进行。另外,基于对服务实时性和可靠性的要求,大量的AI模型被部署在IoT设备端(例如在自动驾驶场景中)。在大多数情况下,云计算基础设施和IoT设备并不被数据和模型所有者所拥有和控制,如何在一个不可信的环境中保证数据和模型的安全隐私,成为了大规模机器学习和应用的挑战。

843b32e5462efff0bddbdb3f331d8b7b.png

什么是机密计算?

为了应对上述挑战,一系列相关技术逐渐受到学术界和工业界的关注,机密计算技术便是其一。机密计算(Confidential Computing)是指在基于硬件的可信执行环境(Trusted Execution Environment, TEE)中执行计算来保护使用中的数据(data in use)的一种技术。基于硬件的可信执行环境保证了机密计算的任务和数据不会被恶意程序窃取,硬件级的安全保障使得即使高权限的操作系统甚至是虚拟机监视器(hypervisor),也无法窥探和篡改机密计算中的数据和代码。

自2002年ARM提出TrustZone技术以来,机密计算已经走过了20多个年头。2015年,Intel推出了SGX,机密计算技术进入了快速发展的阶段。2019年8月,Linux基金会联合国内外科技巨头宣布成立“机密计算联盟”(Confidential Computing Consortium),标志着机密计算在工业界的进一步发展和壮大。

2022年,NVIDIA推出的新一代GPU H100集成了机密计算模块,标志着机密计算将成为未来AI计算的基础设施之一。在2022年IEEE的技术预测中,评选了16项将在未来几年(短期)产生重大影响的技术,机密计算技术作为唯一的安全技术入选其中。如今,ARM、Intel、AMD、华为等厂商都推出了自己的机密计算技术,在服务器端和终端分别是Intel的SGX技术和ARM的TrustZone技术占据了主要的市场份额。

Intel SGX技术简介

Intel的SGX技术通过CPU的硬件扩展,允许应用程序创建一个叫Enclave的安全容器,并将敏感数据和代码放到该容器中。在Enclave中,代码和数据的机密性和完整性只依赖硬件保障,BIOS、OS等特权应用都无法直接访问到Enclave的内容。也就是说SGX技术的TCB(Trusted Computing Base, 可信计算基)仅为CPU厂商和Enclave本身,即使服务器的根权限被攻击者窃取了,也不能直接获取Enclave中的保密数据。

SGX应用的工作原理可以由下图说明。应用在实现时就需要区分可信和不可信两个部分,可信的部分需要使用EDL(Enclave-Definition Language)实现逻辑,并使用ECALL和OCALL进行可信部分和不可信部分的交互,见下图1。

9764773d1790edd563fd911a1e9b2b53.png

图1  SGX应用模型

ARM TrustZone技术简介

ARM的TrustZone技术提供了硬件隔离区分的安全世界(Secure World)和不安全世界(Normal World)。TrustZone在处理器架构上将每个物理核虚拟成一个安全核(Secure Core)和一个非安全核(Non-Secure Core),并通过了Monitor Mode实现两个世界之间的切换。除了运算核以外,MMU、GIC、Cache等硬件都进行了两个世界的隔离操作。在安全世界中,有一个可信内核(TEE Kernel)负责多个可信应用实例的管理,如内存分配与隔离、通信管理等,也属于TCB的一部分。

TrustZone TEE的应用模型符合Global Platform(GP)规范并可以由下图2表示。一个应用需要分成运行在富执行环境和运行在TEE中的两个程序,两个世界的应用通信需通过提供的TEE API进行。

0893618e7f570ebf7c4f4a474239f7cf.png

图2  TrustZone应用模型

2698b2db2ab823f4e6ac63a2eb218526.png

机密计算与其他隐私计算方案的对比

机密计算作为一种基于硬件的隐私计算技术,与其他的隐私计算技术相比,在高效性和普适性上具备较大的优势。以多方安全计算(Secure Multi-Party Computation, SMPC)和联邦学习(Federated Learning, FL)为例,SMPC以密码学为基础,通过加密状态下的多轮通信共同计算一个约定好的任务,而不泄露彼此的隐私信息。FL基于分布式机器学习,在不交换各数据方本地数据的条件下,仅通过交换本地数据的模型信息构建基于全体数据样本的全局模型。从高效性上看,SMPC和FL由于涉及大量的加解密和网络通讯,其综合的运算性能与基于明文的计算相比会有数百倍以上的损失,这使其难以适应大吞吐量、低延迟的计算场景。对机密计算而言,数据和模型的机密性和完整性由底层硬件进行保证,能够获得和明文计算相接近的计算性能。在普适性方面,SMPC和FL对于计算任务的特征和结构有一定的假设,无法满足任意的计算需求。相比之下,机密计算没有这方面的约束,普适性更高。

d45979abe07cb84acce5fc91c4c38950.png

机密计算的应用与挑战

在AI模型的训练和应用中,机密计算技术已经得到了广泛的应用。AWS、Google、微软以及国内的阿里巴巴、腾讯等厂商相继推出了自身的机密计算产品,并用于多方计算、医疗保健、药物研发等场景。同时,机密计算技术也是学术界研究的热点。举例来说,在模型训练领域,有学者基于可编程总线芯片以及安全控制实现了大规模的异构机密AI模型训练。在模型应用上,有学者利用IoT设备上的可信执行环境以及可信执行环境的加密通信,配之以相应的管理和控制模块,同时保护了IoT设备采集的数据和AI模型的安全隐私。

然而,现行的主流机密计算技术还面临着一些技术挑战。主流机密计算技术通过“标志位”“访问控制”等技术实现了可信应用和不可信应用的逻辑上的硬件隔离。然而,在主流的机密计算技术中,需要被保护的可信应用和不可信应用运行在同一个计算核心上。两类任务在物理上共享了页表(page table)、硬件缓存(cache)、分支目标缓存(Branch target buffer, BTB)等硬件组件。硬件组件的共享可能会导致侧信道攻击(side-channel attack)风险。研究表明,对于硬件缓存等组件的侧信道攻击会导致输入数据或者模型的泄露。

研究者提出了一系列方法来应对这类风险:一类方法基于不经意(oblivious)访问,即通过密码学的技术和协议来掩盖可信应用对于共享组件的访问痕迹,以防止侧信道攻击的风险;另一类方法则是对于可信应用的构建工具或运行状态进行一些定制,例如通过地址随机化、关闭超线程、中断监测等技术来发现和避免侧信道攻击;同时,对应特定的侧信道攻击,硬件厂商也会及时发布相应的补丁。除此之外,随着机密计算得到广泛而重要的应用,人们也开始致力于为可信应用设计独立的内存或计算单元。独立的内存和计算单元使得可信应用和不可信应用在硬件层面完全隔离,从根源上解决了侧信道攻击的风险。

而在工程落地层面,主流的机密计算技术给出了一个新的编程范式。开发者需要自行将应用分为可信部分和不可信部分,并将可信部分显示放入机密计算框架中,并自行管理可信部分和外界的交互,这大大增加了软件迁移的成本。虽然有一些基于开发者标注的自动划分工具,也有人提出了库操作系统(LibOS)来简化现有应用的迁移,但是这些方案有着各自的局限性:自动化划分工具方案中,目前已有的自动划分工具只支持C/C++和Java,无法支持更多的语言(例如Python)。库操作系统的方案中,有的方案需要重编译程序,这对于商业场景的落地是一个较大挑战,因为代码作为程序所有者的重要知识产权,往往无法基于部署环境进行重编译;有的方案虽然做到了部分二进制兼容,但在性能上仍然需要做出较大牺牲。

最后,在安全层面,现行的主流机密计算技术的POSIX系统调用(system call)是交由不可信操作系统来完成的,为了应对接口层的Iago攻击,库操作系统需要实现相应的防范机制。然而,由于POSIX接口众多且复杂,如何在库操作系统上完备地防范接口攻击也是一个需要继续研究的课题。

4ada6ca190830b05d3bb7f694bc3e5b6.png

IDEA研究院在机密计算领域的探索

IDEA研究院在机密计算领域也做了一些探索,为了应对机密计算领域的侧信道攻击和工程落地的挑战,我们将机密计算任务完全卸载到一个独立的协处理器(Secure Processing Unit, SPU)上,物理级别的硬件隔离使得机密计算任务避免了侧信道攻击的风险。

05e181759594d344885206093a78abf1.jpeg

SPU仅通过高速总线和主机通信,硬件级别的安全访问围栏(Secure Enforcement Barrier)防止了非授权和非认证的数据通信。在系统层面,SPU内定制安全启动、安全设备抽象和安全容器技术使得原有代码无需重新编译即可运行,POSIX系统调用由SPU自行处理以避免Iago攻击,这些技术进一步保证了可信应用的机密性和完整性。

41564a3b794a68553eb7648283b69fb5.png

总结

在AI技术如火如荼发展的今天,数据作为人工智能的“石油”,模型作为人工智能的最终产品,都蕴含着巨大的商业价值。对于数据和模型的机密性的保护,实现数据和模型的“可用不可见”“可控可计量”不仅是法律法规的要求,也是数字经济发展的需要。

机密计算提供了一种高效普适的解决方案,并随着人工智能、大数据、云计算技术的发展而快速发展,成为安全隐私计算的一条主流的技术路线。在未来,机密计算技术还将在可信、安全以及工程化落地和可扩展性方面不断演进,最终成为安全、普适、高性能、可扩展、易部署的AI数据和模型的安全守护者。

参考资料

 1、Everest Group. Confidential Computing——The Next Frontier in Data Security[DB/OL]. https://confidentialcomputing.io/wp-content/uploads/sites/85/2021/10/Everest_Group_-_Confidential_Computing_-_The_Next_Frontier_in_Data_Security_-_2021-10-19.pdf

2、IEEE, IEEE Technology Predictions, https://cmte.ieee.org/futuredirections/2022/01/17/2022-technology-predictions/

3、J. Zhu et al., "Enabling Rack-scale Confidential Computing using Heterogeneous Trusted Execution Environment," 2020 IEEE Symposium on Security and Privacy (SP), San Francisco, CA, USA, 2020, pp. 1450-1465, doi: 10.1109/SP40000.2020.00054.

4、L. Hanzlik et al., "MLCapsule: Guarded Offline Deployment of Machine Learning as a Service," 2021 IEEE/CVF Conference on Computer Vision and Pattern Recognition Workshops (CVPRW), Nashville, TN, USA, 2021, pp. 3295-3304, doi: 10.1109/CVPRW53098.2021.00368. 

5、K. Grover et al. “Privado:Practical and Secure DNN Inference with Enclaves”, https://arxiv.org/abs/1810.00602

 6、Yuntao Liu and Ankur Srivastava. 2020. GANRED: GAN-based Reverse Engineering of DNNs via Cache Side-Channel. In Proceedings of the 2020 ACM SIGSAC Conference on Cloud Computing Security Workshop  (CCSW'20). Association for Computing Machinery, New York, NY, USA, 41–52. https://doi.org/10.1145/3411495.3421356

7、 S. Sasy, S. Gorbunov, and C. W. Fletcher, “ZeroTrace: Oblivious Memory Primitives from Intel SGX,” in Proc. 2018 Netw. Distrib. Syst. Secur. Symp., Reston, VA: Internet Society, 2018, ISBN: 1-891562-49-5. DOI:10.14722/ndss.2018.23239.

8、 J. Seo, B. Lee, S. Kim, M.-W. Shih, I. Shin, D. Han, and T. Kim, “SGX-Shield: Enabling Address Space Layout Randomization for SGX Programs,” in Proc. 2017 Netw. Distrib. Syst. Secur. Symp., Reston, VA: Internet Society, 2017, ISBN: 1-891562-46-0. DOI: 10.14722/ndss.2017.23037.

9、G. Chen, W. Wang, T. Chen, S. Chen, Y. Zhang, X.Wang, T.-H. Lai, and D. Lin, “Racing in Hyperspace: Closing Hyper-Threading Side Channels on SGX with Contrived Data Races,” in 2018 IEEE Symp. Secur. Priv., vol. 2018-May, IEEE, 2018, pp. 178–194, ISBN: 978-1-5386-4353-2. DOI: 10 . 1109 / SP. 2018 . 00024.

10、 M.-W. Shih, S. Lee, T. Kim, and M. Peinado, “TSGX: Eradicating Controlled-Channel Attacks Against Enclave Programs,” March, 2017. DOI: 10.14722/ndss.2017.23193.

11、Hyunyoung Oh, Adil Ahmad, Seonghyun Park, Byoungyoung Lee, and Yunheung Paek. 2020. TRUSTORE: Side-Channel Resistant Storage for SGX using Intel Hybrid CPU-FPGA. In Proceedings of the 2020 ACM SIGSAC Conference on Computer and Communications Security (CCS '20). Association for Computing Machinery, New York, NY, USA, 1903–1918.https://doi.org/10.1145/3372297.3417265

12、H. Oh, K. Nam, S. Jeon, Y. Cho and Y. Paek, "MeetGo: A Trusted Execution Environment for Remote Applications on FPGA," in IEEE Access, vol. 9, pp. 51313-51324, 2021, doi: 10.1109/ACCESS.2021.3069223.

13、Joshua Lind, Christian Priebe, Divya Muthukumaran, Dan O'Keeffe, Pierre-Louis Aublin, Florian Kelbert, Tobias Reiher, David Goltzsche, David Eyers, Rüdiger Kapitza, Christof Fetzer, and Peter Pietzuch. 2017. Glamdring: automatic application partitioning for intel SGX. In Proceedings of the 2017 USENIX Conference on Usenix Annual Technical Conference (USENIX ATC '17). USENIX Association, USA, 285–298.

14、Chia-Che Tsai, Jeongseok Son, Bhushan Jain, John McAvey, Raluca Ada Popa, and Donald E. Porter. 2020. Civet: an efficient Java partitioning framework for hardware enclaves. In Proceedings of the 29th USENIX Conference on Security Symposium (SEC'20). USENIX Association, USA, Article 29, 505–522.

15、 Youren Shen, Hongliang Tian, Yu Chen, Kang Chen, Runji Wang, Yi Xu, Yubin Xia, and Shoumeng Yan. 2020. Occlum: Secure and Efficient Multitasking Inside a Single Enclave of Intel SGX. In Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS '20). Association for Computing Machinery, New York, NY, USA, 955–970. https://doi.org/10.1145/3373376.3378469

16、Chia-Che Tsai, Donald E. Porter, and Mona Vij. 2017. Graphene-SGX: a practical library OS for unmodified applications on SGX. In Proceedings of the 2017 USENIX Conference on Usenix Annual Technical Conference (USENIX ATC '17). USENIX Association, USA, 645–658.

17、Shweta Shinde, Shengyi Wang, Pinghai Yuan, Aquinas Hobor, Abhik Roychoudhury, and Prateek Saxena. 2020. BesFS: a POSIX filesystem for enclaves with a mechanized safety proof. In Proceedings of the 29th USENIX Conference on Security Symposium (SEC'20). USENIX Association, USA, Article 30, 523–540.

9a6f61709f85e3ae0800bac142838feb.gif

☞让 Python 拥有 C/C++ 一样的速度,编译神器 Codon 发布!
☞硅谷银行一夜破产!ChatGPT 之父撒钱救援,马斯克有意收购?
☞各家的“ChatGPT”什么时候能取代程序员?CSDN AI编程榜发布

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/20356.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国产AIGC大模型汇总

“ 随着ChatGPT和GPT-4的出现,直接引爆了全球的AIGC大模型市场!为了赶上这一波热潮,国内的大厂和创业公司也纷纷内卷起来,相继发布了自己的大模型。但是到目前为止,没有一个大模型能与ChatGPT相提并论,更比…

chatgpt赋能python:利用Python进行SEO

利用Python进行SEO 随着互联网的发展,SEO(搜索引擎优化)变得越来越重要。每个拥有网站的人都希望在搜索引擎结果中排名靠前。Python作为一种强大而流行的编程语言,可以帮助我们进行SEO优化。 Python与SEO的结合 Python可以用于…

chatgpt赋能python:Python人机对话程序:打造智能交互的未来

Python人机对话程序:打造智能交互的未来 随着人工智能技术的不断发展,人机对话程序(Dialogue System)也逐渐成为了研发人员关注和探索的重点。Python作为一门高效、简洁、易学易用的编程语言,成为了众多人机对话程序工…

ChatGPT是如何运行起来的?(下)

本文我们介绍ChatGPT是如何工作的,以及为什么它能够产生连贯和多样化的对话。分上中下篇为读者们呈现。 微信搜索关注《Java学研大本营》 9 嵌入 神经网络--至少在目前的设置中--从根本上说是基于数字的。因此,如果我们要用神经网络来处理像文本这样的东…

自动生成原创文案软件v.1.2.3

各大科技公司纷纷布局大模型领域,微软将向OpenAI进行价值数十亿美元的投资加速其在人工智能领域的技术突破。此外Buzzfeed和亚马逊亦在探索ChatGPT应用场景,正在逐步落地。国内方面,以华为、阿里、百度为代表的科技公司纷纷展开了AI大模型的研…

巴比特 | 元宇宙每日必读:4个月内签下1亿美元的生成式人工智能项目,埃森哲称Gen AI是很大的机会,现在还是早期...

摘要:据 LiveMint 6 月 25 日报道,埃森哲表示,在过去四个月中,该公司在生成式人工智能领域签下了价值 1 亿美元的项目。埃森哲主席兼首席执行官 Julie Sweet 表示,“Gen AI 是一个很大的机会,但现在还是早期…

零基础DIY四轴飞行器超级详细保姆级教程(STM32F407ZGT6主控、WIFI图传、陀螺仪平衡、气压计/超声波定高、手机蓝牙控制等功能)

前言 大四毕业后暑假没事做就花了一点DIY了一个四轴飞行器,是比较大的那种F450机架,不是那种PCB板做机架的小四轴,因为我也是从零基础开始做的四轴,现在就想把自己的过程写成博客分享在网上。下面我会从机械结构、主控和各传感器…

高性能流媒体硬解码

目录 高性能流媒体硬解码前言1. What、Why and How1.1 What1.2 Why?1.3 How? 2. 离散傅里叶变换(DFT)2.1 JPEG编码2.2 哈夫曼编码(Huffman Coding) 3. 视频流媒体前置知识3.1 视频文件的构成3.2 视频的编码与封装3.3 H264编码的分层3.4 RTSP之RTP(Real-t…

《云计算好用工具清单(2023版)》.pdf

其实,自工信部在2018年印发《推动企业上云实施指南(2018-2020年)》以来,国家政策就已经显示出不断支持与引导着我国云计算行业的发展的态势。 根据美国软件公司Flexera《2021年云计算市场发展状态报告》数据显示,36%的…

基于TCP交互的安卓chatGLM客户端

基于TCP交互的安卓chatGLM客户端 基本原理 随着chatGPT的火爆发展,如何将其快速实现部署和访问成为了急需解决的问题,为此,开发了一个基于TCP交互的安卓chatGLM客户端系统。 其中 后端在开源的 chatGLM-6B 的基础上,使用socket…

aardio + Python 可视化快速开发桌面程序,一键生成独立 EXE

🚀 优质资源分享 🚀 学习路线指引(点击解锁)知识定位人群定位🧡 Python实战微信订餐小程序 🧡进阶级本课程是python flask微信小程序的完美结合,从项目搭建到腾讯云部署上线,打造一…

chatgpt赋能python:Python手游:如何用Python技术构建一个优秀的手游?

Python手游:如何用Python技术构建一个优秀的手游? 在当今的数字时代,游戏已经成为一种最流行的娱乐方式之一。尤其是手游,在移动设备上已经占据了巨大市场份额。通过Python编程语言,我们可以使用其强大的功能来构建出…

chatgpt赋能python:Python拦截发包实现网络安全

Python拦截发包实现网络安全 网络安全是当前社会中一个非常重要的话题,无论是企业还是个人都需要采取有效措施保护自身隐私和数据安全。在网络安全中,拦截发包是一个非常有用的技术手段。本文将介绍如何利用Python实现拦截发包,从而实现网络…

AutoCV:Python基础总结

目录 Python基础总结前言Python基础课程总结第一课:开发环境和基本数据类型第二课:控制流程和函数第三课:闭包和根号2的求解第四课:类和三大神器第五课:文件IO和pickle、json第六课:作用域、模块和包、Data…

AutoCV第一课:Python基础

目录 Python基础注意事项一、2023/3/24更新一、2023/3/25更新前言1.开发环境1.1 作业 2.变量和基本数据类型2.1 python常见数据类型2.2 作业2.3 拓展-Python格式化输出 3.算数运算和变量解包3.1 zip函数3.2 拓展-后处理代码详解 4.字符串基本使用4.1 拼接4.2 重复4.3 提取单个字…

Wireshark的抓包和分析,看这篇就够了!

点击上方蓝字 关注【程序IT圈】 WireShark是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。在网络封包和流量分析领域有着十分强大功能…

全网超详细的Linux iptables命令详解以及详解iptables-save和iptables-restore命令

文章目录 1. 文章引言2. iptables的四表五链2.1 何为四表2.2 何为五链 3. iptables语法格式4. 规则的查看与清除5. 防火墙的备份与还原5.1 iptables-save命令5.2 iptables-restore命令 1. 文章引言 最近在学习Linux iptables,从而知道,它是Linux防火墙系…

chatgpt赋能python:Python拦截游戏封包:打造自己的游戏辅助工具

Python拦截游戏封包:打造自己的游戏辅助工具 随着游戏领域的不断发展,越来越多的玩家开始使用游戏辅助工具提高自己的游戏水平。而Python拦截游戏封包技术的出现,让玩家们能够更加自由地打造适合自己的游戏辅助工具,实现更高效的…

chatgpt赋能python:如何用Python炒股赚钱?

如何用Python 炒股赚钱? 在过去的几年里,随着互联网技术的飞速发展,许多人开始关注股票市场。许多股票交易者也利用数据分析和机器学习技术来辅助他们做出更好的交易决策。Python,作为一种快捷,高效,易于学…

chatgpt赋能python:如何用Python炒股

如何用Python炒股 Python是一种功能强大、易用且广泛使用的编程语言。它受到众多程序员的追捧,不仅因为它易于学习,而且因为它有许多优秀的库和工具可供使用。现在,Python不仅可以用于Web应用程序、数据科学和人工智能等领域,还可…