國家互聯(lián)網(wǎng)金融安全技術(shù)專家委員會(huì)持續(xù)跟蹤區(qū)塊鏈技術(shù)發(fā)展,對區(qū)塊鏈安全、區(qū)塊鏈+AI、區(qū)塊鏈+供應(yīng)鏈等領(lǐng)域進(jìn)行深入調(diào)研,將推出系列報(bào)告。本報(bào)告聚焦于“區(qū)塊鏈技術(shù)安全”,聯(lián)合上海圳鏈公司共同推出,以期成為行業(yè)發(fā)展的研究依據(jù)。
一、 簡述
區(qū)塊鏈技術(shù)目前的發(fā)展方興未艾,大多的技術(shù)和應(yīng)用處于試驗(yàn)階段,目前發(fā)生的安全事件多集中出現(xiàn)于加密資產(chǎn)相關(guān)領(lǐng)域,給用戶造成了較大的經(jīng)濟(jì)損失,其安全問題日益受到行業(yè)關(guān)注。
同時(shí)區(qū)塊鏈智能合約一旦在分布式、去中心化網(wǎng)絡(luò)中部署,就難以變更,這種難以變更性一方面防止了數(shù)據(jù)操縱,建立起基于加密算法的信任機(jī)制。但另一方面,當(dāng)區(qū)塊鏈在面對安全攻擊時(shí),也就缺乏了有效的糾正機(jī)制,難以逆轉(zhuǎn)。
本文主要討論了區(qū)塊鏈產(chǎn)業(yè)的安全性問題,以及相應(yīng)的解決方案和建議。 本文中,區(qū)塊鏈應(yīng)用從架構(gòu)上分為三層:基礎(chǔ)網(wǎng)絡(luò)、平臺層和應(yīng)用層。三個(gè)層面相互影響,每一個(gè)環(huán)節(jié)出現(xiàn)的安全問題,都將給下個(gè)環(huán)節(jié)帶來更多的安全問題。因此,在進(jìn)行區(qū)塊鏈項(xiàng)目開發(fā)的過程中,從設(shè)計(jì)到實(shí)現(xiàn),從驗(yàn)證到響應(yīng),不僅僅需要考慮到單個(gè)環(huán)節(jié)的安全性問題,也需要將其放入到整體的層面中去判斷可能出現(xiàn)的風(fēng)險(xiǎn)點(diǎn)。
二、基礎(chǔ)網(wǎng)絡(luò)安全風(fēng)險(xiǎn)
基礎(chǔ)網(wǎng)絡(luò)由數(shù)據(jù)層及網(wǎng)絡(luò)層組成,是區(qū)塊鏈的基礎(chǔ)部分,該部分封裝了區(qū)塊鏈的底層數(shù)據(jù),對區(qū)塊鏈的數(shù)據(jù)采用非對稱性加密,利用P2P網(wǎng)絡(luò)并設(shè)置了傳播、驗(yàn)證機(jī)制等,目前主要面臨以下幾類安全問題。
2.1 數(shù)據(jù)層:信息攻擊與加密算法攻擊
(1)數(shù)據(jù)區(qū)塊信息攻擊風(fēng)險(xiǎn):一方面寫入?yún)^(qū)塊鏈后的信息很難刪除,不法分子將某些有害信息、病毒特征碼、淫穢信息等寫入?yún)^(qū)塊中,影響區(qū)塊鏈生態(tài)環(huán)境。另一方面,大量的垃圾交易數(shù)據(jù)攻擊會(huì)堵塞區(qū)塊鏈,使得有效交易和信息遲遲無法被處理。
?。?)加密算法安全風(fēng)險(xiǎn):早年普遍使用的SHA-1于2005年2月被王小云、殷益群及于紅波等人證明安全性不足,只需少于2的69次方的計(jì)算復(fù)雜度就能找到一組碰撞。此外SHA-2算法跟SHA-1基本相似,雖目前未出現(xiàn)有效攻擊,但安全性已被嚴(yán)重質(zhì)疑。其余的SHA-224、SHA-256、SHA-384、SHA-512等加密算法目前沒有公開證據(jù)表明存在漏洞,但在量子計(jì)算高速發(fā)展的情況下,并不是無懈可擊。目前針對加密算法進(jìn)行攻擊的方式主要有:窮舉攻擊、碰撞攻擊、長度擴(kuò)展攻擊、后門攻擊、量子攻擊等。
2.2 網(wǎng)絡(luò)層:節(jié)點(diǎn)傳播與驗(yàn)證機(jī)制風(fēng)險(xiǎ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ò)爆出的“日食攻擊”。
?。?)廣播機(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ì)沒有變化,形狀發(fā)生了改變,攻擊者利用交易簽名算法特征修改原交易input簽名,生成一樣的input和output的新交易,導(dǎo)致原有交易一定概率不被確認(rèn)形成雙花。
?。?)驗(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)性。
2.3 解決方案與建議
基礎(chǔ)網(wǎng)絡(luò)作為區(qū)塊鏈的底層,其安全性尤為重要。
與時(shí)俱進(jìn),關(guān)注技術(shù)安全方面的最新進(jìn)展。在量子計(jì)算快速發(fā)展的情況下,加密系統(tǒng)只有不斷研發(fā)更新才可防范黑客攻擊。
接受專業(yè)的代碼審計(jì),了解相關(guān)安全編碼規(guī)范。大多數(shù)區(qū)塊鏈項(xiàng)目為了增加可信度和透明性,對其項(xiàng)目代碼進(jìn)行開源管理,然而這樣也使得項(xiàng)目更易受到攻擊,接受專業(yè)的代碼審計(jì)及注重安全編碼可以有效規(guī)避潛在的風(fēng)險(xiǎn)。
三、平臺層安全風(fēng)險(xiǎn)
平臺層由共識層、激勵(lì)層及合約層組成,是銜接基礎(chǔ)網(wǎng)絡(luò)與應(yīng)用服務(wù)層的橋梁。該部分封裝了網(wǎng)絡(luò)節(jié)點(diǎn)的共識算法、發(fā)行機(jī)制、分配機(jī)制、腳本及智能合約等。
3.1 共識層:常見共識機(jī)制安全性對比
共識機(jī)制是對于一個(gè)時(shí)間窗口內(nèi)的事務(wù)先后順序達(dá)成共識的算法。區(qū)塊鏈可支持不同的共識機(jī)制,目前存有的共識機(jī)制有PoW、PoS、DPoS、Pool驗(yàn)證池機(jī)制、BFT等等。本文將介紹以下三種常見的共識機(jī)制的安全性:
3.2 激勵(lì)層:發(fā)行與分配機(jī)制風(fēng)險(xiǎn)
?。?)發(fā)行機(jī)制風(fēng)險(xiǎn):目前暫無安全風(fēng)險(xiǎn)事件曝光,但不排除激勵(lì)層發(fā)行機(jī)制中存在安全隱患。
?。?)分配機(jī)制風(fēng)險(xiǎn):大量小算力節(jié)點(diǎn)易集中加入礦池,對于去中心化趨勢造成威脅。
3.3 合約層相關(guān)安全風(fēng)險(xiǎn)
合約層主要封裝區(qū)塊鏈的各類腳本、算法及智能合約。最初區(qū)塊鏈只能用于交易,合約層的出現(xiàn)使得很多領(lǐng)域可以使用區(qū)塊鏈技術(shù)。圖靈完備的代表是以太坊,其合約層包括了以太坊虛擬機(jī)和智能合約兩部分。目前合約層可能出現(xiàn)以下攻擊對區(qū)塊鏈的安全造成威脅:Solidity漏洞、逃逸漏洞、短地址漏洞、堆棧溢出漏洞、可重入性攻擊、交易順序依賴攻擊、時(shí)間戳依賴攻擊、整數(shù)溢出攻擊等。例如:2017年7月19日在github上出現(xiàn)一個(gè)針對Vmware虛擬機(jī)的逃逸exploit源碼;2016年6月17日,DAO黑客利用重入性漏洞抽走了價(jià)值5000萬美金的以太坊;2018年4月22日,黑客利用機(jī)制漏洞,轉(zhuǎn)出大量的通證,計(jì)算結(jié)果產(chǎn)生溢出,完成通證增發(fā)。BEC無中生有出巨額通證,價(jià)值幾乎歸零。
3.4 解決方案與建議
目前現(xiàn)有的共識機(jī)制均不是完美無缺的,需探求設(shè)計(jì)更安全性能更快的共識機(jī)制。
智能合約開發(fā)前需要對當(dāng)下已經(jīng)出現(xiàn)過的漏洞進(jìn)行防范。
發(fā)布智能合約之前需要充分的進(jìn)行安全測試。
關(guān)注相關(guān)情報(bào),專業(yè)人員及時(shí)進(jìn)行代碼優(yōu)化。
定期進(jìn)行代碼審計(jì),包括但不限于:交易安全審查、訪問控制審查等
異常操作監(jiān)控,監(jiān)控已部署合約異常行為,降低損失。
四、應(yīng)用層安全風(fēng)險(xiǎn)
應(yīng)用層作為區(qū)塊鏈技術(shù)一個(gè)實(shí)際的落地場景,也是目前區(qū)塊鏈產(chǎn)業(yè)的所有架構(gòu)中受到安全性事件影響最多也是最頻繁的一個(gè)層級。攻擊目標(biāo)主要集中在與加密資產(chǎn)相關(guān)的領(lǐng)域例如用戶節(jié)點(diǎn)、數(shù)字資產(chǎn)錢包以及交易平臺之中,每一次的安全事件所帶來的實(shí)際損失可達(dá)千萬至上億美元。
4.1節(jié)點(diǎn)常見安全問題
?。?)傀儡網(wǎng)絡(luò)是指惡意軟件開發(fā)者或運(yùn)營者通過感染受害者的系統(tǒng)和設(shè)備在對方不知情的情況下進(jìn)行加密資產(chǎn)挖礦行為。
黑客主要通過在例如網(wǎng)頁、游戲輔助程序、系統(tǒng)后臺中安裝木馬程序的方式侵占用戶的算力與電力,并用于采礦以謀求非法收益。美國哈佛大學(xué)與國家基金會(huì)的超級計(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ò)采礦,目前主要的感染對象包括數(shù)字視頻攝像機(jī)、路由器、監(jiān)控?cái)z像頭、打印服務(wù)器、游戲機(jī)等。常見的攻擊方式有:
跨站腳本
?Microsoft中遠(yuǎn)程執(zhí)行代碼的漏洞利用
命令緩沖區(qū)溢出漏洞利用
SQL注入
BlackNurse拒絕服務(wù)攻擊
(2)解決方案或建議
這些惡意軟件可能會(huì)威脅系統(tǒng)的可用性、完整性和安全性,并使最終用戶和企業(yè)面臨信息竊取,劫持和感染其他惡意軟件的風(fēng)險(xiǎn)。對于這些惡意軟件沒有一蹴而就的解決方案,但可以通過以下方式來減輕感染風(fēng)險(xiǎn):
定期使用最新補(bǔ)丁更新設(shè)備有助于防止攻擊者利用系統(tǒng)漏洞。
更改設(shè)備默認(rèn)憑據(jù)并啟用設(shè)備防火墻,尤其在使用家用路由器時(shí)。
禁用路由器中不必要的組件,也可重新配置路由器例如更改子網(wǎng)地址、使用隨機(jī)IP地址、強(qiáng)制執(zhí)行SSL等。
如果物聯(lián)網(wǎng)家庭設(shè)備鏈接到移動(dòng)設(shè)備,則僅通過官方/可信應(yīng)用商店使用合法應(yīng)用程序。
咨詢IT管理員和安全專家,制定對策和監(jiān)控流程,以預(yù)防或緩解高級威脅,例如采用應(yīng)用程序白名單或類似安全機(jī)制。
4.2加密資產(chǎn)錢包安全性對比
?。?)區(qū)塊鏈的錢包主要用于存儲區(qū)塊鏈資產(chǎn)的地址和私鑰文件,目前根據(jù)使用場景的不同分為了不同類型的數(shù)字資產(chǎn)錢包,主要包括:
中心化錢包:使用用戶名/密碼進(jìn)行登陸,可在多個(gè)鏈上交易多個(gè)通證。
多種類錢包:可通過相同的私鑰保存不同鏈上的通證。
網(wǎng)絡(luò)錢包:通過網(wǎng)絡(luò)托管的鏈上錢包,有的需要將私鑰存儲在密碼之后,有的則要求在對賬戶執(zhí)行任何操作之前存儲私鑰并上傳。
本地錢包:本地安裝的軟件,用于對特定區(qū)塊鏈執(zhí)行操作,私鑰仍然需要存儲在錢包可以訪問的地方。
硬件錢包:冷錢包,存儲在物理脫機(jī)設(shè)備中例如硬盤、USB,只在使用時(shí)連接網(wǎng)絡(luò)。
(2) 目前影響錢包安全的因素主要包括:
網(wǎng)絡(luò)釣魚:簡單來講為通過欺騙的方式獲取訪問賬戶所需信息。例如:通過郵件發(fā)送的需要輸入私鑰或賬戶密碼的虛假鏈接。
惡意三方程序:來自非官方地址下載的有后臺程序漏洞的錢包。
計(jì)算機(jī)黑客:跟蹤計(jì)算機(jī)上執(zhí)行的操作,輸入密鑰或密碼將會(huì)被盜。
丟失密碼/密鑰:丟失存儲的密鑰、密碼或助記詞。
(3)不同的數(shù)字資產(chǎn)錢包面臨的安全性問題
有別于其他的應(yīng)用程序,錢包因?yàn)楦髯杂猛?、屬性的不同,目前并無統(tǒng)一的解決方案,用戶可以通過各自的適用性來判斷相應(yīng)適合的加密資產(chǎn)錢包,從用戶的角度出發(fā)目前主要有以下幾種拓展功能:
私鑰控制:意味著可以隨時(shí)使用其他軟件獲取私鑰并訪問數(shù)字資產(chǎn),甚至可以直接在鏈上進(jìn)行交互。
賬戶恢復(fù):忘記密碼或者丟失私鑰時(shí),可使用服務(wù)來恢復(fù)訪問權(quán)限。
訪問AirDrop/Forks:當(dāng)硬分叉發(fā)生或者通證被空投到另一個(gè)通證的持有者時(shí),只能使用私鑰訪問這些新通證。
存儲不同鏈上的通證:使用同一個(gè)賬戶存儲不同鏈上的通證。
4.3加密資產(chǎn)交易平臺常見安全問題
?。?)加密資產(chǎn)是數(shù)字經(jīng)濟(jì)中重要的組成部分,但針對加密資產(chǎn)交易平臺展開的頻繁網(wǎng)絡(luò)攻擊不斷沖擊著用戶對于數(shù)字資產(chǎn)的信任。就在最近的幾個(gè)月里,人們目睹了數(shù)起針對交易平臺的攻擊。例如日本的加密資產(chǎn)交易平臺Coincheck于2018年1月被入侵,損失超過5億美元。韓國交易平臺Coinrail也證實(shí)它在2018年6月被黑客攻擊,入侵損失達(dá)3,690萬美元。
目前看來,加密資產(chǎn)交易平臺主要有六類常見隱患和漏洞,即拒絕服務(wù)攻擊、網(wǎng)絡(luò)釣魚事件,熱錢包防護(hù)問題,內(nèi)部攻擊,軟件漏洞,和交易可鍛性。
拒絕服務(wù)攻擊:攻擊者通過拒絕服務(wù)攻擊使得交易平臺無法正常訪問,也是目前最主要的針對交易平臺的攻擊方式。用戶因?yàn)闊o法準(zhǔn)確分辨攻擊程度,往往會(huì)造成恐慌性的資產(chǎn)轉(zhuǎn)移,從而給交易平臺帶來損失。
網(wǎng)絡(luò)釣魚事件:目前即使是最好的技術(shù)措施也無法保護(hù)加密資產(chǎn)交易平臺免受網(wǎng)絡(luò)釣魚攻擊。 欺詐者往往通過虛假域名或者仿冒頁面的方式迷惑受害者,受害者如無法分辨交易平臺的真實(shí)性便會(huì)遭受資產(chǎn)上的損失。
熱錢包防護(hù)問題:許多交易平臺使用單個(gè)私鑰來保護(hù)熱錢包,如果犯罪分子可以訪問單個(gè)私鑰,他們將能夠破解與私鑰相關(guān)的熱錢包。 私鑰攻擊的典型例子是2017年首爾交易所Yapizon的攻擊,攻擊者一年內(nèi)前后兩次對交易平臺發(fā)起了針對平臺上熱錢包的盜取,總共造成了交易平臺近50%的資產(chǎn)損失,并最終導(dǎo)致了交易平臺的破產(chǎn)。
內(nèi)部攻擊:由于沒有完善的風(fēng)險(xiǎn)隔離措施或?qū)τ趩T工權(quán)限監(jiān)督不力,導(dǎo)致了部分擁有平臺操作權(quán)限的員工利用內(nèi)部信任監(jiān)守自盜。例如2016年交易平臺ShapeShift發(fā)生的員工盜取BTC事件,其通過私下盜取和將敏感信息轉(zhuǎn)賣給其余人員的方式前后給交易平臺造成了23萬美元的損失。
軟件漏洞:包括單點(diǎn)登陸漏洞、oAuth協(xié)議漏洞等。各國都有法律要求銀行或其他金融機(jī)構(gòu)實(shí)施信息安全措施,以保護(hù)客戶的存款。但是,由于區(qū)塊鏈領(lǐng)域還處于起步階段,目前缺少適用于加密資產(chǎn)的此類規(guī)范。 因此,許多交易平臺在缺乏安全規(guī)范約束的條件下,存在大量漏洞并非偶然。
交易可鍛性:區(qū)塊鏈技術(shù)的支持者常常認(rèn)為區(qū)塊鏈交易是高度安全的,因?yàn)樗鼈儽挥涗浽趽?jù)稱不可更改的記錄上。 但是每個(gè)交易都需要有相應(yīng)簽名,而在交易最終確認(rèn)之前,記錄是可以被暫時(shí)偽造的。 “Mt.Gox事件“是加密資產(chǎn)歷史上最大的攻擊之一,共造成了4.73億美元的損失,而這次攻擊事件便是由黑客在初始交易發(fā)布之前向公共帳本提交代碼更改進(jìn)行的。
(2)解決方案與建議
在技術(shù)開發(fā)方面持續(xù)的投入,抵御日益增長的黑客攻擊,切實(shí)的增強(qiáng)系統(tǒng)的安全性。
確保員工保護(hù)安裝在專業(yè)工作計(jì)算機(jī)或個(gè)人計(jì)算機(jī)上軟件應(yīng)用程序相關(guān)的登錄憑據(jù),并完善安全培訓(xùn),提高安全意識。
定期的安全測試,建立完善的應(yīng)急相應(yīng)機(jī)制。
網(wǎng)絡(luò)安全隔離,謹(jǐn)慎進(jìn)行服務(wù)端口開放。
選擇具備完善防護(hù)的能力的服務(wù)供應(yīng)商。
行業(yè)需要統(tǒng)一的治理機(jī)制,引入第三方監(jiān)管與合作,在出現(xiàn)問題時(shí)及時(shí)與外部協(xié)同工作。
五、小結(jié)
以上內(nèi)容概述了區(qū)塊鏈三個(gè)架構(gòu)層中可能存在的安全問題。總體來說,一是在架構(gòu)設(shè)計(jì)上,由于區(qū)塊鏈應(yīng)用具有高度自治特性,智能合約一旦運(yùn)行就無法逆轉(zhuǎn),因此初期的安全設(shè)計(jì)規(guī)范尤顯重要。二是在具體開發(fā)階段,目前部分區(qū)塊鏈開發(fā)者的代碼質(zhì)量、開發(fā)工具和應(yīng)用平臺的成熟度都需要進(jìn)行不斷完善與提升。三是區(qū)塊鏈問題外延方面,鑒于安全問題始終是非靜態(tài)的,關(guān)注區(qū)塊鏈底層技術(shù)的安全問題同時(shí),區(qū)塊鏈安全問題同樣外延到了傳統(tǒng)的個(gè)人信息安全保護(hù)、基礎(chǔ)設(shè)施安全、網(wǎng)絡(luò)安全等領(lǐng)域中,無論是在區(qū)塊鏈概念上,還是在實(shí)際應(yīng)用層面上,都需要長期有效的校正機(jī)制。
國家互聯(lián)網(wǎng)金融安全技術(shù)專家委員會(huì)將持續(xù)跟蹤該行業(yè)發(fā)展,未來將陸續(xù)發(fā)布更多相關(guān)領(lǐng)域研究報(bào)告。
第三十四屆CIO班招生
國際CIO認(rèn)證培訓(xùn)
首席數(shù)據(jù)官(CDO)認(rèn)證培訓(xùn)
責(zé)編:kongwen
免責(zé)聲明:本網(wǎng)站(http://www.www.gypb.net/)內(nèi)容主要來自原創(chuàng)、合作媒體供稿和第三方投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請進(jìn)一步核實(shí),并對任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
本網(wǎng)站刊載的所有內(nèi)容(包括但不僅限文字、圖片、LOGO、音頻、視頻、軟件、程序等)版權(quán)歸原作者所有。任何單位或個(gè)人認(rèn)為本網(wǎng)站中的內(nèi)容可能涉嫌侵犯其知識產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),請及時(shí)通知本站,予以刪除。