使用SGX構(gòu)建健壯的同步P2P基礎(chǔ)協(xié)議
如今,大量的P2P系統(tǒng)例如BitTorrent,Storj和BitCoin 進(jìn)入了大眾視野。由于他們的易用性,用戶可以輕松地作為節(jié)點(diǎn)加入這些P2P系統(tǒng)中。與此同時(shí),這樣的開放性也使得惡意(拜占庭)節(jié)點(diǎn)可以加入并進(jìn)行惡意操作。這些惡意節(jié)點(diǎn)的出現(xiàn)一直以來都是P2P系統(tǒng)中的安全隱患。例如,最近研究人員展示了惡意節(jié)點(diǎn)可以通過控制網(wǎng)絡(luò)對正常節(jié)點(diǎn)的網(wǎng)絡(luò)連接進(jìn)行分割,從而實(shí)現(xiàn)重復(fù)花費(fèi)和自私挖礦攻擊。同時(shí),拜占庭節(jié)點(diǎn)也可以在匿名P2P網(wǎng)絡(luò)(如洋蔥網(wǎng)絡(luò)Tor)中通過瞞報(bào)高帶寬和高運(yùn)行時(shí)長來控制正常通訊回路的進(jìn)入和退出節(jié)點(diǎn),進(jìn)一步有選擇性地拒絕服務(wù)從而削弱匿名網(wǎng)絡(luò)的匿名性。另外,拜占庭節(jié)點(diǎn)還可以選擇性地偽造,轉(zhuǎn)移,延遲或者終止信息,從而破壞協(xié)議的執(zhí)行。因此,設(shè)計(jì)健壯的P2P協(xié)議來抵御這些攻擊是一個(gè)很重要的研究課題。
在拜占庭的這個(gè)模型中,已經(jīng)有大量的科研工作設(shè)計(jì)出不同的P2P基礎(chǔ)協(xié)議,例如可信廣播和一致性協(xié)議。大量的研究表明在超過三分之一節(jié)點(diǎn)是拜占庭節(jié)點(diǎn)的環(huán)境下,可信廣播和一致性是不可能達(dá)成的。在尋求更高效率和容忍更多拜占庭節(jié)點(diǎn)的協(xié)議的過程中,研究者創(chuàng)建出一些新的限制拜占庭節(jié)點(diǎn)能力的 模型。作為其中常見的模型, 常規(guī)遺漏模型(general-omission model)限定了惡意節(jié)點(diǎn)只能選擇遺漏發(fā)送和接受的信息,不能隨意地篡改信息。在這個(gè)弱化的惡意模型中,已有的可信廣播可以容忍一半的惡意節(jié)點(diǎn),同時(shí)通信的數(shù)據(jù)量大大減少。然而,這些弱化的模型通常需要很強(qiáng)的設(shè)定,并且這些設(shè)定在現(xiàn)實(shí)中很多時(shí)候是不切實(shí)際同時(shí)沒有具體的實(shí)現(xiàn)。
在我們的這個(gè)工作中,我們研究了使用基于硬件信任根源(hardware-root-of-trust)的機(jī)制使得之前弱化的模型在現(xiàn)實(shí)系統(tǒng)中變得可實(shí)現(xiàn)。我們發(fā)現(xiàn)新興的硬件例如Intel SGX,為用戶級的應(yīng)用提供了很強(qiáng)的可信計(jì)算能力。其中SGX enclaves為這些應(yīng)用提供了硬件隔離的執(zhí)行環(huán)境,使得在enclave里面的程序防篡改同時(shí)可以被遠(yuǎn)程證明。如果SGX類似的功能可以被日常的用戶終端系統(tǒng)廣泛的采用,那我們是否可以利用這些新的功能去設(shè)計(jì)和實(shí)現(xiàn)健壯的P2P協(xié)議呢?通過我們的觀察和研究,通過使用SGX的功能,我們可以在同步網(wǎng)絡(luò)的環(huán)境中將拜占庭(byzantine)節(jié)點(diǎn)的行為限制在常規(guī)遺漏模型(general-omission)中。
稻草人可信廣播協(xié)議
稻草人協(xié)議可能受到的攻擊
盲盒計(jì)算(blind-box computation)
分歧暫停(halt-on-divergence)
鎖步執(zhí)行(lockstep execution)
安全特性防止各種攻擊
具體地,我們使用了4個(gè)SGX的特性,分別是隔離執(zhí)行(enclave execution),無偏差隨機(jī)數(shù)(unbiased randomness),遠(yuǎn)程證明(remote attestation)和可信消逝時(shí)間(trusted elapsed time)。在這些特性之上,我們實(shí)現(xiàn)了6種安全功能。首先,我們通過實(shí)施執(zhí)行完整性(execution integrity),信息完整性和真實(shí)性(message integrity & authenticity),以及盲盒計(jì)算(blind-box computation)來限制攻擊者不能偽造信息或者違背原有協(xié)議的執(zhí)行,只能延遲,重放和遺漏信息。我們進(jìn)一步使用鎖步執(zhí)行(lockstep execution)和信息保鮮(message freshness)將攻擊者模型降低為general-omission模型,從而使得拜占庭節(jié)點(diǎn)除了選擇性發(fā)送/接受信息外沒有其他優(yōu)勢。在這樣的模型中,盲盒計(jì)算特性不允許攻擊者根據(jù)信息的內(nèi)容而選擇性遺漏信息。同時(shí),分歧暫停特性(halt-on-divergence)使得在enclave中的程序可以檢測自己所在的節(jié)點(diǎn)是否根據(jù)收發(fā)者的身份選擇性地遺漏信息,從而自身將表現(xiàn)惡意的節(jié)點(diǎn)剔除出所在的網(wǎng)絡(luò)。利用這些特性,我們進(jìn)一步將可信廣播和隨機(jī)數(shù)生成協(xié)議進(jìn)行了改進(jìn),設(shè)計(jì)出新的Enclaved Reliable Broadcast (ERB) 和 Enclaved Random Number Generator (ERNG)。這兩個(gè)基礎(chǔ)協(xié)議可以被廣泛地使用在不同的分布式系統(tǒng)和協(xié)議中,例如投票系統(tǒng),隨機(jī)漫步,共享密鑰生成和密碼貨幣協(xié)議。
在我們的同步網(wǎng)絡(luò)系統(tǒng)中,每個(gè)節(jié)點(diǎn)都運(yùn)行在提供SGX的CPU之上。與拜占庭模型中的協(xié)議相比,我們的兩個(gè)基礎(chǔ)協(xié)議都適量減少了通信開銷和回合開銷。對于包含N個(gè)節(jié)點(diǎn)的網(wǎng)絡(luò),ERB的通信開銷是O(N2),同時(shí)容忍少于一半的惡意節(jié)點(diǎn)。未優(yōu)化的ERNG的通信開銷是O(N3),如果使用隨機(jī)抽樣,優(yōu)化的ERNG的開銷則可以降到O(N log N)。通過實(shí)現(xiàn)和測試我們的系統(tǒng), 我們的實(shí)驗(yàn)結(jié)果與理論結(jié)果是相符合的。
如果感興趣,大家可以查看我們的論文https://eprint.iacr.org/2017/180.pdf和開源代碼 https://bitbucket.org/P2PUsingSGX/p2pusingsgx.。
作者簡介
Yaoqi Jia is a Research Fellow at the National University of Singapore (NUS). He got his Ph.D. in Computer Science from NUS, under the advisement of Zhenkai Liang and Prateek Saxena. His research interests span web security and privacy, network security, distributed systems and applied cryptography. Presently, he is exploring solutions to secure the web infrastructure from two perspectives — networking and systems. For example, addressing consensus and privacy issues in P2P systems and identifying new attacks/vulnerabilities in web browsers. His research work has been published in CCS, USENIX Security, PETS, RAID, ESORICS etc. He has received the Best Paper Award in W2SP (2014) and ICECCS (2014). His work got acknowledged by various vendors including Google and Apple (CVE-2014-7948 for Chrome and CVE-2015-5907 for Safari) and has received attention from the media including Dailydot, Gizmodo and Techspot.
備注:本文轉(zhuǎn)自網(wǎng)安國際,一切版權(quán)歸原作者所有!