警鐘早晚是要到來的。
深諳媒體套路的360對EOS打的一個響指,像區(qū)塊鏈領(lǐng)域的一顆深水炸彈,喚醒了圈內(nèi)人對公鏈安全性的重視。
所謂“安全”似乎永遠是一個薛定諤的狀態(tài)。畢竟一個系統(tǒng)被攻破之前,你永遠不知道它是否安全。
歷史總是重演。就像當年P(guān)C和移動互聯(lián)網(wǎng)時代一般,新生事物出現(xiàn)之初野蠻生長;隨之節(jié)點到來,安全事件爆發(fā),行業(yè)開始被動關(guān)注安全問題;最后安全方案成為標配。
目前,區(qū)塊鏈領(lǐng)域似乎就處于這樣的節(jié)點:BTG遭到雙花攻擊、BEC智能合約出現(xiàn)重大漏洞;幣安遭到黑客攻擊,OKex網(wǎng)站出現(xiàn)漏洞;360如此大體量的互聯(lián)網(wǎng)安全公司開始關(guān)注一個公鏈的漏洞,無疑也襯托出區(qū)塊鏈和EOS網(wǎng)絡(luò)的巨大影響力。數(shù)家安全創(chuàng)業(yè)公司在此后宣布獲得融資。區(qū)塊鏈安全問題似乎瞬間得到了重視。
實際上區(qū)塊鏈領(lǐng)域的安全問題存在已久。
對技術(shù)不明所以的吃瓜群眾,似乎天然對區(qū)塊鏈的安全有著蜜汁自信,認為資產(chǎn)放在鏈上就不會丟失,但此前曾發(fā)生多起交易所私鑰被盜案件;也有人鼓吹將私鑰放在自己手里最為安全,臺面上是更多的個人私鑰被盜、丟失等案例。
在破解這個迷思之前,我們來聊聊比特幣的精巧設(shè)計。
一位名叫中本聰?shù)拿艽a學專家,在神秘的“密碼朋克”郵件系統(tǒng)中發(fā)布了比特幣客戶端,創(chuàng)造了一種新型的數(shù)字黃金。其沒有任何發(fā)行主體,也就是任何人都不能增發(fā),其資產(chǎn)價值和歸屬基于共識,共識背后是數(shù)學?!坝芯湓捊蠧ode is Law,我認為code的本質(zhì)不是代碼,而是數(shù)學。數(shù)學就是上帝之手,是自然界的真理。”網(wǎng)絡(luò)安全公司知道創(chuàng)宇CEO趙偉如此對記者感嘆。
P2P網(wǎng)絡(luò)PoW共識機制激勵機制,使得這個系統(tǒng)似乎變得牢不可破。中本聰在白皮書中計算出的這個系統(tǒng)的安全邊界,便是有人掌握了51%算力即可隨意篡改賬本。然而,PoW(Proof of Work,工作量證明)的存在會讓這個攻擊變得得不償失,何況51%算力持有者更是網(wǎng)絡(luò)的最大利益相關(guān)者,為了自身的長期利益,他甚至愿意放棄壟斷算力來維持網(wǎng)絡(luò)的健壯性。趙偉說:“我第一次看到比特幣的時候,我覺得很容易攻擊,但是他加入了工作量證明,我覺得對黑客來說簡直是噩夢?!?/p>
中本聰大概并無設(shè)想到礦機的出現(xiàn),與PC相比一騎絕塵的礦機算力,“算死”了后來無數(shù)小幣種;卻又吊詭地讓比特幣網(wǎng)絡(luò)的算力增強,攻擊門檻更高。
從區(qū)塊鏈1.0到3.0,安全性在退步
購買力無法被任一發(fā)行主體隨意調(diào)節(jié),賬本無法被篡改,只有掌握私鑰的你,才能處置你的資產(chǎn)。信仰者認為這就是“真正掌握了自己的資產(chǎn)”,這是一種資產(chǎn)無法被剝奪的安全。
這就是區(qū)塊鏈1.0——比特幣。
這個系統(tǒng)一直運行至今。即便它已經(jīng)堵塞得讓人發(fā)指,卻從未被攻破。
區(qū)塊鏈2.0未能如此牢固。
名為Vitalik Buterin的少年希望在比特幣網(wǎng)絡(luò)之上增加智能合約,遭到了比特幣團隊的拒絕。于是他在2013年到2014年間自行創(chuàng)立了以太坊:一個可以運行智能合約的分布式網(wǎng)絡(luò)。
圖靈完備的智能合約帶來了巨大的靈活性,也帶來了安全問題。此后,基于以太坊的智能合約被多次曝出漏洞。其中最大的是2016年6月黑客通過組合漏洞攻擊The DAO項目,盜走價值數(shù)千萬美元以太坊,以及當年10月的DOS攻擊,分別導(dǎo)致了以太坊分叉。直至今天,以太坊的智能合約仍存在數(shù)千尚待解決的漏洞。可以說,越是靈活的智能合約,功能強大,也越容易出現(xiàn)漏洞。一些新型公鏈為了安全性,甚至犧牲了合約的圖靈完備。
“主要是虛擬機不是設(shè)計來這么用的。虛擬機不是專門設(shè)計用來處理資產(chǎn)的,可是以太坊和EOS等公鏈卻用它來處理資產(chǎn)?!壁w偉解釋,處于安全性考慮,資產(chǎn)和用戶功能的處理應(yīng)該分開,資產(chǎn)處理和變更應(yīng)該由單獨的引擎來處置?!斑@個過程是原子化的、事務(wù)性的,中間不能打斷。比如我正在收銀,你不能讓我去擦桌子??墒窃谔摂M機里,則存在重入漏洞?!?/p>
雖說區(qū)塊鏈3.0仍未正式到來,但把EOS看成3.0代表的人還不少。
“到了第三代,EOS為了TPS,引入了DPOS機制?!痹谮w偉看來,這已經(jīng)不僅有跟以太坊的智能合約類似的“代碼安全”問題,而是在架構(gòu)上棄安全于不顧,甚至已經(jīng)不能算是真正的區(qū)塊鏈?!癙2P網(wǎng)絡(luò)才是真正的區(qū)塊鏈?!?/p>
“越來越中心化,導(dǎo)致黑客很容易攻擊。在網(wǎng)狀結(jié)構(gòu)中,有一兩個節(jié)點被搞定,網(wǎng)絡(luò)依然能夠繼續(xù)正常運行??墒窃跇錉罹W(wǎng)絡(luò)結(jié)構(gòu)中,21個節(jié)點背后可能是7-8個人,被恐怖分子一抓,網(wǎng)絡(luò)安全性不復(fù)存在。所以說,網(wǎng)絡(luò)安全不安全,看誰說了算。POW就是礦機說了算,就是數(shù)學背書,數(shù)學就是上帝之手,智能就是法律執(zhí)行的一種?!?/p>
因此,從區(qū)塊鏈1.0時代到3.0時代,趙偉認為在退步。“安全性在退步,但是更易用。易用性上是在進步的。”
區(qū)塊鏈帶來安全,也帶來安全挑戰(zhàn)
比特幣所構(gòu)建的資產(chǎn)安全,是一種資產(chǎn)不被剝奪,價值基于共識,發(fā)行主體無法操控的安全。這并不是一種大眾可以簡單理解的“安全”,更不意味著大眾所理解“安全”在此處已被完全消弭。
大眾所理解的安全是“我不丟幣”。實際上,資產(chǎn)不被竊取的前提都建立在私鑰(鑰匙)不丟的前提下。比特幣給予資產(chǎn)所有者的,是一種權(quán)利(自由)。想掌握自己的資產(chǎn),就得自行承擔保管私鑰的責任。而大部分用戶并不一定有意愿或能力承擔這種責任——自己保存資產(chǎn),還不如放在有品牌保證的大交易所里來得安心。
安全是要付出成本的。
正如比特幣為了保證記賬系統(tǒng)的安全性,耗費了大量的算力。趙偉認為,其所帶來信息的公開透明、不可篡改、不可刪除,也對安全有很大的作用。然而,從另一方面看,比特幣的匿名性、獨立于法幣系統(tǒng)之外的自由、以及技術(shù)門檻,都對其資產(chǎn)保護提出了挑戰(zhàn)。
他總結(jié)了五點:
1、首先區(qū)塊鏈資產(chǎn)在大多數(shù)國家不受法律保護,公安機關(guān)和銀行也都沒有備案。
2、區(qū)塊鏈的匿名性,使得幣一旦丟了難以追蹤,你不知道誰偷了,也無法證明資產(chǎn)是你的。
3、保護區(qū)塊鏈資產(chǎn)有一定技術(shù)門檻,用戶很難保護自己;加上資產(chǎn)價值基于技術(shù),一旦技術(shù)被操控,黑客可隨意偷取利益,資產(chǎn)價值成零。
4、生成與分布式數(shù)據(jù)庫上的資產(chǎn)表面上安全,但是行業(yè)中交易所、托管錢包、礦池等企業(yè)的系統(tǒng)是集中化的,是黑客攻擊的目標。
與傳統(tǒng)的交易所相比,數(shù)字貨幣交易所的KYC做得不好?!霸谑覂?nèi)做安全,還是在曠野是不一樣的。(在曠野上)獲得了自由,也更難做安全。區(qū)塊鏈就是曠野。”
5、生態(tài)不完整,空氣幣頻現(xiàn),空氣幣的目的就是圈錢套現(xiàn),不可能好好做安全。這一方面導(dǎo)致劣幣驅(qū)逐良幣,好好做安全的優(yōu)質(zhì)幣種反而不受重視;魚龍混雜的空投信息竊取用戶數(shù)據(jù),之后信息泄露用于撞庫,危害用戶其他資產(chǎn)的安全。
網(wǎng)絡(luò)安全越來越重要,但中國企業(yè)對此重視遠遠不夠
時至今日,互聯(lián)網(wǎng)已經(jīng)不是那個“信息傳遞的工具”。
趙偉認為,網(wǎng)絡(luò)安全的目標隨著互聯(lián)網(wǎng)用途改變也一直在變化?!暗谝徊绞怯脕韸蕵?;第二步用于通訊和社交,繼而是電子商務(wù);第三是你的資產(chǎn)在網(wǎng)上處理?!?/p>
在PC互聯(lián)網(wǎng)時代,擁有PC的人有限,中毒后黑客獲取的信息有限,不過是讓我電腦中毒變慢、宕機。移動互聯(lián)網(wǎng)時代,我們的日常生活、資金管理、身份認證,都在手機上運行;安全的主題變成個人隱私、資金和密碼的泄露。到了區(qū)塊鏈時代,技術(shù)就是資產(chǎn)本身,代碼的漏洞就是資產(chǎn)的損失。
區(qū)塊鏈的資產(chǎn)屬性注定黑客對其虎視眈眈,其對安全的需求應(yīng)該更為強烈。
然而中國互聯(lián)網(wǎng)企業(yè)卻未給予足夠重視。報告顯示,中國信息安全投入僅占IT行業(yè)總投入的1%-2%,遠不及歐美國家的8%-14%。
這與國內(nèi)金融數(shù)字化與互聯(lián)網(wǎng)發(fā)展階段有關(guān);同時對比起歐盟等國家,國內(nèi)對個人隱私的保護還不夠重視。趙偉表示,《網(wǎng)絡(luò)安全法》對行業(yè)發(fā)展有促進,但效果還需要逐漸體現(xiàn)。
“報漏洞有時候也沒啥報酬。所以安全行業(yè)很痛苦,明明黑別人可以賺大錢?!?/p>
安全公司可以做滅霸,但他們不愿帶自己的無限手套。
這也許我們就能理解,為什么應(yīng)該審慎而負責任曝光漏洞的360,會用一種“史詩級”的姿態(tài)將其公之于眾。既然我不能像滅霸一樣“殺敵一千”來展示漏洞威力,只能用這種嘩眾取寵的方式倒逼企業(yè)了。
根據(jù)專訪內(nèi)容,我們以問答形式將內(nèi)容整理如下:
記者:從安全的角度,你怎么看待目前的區(qū)塊鏈行業(yè),比如交易所、公鏈、錢包等,他們的安全級別跟傳統(tǒng)互聯(lián)網(wǎng)產(chǎn)品比怎么樣?
趙偉:我先講下整個區(qū)塊鏈的演變。
首先,比特幣公鏈的出現(xiàn)基于三點,平等的點對點網(wǎng)絡(luò)、共識算法(PoW)、區(qū)塊鏈賬本(腳本的應(yīng)用)。后來變成以太坊,更容易發(fā)幣,加入了智能合約,分成網(wǎng)絡(luò)層、共識層、合約層三層。EOS更是引入DPoS,提高了TPS。
功能復(fù)雜化之后導(dǎo)致了一些問題:
1、網(wǎng)絡(luò)層不是那么點對點和平等,結(jié)構(gòu)是樹狀而不是網(wǎng)狀;
2、以太坊、EOS等網(wǎng)絡(luò)上加入了運行智能合約的虛擬機,但虛擬機不是設(shè)計來這么用的。處理資產(chǎn)變更應(yīng)該是有單獨的引擎,應(yīng)該是原子化的,中間不能打斷。比如我正在收銀、你不能讓我去擦桌子。
現(xiàn)在的區(qū)塊鏈雖然速度快,但在安全上絕對是倒退的。不過,應(yīng)用和用戶體驗上,以太坊和EOS是進步,你不能老把保險箱扛著。
在區(qū)塊鏈技術(shù)之上,則是礦機、礦池、交易所、冷熱錢包等,其實沒有什么特別,為了用戶體驗,他們都是很中心化的。他們就算想改,但為了資金沉淀、速度、用戶體驗等,都不可能用分布式架構(gòu)。
這時候安全性不再只是區(qū)塊鏈的安全,而是區(qū)塊鏈生態(tài)的安全。比如礦機礦池容易被DDos,被入侵、被修改地址;交易所的安全又分為技術(shù)、業(yè)務(wù)、商業(yè)、合規(guī)性安全;錢包有分中心化和去中心化,冷熱之分,需要保護私鑰。
安全是木桶,任何一環(huán)短板都會帶來問題。
分布式架構(gòu)不太可能達到一定體驗?
趙偉:PoW夠嗆,我認為利用側(cè)鏈、分片技術(shù)、閃電網(wǎng)絡(luò)提速是比較有希望的,但大家為了TPS都想自己做有點中心化的鏈。
所以,你覺得區(qū)塊鏈是不應(yīng)該做應(yīng)用?
不能這么說。
公鏈分好多種,從不同的維度看,有不同分類。包括從網(wǎng)絡(luò)構(gòu)建看,是不是P2P的平等網(wǎng)絡(luò);從共識機制角度,有工作量證明,有權(quán)益證明。
區(qū)塊鏈本身就是一個流水賬賬本,個人保留自己的數(shù)據(jù)是不合適的,數(shù)據(jù)不能保留在本機上,都是在線上。
現(xiàn)在很多的區(qū)塊鏈已經(jīng)不像第一代的區(qū)塊鏈。P2P網(wǎng)絡(luò)才是區(qū)塊鏈,后來為了應(yīng)用追求TPS改變了網(wǎng)絡(luò)結(jié)構(gòu),帶來了新問題。我認為跑智能合約的鏈不適合作為資產(chǎn)(價值存儲),而是通證。
現(xiàn)在資產(chǎn)屬性在變化,所以安全防護在變化。我們做安全盡可能做到比敵人先一步,但是很難,所以往往是慢一步,案例見多了,你可能也就知道。
記者:那你覺得區(qū)塊鏈安全跟傳統(tǒng)互聯(lián)網(wǎng)安全的差異點在哪兒呢?
趙偉:大致有五點(文中已經(jīng)提及)。
記者:有人認為把數(shù)據(jù)放在區(qū)塊鏈比原來更安全,因為不會丟失、也不可篡改,你怎么理解這種安全?分布式架構(gòu)比集中式安全在哪?此外是私鑰的保存,你怎么看待把安全責任交給平臺和讓用戶承擔兩種模式?
趙偉:比特幣出現(xiàn)的背景是,2008年金融危機之后,美國政府大幅發(fā)幣、割韭菜,民眾手中貨幣的購買力在下降,你無法保護自己的資產(chǎn)。原來金子你可以放家里,但如果你自己拿著,風險很大,就像在美國西部時代,隨時有人來搶奪,這是你自由的代價。可是如果你放銀行,銀行可能會亂發(fā),比特幣則想將其變成一個數(shù)學來背書的機制,建立共識很重要。
區(qū)塊鏈不是一個復(fù)雜的技術(shù),不是改變生產(chǎn)力,而是改變生產(chǎn)關(guān)系。區(qū)塊鏈技術(shù)擁有幾個特性:匿名、不可篡改、不可刪除,這本身就促進了安全性。理念上改變的是共識機制。
因此,這里涉及到兩方面的安全性,一方面是非洲小政府,一旦政府倒臺了,貨幣沒有了為其背書的機構(gòu),這是購買力方面的安全,能確保你真正擁有你的資產(chǎn)安全,這是一種自由。比特幣通過共識機制實現(xiàn)了這種數(shù)字黃金式的自由。
你拿到這種自由之后,就有黑客的風險,面臨的安全風險。如何儲存實際上要看你的技術(shù)水平和資產(chǎn)大小。對于普通人來說,交給專業(yè)機構(gòu)才是更安全的。因為:
1、資產(chǎn)丟了以后沒有辦法恢復(fù),這是比特幣的匿名的特性。這導(dǎo)致你的身份和你的幣權(quán)是脫節(jié)的。
2、區(qū)塊鏈就是你自己是你自己的主人,沒有辦法國家保護。
3、數(shù)字貨幣本身又面臨著黑客攻擊問題。
4、虛擬資產(chǎn)還有繼承問題。
5、很難存儲。冷錢包稍微安全一點,但很容易丟,電池會漏液。丟了我還幫客戶恢復(fù)。
記者:從互聯(lián)網(wǎng)歷史發(fā)展來看,你覺得網(wǎng)絡(luò)安全的重點有什么變化?你目前比較關(guān)注區(qū)塊鏈行業(yè)的哪些風險點?
趙偉:安全就是保護大家,隨著互聯(lián)網(wǎng)用戶的擴展,其目標一直在變化:互聯(lián)網(wǎng)第一步是用來娛樂,第二步商業(yè)、溝通,電子商務(wù)網(wǎng)站;第三,你的資產(chǎn)整個在網(wǎng)上辦理。所以安全越來越重要。
目前,比較關(guān)注錢包和交易所,交易所一旦奔潰,業(yè)內(nèi)影響巨大。至于公鏈安全,“確實比較麻煩,很難改,一旦要改只能硬分叉”。
我們一直在關(guān)注,我們不是公布出去,都是報給項目方。一般項目方會很重視,都會很重視。不過,報漏洞也沒啥報酬,有時候雷聲大雨點小。所以安全行業(yè)很痛苦,明明黑別人可以賺大錢。
記者:你曾經(jīng)多次公開批評EOS,為什么這么不爽EOS?
趙偉:EOS太過分了,首先他是個公司不是社區(qū),他收錢(募資),錢打在一個離岸的公司上;但是他不服務(wù),他說EOS發(fā)布之后的所有安全問題他都不負責,甚至不保證一開始發(fā)行的EOS就是后來公鏈的貨幣;錢的用途也不透明,把錢提走之后也不說明。
以太坊則不一樣,更為透明,而且說清楚有百分之多少的錢用在哪里。EOS簡直是我收這個錢不一定做這個事。
記者:你認為未來區(qū)塊鏈技術(shù)面臨的潛在安全危險是什么?
趙偉:有抗量子計算,所以量子計算不是問題,最大的問題是PoW太耗能,但是新型的PoS等共識算法是人治,越來越中心化,導(dǎo)致黑客很容易攻擊。
網(wǎng)狀結(jié)構(gòu)中,你把這幾個點搞定,網(wǎng)絡(luò)也還是繼續(xù)運行;DPoS機制,21個節(jié)點背后可能是7-8個人,被恐怖分子一抓,要他做什么都做了。
因此,網(wǎng)絡(luò)安全不安全,看誰說了算,PoW就是礦機說了算,礦機就是數(shù)學,數(shù)學就是上帝之手,智能合約就是法律執(zhí)行的一種。有句話說Code is law,不是代碼就是法律,而是數(shù)學。
然而,代碼都是程序員寫的,可能會出錯,所以需要形式化驗證,也就是用數(shù)學來做審計。我設(shè)計過通用的代碼審計系統(tǒng),之前沒有人用,現(xiàn)在爆發(fā)了,因為現(xiàn)在程序是錢本身。
可是,這個程序的設(shè)計還存在一定問題。程序其實一個函數(shù),就是滿足什么條件,我就做什么。那么我怎么證明這個函數(shù)沒有問題,我需要描述。這時候就需要一種描述智能合約的語言,就是形式化語言。
在智能合約很簡單的時候,大家都能看出來,可是一旦復(fù)雜了,就需要用到形式化驗證,而且形式化語言大家都不會用,因此安全公司幫你搞定,最后變成一種服務(wù)。
記者:怎么評估一個漏洞的重大級別?
趙偉:業(yè)內(nèi)有一個標準。破壞力級別從低到高分別是,導(dǎo)致信息泄露、DDOS攻擊(宕機)、資產(chǎn)轉(zhuǎn)移。不過對漏洞的評級是很難的,有的小漏洞組合在一起就變成大漏洞,所以都要重視。
記者:中國網(wǎng)絡(luò)安全產(chǎn)業(yè)跟國外比較發(fā)展如何?
趙偉:我們在基礎(chǔ)安全設(shè)施發(fā)展不太完善,這跟人的意識有關(guān),大家還缺少風險意識,不會在安全上投資。歐美公司會把自己的錢的百分之多少,固定放在安全上,但是中國公司在這方面則是能省則省。
主要原因可能是國內(nèi)在網(wǎng)絡(luò)上的個人資產(chǎn)以前確實比較少。歐美民眾有數(shù)字資產(chǎn)。這跟社會的金融數(shù)字化和互聯(lián)網(wǎng)階段有關(guān)。另一個原因是國家法律重視度不夠。歐盟有GDPR(歐盟通用數(shù)據(jù)保護法,被稱為史上最嚴個人隱私法),國內(nèi)在《網(wǎng)絡(luò)安全法》對行業(yè)發(fā)展有促進,但效果還需要逐漸體現(xiàn)。