[發(fā)明專利]一種針對EOSIO智能合約的漏洞檢測方法及系統(tǒng)在審
| 申請?zhí)枺?/td> | 202210539547.3 | 申請日: | 2022-05-17 |
| 公開(公告)號: | CN114996126A | 公開(公告)日: | 2022-09-02 |
| 發(fā)明(設(shè)計)人: | 劉洋洋;周健飛;陳廳;蔣天星;宋書瑋;程曦;吳昊 | 申請(專利權(quán))人: | 電子科技大學(xué) |
| 主分類號: | G06F11/36 | 分類號: | G06F11/36;G06F21/57 |
| 代理公司: | 電子科技大學(xué)專利中心 51203 | 代理人: | 陳一鑫 |
| 地址: | 611731 四川省成*** | 國省代碼: | 四川;51 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 針對 eosio 智能 合約 漏洞 檢測 方法 系統(tǒng) | ||
本發(fā)明公開了一種針對EOSIO智能合約的漏洞檢測方法及系統(tǒng),屬于區(qū)塊鏈智能合約技術(shù)領(lǐng)域。對EOSIO智能合約進行灰盒測試,發(fā)現(xiàn)并報告EOSIO智能合約中存在的安全漏洞,用以提升區(qū)塊鏈中智能合約的安全性,減少因智能合約安全漏洞造成的經(jīng)濟損失。本發(fā)明能夠?qū)OSIO智能合約進行充分測試,與現(xiàn)有EOSIO智能合約漏洞檢測方法相比,具有代碼覆蓋率高、檢測準確性高的優(yōu)點,因此能夠提高EOSIO智能合約漏洞挖掘的準確性、效率和自動化程度,充分分析智能合約潛在的安全漏洞,提高智能合約的安全性,避免不必要的損失。
技術(shù)領(lǐng)域
本發(fā)明屬于區(qū)塊鏈智能合約技術(shù)領(lǐng)域,具體為一種針對EOSIO智能合約灰盒模糊測試方法及系統(tǒng),處理對象為EOSIO智能合約字節(jié)碼及ABI文件,可檢測EOSIO智能合約字節(jié)碼中存在的安全漏洞。
背景技術(shù)
針對智能合約漏洞檢測的研究根據(jù)其檢測方法,可分為以下三類:
形式化驗證方法通過語法分析、控制流分析與數(shù)據(jù)流分析對智能合約源碼或字節(jié)碼進行掃描,并建立抽象語法樹、控制流圖、數(shù)據(jù)流圖,進而采用形式化工具對智能合約的執(zhí)行過程進行建模、分析和驗證。此類工具的代表性工具有EVulHunter和Slither等,EVulHunter將EOSIO智能合約的WebAssembly字節(jié)碼文件進行解析以生成控制流圖,并使用預(yù)定義模式匹配控制流圖中匹配與智能合約漏洞相關(guān)的代碼塊。EVulHunter僅支持兩種EOSIO智能合約安全漏洞,其使用的預(yù)定義模式依賴于已知的攻擊手段,一旦攻擊手段發(fā)生變化,EVulHunter必須重新生成預(yù)定義模式,且預(yù)定義模式的生成必須手工從智能合約中提取和總結(jié),限制了漏洞支持類型的擴展。Slither是面向以太坊智能合約的漏洞檢測工具,Slither將以太坊智能合約編譯后的Solidity抽象語法樹作為輸入,經(jīng)過數(shù)據(jù)整合獲得智能合約的類型繼承圖、控制流圖,分析以太坊智能合約中變量、函數(shù)的依賴關(guān)系,變量的讀寫以及函數(shù)權(quán)限控制等信息,并從這些信息中搜索與安全漏洞匹配的模式。Tikhomirov等人提出了SmartCheck,一個基于分類的以太坊智能合約安全漏洞檢測工具,SmartCheck能夠處理Solidity編寫的以太坊智能合約字節(jié)碼,并將字節(jié)碼轉(zhuǎn)化為XML形式,隨后分析轉(zhuǎn)化得到的XML文件中的XPath路徑檢測以太坊智能合約中的安全漏洞。Wang等人提出了ContractWard,與其他同類工具不同,ContractWard結(jié)合了形式化驗證方法和機器學(xué)習(xí)技術(shù)的優(yōu)點,通過訓(xùn)練一個針對漏洞模式的機器學(xué)習(xí)模型,降低了靜態(tài)檢測的時間開銷。但這三者使用的漏洞模式是以太坊智能合約獨有的,無法應(yīng)用于EOSIO智能合約。第二,以太坊智能合約使用被編譯為Solidity字節(jié)碼,并在以太坊的EVM虛擬機中執(zhí)行,而EOSIO智能合約使用C/C++語言編寫,被編譯為WebAssembly字節(jié)碼并在WebAssembly虛擬機中執(zhí)行,二者的體系結(jié)構(gòu),類型系統(tǒng)以及執(zhí)行環(huán)境都存在著根本性的不同,因此,一種專門用于以太坊或基于EVM虛擬機的漏洞檢測工具,無法被移植用于EOSIO智能合約安全漏洞的檢測。此外,形式化驗證方法用于智能合約漏洞挖掘本身就存在較大的限制,由于區(qū)塊鏈本身可以被看作是一個巨大的狀態(tài)機,智能合約的執(zhí)行路徑不僅與合約接收的輸入與合約本身的程序上下文有關(guān),還依賴于合約執(zhí)行時的區(qū)塊鏈狀態(tài),因此缺乏區(qū)塊鏈狀態(tài)信息的形式化驗證方法可能將在真實環(huán)境中不可能被執(zhí)行的代碼被錯誤判斷存在安全漏洞,導(dǎo)致誤報率提高。類似地,靜態(tài)分析方法也無法解決與身份驗證,機密數(shù)據(jù)的存儲與傳輸相關(guān)的智能合約安全漏洞檢測問題。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于電子科技大學(xué),未經(jīng)電子科技大學(xué)許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210539547.3/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 合約轉(zhuǎn)賬方法、設(shè)備和存儲介質(zhì)
- 區(qū)塊鏈合約升級方法、裝置、計算機設(shè)備及可讀存儲介質(zhì)
- 智能合約測試方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 智能合約生成方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 實現(xiàn)可更新智能合約的系統(tǒng)和方法
- 一種管理區(qū)塊鏈系統(tǒng)合約的方法和裝置
- 合約簽署方法、裝置、電子設(shè)備及可讀存儲介質(zhì)
- 基于加密貨幣的智能合約生成方法、相關(guān)設(shè)備及存儲介質(zhì)
- 智能合約的自動測試方法、裝置、計算機設(shè)備和存儲介質(zhì)
- 智能合約執(zhí)行方法、裝置、系統(tǒng)、存儲介質(zhì)及電子設(shè)備





