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