譯者注:本文發(fā)表在麻省理工科技評(píng)論網(wǎng)站,從ETC遭受51%以及以太坊智能合約漏洞得出了區(qū)塊鏈越來越容易遭到攻擊的結(jié)論,并認(rèn)為區(qū)塊鏈對(duì)于竊
譯者注:本文發(fā)表在麻省理工科技評(píng)論網(wǎng)站,從ETC遭受51%以及以太坊智能合約漏洞得出了區(qū)塊鏈越來越容易遭到攻擊的結(jié)論,并認(rèn)為區(qū)塊鏈對(duì)于竊賊來說十分有吸引力。這種觀點(diǎn)事實(shí)上非常片面:首先,相比基于區(qū)塊鏈的加密貨幣,現(xiàn)金在金融活動(dòng)中的匿名性更高;其次,近段時(shí)間遭受51%的加密貨幣均因?yàn)樗懔Σ蛔?,而相比之下,比特幣區(qū)塊鏈自誕生以來從未被攻破;最后,以太坊智能合約由于處于開發(fā)早期,存在問題不可避免,但并不能和區(qū)塊鏈存在漏洞劃上等號(hào),智能合約概念的誕生遠(yuǎn)早于區(qū)塊鏈。
以下為麻省理工科技評(píng)論發(fā)表的這篇文章的全文:
上個(gè)月初,Coinbase的安全團(tuán)隊(duì)注意到Ethereum Classic(ETC)發(fā)生了一些奇怪的事情,其區(qū)塊鏈,即所有交易的歷史記錄,遭到了攻擊。這種加密貨幣在Coinbase的交易平臺(tái)進(jìn)行買賣。
一名黑客以某種方式控制了網(wǎng)絡(luò)一半以上的算力,并利用它重寫了交易歷史。這使得同一筆加密貨幣的多次使用成為了可能——也就是“雙花”。攻擊者因此取得了110萬美元。Coinbase聲稱,該公司的賬戶并未出現(xiàn)被盜的情況。但另一家知名的交易所Gate.io承認(rèn)自己沒那么幸運(yùn),損失了大約20萬美元(奇怪的是,攻擊者幾天后返還了所有資金)。
就在一年前,這種噩夢般的情景還僅限于理論層面。但ETC面臨的51%攻擊,只是區(qū)塊鏈最近遭受的一系列攻擊其中的一起,這些攻擊加大了這個(gè)新興行業(yè)的風(fēng)險(xiǎn)。
自2017年初以來,黑客總共竊取了近20億美元的加密貨幣,其中大部分來自交易所,而這還只是公開披露的信息。這也不僅僅涉及伺機(jī)而動(dòng)的獨(dú)立攻擊者。一些有組織的網(wǎng)絡(luò)犯罪集團(tuán)現(xiàn)在也會(huì)這樣做:分析公司Chainalysis近期表示,有兩個(gè)顯然非?;钴S的組織,可能從交易所共盜竊了10億美元。
我們不應(yīng)該感到驚訝。區(qū)塊鏈對(duì)竊賊尤其有吸引力,因?yàn)樵趥鹘y(tǒng)金融體系中欺詐交易往往是不可逆轉(zhuǎn)的(譯者評(píng):事實(shí)恰恰相反)。除此之外,我們?cè)缇椭绤^(qū)塊鏈具備獨(dú)特的安全特性,也有獨(dú)特的漏洞。那些稱這項(xiàng)技術(shù)“不可破解”的口號(hào)和標(biāo)語大錯(cuò)特錯(cuò)(譯者評(píng):比特幣區(qū)塊鏈自誕生以來從未遭到外部攻擊)。
自從10年前比特幣出現(xiàn)以來,這一點(diǎn)至少在理論上已經(jīng)得到了理解。但是在過去的一年里,隨著加密貨幣項(xiàng)目的激增,我們開始看到這在實(shí)踐中意味著什么——以及這些固有的弱點(diǎn)對(duì)區(qū)塊鏈和數(shù)字資產(chǎn)的未來意味著什么。
如何攻擊區(qū)塊鏈?
在我們繼續(xù)之前,讓我們先弄清楚一些術(shù)語。
區(qū)塊鏈?zhǔn)怯捎?jì)算機(jī)網(wǎng)絡(luò)維護(hù)的加密數(shù)據(jù)庫(譯者評(píng):區(qū)塊鏈≠數(shù)據(jù)庫),每個(gè)計(jì)算機(jī)網(wǎng)絡(luò)存儲(chǔ)最新的副本。區(qū)塊鏈協(xié)議是一組規(guī)則,規(guī)定網(wǎng)絡(luò)中的計(jì)算機(jī)(節(jié)點(diǎn))應(yīng)該如何驗(yàn)證新交易并將其添加到數(shù)據(jù)庫中。該協(xié)議使用密碼學(xué)、博弈論和經(jīng)濟(jì)學(xué)來激勵(lì)節(jié)點(diǎn)努力保護(hù)網(wǎng)絡(luò),而不會(huì)為了個(gè)人利益攻擊網(wǎng)絡(luò)。如果設(shè)置正確,這個(gè)系統(tǒng)會(huì)使添加錯(cuò)誤交易變得極其困難和昂貴,但是驗(yàn)證有效交易會(huì)相對(duì)比較容易。
這就是為什么這項(xiàng)技術(shù)對(duì)很多行業(yè)如此有吸引力——從金融業(yè)開始。即將推出相關(guān)服務(wù)的知名機(jī)構(gòu),如富達(dá)投資和紐約證券交易所(NYSE)的母公司洲際交易所(ICE),將開始把區(qū)塊鏈納入現(xiàn)有金融體系。就連各國央行現(xiàn)在也在考慮將其用于新的國家貨幣數(shù)字形式。
但是,區(qū)塊鏈系統(tǒng)越復(fù)雜,在設(shè)置時(shí)出錯(cuò)的方式就越多。本月早些時(shí)候,負(fù)責(zé)Zcash(一種使用極其復(fù)雜的數(shù)學(xué)方法讓用戶私下進(jìn)行交易的加密貨幣)的公司透露,他們已經(jīng)秘密修復(fù)了協(xié)議中意外出現(xiàn)的一個(gè)“微妙的密碼學(xué)缺陷”。攻擊者可以利用它制造無限的虛假Zcash。幸運(yùn)的是,似乎沒有人真正做到了這一點(diǎn)。
協(xié)議不是唯一需要安全的部分。要自己交易加密貨幣或運(yùn)行節(jié)點(diǎn),必須運(yùn)行軟件客戶端,這也可能包含漏洞。今年9月,比特幣的主要客戶端Bitcoin Core也修復(fù)一個(gè)漏洞(也是在秘密進(jìn)行的),這個(gè)漏洞可能會(huì)讓攻擊者制造比系統(tǒng)預(yù)期允許的更多的比特幣(譯者注:這里解讀為秘密進(jìn)行不妥,開發(fā)者在事后均有主動(dòng)披露事件細(xì)節(jié))。
盡管如此,最近備受關(guān)注的黑客攻擊大多不是針對(duì)區(qū)塊鏈本身,而是針對(duì)交易所,即人們可以購買、交易和持有加密貨幣的網(wǎng)站。很多攻擊都?xì)w咎于糟糕的基礎(chǔ)安全措施。今年1月對(duì)ETC的51%攻擊改變了這一點(diǎn)。
51%的規(guī)則
易受51%攻擊是大多數(shù)加密貨幣固有的。這是因?yàn)樗麄儺?dāng)中的大多數(shù)都是基于PoW區(qū)塊鏈來驗(yàn)證交易的。在這個(gè)過程中,也稱為挖礦,節(jié)點(diǎn)花費(fèi)大量的算力來證明自己足夠可信,從而向數(shù)據(jù)庫中添加關(guān)于新交易的信息。以某種方式控制了該網(wǎng)絡(luò)大部分算力的礦工,可以通過向其他用戶發(fā)送交易,然后創(chuàng)建一個(gè)從未發(fā)生過付款的區(qū)塊鏈版本來欺騙他們,也就是分叉??刂拼蠖鄶?shù)算力的攻擊者可以使分叉成為一條鏈的權(quán)威版本,并再次使用相同的加密貨幣。
對(duì)于受歡迎的區(qū)塊鏈來說,嘗試這種盜竊行為的代價(jià)可能非常昂貴。根據(jù)crypto51.com網(wǎng)站的數(shù)據(jù),租用足夠的采礦能力來攻擊比特幣,目前每小時(shí)的成本將超過26萬美元。但當(dāng)你的鼠標(biāo)往下滑的時(shí)候,成本就會(huì)越來越低。不斷下跌的加密貨幣價(jià)格使這一攻擊變得更加便宜,因?yàn)檫@導(dǎo)致礦工關(guān)閉機(jī)器,使網(wǎng)絡(luò)得到的保護(hù)更少。
到2018年年中,攻擊者開始對(duì)一些規(guī)模相對(duì)較小、交易量較低的幣種發(fā)起51%攻擊,包括Verge、Monacoin和比特幣黃金,總共盜竊了大約2000萬美元。去年秋天,黑客通過對(duì)一種名為Vertcoin的加密貨幣發(fā)動(dòng)一系列攻擊,竊取了大約10萬美元。ETC 51%攻擊的損失超過100萬美元,也是攻擊者首次對(duì)市值排名前20位的幣種發(fā)起攻擊。
基于區(qū)塊鏈的文件存儲(chǔ)平臺(tái)Sia的聯(lián)合創(chuàng)始人David Vorick預(yù)測,51%攻擊的頻率會(huì)增加,變得越來越嚴(yán)重,而交易所將首當(dāng)其沖地受到雙花的影響。他說,推動(dòng)這一趨勢的其中一個(gè)因素是算力市場的興起,攻擊者可以通過這種方式為攻擊租用算力。“在選擇上線哪種加密貨幣時(shí),交易所必須更加嚴(yán)格,” Vorick在ETC遭受攻擊后寫道。
一團(tuán)亂麻的智能合約
除了51%攻擊外,還有一個(gè)全新的區(qū)塊鏈安全漏洞,研究人員剛剛開始探索其影響力:智能合約漏洞。巧合的是,ETC——尤其是它的起源——也是理解這類漏洞一個(gè)很好的點(diǎn)。
智能合約是運(yùn)行在區(qū)塊鏈網(wǎng)絡(luò)上的計(jì)算機(jī)程序。它可以根據(jù)規(guī)定的規(guī)則和條件自動(dòng)轉(zhuǎn)移加密貨幣。其有許多潛在的用途,例如推動(dòng)真實(shí)的法律合同或復(fù)雜的金融交易。另一個(gè)用途是創(chuàng)建一種投票機(jī)制,通過這種機(jī)制,風(fēng)投基金的所有投資者可以集體決定如何分配資金。
2016年,一個(gè)名為“去中心自治組織”(DAO)的基金就利用名為以太坊的區(qū)塊鏈系統(tǒng)成立。此后不久,一個(gè)攻擊者就利用管理DAO的智能合約中的漏洞竊取了價(jià)值6000多萬美元的加密貨幣。從本質(zhì)上說,這個(gè)漏洞允許黑客在系統(tǒng)沒有注冊(cè)這些錢已經(jīng)被取走的情況下,繼續(xù)從賬戶中索取資金。
正如黑客所說,活躍智能合約中的一個(gè)錯(cuò)誤可以創(chuàng)建一種獨(dú)特的緊急情況。在傳統(tǒng)軟件中,漏洞可以通過補(bǔ)丁來修復(fù)。在區(qū)塊鏈?zhǔn)澜缰?,事情就沒那么簡單了。ETH Zurich以及智能合約安全初創(chuàng)公司ChainSecurity的研究科學(xué)家Petar Tsankov說,由于區(qū)塊鏈上的交易無法撤消,部署智能合約有點(diǎn)像發(fā)射火箭。“軟件不能出錯(cuò)。”
解決辦法是有的。雖然它們不能修補(bǔ),但是一些合約可以通過部署額外的智能合約與之交互來“升級(jí)”。開發(fā)者還可以將中心化的開關(guān)放到網(wǎng)絡(luò)中,以便在檢測到攻擊后停止所有活動(dòng)。但對(duì)于那些資金已經(jīng)被盜的用戶來說,就太晚了。
取回資金的唯一方法是,有效地重寫歷史——回到攻擊發(fā)生前區(qū)塊鏈上的那個(gè)點(diǎn),創(chuàng)建一個(gè)新的區(qū)塊鏈分叉,并讓網(wǎng)絡(luò)上的每個(gè)人都同意使用這個(gè)分叉。這就是以太坊開發(fā)者選擇的方法。大多數(shù)——但不是全部——社區(qū)成員都切換到了新的鏈,即我們現(xiàn)在知道的以太坊。一小部分持反對(duì)意見的人堅(jiān)持使用原來的鏈,也就是ETC。
上個(gè)月,Tsankov的ChainSecurity團(tuán)隊(duì)拯救了以太坊,防止了DAO災(zāi)難的重演。就在重大軟件升級(jí)的前一天,該公司告訴以太坊開發(fā)者,如果區(qū)塊鏈上的一些合約同類攻擊,將會(huì)產(chǎn)生意想不到的后果。開發(fā)者立即推遲了升級(jí),并將在本月晚些時(shí)候重新進(jìn)行升級(jí)。
盡管如此,區(qū)塊鏈安全公司AnChain.ai的聯(lián)合創(chuàng)始人兼首席執(zhí)行官Victor Fang表示,數(shù)百個(gè)有價(jià)值的以太坊智能合約很容易受到這種所謂的“重入漏洞”的攻擊。根據(jù)去年進(jìn)行的一項(xiàng)研究,數(shù)萬個(gè)合約可能包含其他類型的漏洞。公共區(qū)塊鏈的本質(zhì)意味著,如果存在智能合約漏洞,黑客會(huì)發(fā)現(xiàn)它,因?yàn)樵创a通常在區(qū)塊鏈上可見。“這與傳統(tǒng)的網(wǎng)絡(luò)安全非常不同,”Fang說,他之前在網(wǎng)絡(luò)安全公司FireEye工作。
漏洞百出的合約,尤其是那些包含數(shù)千或數(shù)百萬美元的合約,已經(jīng)吸引了黑客的注意。今年8月,AnChain發(fā)現(xiàn)了一場極其復(fù)雜的攻擊背后的5個(gè)以太坊地址,該攻擊利用一款熱門的菠菜游戲合約漏洞,竊取了400萬美元。
攻擊者能被打敗嗎?
AnChain.ai是近段時(shí)間為應(yīng)對(duì)區(qū)塊鏈黑客威脅而創(chuàng)立的幾家初創(chuàng)公司之一。它使用人工智能來監(jiān)控交易和檢測可疑活動(dòng),還可以掃描智能合約代碼以查找已知的漏洞。
包括Tsankov的ChainSecurity在內(nèi)的其他公司正在開發(fā)一種基于計(jì)算機(jī)科學(xué)技術(shù)的審計(jì)服務(wù)——形式驗(yàn)證。其目標(biāo)是從數(shù)學(xué)上證明合約代碼可以實(shí)現(xiàn)其創(chuàng)建者的意圖。Tsankov說,這些在過去一年左右開始出現(xiàn)的審計(jì)工具,讓智能合約的創(chuàng)建者能夠消除許多漏洞。但是這個(gè)過程可能會(huì)很昂貴和耗時(shí)。
還可以使用其他智能合約來設(shè)置基于區(qū)塊鏈的“漏洞獎(jiǎng)勵(lì)”??的螤柎髮W(xué)加密貨幣與合合約研究項(xiàng)目的研究員Philip Daian表示,這將鼓勵(lì)人們上報(bào)漏洞,以換取加密貨幣作為獎(jiǎng)勵(lì)。
但目前能做的僅此而已。畢竟,區(qū)塊鏈?zhǔn)且粋€(gè)復(fù)雜的經(jīng)濟(jì)系統(tǒng),它依賴于人類不可預(yù)知的行為,人們總是在尋找新的方式來玩這個(gè)游戲。例如,Daian和他的同事們已經(jīng)展示了攻擊者是如何通過以太坊智能合約來獲利的。
簡而言之,盡管區(qū)塊鏈技術(shù)長期以來因其安全性而備受吹捧,但在某些條件下,它可能相當(dāng)脆弱。有時(shí)可能只是因?yàn)閳?zhí)行失誤或者是無意的軟件錯(cuò)誤。其他時(shí)候,它更像是一個(gè)灰色地帶——代碼、區(qū)塊鏈的經(jīng)濟(jì)學(xué)和人類貪婪之間相互作用的復(fù)雜結(jié)果。這一點(diǎn)在這項(xiàng)技術(shù)誕生之后就很清楚了。現(xiàn)在世界上有這么多區(qū)塊鏈,我們正在學(xué)習(xí)它的真正含義——這通常是艱難的。
關(guān)鍵詞: 麻省科技區(qū)塊鏈