MesaTEE:高性能的隱私保護通用安全計算
- 背景介紹
- 賦能多場景應用,MesaTEE護航云上資料安全
- 技術優勢
- 記憶體安全
- 易審計的不可繞過檢查(Non-bypassable Security)
- 加密隔離和遠程驗證
- 靈活可配置的安全等級
- 功能豐富、性能優異
- 場景案例
- 區塊鏈和云服務
- 安全多方計算
- 安全Key Vault和HSM
- 安全的AI計算
- 強大的開放生態
- 軟體架構
在Rust SGX SDK、MesaLock Linux、MesaLink、MesaPy等子專案相繼開源后,多方矚目的下一代安全計算平臺MesaTEE開源在https://github.com/mesalock-linux/mesatee,開源許可為Apache 2.0,
MesaTEE是全球首個通用安全計算平臺(Universal Secure Computing,簡稱USC),它為對安全和隱私有強訴求的場景提供了下一代通用安全計算能力,使得敏感資料即便在企業外環境和離岸場景下也能安全受控的流通和處理,而不會被泄漏或者濫用,這在全球關注隱私的今天格外重要,使得很多大資料業務成為可能,同時,由于USC/MesaTEE天生的弱中心架構,也使得它和區塊鏈形成完美的互補,填補了區塊鏈急缺的高性能隱私資料處理能力,

MesaTEE綜合采用三項核心安全技術,包括百度安全實驗室提出的混合記憶體安全技術(Hybrid Memory Safety與Non-bypassable Security Paradigm),機密計算技術(Confidential Computing,如Intel SGX),以及可信計算技術(如TPM),構建了完整的FaaS通用計算框架,提供了嚴密而實用的隱私和安全保障能力,與傳統基于密碼學的多方安全計算或全同態加密技術相比,USC/MesaTEE性能一般會快百倍以上,而且編程模式與傳統編程一致,適合普通程式員快速上手進行應用,后繼版本也會支持MesaPy(百度安全實驗室推出的記憶體安全的Python)等安全語言,進一步降低開發門檻,
背景介紹
大資料分析、機器學習、云/邊緣計算和區塊鏈等新興技術正在以前所未有的速度帶動社會的發展,但同時也帶來了各種新的隱私和安全問題:在公有云和區塊鏈上,醫療健康和財務記錄等敏感資料可能會被不可信的程式分析處理,造成隱私泄露;在機構內資料交換時,不同類別機密資訊可能跨越合規許可邊界,落入惡意使用者之手;離岸資料供應鏈中各種隱私失控事件也層出不窮,給各家企業造成了經濟、法律和名譽的沖擊,
除了資料隱私,機器學習模型本身的保護也亟待解決——模型一旦泄露,攻擊者可以盜用知識產權,或利用模型的弱點輕松發起白盒攻擊,想象一下如果我們的自動駕駛模型或者智能安防模型的弱點被攻擊者掌握,后果讓人不寒而栗,
面對所有這些風險情景,我們迫切需要一種可信賴且安全的機制,保障商業程序中的資料安全可控,使我們能夠在不完全可信的環境中依然能確保隱私資料和計算模型不被泄漏或濫用,同時最大程度的提供功能、性能、兼容性和靈活性的支持,MesaTEE正是基于這些出發點進行的設計與開發,通過提供完整的“通用安全計算”軟體堆疊(Universal Secure Computing, USC),幫助大資料和AI產業提供下一代資料隱私和安全解決方案,
賦能多場景應用,MesaTEE護航云上資料安全


如圖所示,MesaTEE通過提供可信且安全的隔離執行計算環境,重新定義了未來的大資料商業模式,即使客戶端和服務/平臺提供商不完全相互信任,也可以有效地保護資料或模型的機密性和完整性,同時,MesaTEE大大簡化了可信計算基礎(TCB)、信任邊界、和信任模型復雜度,讓整個軟體堆疊的審計和驗證變得實際可操作,
截至目前,MesaTEE已經和主流云計算/區塊鏈/芯片廠商以及高校/研究機構深入合作,綜合推進硬體TEE、軟體記憶體安全、和應用豐富強大的計算服務,打造國際安全且靈活通用的安全計算服務框架,同時發布了多款基于MesaTEE的安全計算解決方案,包括金融聯合建模平臺、可信身份認證等,除此之外,螞蟻金服(Occlum),Ericsson、Visa、Chain、Ramp、Enigma、OasisLab、Tracer、MobileCoin、能鏈、秘猿等專案已經在開源社區中采納或者貢獻,金融和區塊鏈行業需求例外強烈,已有累計估值數億美元的區塊鏈專案采納,
MesaTEE底層將繼續保持Rust-SGX生態系統獨一無二的可用性、領先性和前瞻性,在此基礎上進一步完善建設基于TPM/TrustZone/SEV等跨多種可信基的可信計算生態系統,而在框架層面,則會進一步完善功能組件,全面支持保障云計算、大資料、AI計算等場景的安全性,MesaTEE將堅持以安全性為主要目標,豐富開源生態基礎庫和主要功能組件,增強開源社區活躍,在Apache組織中吸引更多合作伙伴加入生態,共建社區,通過開源社區的會議、刊物等大力推廣Rust-SGX/TPM/TrustZone生態系統和其獨特的安全理念,推進MesaTEE可信安全計算服務典型應用落地和合規資質層面布局,凸顯在同類產品中的安全,引領生態的健康持續發展,
秉承“有AI,更安全”的使命,百度安全始終倡導通過新一代技術研發與開源,實作對安全問題的快速回應和有效對抗,百度安全于2018年將首創的七大技術——KARMA系統自適應熱修復、OpenRASP下一代云端安全防護系統、MesaLock Linux記憶體安全作業系統、MesaLink TLS下一代安全通信庫、AdvBox對抗樣本工具箱、MesaTEE下一代可信安全計算服務、HugeGraph大規模圖資料庫——開源匯成AI安全“七種武器”,全面解決云管端以及大資料和演算法層面的一系列安全風險問題,實作由傳統安全時代的強管理向AI時代的強技術支撐下的核心管理轉變,全面應對AI時代下層出不窮的安全挑戰,未來,百度安全也將持續倡導開源文化,打造AI安全時代的開源生態,保持與知名開源社區的緊密聯系與合作,打破技術壁壘,積極擁抱開源,
技術優勢
記憶體安全
“MesaTEE”源自“Memory Safe TEE”,雖然各類硬體TEE(例如Intel SGX)已經提供了強大的可信安全計算基礎,他們并不保證里面運行軟體的記憶體安全性,諸如use after free、double free、buffer overflow等記憶體安全問題為攻擊者提供了侵入TEE的可乘之機,傳統的形式化驗證方案極為耗費時間和人力,例如最經典的seL4驗證,至少需要消耗8人年——而且任何改動都要再花同樣量級的開銷來重新驗證,這對需要不停往前迭代、增刪功能的實際軟體堆疊而言是很難接受的,
因此,通過Rust這樣的記憶體安全編程語言重構系統成為了更為實際的選擇,這種編譯時即保證記憶體安全的方案省去了運行時檢查記憶體安全問題的煩惱,增量迭代時也能延續記憶體安全特性,省卻了昂貴的形式化證明,同時,由于絕大多數檢查發生在編譯時,運行時極為高效,并不會犧牲性能(Rust性能和C/C++基本無異),
不過,完全將所有組件用Rust重寫也不是簡單的任務,很多時候Rust開發的記憶體安全的組件需要和C/C++等非記憶體安全組件并存,因此MesaTEE努力遵循以下混合記憶體安全三原則:
隔離并模塊化由非記憶體安全代碼撰寫的組件,并最小化其代碼量,
由非記憶體安全代碼撰寫的組件不應減弱安全模塊的安全性,尤其是公共 API 和公共資料結構,
由非記憶體安全代碼撰寫的組件需清晰可辨識并且易于更新,
易審計的不可繞過檢查(Non-bypassable Security)
記憶體安全一旦有所保障,程式的控制流和資料流便有了完整性保障基礎,在此基礎上,MesaTEE采用了“不可繞過范式”(Non-bypassable Security Paradigm),約束所有控制流和資料流必須經過關鍵檢查點,顯著減輕了審計和訪問控制的難度,極大縮小了攻擊面,歸約了訪問控制策略的部署,也讓以此為基礎的安全形式化驗證變得實際可行,
加密隔離和遠程驗證
傳統云計算和區塊鏈無法保證資料和代碼的完整性和保密性,這也成為了不少用戶應用采納這些方案的阻礙,MesaTEE很好地解決了這一難題,通過利用包括Intel SGX在內的TEE,安全地將云用戶的資料和代碼執行隔離、加密起來,即使云計算環境里的作業系統、虛擬機管理器(VMM/hypervisor)、或相鄰的其他虛擬機被攻破或作惡,這些資料代碼的完整性和保密性都能得到保障,用戶也可以通過遠程地驗證執行環境,確保遠程執行的代碼是否符合預期,值得注意的是,MesaTEE將遠程驗證直接融入在了端到端加密通信里,在建立加密資料傳輸通道的同時,確保傳輸目的地即是期望的環境,結合前述記憶體安全和不可繞過檢查,MesaTEE從外至內、由硬到軟,將攻擊者突防的可能性縮小到極限,而且保證了資料一旦離手,無論傳輸、遠程計算、遠程存盤,一直得到可驗證的隔離與加密保護,
靈活可配置的安全等級
MesaTEE兼容包括TPM、Intel SGX/MKTME、AMD SEV/SME、ARM TrustZone、乃至Risc-V Keystone、FPGA等廣泛的TEE平臺,這一方面提供了廣譜的運行環境支持,也能為不同安全等級需求的場景提供不同寬松度的硬體依賴要求,特別地,MesaTEE劃分了五個檔次的安全支持等級:

-
Level 1:沒有信任和安全保護的傳統模式,
-
Level 2:完全基于軟體(SoftTrust)建立信任,通過環境因子采集度量、白盒加密隱藏密鑰、反除錯、混淆等方案提供軟體級的強對抗能力,通過MesaLock Linux(用Rust/Go等記憶體安全語言重構用戶空間、縮小內核攻擊面的Linux發行版)和不可繞過的強訪問控制(Non-bypassable Gateway,縮寫NBGW)相結合,可以進一步增強安全性,
-
Level 3:增加安全可信的啟動鏈驗證(例如基于TPM、TrustZone的安全啟動),用戶同樣可以增加MesaLock Linux和NBGW來增強動態安全性,對于多租戶場景,可以在輕量級安全hypervisor(例如Kata Containers)的幫助下提供更進一步的隔離,
-
Level 4:進一步通過物理記憶體自動加密(Intel MKTME或AMD SEV),抵御冷啟動攻擊(cold boot attack)和大多數基于軟體的攻擊,
-
Level 5:利用多重遠程驗證(Remote Attestation)及Secure Enclave技術(如Intel SGX)提供極強的隔離和加密,MesaTEE通過嵌套TPM和MesaLock Linux,以確保外部作業系統也是可靠和安全的,抵御針對Enclave技術的側信道攻擊(side channel attack),
功能豐富、性能優異
MesaTEE在提供極致安全的同時并未舍棄功能和性能,MesaTEE為各類TEE平臺提供了統一的“函式即服務”(Function as a Service,縮寫FaaS)抽象API,開發者可以輕松地開發可遷移的TEE程式;在此基礎上,MesaTEE還封裝了一層WebAssembly/Python抽象層,讓開發門檻和成本進一步降低,提升了開發靈活度,不僅如此,MesaTEE還預置了大部分常見計算模型,對于加解密、證書管理、隱私保護的集合操作、線性回歸、GBDT、深度學習等等眾多大資料分析和機器學習場景,直接呼叫MesaTEE已經提供好的介面即可勝任,
而MesaTEE的性能表現也非常出色,舉例如下(以下性能資料采集自Intel NUC8I7HVK Mini PC,測驗均發生在MesaTEE最高安全級Intel SGX模式下,資料和計算始終隔離且加密):
TCP之上的額外turn-around開銷縮小到了極致,僅為3ms,這里面已經包含了加密通道的秘鑰協商、資料加解密、遠程驗證、負載均衡分配等操作,
每秒可以執行1萬次RSA簽名,或者500萬次AES加解密,相比之下,某傳統HSM只能達到每秒1200次RSA簽名,或者2000次AES加解密,
在10萬條資料上測驗GBDT預測,MesaTEE SGX可比單執行緒XGBoost快4倍,
運行ResNet 50神經網路模型與沒有MesaTEE SGX保護下相比,僅增加了20%的時間開銷,
場景案例
區塊鏈和云服務

除了單獨提供安全計算服務,MesaTEE也非常適合在區塊鏈和云計算的場景下提供通用安全計算應用,如圖所示,在MesaTEE保護下,我們可以跨越不同的網路環境構建區塊鏈,從而安全地利用各種計算資源,無論資料/代碼何時流入,無論何時處理資料/代碼,無論底層平臺如何,資料/代碼所有者始終可以確保機密性和完整性保護,如此一來,資料隱私和完整性等區塊鏈和云計算用戶的痛點都得到了妥善解決,
安全多方計算

在跨部門或跨公司資料協作場景,相互間的隱私需求是協作的首要條件,安全多方計算(SMC)因而變得越來越重要,傳統的基于密碼學的SMC有諸多局限性,而使用MesaTEE完成的安全多方計算則提供了最佳解決方案:
基于密碼學的SMC場景一旦開始運行,計算成員和演算法已經確定,很難動態變化和修改,缺少靈活性;MesaTEE直接在保護環境中對明文進行可信和安全的計算,因此不會施加這種限制,
基于密碼學的SMC場景需要每個參與方兩兩互信并進行資料互動,導致很大的延遲和吞吐開銷;MesaTEE用可信節點替代多方互信,計算參與者只需與中央可信節點交換資料即可,極大消除了不必要的通信,大大提高效率和性能,

MesaTEE在多方計算時到底有多高效呢?上圖以隱私保護的集合求交(private set intersection,縮寫PSI)為例,橫軸是求交集合的大小,縱軸是求交所需時間,一些前沿的密碼學方案很快就發生了超時,即便不超時的方案性能也只有MesaTEE的一半甚至三分之一,事實上,參與者越多,要分析的資料集越大,與傳統方法相比,MesaTEE會顯示出更大的優勢,可以解決密碼學SMC無法完成的復雜計算場景問題,
安全Key Vault和HSM
MesaTEE原生提供了高安全等級的秘鑰保護和加解密操作,可以提供類比傳統Key Vault和HSM的功能,安全地存盤和控制對密鑰/證書的訪問,前面提到MesaTEE即便在SGX里也可以做到每秒1萬次RSA簽名,或者500萬次AES加解密,遠勝一些傳統HSM(每秒1200次RSA簽名,或者2000次AES加解密),
安全的AI計算

MesaTEE已經在所有安全級別(包括Level 5的Intel SGX)中支持了GBDT,線性回歸以及神經網路,特別地,主流的AI框架(例如Tensorflow,Caffe等)生成的CNN / RNN模型都可以方便地轉換并加載到MesaTEE里,以保護模型和資料不受惡意攻擊的影響,并且可以同時支持模型推理和訓練,
性能對于AI應用程式至關重要,因此MesaTEE還進行了大量優化以提高AI模型的執行效率,上圖顯示了在MesaTEE最高安全等級(Intel SGX)中運行ResNet 50與在正常情況下運行相比的時間消耗——僅增加了20%的開銷,通過這一點有限的額外開銷,沒有任何其他安全解決方案可以提供與MesaTEE同等級的機密性和完整性保障,
強大的開放生態
百度首席安全科學家韋韜博士在和Intel副總裁Lorie Wigle在2018年聯手公布MesaTEE時提到:“Intel SGX是自通用計算機出現以來系統安全領域最重要的硬體技術架構變革之一,通過極大的縮短信任鏈使得網路空間的信任依賴變得安全可靠;而百度安全首創的Hybrid Memory Safety技術則是第一次在軟體架構上保障了實用系統的記憶體安全,MesaTEE SGX是兩者的結合,將大大延展互聯網業務的信任邊界,是云隱私計算、隱私機器學習、下一代區塊鏈等多種新型互聯網業務的基石,對于AI時代的云服務有著戰略性意義,”
MesaTEE旨在通過開源開放推動通用安全計算生態發展,為大資料和AI帶來的技術生產力革命提供信任保障的基礎支持,充分解決跨部門/公司之間的資料交換或多方計算,讓金融、賬號、醫療等敏感業務享受到隱私保護的區塊鏈/云服務,為無人駕駛等與生命財產息息相關的業務保駕護航,MesaTEE目前已經和主流云計算/區塊鏈/芯片廠商以及高校/研究機構深入合作,綜合推進硬體TEE、軟體記憶體安全、和應用豐富強大的計算服務,打造國際安全且靈活通用的安全計算服務框架,MesaTEE的開源將極大的加速下一代大資料商業應用的發展,對于推動AI業務在各行各業中落地也有著重要意義,
更多內容請移步:
MesaTEE專案主頁:https://mesatee.org
MesaTEE開源:https://github.com/mesalock-linux/mesatee
軟體架構
在北京舉行的2020百度云智峰會ABC SUMMIT上,百度與英特爾聯合發布了《機密計算助力深度學習,安全及能力兼得》白皮書,首次詳細解讀了基于英特爾SGX軟體防護擴展技術,MesaTEE安全計算平臺與百度飛槳開源深度學習平臺(PaddlePaddle)的聯動賦能,展現了為深度學習定制的機密計算能力所帶來巨大前景和可能,
作為飛槳在自身生態系統內實作機密計算的硬體解決方案核心服務框架,MesaTEE于2018年9月由百度安全聯手英特爾正式對外發布,其基于英特爾SGX技術,使用記憶體安全的Rust語言開發,旨在構建記憶體安全的可信計算平臺,在隱私保護的前提下,打破產業鏈上下游既有的資料壁壘,有效解決資料流通與協作程序中的合法合規、資料安全問題,充分激發資料要素價值,實作資料“價值”與“知識”開放與共享,真正做到“資料可用不可見”,
不論是對于飛槳而言還是開發者來說,利用MesaTEE來實作硬體級的機密深度學習能力都有著巨大的優勢:
-
首先,在SGX技術的支持下,飛槳得以在TEE環境中的運行,當搭載即將推出的全新的第三代英特爾至強可擴展處理器時,其有效的隔離記憶體容量可以極大的提高;而硬體級解決方案也排除了網路限制,避免了網路故障導致大型訓練任務中斷的風險,
-
其次,飛槳與TEE環境的結合使得前者自然成為了一個巨大的分布式可信機密計算環境,這讓使用兼容英特爾處理器的用戶在使用時無需付出額外成本,減少了對于購置專用加密設備的投入,
-
第三,MesaTEE也提供了更為便捷的接入流程,開發者最快僅需3步、在3分鐘內即可完成系統的安裝和運行,而良好的兼容性,也使其能夠支持包括SCONE、Occlum和Graphene在內的大多數SGX TEE容器,
-
更具創新性的意義還在于,MesaTEE也是一個多方任務協作平臺,可通過任務方式管理合作流程,確保執行流程不受外界干擾,在確保資訊安全的前提下,使各個參與方公平地完成任務協作,達成共識后獲取各自所需的計算結果或模型,目前,在TEE環境中運行的飛槳深度學習平臺已為多個領域提供了機密計算的典型示例,打破了資料提供方、建模方與使用方之間彼此割裂的隔閡障礙,

例如在醫療影像篩查方面,其便可在充分保護病患隱私的同時,快速實作從特征提取到整體影像識別的完整一體化識別任務,大幅提升醫療影像識別的效率和精準度,加快患者診療速度,緩解臨床醫生作業壓力,并為醫療機構、尤其是醫療資源受限和醫療水平偏低的基層醫院提供有效的資料支撐和輔助診斷工具,而在金融風險控制方面,其則有助于幫助金融機構安全地與眾多資料源合作,獲取更多維的用戶畫像資料,打造更健壯的信貸風險評估模式,
面對已然到來的智能經濟時代,資料已經成為企業的核心資產,個人資訊保護問題也正為更多人所關注,基于英特爾SGX技術開發的MesaTEE安全計算平臺與飛槳深度學習平臺的聯動,不僅將更好地實作性能與安全的統一,也將大大延展互聯網信任的技術邊界,范訓和構建更安全的AI生態,
目前,MesaTEE的社區版已正式成為Apache基金會的范訓器專案(Apache Teaclave),其將有助于匯集更多力量進一步豐富記憶體安全的SGX技術生態,而隨著飛槳深度學習平臺即將進入2.0時代,其也將在TEE環境中完整實作其已有的相關功能,并提供musl的預編譯版本,
未來,百度也將與英特爾持續加強合作,不斷推動機密計算能力與安全計算平臺的應用落地,為“新基建”格局下的產業發展貢獻力量,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/401702.html
標籤:區塊鏈
上一篇:2021,難說再見
