比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > DYDX > Info

技術詳解 | CertiK對螞蟻集團HyperEnclave先進形式化驗證_NCL

Author:

Time:1900/1/1 0:00:00

上周,CertiK宣布已完成了對螞蟻集團可信原生技術團隊開發的創新開放式跨平臺可信執行環境(TEE)HyperEnclave的先進形式化驗證。

為了實現保護Web3世界的使命,CertiK在審計過程中采用了一系列分析方法。這包括但不限于由人工審計員進行詳細嚴謹的代碼評審,通過模糊測試和靜態分析發現程序錯誤、以及使用模型檢測為標準協議提供程序正確性的數學證明。其中最強大的方法之一是使用機器驗證的證明(即形式化驗證)。

形式化驗證既包括對標準屬性的自動驗證,例如使用模型檢測,同時也包括更為先進的驗證,即為特定項目制定定制化的安全屬性并對其進行證明。

如下圖所示,Web3應用程序依賴于其軟件棧上的所有組件層次。智能合約的業務邏輯使用高級編程語言編寫,編譯為字節碼,并由區塊鏈節點上的字節碼虛擬機進行運行。鏈的節點執行其特定的代碼來計算諸如質押等配置,以及共識算法。此外,區塊鏈節點運行在物理云基礎設施上,其中包括操作系統、虛擬機監視器、可信執行環境等系統軟件。

在討論Web3的安全性時,人們通常關注的焦點是位于其軟件棧頂層的智能合約。而位于較低層級的軟件組件是由多個不同的Web3應用程序共享的,因此它們經過了更多的測試,可能存在的錯誤較少。

但與此同時,這也使得它們變得更為重要:在區塊鏈節點代碼中的一個錯誤可能會危及該區塊鏈上的所有應用程序,而系統基礎設施中的一個錯誤則可能會危及整個Web3世界。

國家發改委高技術發展司司長:“新基建”包含區塊鏈等新技術:4月20日,國家發改委有關領導在新聞發布會上對“新基建”所覆蓋的內容作了進一步的解釋。國家發改委高技術發展司司長伍浩表示:一是信息基礎設施,主要指基于新一代信息技術演化生成的基礎設施,比如,以5G、物聯網、工業互聯網、衛星互聯網為代表的通信網絡基礎設施,以人工智能、云計算、區塊鏈等為代表的新技術基礎設施,以數據中心、智能計算中心為代表的算力基礎設施等。二是融合基礎設施,主要指深度應用互聯網、大數據、人工智能等技術,支撐傳統基礎設施轉型升級,進而形成的融合基礎設施,比如,智能交通基礎設施、智慧能源基礎設施等。三是創新基礎設施,主要指支撐科學研究、技術開發、產品研制的具有公益屬性的基礎設施,比如,重大科技基礎設施、科教基礎設施、產業技術創新基礎設施等。[2020/4/22]

CertiK在機器驗證證明方面的工作涵蓋了Web3軟件棧的每一層面。例如:

我們使用符號化模型檢測自動驗證ERC-20合約和其他實現標準接口的Solidity合約

我們驗證了類似UniSwap的DeFi應用程序的智能合約,形式化驗證是我們對Move和Cardano合約審計的一部分,我們為一些Solidity項目驗證了定制屬性

我們的DeepSEA驗證編譯器旨在排除編譯過程中的錯誤

我們形式化驗證了Cosmos SDK的標準銀行模塊

我們形式化驗證了TON Chain的主鏈質押合約

這篇博文介紹了我們在Web3軟件棧最底層的一項工作:在最近發布的一份形式化驗證報告中,我們將先進形式化驗證應用在了由螞蟻集團可信原生技術團隊開發的HyperEnclave可信執行環境。

聲音 | 普元信息:公司持續關注分布式架構等技術方向:普元信息(SH688118)在互動平臺回復投資者提問表示,公司核心技術人員、產品線負責人、核心技術骨干等研發人員在分布式架構、微服務、大數據虛擬化、容器云、 DevOps、自動化測試、移動互聯等多個技術方向上發揮各自專長,持續關注和研究軟件基礎平臺技術最新發展方向和市場需求的變化,注重新產品研發與市場需求的契合,產品線持續豐富完善,產品技術水平不斷提升,保證了公司產品的技術性能、技術架構持續具有先進性。[2020/1/21]

HyperEnclave 可信執行環境

可信執行環境(Trusted Execution Environment,TEE)的設計目的是保護應用程序免受一種最具挑戰性的攻擊類型:那些甚至能夠控制計算機操作系統的攻擊方式。

一些最著名的TEE包括英特爾的SGX、Arm TrustZone和AMD SEV。它們的工作原理是讓CPU通過加密的方式證明特定的安全應用程序(enclave)已加載,并防止其他軟件干擾它。

TEE已經融入到數字生活的許多方面。像蘋果FileVault這樣的磁盤加密軟件、谷歌Authenticator這樣的兩步驗證應用程序都將密鑰存儲于TEE中,即使有人盜竊并拆解筆記本電腦或手機,密鑰也能得到保護。

同時,在Web3中,TEE也變得越來越重要。數字貨幣錢包也使用TEE來更安全地存儲加密密鑰。分布式區塊鏈預言機可以使用TEE來增加數據的真實性可信度。有提議將TEE用于“2-of-3系統”以幫助從零知識證明的實現錯誤中的恢復。

動態 | Circle表態支持Kin基金會 稱“應停止用20世紀的法律監管21世紀的技術”:Circle發推稱:我們一直在呼吁監管的明確性,以促進加密技術在美國的蓬勃發展。幸運的是,在這場斗爭中,我們并不孤單。Circle及Poloniex支持并贊賞Kin基金會保護加密技術的努力。正如Fred wilson指出的那樣,我們正處在行業的關鍵時刻,美國有被甩在后面的風險,企業家不應該被迫在其他地方進行創新。立法者應停止將20世紀制定的法律應用于21世紀創造的技術。 此前報道,Kin基金會正在發起一場運動,要求對加密貨幣進行新的豪伊測試(Howey Test),以便對加密領域進行更好的監管。基金會目前已與Coinbase為運動預留500萬美元,以便在法律上采取措施,同時呼吁其他人為基金捐款。[2019/5/29]

還有一些區塊鏈項目,如LucidiTEE、SubstraTEE、Oasis Network和AntChain,則提議使用TEE為用戶提供數據隱私保護。

目前,大多數TEE都是閉源的,并且與特定的硬件供應商綁定。例如,要使用Intel SGX,應用程序必須在Intel CPU上運行,并經過Intel的批準和白名單驗證。但是硬件開發本身較慢,因此TEE的功能集較小,而且安全問題的解決需要對CPU固件進行更新。相比之下,HyperEnclave大部分是使用軟件實現的,利用了兩個廣泛可用的硬件功能。

首先,計算機的可信平臺模塊(TPM,通常用于實現UEFI安全引導)用于驗證HyperEnclave和一組特定的安全飛地(enclave)是否正在運行。其次,HyperEnclave使用CPU的虛擬化擴展來保護enclave(通常由虛擬機監視器如VMware、VirtualBox、Hyper-V、KVM等使用)。對于計算機硬件而言,HyperEnclave看起來就像任何其他的虛擬機監視器,但對于enclave來說,它提供了一個兼容SGX的API,使得針對SGX編寫的應用程序可以輕松適應在HyperEnclave上運行。通過使用標準虛擬化技術,它可以輕松支持與操作系統緊密交互的高性能應用程序。

動態 | 荷蘭ING銀行正研究Bulletproofs技術 認為其對處理隱私問題有用:據The Block消息,荷蘭ING銀行正研究Bulletproofs技術。ING銀行認為,該技術可能對處理隱私問題很有用,其可以幫助像銀行這樣的機構遵守歐盟的通用數據保護法規(GDPR),并保護客戶的敏感數據。注:Bulletproofs防彈技術為斯坦福大學和倫敦大學學院密碼學家以及創業公司Blocksteam于2017年共同開發的一種新零知識證明系統。此后2018年10月,門羅幣進行網絡升級,兼容Bulletproofs協議。[2019/4/16]

HyperEnclave中最關鍵的部分是稱為RustMonitor的監視器,用于保護enclave免受來自其它enclave和來自操作系統的危險。enclave和操作系統在虛擬化的"guest"模式下執行,這意味著它們每次嘗試訪問內存時,所訪問的內存地址首先通過由RustMonitor所管理的頁表進行轉換。通過將enclave放置在物理內存的不同區域中,RustMonitor可以確保它們永遠無法讀取或覆蓋其他enclave所擁有的數據。但這不能僅僅是簡單的靜態分離:一些內存地址必須被允許重疊,以便enclave與操作系統進行通信,并且地址映射在處理頁面中斷時會被更新。

HyperEnclave的開發者編寫了一組“頁表必須遵守的不變性質”,其中定義了內存地址映射表的預期工作方式。例如,這包括諸如“如果且僅當虛擬地址位于ELRANGE中,該地址才會被映射到EPC中的物理頁”等屬性。詳細性質請參閱形式化驗證報告。任何違反了這些條件的錯誤都可能使整個HyperEnclave系統的安全保證無效化。

F1威廉姆斯車隊通過開發新型區塊鏈技術獲取競爭優勢:威廉姆斯車隊是世界頂尖一級方程式車隊之一,其以不懈的創新而聞名,該車隊在很大程度上依靠技術來獲得競爭優勢。目前,該車隊宣布,他們正在研究區塊鏈技術,以幫助車隊在F1比賽中取得競爭優勢。[2018/5/16]

RustMonitor的設計采取了以下步驟來確保代碼的可信性。首先,它保持了較小的規模——大約3000行獨立于平臺的代碼,再加上差不多大小的x86架構特定的庫代碼。其次,它使用Rust語言編寫——這是一種內存安全的語言,可以排除大部分的錯誤類別。然而,考慮到其重要性,人們仍然希望獲得更高的安全性,并求助于形式化驗證。

對HyperEnclave的RustMonitor 進行形式化驗證

RustMonitor的頁表管理代碼是一個很好的驗證目標,因為它既小巧、其安全性又很關鍵。類似于Web3智能合約的情況,對其投入精力進行形式化驗證是可行的。在這個項目中,CertiK從頁表必須遵守的不變性質入手,將它們從英語翻譯成Coq形式化規范語言。然后,我們產生一份機器檢查的證明,以證明當RustMonitor代碼修改表格時,所得到的表格仍滿足所有的不變性質。

事實上,我們的開發工作還要更進一步,因為我們還希望確保這些不變性質的設計是正確的、而且我們對其的Coq語言翻譯是正確的。為此,我們在Coq中進一步指定了客戶代碼所應該能觀察到的信息,并利用不變性質證明不會有其它的信息流("不相干定理")。所有這些證明放在一起,共同提供了一個強有力的保證,即頁表管理在設計上和實現上都是正確的。

然而,證明TEE監控程序的正確性并不是一項簡單的任務。像虛擬化監視器和操作系統內核這樣的系統級程序大量使用低級代碼,其涉及帶有指針的數據結構、跳過類型抽象、以及為性能高度優化。直至今日,對此類程序的驗證仍然是值得發表在頂級計算機科學期刊上的論文中的熱門研究問題,對其每一行代碼進行證明需要巨大的努力。

例如,seL4的初始證明用了20個人年,而Komodo花費了2個人年來驗證與約650行C代碼對應的匯編代碼。這些項目中的代碼是為了簡化驗證而重新專門編寫的,與HyperEnclave很不同——后者已經投入生產并采用了Rust的慣用寫法。基于現有技術水平,對所有代碼進行驗證在經濟上并不切實際。另一個問題是,與其他編程語言相比,Rust的驗證工具鏈并不成熟。通過編寫手工的“模型”代碼而不是實際代碼,可以減輕驗證的負擔。一個例子是Sanctum TEE,一個驗證研究項目。這種方法的缺點是,代碼與抽象模型之間的不匹配可能會削弱任何關于模型的安全性或正確性屬性,甚至使其無效化。

CertiK在解決這個問題上具備得天獨厚的條件。我們的兩位創始人,邵中教授和顧榮輝教授,是并發認證抽象層(CCAL)驗證方法的發明者,他們用這種方法驗證了世界上第一個并發認證操作系統內核CertiKOS,并驗證了KVM虛擬化監視器seKVM和ARM機密計算架構。CCAL的基本思想是將程序中的所有函數劃分為很多“層”,為每層編寫其抽象模型,然后證明函數的實際代碼實現了抽象模型,這顯著降低了代碼與抽象模型行為不匹配的風險。同試圖將整個程序作為單個整體進行驗證相比,分層方法更容易處理代碼證明和并發問題。此前對seKVM和Arm CCA的工作在驗證工業級系統軟件項目方面受到了關注,而在這之前這類項目的規模對于形式化驗證來說過于龐大。

HyperEnclave形式化驗證團隊包括之前參與CertiKOS和seKVM驗證的人員,我們試圖利用這些經驗在安全保證和驗證的資源投入之間取得良好的平衡。為此,我們使用了一種基于CCAL規范的彈性驗證方法:我們的框架支持驗證函數代碼是否符合模型,但我們選擇僅對一部分函數進行這項驗證(49個直接處理內存頁表的函數)。對于其他函數,我們則假定對Rust代碼的手工Coq翻譯是正確的,僅證明這些Coq模型的功能正確性。這里源碼中所訪問數據結構的抽象程度決定了每個函數是否需要驗證其代碼符合模型。當HyperEnclave使用高級Rust數據結構時,我們直接將其轉換到Coq,但當其使用基于字節的低級頁表格式時,我們則花更多精力來證明其等效于高級功能模型(詳見完整形式化驗證報告)。就RustMonitor而言,這意味著我們對處理頁表表示的“Memory”模塊進行了代碼證明,對管理enclave狀態的“Enclave”模塊使用了抽象模型,然后結合所有產生的模型證明了不變性定理和頂層安全定理。

這個驗證的另一個有趣的部分是如何進行代碼證明。處理頁表的HyperEnclave代碼是低級代碼,沒有任何現有的驗證工具能夠很好地處理它。為此,我們開發了一個框架,通過轉換為中間語言 MIR(Mid-level Intermediate Representation)來驗證 Rust 代碼,并用它來驗證那些關鍵函數。由于MIR是一種較小的語言,我們能夠為其編寫精確的操作語義,并對編譯器生成的 MIR 代碼進行精確的驗證,這使得我們的代碼證明具有更堅實的基礎,而不是依賴于任意的一個翻譯器。

總的來說,這是一項龐大的工作,涉及到大約17,300行通過了Coq證明器驗證的人工證明腳本。另有幾千行的形式化規范,以及大量用于所導入的MIR代碼和層結構而自動生成的Coq文件。證明的主要組成部分包括不相干性證明(6600行)、代碼證明(4200行)和頁表操作功能證明(4400行),以及與代碼證明框架相關的定理。最終,這些證明匯集成一組定理,陳述了HyperEnclave主要系統調用的數據流不相干性,亦即私密性。

總結

可信執行環境(TEE)是云計算和Web3應用程序的一項基礎技術,因此構建其安全性至關重要。在這個項目中,CertiK應用了先進形式化驗證技術來驗證其最重要的組件,從而提供了強有力的保證,確保其代碼按照預期運行,并確實符合所期望的安全屬性。

這項形式化驗證工作只是確保隱私計算安全性的一環;它只涵蓋了RustMonitor的頁表管理部分,而RustMonitor又僅是整個系統中的一個組件。在未來,我們也將對其他隱私計算組件進行代碼審核、測試和形式化驗證。通過驗證最核心的部分,我們為隱私云計算奠定了堅實的基礎。

CertiK中文社區

企業專欄

閱讀更多

Foresight News

金色財經 Jason.

白話區塊鏈

金色早8點

LD Capital

-R3PO

MarsBit

深潮TechFlow

Tags:cLALAVEENCNCLclam幣怎么交易LAVE幣PersistenceTokenClub

DYDX
金色早報 | 上半年加密對沖基金關閉近百家 加密基金表現遜于比特幣_ETF

▌數據:年初至今近100個加密對沖基金已關閉,上半年加密基金表現遜于比特幣金色財經報道,據彭博社援引瑞士投資顧問 21e6 Capital AG 的數據報道,今年全球已有700多家加密貨幣基金.

1900/1/1 0:00:00
SEC主席的一些「黑料」_GENS

作者:Jonathan Bier,BitMEX;編譯:BlockBeats美國證券交易委員會(SEC)主席 Gary Gensler 是加密貨幣領域的風云人物.

1900/1/1 0:00:00
金色觀察 | 進軍全球金融體系:馬斯克X占一半 Worldcoin全都要_WOR

作者:金色財經,Climber2023年7月24日注定會是被歷史銘記的一天,Twitter標志性“藍色小鳥”徽標即將被埃隆·馬斯克替換為“X”圖案.

1900/1/1 0:00:00
Starknet 鏈游生態蓄勢待發_STARK

Layer2 四大天王之一的 StarkNet 有了新的大動作。剛剛落幕的巴黎EthCC(Ethereum Community Conference)大會上,備受關注的熱點之一,就是StarkW.

1900/1/1 0:00:00
Mysten Labs游戲產品總監:Sui資產所有權如何讓游戲體驗更好?_MYS

作者:Sui Network近日,我們采訪了Mysten Labs的游戲產品總監Bill Allred,共同探討了為什么Sui非常適合游戲.

1900/1/1 0:00:00
從流動性質押協議到抵押品多樣化 LSDFi演變的三個階段_LSD

作者:ValHolla;編譯:Block unicorn每個人都知道以太坊合并會對DeFi產生積極的影響,但不到一年的時間,它已經超越了最瘋狂的看漲預期.

1900/1/1 0:00:00
ads