博客專欄

        EEPW首頁 > 博客 > 作為唯一安全技術入選IEEE,機密計算為什么如此重要?

        作為唯一安全技術入選IEEE,機密計算為什么如此重要?

        發布人:AI科技大本營 時間:2023-03-19 來源:工程師 發布文章
        圖片

        大規模AI計算中的數據和模型安全人工智能技術(AI)作為這個時代最具影響力的技術,滲透到了我們生活的方方面面。特別是2022年底,OpenAI發布的ChatGPT表現出了驚人的信息分析、整合、決策和對話能力。隨著人工智能模型規模和能力的進一步增強,AI未來將幫助人們完成一系列個性化的復雜工作,諸如信息咨詢、任務代辦等等。AI技術的演變離不開大數據和大模型的支撐,動輒上千億參數的大模型的訓練需要消耗上萬億的高質量數據,并在面向市場的過程中不斷根據用戶的反饋進行調整升級。在這里,整個AI服務涉及到數據的提供者、模型的擁有者和算力的提供者三個角色。對于數據的提供者來說,數據包含了其個人的敏感數據或者企業經過多年運營沉淀下來的數據,蘊含著巨大的商業價值;對于模型的擁有者來說,模型包含著擁有者對于AI算法以及應用行業的深刻理解,以及為了訓練模型所付出的巨大開銷,是企業寶貴的知識產權。參與的各方都希望在模型的訓練和應用過程中保護自身數據隱私,因為數據和模型本身被視為參與方的寶貴資產。從另一方面來說,隨著《網絡安全法》《數據安全法》和《個人信息保護法》的頒布和實施,對于數據隱私的保護,實現數據“可用不可見”“可控可計量”也成為法律法規的要求,數據和模型一旦泄露,將會帶來嚴重的社會負面影響以及巨大的經濟損失。隨著云計算的發展和模型訓練對于超大規模算力的需求增長,絕大部分的模型訓練工作已遷移到云上進行。另外,基于對服務實時性和可靠性的要求,大量的AI模型被部署在IoT設備端(例如在自動駕駛場景中)。在大多數情況下,云計算基礎設施和IoT設備并不被數據和模型所有者所擁有和控制,如何在一個不可信的環境中保證數據和模型的安全隱私,成為了大規模機器學習和應用的挑戰。圖片什么是機密計算?為了應對上述挑戰,一系列相關技術逐漸受到學術界和工業界的關注,機密計算技術便是其一。機密計算(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。圖片圖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進行。圖片圖2  TrustZone應用模型圖片機密計算與其他隱私計算方案的對比機密計算作為一種基于硬件的隱私計算技術,與其他的隱私計算技術相比,在高效性和普適性上具備較大的優勢。以多方安全計算(Secure Multi-Party Computation, SMPC)和聯邦學習(Federated Learning, FL)為例,SMPC以密碼學為基礎,通過加密狀態下的多輪通信共同計算一個約定好的任務,而不泄露彼此的隱私信息。FL基于分布式機器學習,在不交換各數據方本地數據的條件下,僅通過交換本地數據的模型信息構建基于全體數據樣本的全局模型。從高效性上看,SMPC和FL由于涉及大量的加解密和網絡通訊,其綜合的運算性能與基于明文的計算相比會有數百倍以上的損失,這使其難以適應大吞吐量、低延遲的計算場景。對機密計算而言,數據和模型的機密性和完整性由底層硬件進行保證,能夠獲得和明文計算相接近的計算性能。在普適性方面,SMPC和FL對于計算任務的特征和結構有一定的假設,無法滿足任意的計算需求。相比之下,機密計算沒有這方面的約束,普適性更高。圖片機密計算的應用與挑戰在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接口眾多且復雜,如何在庫操作系統上完備地防范接口攻擊也是一個需要繼續研究的課題。圖片IDEA研究院在機密計算領域的探索IDEA研究院在機密計算領域也做了一些探索,為了應對機密計算領域的側信道攻擊和工程落地的挑戰,我們將機密計算任務完全卸載到一個獨立的協處理器(Secure Processing Unit, SPU,詳情見:https://spu.idea.edu.cn)上,物理級別的硬件隔離使得機密計算任務避免了側信道攻擊的風險。

        圖片

        SPU僅通過高速總線和主機通信,硬件級別的安全訪問圍欄(Secure Enforcement Barrier)防止了非授權和非認證的數據通信。在系統層面,SPU內定制安全啟動、安全設備抽象和安全容器技術使得原有代碼無需重新編譯即可運行,POSIX系統調用由SPU自行處理以避免Iago攻擊,這些技術進一步保證了可信應用的機密性和完整性。圖片總結在AI技術如火如荼發展的今天,數據作為人工智能的“石油”,模型作為人工智能的最終產品,都蘊含著巨大的商業價值。對于數據和模型的機密性的保護,實現數據和模型的“可用不可見”“可控可計量”不僅是法律法規的要求,也是數字經濟發展的需要。機密計算提供了一種高效普適的解決方案,并隨著人工智能、大數據、云計算技術的發展而快速發展,成為安全隱私計算的一條主流的技術路線。在未來,機密計算技術還將在可信、安全以及工程化落地和可擴展性方面不斷演進,最終成為安全、普適、高性能、可擴展、易部署的AI數據和模型“安全的守護者”。作者簡介圖片藍晏翔博士,IDEA研究院AI安全普惠系統研究中心首席科學家,深圳市高層次人才 ,SPU(Secure Processing Unit)機密計算協處理器項目負責人,全面負責項目技術研發、團隊管理、市場轉化等工作,曾任金融科技獨角獸公司CTO和高級副總裁。藍晏翔在清華大學獲得學士和博士學位,在ACM ToG等頂級期刊上發表過多篇論文,并持有多項發明專利。

        圖片

        邵樂希,IDEA研究院AI安全普惠系統研究中心工程師,負責SPU項目系統軟件開發。邵樂希在劍橋大學獲得本科和碩士學位,曾任華為Linux內核工程師。

        參考資料 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.pdf2、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.341726512、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.337846916、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.


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: AI

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 保德县| 定西市| 蓬莱市| 门源| 榆树市| 遵义县| 平山县| 米易县| 鄄城县| 内乡县| 钟山县| 双桥区| 望城县| 宝山区| 锡林浩特市| 罗平县| 云南省| 项城市| 林甸县| 嘉义市| 龙里县| 涟水县| 靖边县| 通许县| 台州市| 中西区| 五华县| 图木舒克市| 延川县| 延吉市| 景东| 黎川县| 石景山区| 淮滨县| 蕉岭县| 平凉市| 共和县| 徐水县| 西盟| 仲巴县| 剑河县|