国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

區(qū)塊鏈安全問題研究

2022-09-30 05:29劉曉鋒吳玉娟
長春師范大學學報 2022年8期
關鍵詞:以太攻擊者漏洞

謝 婷,劉曉鋒,吳玉娟

(西華師范大學,四川 南充 637000)

0 引言

2008年,中本聰提出具有去中心化、可追溯和匿名化等特點的區(qū)塊鏈技術(shù),受到各界人士的關注,至此誕生出各種基于區(qū)塊鏈技術(shù)的應用,如比特幣、萊特幣和以太坊等[1]。在區(qū)塊鏈從1.0到3.0版本期間,出現(xiàn)過各種安全事件。作為區(qū)塊鏈1.0版本的比特幣發(fā)生過的安全問題,例如,大整數(shù)溢出造成了比特幣被盜取了千萬億;Mt.Gox交易所因攻擊者獲取wallet.dat文件副本,被盜取了幾十萬的比特幣;絲綢之路2.0交易網(wǎng)站曾因交易延展性問題導致比特幣被盜。區(qū)塊鏈2.0版本的以太坊發(fā)生過的安全問題,例如,著名的The DAO事件,被盜取了幾百萬的以太幣;簽名錢包Parity存在安全問題,攻擊者利用多重錢包漏洞盜取了幾十萬的以太幣;還有其他因智能合約漏洞和以太坊本身導致的各種安全事件。區(qū)塊鏈3.0版本的應用也因代碼漏洞導致安全事件發(fā)生,如Wormhole因代碼漏洞受到黑客攻擊[2]。

以上各種安全事件均暴露出基于區(qū)塊鏈技術(shù)的各種應用缺乏真正意義上的安全。區(qū)塊鏈本身是以去中心化、防篡改和匿名化等特點受到人們的廣泛關注,但在使用區(qū)塊鏈技術(shù)時出現(xiàn)各種安全問題,導致人們開始擔憂區(qū)塊鏈的未來,由此引發(fā)區(qū)塊鏈技術(shù)的信任危機。

1 區(qū)塊鏈安全問題

國內(nèi)外文獻針對區(qū)塊鏈安全問題研究存在兩種研究方式。(1)第一種方式[3-4],按照攻擊事件歸屬區(qū)塊鏈架構(gòu)的某一層,進行相應分類,如表1所示。單獨分析各安全問題屬于哪層出現(xiàn)的安全問題,隔斷了各種安全問題的聯(lián)系,沒有考慮除六層架構(gòu)以外的安全問題。因此這種研究方式缺乏各層之間安全事件的聯(lián)系性和全面性。(2)第二種方式,針對區(qū)塊鏈中某一層出現(xiàn)的安全問題進行研究,如孫國梓等[5]只對合約層中出現(xiàn)的各種安全事件進行分析,ATZEI等[6]對交易中出現(xiàn)安全問題所造成區(qū)塊鏈用戶資產(chǎn)丟失的安全事件進行研究,不過這種研究方式過于單一化與集中化,對發(fā)生在區(qū)塊鏈各層的安全問題并沒有考慮完全,缺乏全面化與綜合化。

本文考慮區(qū)塊鏈安全事件的復雜多樣,主要從區(qū)塊鏈自身安全機制問題、運行環(huán)境問題和使用者安全問題三個方面進行研究與討論。

1.1 區(qū)塊鏈自身安全機制問題

由于區(qū)塊鏈自身安全機制存在一定問題,所以根據(jù)區(qū)塊鏈的六層邏輯架構(gòu)分析區(qū)塊鏈自身安全問題。(1)數(shù)據(jù)層,區(qū)塊鏈的數(shù)據(jù)層存在哈希函數(shù)、加密技術(shù)和時間戳的安全性問題。哈希函數(shù)的攻擊是通過變色龍HASH函數(shù)[7-8]實現(xiàn)篡改數(shù)據(jù),其原理是攻擊者在保持輸出相同的情況下,人為地設置自己想要的輸入值,因此變色龍HASH函數(shù)的出現(xiàn)改變了區(qū)塊鏈不可篡改的特點,違背了區(qū)塊鏈技術(shù)創(chuàng)始本意。隨著技術(shù)發(fā)展,最初采用的加密技術(shù)是在HASH256量子計算[9]下被破解的,因此無法實現(xiàn)區(qū)塊鏈用戶的匿名性。時間戳的使用是準確定義交易時間,防止出現(xiàn)雙花攻擊,但區(qū)塊上的時間戳是為礦工定義的,因此出現(xiàn)有利于礦工自己而設計的時間戳漏洞。例如,在GovernMental攻擊中就存在根據(jù)時間戳漏洞來設計時間戳,攻擊者使自己的時間戳比之前區(qū)塊的時間戳晚一分鐘來贏得獎勵。(2)網(wǎng)絡層,網(wǎng)絡層目前出現(xiàn)的問題主要是傳播機制問題。傳播機制采用的洪泛法是指每個節(jié)點將自己所含的交易信息都廣播給相鄰節(jié)點。攻擊者通過網(wǎng)絡層的啟發(fā)式聚類法[10]推測出每個節(jié)點關系及身份,導致區(qū)塊鏈的匿名性特點并不存在。(3)共識層,共識層由共識算法[11-12]組成,但各種共識算法有不同優(yōu)缺點,導致共識層存在擴展性差和硬分叉的安全性問題??蓴U展性主要是指系統(tǒng)效率,其中TPS(系統(tǒng)吞吐量)是可擴展性的一項重要指標。針對可擴展性的安全問題是粉塵攻擊和空塊攻擊,粉塵攻擊中攻擊者利用比特幣設計規(guī)則漏洞,進行大量小額交易,又由于比特幣交易區(qū)塊大小有限,導致網(wǎng)絡擁塞。空塊攻擊則只打包新幣發(fā)行的coinbase交易,其他類型交易都不會打包到區(qū)塊,一旦出現(xiàn)大量類似攻擊,會導致交易確認時間過長,系統(tǒng)吞吐量過低。硬分叉是指系統(tǒng)中各個節(jié)點出現(xiàn)分歧而導致區(qū)塊鏈分叉。硬分叉導致區(qū)塊鏈主要的安全問題是交易回滾和重放攻擊。(4)激勵層,激勵層主要包括發(fā)行機制和分配機制,而發(fā)行機制存在因優(yōu)先打包而交易費用高的交易,導致一些費用低的交易等待時間過久的安全問題。(5)合約層,在合約層中區(qū)塊鏈本身存在的問題是合約狀態(tài)無法預測、可變的交易狀態(tài)和交易延展性。當調(diào)用一個合約時,此時合約狀態(tài)和之后狀態(tài)可能會不一樣,合約狀態(tài)受其他交易和分叉影響,導致合約狀態(tài)改變。在Dynamic Libraries攻擊中,用戶在執(zhí)行交易時合約狀態(tài)改變,導致將以太傳輸給攻擊者。交易ID是由交易大小、類型、時間和簽名等因素計算而成的值。交易延展性則指當簽名改變時交易ID也會隨之發(fā)生變化,因此攻擊者利用這一缺點修改交易ID,盜取交易費用。Mt.Gox交易所就受到了類似攻擊。(6)應用層,主要涉及分布式應用程序(DAPP)。DAPP的安全事件是代碼漏洞,攻擊者利用這些漏洞設計木馬病毒攻擊DAPP,導致DAPP癱瘓。

針對區(qū)塊鏈自身安全機制出現(xiàn)的問題,提出區(qū)塊鏈六層架構(gòu)模式的解決方案。

區(qū)塊鏈數(shù)據(jù)層針對哈希函數(shù)、加密技術(shù)和時間戳攻擊分別提出相應解決方案。對于使用變色龍哈希函數(shù)篡改區(qū)塊數(shù)據(jù)的安全問題,可以將誠實節(jié)點已知的區(qū)塊高度與當前區(qū)塊最長鏈高度進行比較,如果相差很大就有可能存在篡改區(qū)塊的行為。為防止因加密技術(shù)被量子技術(shù)破解所引發(fā)的安全問題,1989年,BENNETT等[13]根據(jù)量子力學原理提出量子加密技術(shù)。有關預防時間戳攻擊可使用Oyente工具,檢測出漏洞問題。

網(wǎng)絡層通過傳播機制識別節(jié)點身份的安全問題,通過零知識證明、群簽名和環(huán)簽名等方案解決該問題。使用零知識證明方案,使相鄰節(jié)點除了傳播信息這一零知識證明外,不能得到其他任何信息,攻擊者無法通過其他信息推測節(jié)點身份。而群簽名和環(huán)簽名是把多個節(jié)點信息混合,使攻擊者無法從混合節(jié)點信息推測節(jié)點身份。

共識層中涉及可擴展性差和硬分叉的問題。區(qū)塊鏈中的可擴展性差問題會影響區(qū)塊鏈系統(tǒng)效率,因此對于系統(tǒng)檢測出的可擴展性差問題,需要通過ZHOU等[14]提出的鏈上和非鏈上方法解決。硬分叉帶來的重放攻擊和交易回滾問題對區(qū)塊鏈影響非常大,而對于硬分叉問題只能采取預防手段,即中本聰所說的“鼓勵誠實節(jié)點挖‘好鏈’”[15],這樣區(qū)塊鏈才能長期維持。

激勵層中發(fā)行機制問題可通過增加時間限制和優(yōu)先級來解決。當費用低的交易等待時間過長時,系統(tǒng)會將費用低的交易優(yōu)先級進行相應調(diào)整,以防止該交易等待時間過長。合約層中存在的問題,可使用基礎的檢測工具Oyente,檢測智能合約的基礎漏洞。對于區(qū)塊鏈應用層出現(xiàn)的DAPP漏洞問題,則需要程序不斷打補丁,修改程序出現(xiàn)的漏洞問題。

1.2 運行環(huán)境問題

區(qū)塊鏈中因交易所出現(xiàn)的安全問題不在少數(shù),主要有代碼漏洞、以太坊的Solidity語言和以太坊虛擬機(EVM)問題。比特幣交易所因在編寫代碼時存在整數(shù)溢出問題,被盜走幾百萬比特幣。以太坊中Solidity語言由于沒有引入構(gòu)造來處理特定領域,如導致交易記錄被不可預測地重新排序和延遲。又因每個合約中都含有fallback函數(shù),導致攻擊者利用fallback函數(shù)轉(zhuǎn)移交易所的以太幣,如The DAO攻擊。以太坊中虛擬機存在問題,即在以太傳輸時,如果收件人地址是孤立地址(不與任何用戶或合約相關聯(lián)),則以太將永遠丟失。這些問題都是交易所在創(chuàng)建時所攜帶的運行環(huán)境問題。

礦池的形成給攻擊者創(chuàng)建攻擊機會,攻擊者對礦池的攻擊行為主要有51%算力攻擊和截留攻擊。51%算力攻擊是指某一礦池中礦工數(shù)占總礦工數(shù)比例超過50%,該礦池相當于掌握區(qū)塊鏈,即產(chǎn)生區(qū)塊和去除區(qū)塊。截留攻擊如圖1所示,主要是礦池A為獲取收益,將自己內(nèi)部礦工成員偽裝成礦池B的成員,如果偽裝者找到一個完整的解決方案,構(gòu)成完整的工作證明,則其會放棄該解決方案,從而減少礦池B的總收入。雖然礦池A獲取收益,但EYAL[16]提到礦池A只是臨時獲取收益,如果礦池B同樣攻擊礦池A,它們就將面臨囚徒困境。若一池選擇攻擊,通過攻擊進行報復,則會增加收益;然而,當兩者都攻擊時,在納什均衡時,兩者賺得比兩者不攻擊時要少。

圖1 截留攻擊工作原理

對于網(wǎng)絡協(xié)議上存在的漏洞,APOSTOLAKI等[17]提出因邊界網(wǎng)關協(xié)議(BGP)存在的漏洞,攻擊者可對自治系統(tǒng)(AS)進行路由攻擊。路由攻擊包括分割攻擊和延遲攻擊。分割攻擊即區(qū)塊鏈中一部分節(jié)點區(qū)域受到攻擊者控制,接受或者發(fā)送信息都通過攻擊者。因此,攻擊者不僅可以獲取信息、偽造信息,還可以在不同區(qū)發(fā)送同一筆交易,導致出現(xiàn)雙花攻擊。延遲攻擊則是攻擊者在分割區(qū)塊鏈各個節(jié)點后,作為中間節(jié)點把發(fā)送方的信息進行修改,然后發(fā)送給接受方,這種攻擊非常隱蔽,導致接收方與發(fā)送方無法發(fā)現(xiàn)攻擊,并且區(qū)塊鏈網(wǎng)絡中絕大多數(shù)節(jié)點容易受到此類攻擊。

區(qū)塊鏈運行環(huán)境解決方案:首先是交易所的安全問題,目前研究人員針對這些漏洞設計出許多檢測工具,如MythX、Abbe和Oyente等。專業(yè)研發(fā)員根據(jù)這些工具檢查基本漏洞,防止因這些漏洞而產(chǎn)生的攻擊。其次是解決礦池問題中的51%算力攻擊和截留攻擊。為防止51%算力攻擊,在區(qū)塊鏈網(wǎng)絡中限制各礦池占總礦池的算力比例,從而阻止攻擊發(fā)生。對于解決截留攻擊的方案分為預防和阻止,其預防原理是礦池通過部分工作證明和完全工作證明的比率來估計礦工的預期采礦功率和實際采礦功率,如果結(jié)果高于設定置信區(qū)間的差異就表示攻擊。截留攻擊的阻止方案包括兩種[18]:其一是突擊測驗,即間接檢查未提交方案的礦工;其二是修改比特幣協(xié)議,其思想是將無法辨別的有效塊交給礦池進行審查,從而阻止攻擊發(fā)生。最后給出解決網(wǎng)絡協(xié)議安全問題的兩種方案[19]:第一種方案是無需任何協(xié)議更改的短期措施,主要包括增加節(jié)點連接的多樣性、選擇比特幣對等點時考慮路由因素、監(jiān)控往返時間(RTT)、監(jiān)視其他統(tǒng)計數(shù)據(jù)和使用不同的ASes網(wǎng)關等措施;第二種方案是檢測和防止路由攻擊的長期措施,主要包括加密比特幣通信、使用消息身份驗證碼、使用UDP心跳和在多個連接上請求塊等措施。

1.3 使用者安全問題

使用者安全問題主要是秘鑰的管理問題,如太平洋資本公司CEO Peter Schiff曾在登錄比特幣錢包時,因秘鑰丟失導致無法登錄;Poker EOS交易所也因團隊私鑰管理不當,導致項目賬戶私鑰泄露,其攻擊方式是攻擊者采用釣魚攻擊手段,將網(wǎng)站偽裝成加密貨幣交易所Kraken網(wǎng)站,導致大量用戶的賬號和秘鑰被盜取。

對于使用不當導致的私鑰丟失問題,HOMOLIAK等[20]構(gòu)建了SmartOTPs錢包框架,提供一種安全、可用的管理加密代幣的方法,該框架能夠阻止擁有用戶私鑰或攻擊客戶端的攻擊者。對于釣魚攻擊導致的秘鑰丟失,可以使用反釣魚軟件工具來預防釣魚攻擊。

1.4 區(qū)塊鏈安全問題總結(jié)

對區(qū)塊鏈安全問題進行總結(jié),見表2。

表2 區(qū)塊鏈安全問題總結(jié)

2 區(qū)塊鏈安全檢測模型設計

目前,檢測模型都是針對區(qū)塊鏈六層架構(gòu)或者區(qū)塊鏈某層安全問題進行檢測,這種檢測模型忽略了運行環(huán)境和使用者所帶來的問題,導致存在檢查遺漏現(xiàn)象。本文提出的檢測模型根據(jù)三層分類架構(gòu)進行安全問題檢測,其流程如圖2所示。首先輸入安全問題,其次判斷安全分類屬于哪類安全問題,最后根據(jù)不同的分類層次進行相應的解決。這種檢測模型比單獨針對區(qū)塊鏈六層架構(gòu)安全問題的分析更加全面和徹底,不僅考慮了六層架構(gòu)出現(xiàn)的安全問題,也考慮了運行環(huán)境和使用者出現(xiàn)的安全問題。

圖2 模型流程圖

3 總結(jié)與展望

綜上所述,對區(qū)塊鏈自身安全機制問題、運行環(huán)境問題和使用者安全問題分別進行討論。對于區(qū)塊鏈自身安全機制問題,通過六層架構(gòu)對攻擊方式與相應解決方案進行描述;對于運行環(huán)境問題,從交易所、礦池和網(wǎng)絡協(xié)議三方面進行研究;對于使用者安全問題,則對秘鑰管理漏洞展開分析。本文詳細闡述了區(qū)塊鏈中存在的攻擊事件,旨在維護區(qū)塊鏈安全,促進區(qū)塊鏈健康發(fā)展。

關于區(qū)塊鏈未來發(fā)展的一項研究是漏洞檢測工具的開發(fā)。目前的檢測工具只能檢測一些基本漏洞,對復雜多樣的漏洞仍檢測不出,因此未來工作應致力于研發(fā)更精準的檢測工具軟件。關于區(qū)塊鏈未來發(fā)展的另一項研究是去匿名化,雖去匿名化與區(qū)塊鏈創(chuàng)立之初的想法相違背,但去匿名化有利于政府部門對犯罪行為的監(jiān)督。當然,區(qū)塊鏈的去匿名化和匿名化應針對具體對象而言,既滿足普通用戶的需求,又不給犯罪分子以可乘之機,旨在維護網(wǎng)絡安全。

猜你喜歡
以太攻擊者漏洞
漏洞
基于貝葉斯博弈的防御資源調(diào)配模型研究
探索太空奧秘 還原宇宙本真
以太萬物理論概述
正面迎接批判
以太坊又爆漏洞黑客大戰(zhàn)一觸即發(fā)
正面迎接批判
偵探推理游戲(二)
漏洞在哪兒
視頻、Office漏洞相繼爆發(fā)
板桥市| 雷山县| 安新县| 肃南| 宜宾县| 黄浦区| 房产| 南昌县| 宣武区| 安徽省| 和政县| 葫芦岛市| 商丘市| 龙里县| 香格里拉县| 道孚县| 平武县| 贡山| 东光县| 多伦县| 平安县| 宣汉县| 舞钢市| 邛崃市| 法库县| 禄丰县| 三门县| 卓尼县| 蕲春县| 黔南| 大安市| 中江县| 乌审旗| 文山县| 南投市| 南平市| 大宁县| 缙云县| 五寨县| 贵南县| 凌云县|