入侵比特幣和區(qū)塊鏈
打開電視,翻開科技博客,難免被大量比特幣或區(qū)塊鏈的消息淹沒。比特幣如此流行的最大原因,在于其去年狂漲2000%的價(jià)格。比特幣價(jià)值的倍增,也引爆了對(duì)其支撐技術(shù)區(qū)塊鏈的關(guān)注,盡管區(qū)塊鏈可能才是長(zhǎng)期投資的更佳選擇。
區(qū)塊鏈技術(shù)已為大幅影響我們的世界做好了準(zhǔn)備。2017年初,《哈佛商業(yè)評(píng)論》認(rèn)為,區(qū)塊鏈具備創(chuàng)建經(jīng)濟(jì)及社會(huì)系統(tǒng)新基礎(chǔ)的潛力。2017年1月的世界經(jīng)濟(jì)論壇報(bào)告預(yù)測(cè),到2025年,全球GDP的10%將存儲(chǔ)在區(qū)塊鏈或區(qū)塊鏈相關(guān)技術(shù)上。如果你對(duì)十年之內(nèi)將承載 10% GDP 的技術(shù)還知之甚少,那你真應(yīng)該開始學(xué)習(xí)一下了。
區(qū)塊鏈?zhǔn)鞘裁?
區(qū)塊鏈?zhǔn)菙?shù)字日志文件,采用加密技術(shù),保護(hù)在線交易數(shù)據(jù)。區(qū)塊鏈技術(shù)的思想在1991年成型,比特幣,是將分布式公共區(qū)塊鏈付諸實(shí)踐的第一個(gè)應(yīng)用。區(qū)塊是交易記錄的數(shù)字存檔,交易的確立需要區(qū)塊鏈參與者的同意。通常,區(qū)塊包含有諸如價(jià)格、動(dòng)作(購買、售出、轉(zhuǎn)移等等)之類的交易數(shù)據(jù),還有一個(gè)時(shí)間戳。每筆交易(或一系列交易)創(chuàng)建一個(gè)區(qū)塊。每個(gè)新加入的區(qū)塊包含有之前區(qū)塊的密碼散列(如今該散列通常是SHA-256)。如此一來,每個(gè)交易區(qū)塊都被加密鎖定到之前的區(qū)塊上。
如果區(qū)塊鏈公開分布,就像比特幣一樣,那么每個(gè)參與者都能驗(yàn)證該區(qū)塊鏈中任一交易。你可能無法看到某個(gè)參與者持有的錢數(shù)或價(jià)值,除非該信息被包含在交易記錄中;但你可以看到兩名參與者之間交易的價(jià)值,并能驗(yàn)證其有效性。通過出示難以偽造但易被所有參與者驗(yàn)證的密碼證明,任意參與者都可以證明自己對(duì)特定區(qū)塊鏈賬戶的所有權(quán)。
區(qū)塊鏈的機(jī)制可用公鑰/私鑰密碼體制做類比,該密碼體制中每個(gè)參與者可用私鑰創(chuàng)建簽名內(nèi)容,而其他所有參與者可用相關(guān)聯(lián)的公鑰,很方便地驗(yàn)證該簽名內(nèi)容。
正如云計(jì)算有公共云、私有云和混合云,區(qū)塊鏈也有公共鏈、私有鏈和混合鏈三種模式。你可以創(chuàng)建自己的區(qū)塊鏈,使用具共同利益的更大群體提供的其他區(qū)塊鏈,甚或參與進(jìn)全球性的公共鏈,比如比特幣。盡管還是個(gè)相對(duì)較新的功能,私有區(qū)塊鏈和公共區(qū)塊鏈還是可以相互加入的。
從比特幣到區(qū)塊鏈
大多數(shù)人對(duì)區(qū)塊鏈的認(rèn)知源于比特幣,該流行加密貨幣是由昵稱為“中本聰”的人/團(tuán)隊(duì),于2008年創(chuàng)建的。中本聰并沒有發(fā)明區(qū)塊鏈的概念,但他確實(shí)為去中心化賬簿和數(shù)字貨幣交易驗(yàn)證,引入了分布式區(qū)塊鏈的概念。這一概念解決了無可信第三方的去中心化數(shù)字貨幣固有的“重復(fù)付款”問題。
2008年10月,中本聰在metzdowd.com的加密郵件列表中發(fā)布了一篇文章,題為《比特幣:點(diǎn)對(duì)點(diǎn)電子現(xiàn)金系統(tǒng)》。2009年,他生成了區(qū)塊鏈的第一個(gè)區(qū)塊,創(chuàng)建了可供任何人下載來挖掘比特幣的軟件。文章剛發(fā)布那幾天就下載了該軟件的人中,有人很快就產(chǎn)生了3枚比特幣。
盡管從一開始,比特幣的前景和最終價(jià)值就體現(xiàn)了出來,但首筆“官方”交易,是用1萬個(gè)比特幣買了價(jià)值20美元的披薩。今天,比特幣的價(jià)值有了大幅增長(zhǎng),12月12日交易價(jià)格創(chuàng)下17428.42美元的歷史新高,但波動(dòng)頻繁而巨大。巨大而快速的價(jià)格上漲,引起了投資人和金融公司CEO們的注意,盡管未必持肯定態(tài)度。很多投資人將比特幣的價(jià)格上漲,類比成17世紀(jì)的荷蘭郁金香泡沫——某些投資者一夜暴富,而懷疑者只能旁觀自己的朋友晉升富人階級(jí)。
比特幣、挖礦軟件和分布式網(wǎng)絡(luò)建立的方式,一系列新生成的比特幣,讓下一個(gè)比特幣的產(chǎn)生越來越困難。于是,以往一臺(tái)電腦幾個(gè)小時(shí)就能產(chǎn)生的比特幣,如今需要聚合數(shù)千臺(tái)專門的特定硬件“礦工”電腦組成網(wǎng)絡(luò),花費(fèi)數(shù)周至幾個(gè)月時(shí)間才能產(chǎn)生。今天,用于產(chǎn)生比特幣的電力,都可與全球日??傆秒娏肯嗵岵⒄摿?。
不僅創(chuàng)建比特幣需要大量計(jì)算能力,創(chuàng)建并驗(yàn)證比特幣交易所需的計(jì)算工作也不可小覷,盡管不在同一領(lǐng)域。而且,每筆交易都增大了區(qū)塊鏈的規(guī)模——區(qū)塊鏈隨時(shí)間持續(xù)增長(zhǎng)(比特幣的區(qū)塊鏈已超過100GB),且必須產(chǎn)生并分發(fā)到所有參與方以維持有效。最終,到2140年,最多挖出2100萬比特幣。該自誘導(dǎo)的加密稀缺性,正是比特幣火箭般躥升的價(jià)格背后的推動(dòng)力之一。
比特幣可能是泡沫,但區(qū)塊鏈不是
投資人和金融專家對(duì)比特幣的價(jià)值爭(zhēng)論不休,但沒人質(zhì)疑區(qū)塊鏈的價(jià)值和合法性。世界上最大的幾家公司都成立了團(tuán)隊(duì),有時(shí)候甚至是全新的部門,來專門研究區(qū)塊鏈。你可以在云端或私人業(yè)務(wù)中創(chuàng)建并使用區(qū)塊鏈。
推崇區(qū)塊鏈的公司,看到了幾乎每一筆金融交易都由區(qū)塊鏈支撐的未來。區(qū)塊鏈可使非常復(fù)雜的金融交易在幾秒內(nèi)就得到解決??鐕y行區(qū)塊鏈領(lǐng)導(dǎo)者之一稱,融資并購交易平均要1個(gè)月才能在財(cái)務(wù)上交接清楚。使用區(qū)塊鏈,幾秒就能搞定。監(jiān)管審查者們真的應(yīng)該考慮一下區(qū)塊鏈對(duì)提升復(fù)雜交易效率的巨大推動(dòng)力,將人員和資本解脫出來,投入更有生產(chǎn)建設(shè)性的事務(wù)中。
幾乎每個(gè)金融交易密集型的行業(yè),都急于找出在各自公司及行業(yè)中實(shí)現(xiàn)區(qū)塊鏈的方法。隨便舉出幾個(gè)行業(yè),區(qū)塊鏈都是行業(yè)熱門話題。計(jì)算機(jī)行業(yè)云巨頭,比如微軟和亞馬遜,如今推出了無數(shù)區(qū)塊鏈服務(wù)。
互聯(lián)網(wǎng)上搜索一下區(qū)塊鏈,你會(huì)被2016年后涌出的千萬條信息鏈接和服務(wù)嚇到。比特幣可能是泡沫,但區(qū)塊鏈正在興起,并將持續(xù)發(fā)展。
入侵比特幣和區(qū)塊鏈
在早期,很多比特幣和區(qū)塊鏈狂熱愛好者想知道,這二者固有的加密本質(zhì)是否足以抵御綿延不斷的黑客攻擊。答案的浮現(xiàn)并沒有花費(fèi)太多時(shí)間。正如依托計(jì)算機(jī)的一切有價(jià)值的東西,比特幣和其他加密貨幣,還有區(qū)塊鏈,一直處在頻繁的攻擊之下。數(shù)億美元被盜,不斷有人被騙,區(qū)塊鏈被劫掠。下面舉幾個(gè)比特幣和區(qū)塊鏈被黑的例子。
1. 比特幣挖礦惡意軟件
每個(gè)被挖出的比特幣,都讓將來的比特幣更難以被創(chuàng)建。需要大量電力運(yùn)行及冷卻專業(yè)“礦工”計(jì)算機(jī)。對(duì)比特幣礦工而言,電力是頭號(hào)運(yùn)營成本。因此,很多比特幣礦工“借用”資源來挖掘比特幣,要么在其雇主的產(chǎn)業(yè)中,要么廣撒比特幣挖礦惡意軟件。如今,很多大型惡意軟件僵尸網(wǎng)絡(luò)都是用來挖掘比特幣的。雖然本意不算壞到極致,但依然是對(duì)計(jì)算機(jī)或設(shè)備(通常劫持在線攝像設(shè)備和路由器)的未授權(quán)使用,且耗費(fèi)了受害者的金錢。這些惡意軟件還拖慢了被劫持計(jì)算機(jī)。應(yīng)像對(duì)待其他惡意軟件程序一樣停止比特幣挖礦程序。
2. 被盜價(jià)值存儲(chǔ)
加密貨幣通常將其價(jià)值存儲(chǔ)在名為錢包的文件中。錢包是會(huì)被入侵、篡改、偷盜和轉(zhuǎn)移的,就像計(jì)算機(jī)上的其他任意價(jià)值存儲(chǔ)一樣。更糟的是,人們常會(huì)忘記其保護(hù)性口令/PIN碼,或者弄丟放有該價(jià)值存儲(chǔ)的硬盤,而這往往意味著該價(jià)值存儲(chǔ)就再也找不回來了。勒索軟件就可以導(dǎo)致這種問題。如果是普通的銀行賬戶,你還可以用另一臺(tái)電腦來訪問網(wǎng)銀,里面的錢分毫不變。但加密貨幣錢包?你想多了。丟了就是丟了,打不開就是打不開,沒人能幫你恢復(fù)。
大多數(shù)專家建議將加密貨幣保存在離線錢包中,防止被惡意軟件或黑客染指。但這也會(huì)讓其中價(jià)值難以被利用。離線特性會(huì)讓價(jià)值的使用和更新多花費(fèi)數(shù)天時(shí)間。如果你用的是在線錢包,可能的話用多因子身份驗(yàn)證來保護(hù)它。
3. 轉(zhuǎn)賬木馬
加密貨幣木馬會(huì)監(jiān)視你的計(jì)算機(jī),等待疑似加密貨幣賬號(hào)格式的東西出現(xiàn)。只要發(fā)現(xiàn)目標(biāo),該木馬就會(huì)用自己的賬號(hào)替換掉你準(zhǔn)備傳入價(jià)值的賬號(hào)。除非你對(duì)該切換特別敏感,否則在你按下“發(fā)送”按鈕的時(shí)候,就一切都完了。
4. 實(shí)現(xiàn)缺陷
“理論上,理論與實(shí)踐沒有任何區(qū)別。實(shí)際上,區(qū)別就在那里。”沒人知道誰最先說的這句話,但首次刊印在書中,是在1986年沃爾特 J. 薩維奇出版的《Pascal:編程的藝術(shù)和科學(xué)》里。
正如任何一種加密實(shí)現(xiàn),加密算法總是比實(shí)現(xiàn)它的程序要合理明智得多?;旧希瑓^(qū)塊鏈自帶任意加密解決方案都會(huì)有的漏洞或缺陷。編程漏洞或缺乏良好私鑰安全(或比特幣錢包),都能令整個(gè)實(shí)現(xiàn)崩塌。雖然這一點(diǎn)不是那么顯而易見,但在使用加密貨幣或參與區(qū)塊鏈項(xiàng)目之前,請(qǐng)確保軟件開發(fā)者應(yīng)用了安全開發(fā)生命周期(SDL)過程來最少化漏洞。
黑客篡改加密貨幣軟件以盜取價(jià)值的案例并不鮮見。最近的一起案例中,黑客犯了個(gè)編程錯(cuò)誤,不僅沒能讓他們偷到任何價(jià)值,還讓每個(gè)人的錢包都慘遭破壞,恢復(fù)無能。典型的損人不利己。
5. 已知明文抓取攻擊
良好的加密可使密文看起來像隨機(jī)亂碼。理論上,加密攻擊者應(yīng)不能分析出原始明文。然而,區(qū)塊鏈技術(shù)上,區(qū)塊格式卻是眾人皆知,或者說很容易被分析出來。特定字母、字符或數(shù)字總是存在于每個(gè)區(qū)塊的固定位置上。這就讓加密攻擊者很容易從每個(gè)被加密保護(hù)的區(qū)塊中“抓取”出部分明文表示。另外,每個(gè)區(qū)塊都關(guān)聯(lián)著之前的區(qū)塊。于是,底層加密密碼的整體防護(hù)就受到了削弱。如果密碼不弱,那還不是什么巨大的問題,但這一點(diǎn)確實(shí)給了攻擊者一定的優(yōu)勢(shì)。
6. 弱SHA-256?
很多安全專家想知道,SHA-256,也就是與其更短小的前身SHA-1含有相同數(shù)學(xué)弱點(diǎn)的安全散列算法,是否是比特幣和區(qū)塊鏈(二者通常都使用SHA-256)的一個(gè)顧慮。答案是:現(xiàn)在還不是。SHA-256在可預(yù)見的未來還算夠健壯。更重要的是,鑒于全球大多數(shù)金融交易和HTTPS交易都由SHA-256保護(hù),如若有人破壞了這一算法,我們要擔(dān)心的遠(yuǎn)不只是比特幣和區(qū)塊鏈。即便如此,如果你計(jì)劃搞加密貨幣或區(qū)塊鏈,還是先開始策劃“加密敏捷性”吧——保留支撐程序而只替換密碼的能力。
7. 被黑的網(wǎng)站
圍繞比特幣最常見的黑客活動(dòng),同時(shí)也是可以應(yīng)用到任意區(qū)塊鏈項(xiàng)目上的黑客活動(dòng),就是控制比特幣或區(qū)塊鏈的中心網(wǎng)站被黑了。這種活動(dòng)真的太常見,上周就發(fā)生了一起,讓黑客狂賺價(jià)值7000萬美元的比特幣。太多管理著上億美元加密貨幣的站點(diǎn)被成功入侵。一旦控制網(wǎng)站被黑,人們創(chuàng)建的比特幣價(jià)值,往往就消散在了網(wǎng)路中。將價(jià)值在離線位置做個(gè)備份是不錯(cuò)的防范辦法。
幾起最大型的黑客事件,都是寡廉鮮恥的黑客攜上千萬不義之財(cái)逃之夭夭。如果你與加密貨幣網(wǎng)站做生意,確保該網(wǎng)站是安全且可信的。聯(lián)邦存款保險(xiǎn)公司可不會(huì)為你的存款消失買單,至少現(xiàn)在不會(huì)。
8. 大型公共區(qū)塊鏈更安全
理解區(qū)塊鏈安全的一個(gè)觀念概念,是公共分布式區(qū)塊鏈比私有區(qū)塊鏈更安全。想要黑掉區(qū)塊鏈,攻擊者必須掌控超過50%的參與者或區(qū)塊,且這一動(dòng)作要比新區(qū)塊的創(chuàng)建快。
因此,大型公共區(qū)塊鏈天生比小型私有區(qū)塊鏈更安全。對(duì)小型區(qū)塊鏈的掌控會(huì)更快更簡(jiǎn)單,尤其是在所有相關(guān)“秘密”都存儲(chǔ)在一個(gè)地方或一家公司的情況下。事實(shí)上,很多安全專家都在質(zhì)疑單一公司區(qū)塊鏈存在的必要性。他們認(rèn)為,區(qū)塊鏈的優(yōu)勢(shì),只有在跨單一安全邊界分布的時(shí)候才會(huì)出現(xiàn)。然而,你仍將看到很多私有小型區(qū)塊鏈,因?yàn)閰^(qū)塊鏈有在數(shù)秒內(nèi)解決復(fù)雜金融交易的潛力,還因?yàn)樾⌒蛥^(qū)塊鏈有可能成為大型混合/公共區(qū)塊鏈的組成部分。
每位安全從業(yè)人員都應(yīng)理解區(qū)塊鏈,以及區(qū)塊鏈對(duì)其當(dāng)前及未來職業(yè)的意義。即便區(qū)塊鏈建立在非常安全的密碼基礎(chǔ)上,也是會(huì)像其他任何東西一樣被黑的。
【本文是51CTO專欄作者“”李少鵬“”的原創(chuàng)文章,轉(zhuǎn)載請(qǐng)通過安全牛(微信公眾號(hào)id:gooann-sectv)獲取授權(quán)】