1:“無(wú)法破解芯片?”
今年的hotchips 33 ,密歇根大學(xué)的Austin教授帶來(lái)MORPHEUS II。上一個(gè)版本的MORPUHES 最早出來(lái)的時(shí)候,被稱作:“無(wú)法破解”的芯片,號(hào)稱580名專家13000個(gè)小時(shí)嘗試均告失敗。但是世界上沒(méi)有絕對(duì)的事!
Austin教授說(shuō):“媒體上說(shuō)芯片無(wú)法破解。我自己一般不會(huì)這么說(shuō),因?yàn)槲艺J(rèn)為它是可以破解的,但是這非常難破解!”
通常,當(dāng)程序“調(diào)用”一個(gè)子程序時(shí),它會(huì)在返回堆棧中存儲(chǔ)該子程序結(jié)束時(shí)程序應(yīng)返回的地址,這個(gè)返回地址就是攻擊者操縱執(zhí)行所謂的緩沖區(qū)溢出或代碼注入的位置。
返回地址就是很多攻擊的來(lái)源。
在MORPHEUS之前就有很多手段,來(lái)保護(hù)返回地址的安全性,如一些控制流完整性的手段(CFI),這個(gè)本來(lái)也不稀奇。MORPHEUS通過(guò)一個(gè)加密單元實(shí)現(xiàn)底層機(jī)器碼實(shí)現(xiàn)每50毫秒更改一次。通過(guò)加密后的更改這些底層代碼,使得每個(gè)時(shí)間段后,機(jī)器碼都會(huì)發(fā)生變化,同樣不同處理器運(yùn)行也不一致。
這些返回地址,攻擊者找不到,或者找到了,下一次就發(fā)生了改變。
這樣,在時(shí)間上,代碼隨著時(shí)間變化,在空間上,代碼隨著不同機(jī)器變化,因此要想分析這些機(jī)器碼,就很困難。代碼數(shù)據(jù)的自然識(shí)別系統(tǒng)每隔50毫秒生成一次,這意味著它可以阻止最強(qiáng)大的自動(dòng)黑客工具。因此,即使黑客發(fā)現(xiàn)了一個(gè)漏洞,他們也利用不了該漏洞。當(dāng)他們獲得了破解漏洞必要的信息時(shí),就會(huì)發(fā)現(xiàn)代碼已發(fā)生了改變。
雖然宣傳的不錯(cuò),但是這種手段來(lái)抗攻擊,川劇“變臉”,每隔一段時(shí)間就“churn” 擾動(dòng),這種手段帶來(lái)了開(kāi)銷。雖然文章中說(shuō),開(kāi)銷很少,但是我還是持懷疑態(tài)度。另外,就是這個(gè)證明要靠懸賞。580名專家13000個(gè)小時(shí)的這些操作。搞這么多操作,用在什么地方?控制流完整性CFI搞了這么多年,在處理器領(lǐng)域也是,研究的多,應(yīng)用的少。雖是如此,但是Morphus II的改進(jìn),還是令人眼前一亮。
2:MORPHEUS II的進(jìn)化
MORPHEUS II 和最初的不同,這個(gè)進(jìn)化設(shè)計(jì)了這個(gè)RISC-V的微結(jié)構(gòu),基于Rocket Core,把處理器外部的所有輸入指令和數(shù)據(jù)都加密了,這個(gè)想法起碼挺不錯(cuò)的,這就帶來(lái)了兩個(gè)好處。
第一點(diǎn):所有指令和數(shù)據(jù)都是加密的。
加密的RAM和Disks,甚至,Cache內(nèi)部也是加密的。包括I-Cache 和D-Cache。
也就是說(shuō),數(shù)據(jù)只有在處理器內(nèi)部才是解密的,處理器外部所有的部分,全是密文。
第二點(diǎn):所有的指針都是加密的。
對(duì)于抵抗攻擊來(lái)說(shuō),這個(gè)是一個(gè)非常好的做法,可以有效防止對(duì)攻擊者無(wú)法偽造/分析代碼/指針;
我比較看好這個(gè)基于RISC-V的微架構(gòu)另一個(gè)潛在應(yīng)用,就是云端虛擬化的隔離。
2:云端虛擬化的隔離
云端虛擬化業(yè)務(wù),每個(gè)租戶對(duì)自身數(shù)據(jù)安全性都是無(wú)價(jià)之寶,傳統(tǒng)的云端隔離通道主要有四種隔離手段:
1:計(jì)算CPU隔離
Hypervisor 通過(guò)相互隔離的計(jì)算通道來(lái)控制虛擬機(jī)與主機(jī)資源的交互。從而防止用戶獲得對(duì)系統(tǒng)以及對(duì)其他租戶的讀,寫(xiě)請(qǐng)求,實(shí)現(xiàn)多租戶之間的計(jì)算隔離。
2:內(nèi)存DRAM隔離
Hypervisor同樣負(fù)責(zé)隔離內(nèi)存,確保虛擬機(jī)之間無(wú)法訪問(wèn)對(duì)方的內(nèi)存。當(dāng)實(shí)例被釋放后,所有內(nèi)存被Hypervisor清零,可以防止釋放的物理內(nèi)存頁(yè)被其他用戶訪問(wèn);
3:磁盤(pán)SSD隔離
存儲(chǔ)隔離,目前的存儲(chǔ)隔離通過(guò)hypervisor截獲處理,保證虛擬機(jī)只能訪問(wèn)虛擬機(jī)分配的物理磁盤(pán)空間,實(shí)現(xiàn)虛擬磁盤(pán)空間的安全隔離。
4:網(wǎng)絡(luò)NETWORK隔離
Hypervisor復(fù)雜虛擬網(wǎng)絡(luò)進(jìn)行隔離,確保流量不被隨意轉(zhuǎn)發(fā),虛擬機(jī)的網(wǎng)絡(luò)資源只能被對(duì)應(yīng)的虛擬機(jī)來(lái)獲取。
目前所有的隔離全部依靠是Hypervisor。如果租戶相信Hypervisor,那就依賴Hypervisor。但是還是很多高安全業(yè)務(wù),例如保險(xiǎn),證券等等也不完全信賴公有云的隔離。所有,更安全的方式是單租戶獨(dú)享物理資源,這就是裸金屬云。使用裸金屬云也更安全,不用和別人共享,可以做到物理隔離。那么虛擬化的隔離只能依賴Hypervisor?
目前通過(guò)加密實(shí)現(xiàn)云端虛擬化的隔離是一個(gè)理想的手段,例如磁盤(pán)加密虛擬磁盤(pán)的隔離,加密數(shù)據(jù)其他任何人不能讀取內(nèi)部的數(shù)據(jù),除用戶自身外,任何其他人無(wú)法讀取和訪問(wèn)其中的數(shù)據(jù)。這種隔離方式,是一種更為安全隔離的方式。這些技術(shù)對(duì)于云端虛擬化安全可以提升一個(gè)層次。以前hypervisor,是一個(gè)軟件程序,計(jì)算CPU和內(nèi)存DRAM目前看還不能加密。由軟的hypervisor到硬CPU架構(gòu),通過(guò)CPU架構(gòu)加密實(shí)現(xiàn)隔離,這個(gè)應(yīng)該是不錯(cuò)的想法,雖然還有很長(zhǎng)的路要走。
從Morphous II來(lái)看,其架構(gòu)上,可以實(shí)現(xiàn),指令,數(shù)據(jù)全部加密,也就是說(shuō),內(nèi)存和磁盤(pán)上存儲(chǔ)全是加密數(shù)據(jù),這些加密數(shù)據(jù)可以和CPU處理架構(gòu)綁定,這樣可以通過(guò)密碼手段實(shí)現(xiàn)整個(gè)虛擬化運(yùn)行環(huán)境的隔離??梢酝ㄟ^(guò)這個(gè)處理器RISC-V的微架構(gòu)來(lái)保證,計(jì)算CPU內(nèi)部和DRAM內(nèi)部都是密文,只有在取指(IF)后,以及讀取數(shù)據(jù)(LOAD),數(shù)據(jù)才變成明文。這個(gè)與“同態(tài)加密”技術(shù)對(duì)比來(lái)看,同態(tài)加密技術(shù),目前效率還是比較低,還需要一段時(shí)間才能實(shí)用化。而Morphous II 雖然沒(méi)有同態(tài)加密那么高大上,但是也算是CPU架構(gòu)上的創(chuàng)新,有可能解決很大一部分問(wèn)題。
這個(gè)工作也列出了下一代的Morpheus的方向。
其中包括,高安全隱私計(jì)算,基于加密和物理隔離的防護(hù),以及在亞馬遜的AWS和微軟的Azure來(lái)部署。從這點(diǎn)來(lái)看,Morpheus II終于從不?!皵_動(dòng)”到找到方向。
審核編輯 :李倩
-
芯片
+關(guān)注
關(guān)注
456文章
50910瀏覽量
424500 -
代碼
+關(guān)注
關(guān)注
30文章
4798瀏覽量
68714
原文標(biāo)題:“無(wú)法破解的芯片”到底是個(gè)什么原理?
文章出處:【微信號(hào):bdtdsj,微信公眾號(hào):中科院半導(dǎo)體所】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論