◆汪曉睿 張學(xué)超
(1.91977 部隊(duì) 北京 100841;2.中央軍委政法委 北京 100120)
隨著區(qū)塊鏈技術(shù)的興起,區(qū)塊鏈的安全問題集中爆發(fā),發(fā)生的安全事件多集中出現(xiàn)于加密資產(chǎn)相關(guān)領(lǐng)域,給用戶造成了較大的經(jīng)濟(jì)損失,其安全問題日益受到行業(yè)關(guān)注。
區(qū)塊鏈采用的是sha256計(jì)算,但是這種計(jì)算方式以及社會(huì)上算力的提升也是一個(gè)潛在的問題。其獨(dú)特之處在于區(qū)塊鏈會(huì)有很多區(qū)塊,如果一個(gè)區(qū)塊被修改,所有的區(qū)塊必須進(jìn)行修改。如果出現(xiàn)被惡意篡改,或者其他所有的區(qū)塊沒有被修改的話,此區(qū)塊就脫離了區(qū)塊鏈。這也是鏈的特征。
數(shù)字貨幣采用了非對(duì)稱加密方式,數(shù)據(jù)和記錄必須有數(shù)字簽名,比對(duì)策加密更加安全可靠,但仍存在許多問題,非對(duì)稱加密需要使用兩個(gè)密鑰進(jìn)行加密與解密,也叫作公鑰和私鑰。特別是在密鑰頒發(fā)的過程中容易發(fā)生安全問題。
例如設(shè)備拿著公鑰通過非對(duì)稱性算法對(duì)私鑰(Private Key)進(jìn)行加密,然后將加密后的數(shù)據(jù)包發(fā)給入網(wǎng)的設(shè)備,入網(wǎng)設(shè)備通過公鑰和非對(duì)稱算法把該數(shù)據(jù)包解密出來得到私鑰,此后所有數(shù)據(jù)交互都使用私鑰(Private Key)進(jìn)行加密。
漏洞:由于公鑰是全世界公開的,而非對(duì)稱性算法AES也是全世界一致的,如果交換密鑰的過程中被他人捕獲該數(shù)據(jù)包,就可以解密出私鑰,從而對(duì)用戶產(chǎn)生安全問題。
(1)P2P網(wǎng)絡(luò)風(fēng)險(xiǎn):區(qū)塊鏈信息傳播采用P2P的模式,節(jié)點(diǎn)之間的信息傳播,會(huì)將包含自身IP地址的信息發(fā)送給相鄰節(jié)點(diǎn)。由于節(jié)點(diǎn)安全性參差不齊,較差的節(jié)點(diǎn)容易受到攻擊,目前可進(jìn)行攻擊的方式有:日食攻擊、竊聽攻擊、BGP 劫持攻擊、節(jié)點(diǎn)客戶端漏洞、拒絕服務(wù)(DDoS)攻擊等。例如:2018年3月以太坊網(wǎng)絡(luò)爆出的“日食攻擊”。
(2)廣播機(jī)制風(fēng)險(xiǎn):節(jié)點(diǎn)與節(jié)點(diǎn)之間相互鏈接,某節(jié)點(diǎn)將信息廣播給其他節(jié)點(diǎn),這些節(jié)點(diǎn)確認(rèn)信息后再向更多的節(jié)點(diǎn)進(jìn)行廣播。在廣播機(jī)制中常見的攻擊方式有雙花攻擊及交易延展性攻擊。雙花攻擊即同一筆加密資產(chǎn)被多次花費(fèi),當(dāng)商家接受0 確認(rèn)交易付款時(shí)或者通過51%算力攻擊時(shí)這種情況較容易發(fā)生。交易延展性攻擊也被稱為可鍛性,即同一個(gè)東西,本質(zhì)沒有變化。
(3)驗(yàn)證機(jī)制風(fēng)險(xiǎn):驗(yàn)證機(jī)制更新過程易出現(xiàn)驗(yàn)證繞過,一旦出現(xiàn)問題將導(dǎo)致數(shù)據(jù)混亂,而且會(huì)涉及到分叉問題,需要確保機(jī)制的嚴(yán)謹(jǐn)性。
傀儡網(wǎng)絡(luò)是指惡意軟件開發(fā)者或運(yùn)營者通過感染受害者的系統(tǒng)和設(shè)備在對(duì)方不知情的情況下進(jìn)行加密資產(chǎn)挖礦行為。
黑客主要通過在例如網(wǎng)頁、游戲輔助程序、系統(tǒng)后臺(tái)中安裝木馬程序的方式侵占用戶的算力與電力,并用于采礦以謀求非法收益。美國哈佛大學(xué)與國家基金會(huì)的超級(jí)計(jì)算機(jī)在此前均受到過類似的攻擊方式,國內(nèi)也常常發(fā)生例如網(wǎng)頁被篡改或者應(yīng)用程序被植入采礦木馬的相關(guān)事件。
在當(dāng)下采礦需要大量的計(jì)算能力的前提下,單一設(shè)備的算力已經(jīng)無法滿足采礦所需要的算力。于是攻擊者擴(kuò)大了攻擊目標(biāo)設(shè)備的范疇,尤其是易受到攻擊的物聯(lián)網(wǎng)設(shè)備成為了主要目標(biāo),這也形成更大規(guī)模的傀儡網(wǎng)絡(luò)采礦,目前主要的感染對(duì)象包括攝像機(jī)、路由器、監(jiān)控?cái)z像頭、打印服務(wù)器、游戲機(jī)等。常見的攻擊方式有:跨站腳本、Microsoft中遠(yuǎn)程執(zhí)行代碼的漏洞利用等。
包括單點(diǎn)登陸漏洞、oAuth協(xié)議漏洞等,各國都有法律要求銀行或其他金融機(jī)構(gòu)實(shí)施信息安全措施。但是,由于區(qū)塊鏈領(lǐng)域還處于起步階段,目前缺少適用于加密資產(chǎn)的此類規(guī)范。因此,許多交易平臺(tái)在缺乏安全規(guī)范約束的條件下,存在大量漏洞并非偶然。
區(qū)塊鏈安全最根本的保障是共識(shí)機(jī)制,當(dāng)前的區(qū)塊鏈技術(shù)中已經(jīng)出現(xiàn)了多種共識(shí)算法機(jī)制,最常見的有PoW、PoS、DPos。但這些共識(shí)機(jī)制是否能實(shí)現(xiàn)并保障真正的安全,需要更嚴(yán)格的證明和時(shí)間的考驗(yàn)。公有鏈目前最成熟的共識(shí)機(jī)制是工作量證明機(jī)制,就是比特幣為代表的PoW,缺點(diǎn)是需要出塊時(shí)間不均勻、挖礦費(fèi)多。Pos,權(quán)益證明機(jī)制,優(yōu)點(diǎn)是挖礦費(fèi)低,安全性還沒普遍認(rèn)可。還有其他的共識(shí)機(jī)制,很多新的共識(shí)也在陸續(xù)推出。nervos的共識(shí)機(jī)制,也是花了很多心思,做為核心優(yōu)勢(shì)在推出共識(shí)自動(dòng)機(jī)。具體方法:
(1)目前現(xiàn)有的共識(shí)機(jī)制均不是完美無缺的,需探求設(shè)計(jì)更安全性能更快的共識(shí)機(jī)制。
(2)智能合約開發(fā)前需要對(duì)當(dāng)下已經(jīng)出現(xiàn)過的漏洞進(jìn)行防范。
(3)發(fā)布智能合約之前需要充分進(jìn)行安全測(cè)試。
(4)關(guān)注相關(guān)情報(bào),專業(yè)人員及時(shí)進(jìn)行代碼優(yōu)化。
(5)定期進(jìn)行代碼審計(jì),包括但不限于:交易安全審查、訪問控制審查等。
(6)異常操作監(jiān)控,監(jiān)控已部署合約異常行為,降低損失。
盡管區(qū)塊鏈最初創(chuàng)建時(shí)是沒有特定的訪問控制機(jī)制的,有些區(qū)塊鏈實(shí)現(xiàn)如今卻在解決數(shù)據(jù)機(jī)密性和訪問控制問題。在用戶信息安全性得不到保障的大背景下,用戶的數(shù)據(jù)很容易被篡改,甚至偽造。如何確保數(shù)據(jù)的安全性和正確性無疑是一個(gè)巨大的挑戰(zhàn)。區(qū)塊鏈數(shù)據(jù)的完全加密特質(zhì)確保了這些數(shù)據(jù)不會(huì)被非授權(quán)方染指,仍具有流動(dòng)性。(1)與時(shí)俱進(jìn),關(guān)注技術(shù)安全方面的最新進(jìn)展。在量子計(jì)算快速發(fā)展的情況下,加密系統(tǒng)只有不斷研發(fā)更新才可防范黑客攻擊。(2)接受專業(yè)的代碼審計(jì),了解相關(guān)安全編碼規(guī)范。大多數(shù)區(qū)塊鏈項(xiàng)目為了增加可信度和透明性,對(duì)其項(xiàng)目代碼進(jìn)行開源管理,然而這樣也使得項(xiàng)目更易受到攻擊,接受專業(yè)的代碼審計(jì)及注重安全編碼可以有效規(guī)避潛在的風(fēng)險(xiǎn)。
Obsidian 這樣的初創(chuàng)公司正用區(qū)塊鏈保護(hù)網(wǎng)絡(luò)安全,如聊天工具和社交網(wǎng)站的數(shù)據(jù)。Obsidian 使用區(qū)塊鏈來保護(hù)用戶的源數(shù)據(jù)。因?yàn)樵磾?shù)據(jù)是賬本中隨機(jī)分發(fā),不存在單一的收集點(diǎn),所以不會(huì)被黑。
(1)定期使用最新補(bǔ)丁更新設(shè)備有助于防止攻擊者利用系統(tǒng)漏洞。
(2)禁用路由器中不必要的組件,也可重新配置路由器例如更改子網(wǎng)地址、使用隨機(jī)IP地址、強(qiáng)制執(zhí)行SSL 等。
同時(shí),美國國防部高級(jí)研究計(jì)劃局(DARPA)正在嘗試?yán)脜^(qū)塊鏈創(chuàng)建外來攻擊無法滲透的安全消息服務(wù)。隨著區(qū)塊鏈植根于經(jīng)驗(yàn)證的安全通信,隱私消息安全領(lǐng)域?qū)?huì)愈加成熟。
公鑰基礎(chǔ)設(shè)施(PKI)是保護(hù)電子郵件、消息應(yīng)用、網(wǎng)站和其他通信形式的公鑰加密體制。但是,PKI 普遍依靠第三方證書頒發(fā)機(jī)構(gòu)來頒發(fā)、撤銷和存儲(chǔ)密鑰對(duì),這就給網(wǎng)絡(luò)罪犯留下了窺探加密通信和假冒身份的機(jī)會(huì)。而在區(qū)塊鏈上發(fā)布密鑰則在理論上可杜絕虛假密鑰傳播,并可令應(yīng)用具備驗(yàn)證通信對(duì)象身份的功能。
DNS 之類互聯(lián)網(wǎng)關(guān)鍵服務(wù)可被黑客利用來制造大規(guī)模掉線和攻擊公司企業(yè),因此使用區(qū)塊鏈方法的可信DNS 基礎(chǔ)設(shè)施,將能大幅增強(qiáng)該互聯(lián)網(wǎng)核心信任基礎(chǔ)設(shè)施。
區(qū)塊鏈安全技術(shù)的應(yīng)用目前還很不完善,從技術(shù)復(fù)雜度和系統(tǒng)數(shù)量到其實(shí)現(xiàn),區(qū)塊鏈都不能保證100%安全。交易速率上的限制,還有關(guān)于信息是否應(yīng)保存在區(qū)塊鏈中的爭(zhēng)論,都是該技術(shù)在安全應(yīng)用方面的顧慮。