時(shí)至今日,加密貨幣與智能合約平臺(tái)當(dāng)中開(kāi)始出現(xiàn)越來(lái)越多安全漏洞,而其中部分漏洞甚至源自這些平臺(tái)的構(gòu)建基礎(chǔ)。
就在上月月初,Coinbase公司的安全團(tuán)隊(duì)注意到以太坊經(jīng)典(Ethereum Classic)當(dāng)中出現(xiàn)了一些異常跡象。順帶一提,Coinbase所提供的高人氣加密貨幣交易平臺(tái)正是以以太坊經(jīng)典為基礎(chǔ)。事實(shí)上,所謂異常并不足以說(shuō)明問(wèn)題的嚴(yán)重性——整個(gè)區(qū)塊鏈,包括其中的全部交易歷史,盡皆遭到入侵。
攻擊者以某種方式控制了超過(guò)半數(shù)的區(qū)塊鏈網(wǎng)絡(luò)算力,并借此對(duì)交易歷史進(jìn)行了重寫(xiě)。這意味著其完全有能力多次使用相同的加密貨幣——也就是所謂“重復(fù)花費(fèi)”。截至攻擊者被發(fā)現(xiàn)之時(shí),其濫用的資金總額高達(dá)110萬(wàn)美元。不過(guò)Coinbase方面宣稱,此次事件并沒(méi)有造成任何實(shí)際性的賬戶貨幣失竊。然而,第二大高人氣交易所Gate.io就沒(méi)這么幸運(yùn)了,問(wèn)題出現(xiàn)之后攻擊者共造成了約20萬(wàn)美元的損失(但奇怪的是,幾天之后其中有半數(shù)資金得到了恢復(fù))。
就在一年之前,上述噩夢(mèng)般的場(chǎng)景似乎還只存在于理論之中。但此番針對(duì)以太坊經(jīng)典網(wǎng)絡(luò)的51%攻擊只是近期一系列指向區(qū)塊鏈平臺(tái)的攻擊活動(dòng)中的一例,而這些問(wèn)題進(jìn)一步加劇了加密貨幣這一新興行業(yè)的整體波動(dòng)。
單從已經(jīng)公開(kāi)披露的情況來(lái)看,自2017年年初開(kāi)始,黑客就已經(jīng)總計(jì)竊取到價(jià)值近20億美元的加密貨幣,而且其中大部分來(lái)自交易所。如今,受到巨大利益吸引的已經(jīng)不再是單槍匹馬的獨(dú)行劫匪,而是規(guī)模更大且更為復(fù)雜的網(wǎng)絡(luò)犯罪團(tuán)伙。分析企業(yè)Chainalysis公司最近表示,單單是兩個(gè)最為活躍的黑客團(tuán)隊(duì)就有可能已經(jīng)從交易所處偷走了10億美元。
對(duì)于這樣的狀況,大家沒(méi)必要過(guò)度驚訝。實(shí)際上,區(qū)塊鏈對(duì)于盜竊分子一直有著極高的吸引力。這一方面是因?yàn)閰^(qū)塊鏈上的欺詐交易無(wú)法逆轉(zhuǎn),這與傳統(tǒng)金融體系的情況完全不同。除此之外,正如大家所知,區(qū)塊鏈既擁有著獨(dú)特的安全功能,同時(shí)也有著特殊的安全漏洞。
自從十年前比特幣正式誕生以來(lái),我們已經(jīng)至少在理論上理解到了這一點(diǎn)。但在過(guò)去一年中,新的加密貨幣項(xiàng)目就如寒武紀(jì)生命大爆發(fā)一樣爭(zhēng)相涌現(xiàn),而我們也已經(jīng)在實(shí)踐層面體會(huì)到了由此帶來(lái)的影響,甚至是此類固有缺失可能給區(qū)塊鏈及數(shù)字資產(chǎn)的未來(lái)造成的后續(xù)沖擊。
如何入侵區(qū)塊鏈?
在繼續(xù)講解之前,讓我們首先聊聊區(qū)塊鏈的本質(zhì)。
區(qū)塊鏈實(shí)際上就是一套由整體計(jì)算機(jī)網(wǎng)絡(luò)所維護(hù)的加密數(shù)據(jù)庫(kù),其中每一臺(tái)計(jì)算機(jī)都存儲(chǔ)著最新的數(shù)據(jù)副本。區(qū)塊鏈協(xié)議則代表一組規(guī)則,用于規(guī)定網(wǎng)絡(luò)當(dāng)中的各臺(tái)計(jì)算機(jī)(被稱為節(jié)點(diǎn))應(yīng)如何驗(yàn)證新交易并將其添加至數(shù)據(jù)庫(kù)當(dāng)中。這項(xiàng)協(xié)議采用密碼學(xué)、博弈論以及經(jīng)濟(jì)學(xué)等手段激勵(lì)各節(jié)點(diǎn)努力保護(hù)網(wǎng)絡(luò),而非出于個(gè)人利益而實(shí)施網(wǎng)絡(luò)攻擊。如果設(shè)置得當(dāng),那么這套系統(tǒng)有望極大程度提升添加錯(cuò)誤交易的難度與成本,同時(shí)以更理想的效率對(duì)有效交易進(jìn)行驗(yàn)證。
正是憑借著這一核心特性,才讓區(qū)塊鏈技術(shù)在眾多行業(yè)當(dāng)中具有著獨(dú)特的吸引力,而金融行業(yè)正是最直接的受眾。富達(dá)投資與紐約證券交易所的持有方洲際交易所等知名機(jī)構(gòu)已經(jīng)在著手推出新的服務(wù),計(jì)劃將區(qū)塊鏈技術(shù)融入現(xiàn)有金融體系當(dāng)中。甚至多個(gè)國(guó)家的中央銀行也在考慮借此發(fā)行數(shù)字形式的全新本國(guó)貨幣。
然而,區(qū)塊鏈系統(tǒng)越復(fù)雜,出現(xiàn)錯(cuò)誤的可能性也就越高。本月早些時(shí)候,負(fù)責(zé)Zcash幣(一種利用極度復(fù)雜的數(shù)學(xué)方法幫助用戶個(gè)人之間進(jìn)行交易的加密貨幣)的公司指出,其已經(jīng)悄悄修復(fù)了協(xié)議當(dāng)中偶然出現(xiàn)的一項(xiàng)“微妙的加密漏洞”。攻擊者可以借此偽造出無(wú)窮無(wú)盡的Zcash幣。幸運(yùn)的是,在修復(fù)之前該漏洞似乎并沒(méi)有被實(shí)際利用。
協(xié)議并不是唯一需要嚴(yán)格保護(hù)的對(duì)象。要進(jìn)行加密貨幣交易或者節(jié)點(diǎn)運(yùn)行,大家必須使用軟件客戶端,而客戶端當(dāng)中也有可能包含漏洞。去年9月,比特幣主要客戶端Bitcoin Core被曝出存在一項(xiàng)嚴(yán)重bug(同樣沒(méi)有對(duì)外公布),其有可能令攻擊者獲得比系統(tǒng)設(shè)計(jì)量更高的比特幣產(chǎn)出??梢韵胍?jiàn),相關(guān)開(kāi)發(fā)者以近乎瘋狂的方式將其快速修復(fù)掉了。
盡管如此,近期大部分最引人注目的黑客攻擊并非針對(duì)區(qū)塊鏈網(wǎng)絡(luò)本體的入侵,而是將矛頭指向了交易所——即人們購(gòu)買、交易以及持有加密貨幣的網(wǎng)站。更可怕的是,很多盜竊案之所以能夠得手,完全是由于這些交易所在基礎(chǔ)安全措施方面非常糟糕。不過(guò)今年1月的事件有所不同,以太坊經(jīng)典面對(duì)的是51%攻擊。
51%原則
事實(shí)上,大多數(shù)加密貨幣對(duì)于51%攻擊都有著極高的敏感性。這是因?yàn)榇蠖鄶?shù)加密貨幣項(xiàng)目都基于區(qū)塊鏈,這些區(qū)塊鏈所使用的工作證明機(jī)制正是交易驗(yàn)證的核心機(jī)制。在這一過(guò)程(也被稱為挖礦)中,節(jié)點(diǎn)會(huì)花費(fèi)大量算力來(lái)證明自身足夠可信,從而將關(guān)于新交易的信息添加到數(shù)據(jù)庫(kù)之內(nèi)。以此為前提,通過(guò)某種方式控制大部分網(wǎng)絡(luò)采礦能力的礦工即可向這些規(guī)??捎^的節(jié)點(diǎn)發(fā)送付款交易,從而欺騙其他用戶并創(chuàng)建出現(xiàn)有區(qū)塊鏈的新版本——在這套版本中,該付款操作從未發(fā)生。這樣的新版本被稱為分叉。更重要的是,控制大部分挖礦能力的攻擊者完全能夠讓這個(gè)分叉被視為區(qū)塊鏈的權(quán)威版本,從而繼續(xù)消費(fèi)同一批加密貨幣。
對(duì)于高人氣區(qū)塊鏈而言,這種盜竊方式可能會(huì)帶來(lái)極高的成本。根據(jù)Crypto51網(wǎng)站的統(tǒng)計(jì),租用采礦權(quán)足以被用于攻擊比特幣區(qū)塊鏈的設(shè)備,目前的單小時(shí)成本已經(jīng)超過(guò)26萬(wàn)美元。但如果著眼于比特幣之后的1500多種加密貨幣,我們會(huì)發(fā)現(xiàn)其網(wǎng)絡(luò)規(guī)模明顯小得多,因此需要控制的算力自然也就少得多。加密貨幣價(jià)格下跌導(dǎo)致這些貨幣價(jià)值縮水,這又進(jìn)一步促使礦工們退出網(wǎng)絡(luò),最終形成了網(wǎng)絡(luò)保護(hù)能力持續(xù)弱化的惡性循環(huán)。
2018年年中,攻擊者開(kāi)始針對(duì)一系列體量較小、交易活躍度較低的加密貨幣(包括Verge幣、Monacoin以及Bitcoin Cold)進(jìn)行51%攻擊,并總共盜竊到大約2000萬(wàn)美元。去年秋季,黑客們又通過(guò)一系列針對(duì)Vertcoin加密貨幣的攻擊偷走了大約10萬(wàn)美元。此次針對(duì)以太坊經(jīng)典的攻擊共涉及超過(guò)100萬(wàn)美元,這也是人氣排名前二十位的貨幣首次遭遇正面入侵。
基于區(qū)塊鏈型文件存儲(chǔ)平臺(tái)Sia公司聯(lián)合創(chuàng)始人David Vorick預(yù)測(cè)稱,未來(lái)51%攻擊活動(dòng)將在頻率與嚴(yán)重程度方面持續(xù)升級(jí),而且交易所將首當(dāng)其沖受到重復(fù)花費(fèi)問(wèn)題的損害。他同時(shí)表示,推動(dòng)這一趨勢(shì)的重大事件,就是所謂hashrate市場(chǎng)的興起。攻擊者可以通過(guò)這些市場(chǎng)租賃到可觀的算力并用于攻擊。Vorick在以太坊經(jīng)典遭遇黑客攻擊后寫(xiě)道,“在決定支持哪種加密貨幣時(shí),交易所顯然需要做出更為嚴(yán)格的限制與謹(jǐn)慎的判斷。”
一大堆全新的蠕蟲(chóng)病毒
除了51%攻擊之外,區(qū)塊鏈安全漏洞中還存在著一類全新分支,而研究人員們也剛剛開(kāi)始對(duì)其進(jìn)行探索——這就是智能合約漏洞。巧合的是,以太坊經(jīng)典、特別是其背后的設(shè)計(jì)思維,正是理解智能合約漏洞的絕佳切入點(diǎn)。
所謂智能合約,屬于在區(qū)塊鏈網(wǎng)絡(luò)之上運(yùn)行的計(jì)算機(jī)程序。它可以根據(jù)預(yù)先制定的規(guī)則與條件自動(dòng)完成加密貨幣的轉(zhuǎn)移。智能合約有著很多潛在用途,例如支持真實(shí)法律合約或者復(fù)雜的金融交易等等。而其另一個(gè)重要用途,同時(shí)也是我們感興趣的方向,就是建立起一種投票機(jī)制。通過(guò)這種投票機(jī)制,風(fēng)險(xiǎn)投資基金的所有投資者都能夠參與進(jìn)來(lái),共同決定資金的具體分配方式。
2016年,名為去中心化自治組織(簡(jiǎn)稱DAO)的基金正式建立,其實(shí)現(xiàn)基礎(chǔ)正是以太坊區(qū)塊鏈。此后不久,一名攻擊者通過(guò)利用DAO智能合約管理系統(tǒng)中存在的某一無(wú)法預(yù)料的缺陷,偷走了總價(jià)值超過(guò)6000萬(wàn)美元的加密貨幣。從本質(zhì)上講,這項(xiàng)缺陷允許黑客在系統(tǒng)未將注冊(cè)資金識(shí)別為已撤回的前提下繼續(xù)向帳戶申請(qǐng)資金。
實(shí)時(shí)智能合約中的bug可以引發(fā)一種獨(dú)特的高危狀況。在傳統(tǒng)軟件中,我們可以利用補(bǔ)丁修復(fù)此類bug。但在區(qū)塊鏈?zhǔn)澜缰?,?wèn)題絕對(duì)沒(méi)那么簡(jiǎn)單。以太坊蘇格蘭分部研究科學(xué)家兼智能合約安全初創(chuàng)企業(yè)ChainSecurity公司聯(lián)合創(chuàng)始人Petar Tsankov指出,由于區(qū)塊鏈上的交易無(wú)法被撤銷,因智能合約的部署更像是發(fā)射火箭——“軟件絕對(duì)不可以出錯(cuò)。”
當(dāng)然,也存在著某些修復(fù)機(jī)制。雖然無(wú)法徹底解決問(wèn)題,但研究人員可以通過(guò)部署其它智能合約并與原有合約進(jìn)行交互,從而對(duì)后者進(jìn)行“升級(jí)”。另外,開(kāi)發(fā)人員還可以在網(wǎng)絡(luò)當(dāng)中構(gòu)建集中式交易終止機(jī)制,從而在檢測(cè)到黑客攻擊之后停止一切交易活動(dòng)。然而對(duì)于資金已經(jīng)遭到盜竊的用戶來(lái)說(shuō),一切都已經(jīng)無(wú)法挽回。
實(shí)際上,恢復(fù)被盜資金的唯一方式就是重寫(xiě)歷史記錄——即將區(qū)塊鏈回滾至攻擊發(fā)生之前的某一時(shí)間點(diǎn),建立新的區(qū)塊鏈分叉,并要求網(wǎng)絡(luò)上的每一位用戶接受這一新的區(qū)塊鏈版本。當(dāng)時(shí),以太坊的開(kāi)發(fā)者們就做出了這樣的決定。大部分(但并非全部)社區(qū)成員轉(zhuǎn)向了新鏈,也就是我們現(xiàn)在所說(shuō)的以太坊。但仍有一小部分堅(jiān)持繼續(xù)使用原始鏈,而這就構(gòu)成了以太坊經(jīng)典。
上個(gè)月,Tsankov在ChainSecurity的團(tuán)隊(duì)成功使以太坊免于重復(fù)DAO的災(zāi)難。在某項(xiàng)策劃許久的重大軟件升級(jí)正式上線的前一天,該公司提醒以太坊的核心開(kāi)發(fā)人員,這次升級(jí)有可能引發(fā)意想不到的后果——即在區(qū)塊鏈上遺留一些合約,其很容易受到導(dǎo)致DAO攻擊的同類漏洞的影響。開(kāi)發(fā)人員迅速推遲了升級(jí)進(jìn)程,并決定在西服晚些時(shí)候再行推出。
然而,區(qū)塊鏈安全企業(yè)AnChain.ai公司聯(lián)合創(chuàng)始人兼CEO Victor Fang表示,數(shù)百份頗具價(jià)值的以太坊智能合約仍面臨著這種所謂“重入bug”的威脅。根據(jù)去年進(jìn)行的一項(xiàng)研究,成千上萬(wàn)份智能合約中可能包含著大量其它漏洞。公鏈的本質(zhì)決定著,如果智能合約當(dāng)中存在bug,那么黑客必然能夠?qū)⑵浒l(fā)現(xiàn)——因?yàn)楣満霞s的源代碼通常會(huì)公開(kāi)發(fā)布。曾效力于網(wǎng)絡(luò)安全廠商FireEye公司的Fang指出,“這與傳統(tǒng)的安全實(shí)現(xiàn)思路存在很大差別。”
存在bug的合約,特別是那些涉及數(shù)十萬(wàn)甚至數(shù)百萬(wàn)美元的合約,吸引到了那批以往關(guān)注銀行或者政府機(jī)構(gòu)的高水平黑客。去年8月,AnChain確定了五個(gè)以太坊地址,它們都參與到了一起極為復(fù)雜的攻擊活動(dòng)當(dāng)中。通過(guò)這次攻擊,黑客憑借某高人氣賭博游戲合約內(nèi)的缺陷竊取到總計(jì)400萬(wàn)美元。
那么,我們能夠成功抵御這些黑客嗎?
AnChain.ai公司正是近來(lái)為了解決區(qū)塊鏈黑客威脅而建立的幾家初創(chuàng)企業(yè)之一。其希望利用人工智能技術(shù)監(jiān)控交易并檢測(cè)可疑活動(dòng),同時(shí)掃描智能合約代碼以確定其中的已知漏洞。
包括Tsankov的ChainSecurity在內(nèi)的其它一些公司,則在著手開(kāi)發(fā)基于所謂形式驗(yàn)證這一計(jì)算機(jī)科學(xué)技術(shù)的新型審計(jì)服務(wù)。其目標(biāo)在于立足數(shù)學(xué)層面證明合約代碼能夠切實(shí)滿足創(chuàng)建者的規(guī)則意圖。Tsankov解釋稱,這些審計(jì)工具在過(guò)去一年中才剛剛出現(xiàn),這使得智能合約創(chuàng)建者得以提前消除諸多“低級(jí)”錯(cuò)誤。然而,整個(gè)審計(jì)過(guò)程仍然既昂貴又耗時(shí)。
康奈爾大學(xué)隱形貨幣與合約倡議研究員Philip Daian表示,行業(yè)也可以嘗試使用額外的智能合約以建立針對(duì)區(qū)塊鏈項(xiàng)目的“bug賞金計(jì)劃”,即鼓勵(lì)人們報(bào)告缺陷以換取加密貨幣獎(jiǎng)勵(lì)。
但確保代碼清潔正確的努力終究是有上限的。畢竟區(qū)塊鏈代表著一類復(fù)雜的經(jīng)濟(jì)系統(tǒng),其取決于人類不可預(yù)測(cè)的行為,而人總能夠找到新的突破口。舉例來(lái)說(shuō),Daian和他的同事已經(jīng)展示了攻擊者能夠如何通過(guò)各類高人氣游戲的以太坊智能合約為自己牟利。
簡(jiǎn)而言之,盡管區(qū)塊鏈技術(shù)長(zhǎng)期以來(lái)一直因天然具有安全優(yōu)勢(shì)而受到人們的歡迎,但在某些條件下其也可能非常脆弱。有時(shí)候這些問(wèn)題源自攻擊者的惡意計(jì)劃,有時(shí)候也單純因?yàn)檐浖跓o(wú)意中發(fā)生了錯(cuò)誤。而在其它情況下,這更像是一種灰色區(qū)域——即復(fù)雜的代碼、區(qū)塊鏈經(jīng)濟(jì)學(xué)觀以及人類的貪婪相互雜糅而形成的共同責(zé)任。自從這項(xiàng)技術(shù)誕生以來(lái),上述問(wèn)題的存在也早已在理論當(dāng)中得到了體現(xiàn)。而如今,世界上已經(jīng)出現(xiàn)了這么多區(qū)塊鏈項(xiàng)目,而我們正不得不以極高的代價(jià)探索它的真實(shí)意義。
第三十四屆CIO班招生
國(guó)際CIO認(rèn)證培訓(xùn)
首席數(shù)據(jù)官(CDO)認(rèn)證培訓(xùn)
責(zé)編:kongwen
免責(zé)聲明:本網(wǎng)站(http://www.www.gypb.net/)內(nèi)容主要來(lái)自原創(chuàng)、合作媒體供稿和第三方投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
本網(wǎng)站刊載的所有內(nèi)容(包括但不僅限文字、圖片、LOGO、音頻、視頻、軟件、程序等)版權(quán)歸原作者所有。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),請(qǐng)及時(shí)通知本站,予以刪除。