微軟將為Linux 作業系統帶來TEE的支援

  • 2019 年 10 月 6 日
  • 筆記

Google都在積極布局TEE,都積極發展自己的TEEOS,微軟也不會缺席,將為Linux 作業系統帶來「可信執行環境」的支援,為機密計算提供安全保障機制,並且通過開源、聯盟的方式統一應用介面

早在今年8月21日,加州聖地亞哥開源峰會上Linux基金會宣布成立「機密計算聯盟」(Confidential Computing Consortium),機密計算聯盟將彙集硬體供應商、雲供應商、開發者、開源專家和學者,託管各種技術開源項目和開放規範,以加速機密計算市場的發展;影響技術和法規標準;並構建為TEE(Trusted Execution Environment,可信執行環境)開發提供正確環境的開源工具。https://confidentialcomputing.io

「對於能夠改變一個行業的技術,最早期的工作通常是在整個行業內與開源技術的協作下完成的。」Linux基金會執行董事Jim Zemlin說:「機密計算聯盟是未來計算安全的一個領先指標,它將幫助定義和構建開放技術,以支援所使用數據的這種信任基礎設施。」

目前機密計算聯盟主要是通過提供一個用於構建和簽名受硬體保護的受信任應用程式的SDK—open enclave SDK。

目前硬體平台支援英特爾SGX和ARM TrustZone,Linux(X86-64和AARCH-64)和Windows(X86-64)。

目前參與者計劃向機密計算聯盟提供幾個開源項目,包括:

  • Intel® Software Guard Extensions(Intel®SGX)軟體開發工具包,這是基於SGX實現的,旨在幫助應用程式開發者使用受保護的安全區保護程式碼和數據免於在硬體層泄露或修改。 https://01.org/intel-softwareguard-extensions
  • Microsoft Open Enclave SDK是一個開源框架,允許開發者使用一個獨立的安全區抽象,構建可信的執行環境應用程式。開發者可以構建跨多個TEE體系結構運行的應用程式。 https://openenclave.io/
  • Red Hat Enarx是一個使用TEE保護應用程式提供硬體獨立性的項目。受信任的執行環境(TEE)提供了平台抽象。 http://enarx.io/

該功能運作在「保密計算」(Confidential Computing)這個項目名下,旨在讓應用程式在受保護的環境中執行,以避免作業系統本身、數據和程式碼受到損害。該項目的目標是:創建一種受信任的執行環境(TEE),可以創建和運行「私有,可替代,無伺服器」應用程式的方法。換句話說,為TEE提供平台抽象。

此外,被 IBM 收購的 Red Hat,也在貢獻其 Enrax 框架,主要面向公共雲服務。

註:

機密計算:專註於保護使用中的數據,雲計算中的當前方法處理靜態數據和傳輸中的數據,但對使用中的數據進行加密被認為是為敏感數據提供完全加密的生命周期的具挑戰性的步驟。機密計算將使加密的數據能夠在記憶體中進行處理,而不會暴露給系統的其他部分。機密計算將減少敏感數據的暴露,並為用戶提供更好的控制和透明度。

另外,去年5月Google 開源了一個機密運算開發框架 Asylo。該框架旨在提供一個在可信執行環境TEE中執行的應用的開發框架和 SDK ,以確保應用及資料的安全性。TEE通過一個專門的執行環境 Enclave 來有效防範針對作業系統、韌體、驅動等底層軟體對戰的攻擊,減輕內部惡意人員或是未經授權的第三方泄漏資料的風險。

https://github.com/google/asylo

還有RISC-V也不幹落後。

Keystone: Open-source Secure Hardware Enclave 是 MIT 和 UC Berkeley 在2018年初聯合啟動的一個開源計劃,準備建立一個支援硬體隔離運行空間的可信執行環境TEE,基於它的安全計算將能保護私有數據在共有平台上的安全運行,阻止第三方程式甚至作業系統對安全計算的窺探和篡改。他們認為,在enclave方案中,當前已經有商業實現,比如Intel的SGX和ARM的TrustZone,但由於其封閉性生態並沒有大規模應用,在安全風險方面也存在無法有效審計的問題。

早在 2016 年,MIT 的研究人員在 Sanctum 項目中嘗試使用 RISC-V 實現 Intel SGX 類似的功能基礎PoC。Keystone作為Sanctum的後續版本在Sanctum的基礎上使用了PMP以增強monitor本身的安全性,同時也有計劃簡化用戶空間的開發庫。

https://github.com/keystone-enclave