[發(fā)明專利]智能合約漏洞檢測方法、裝置及電子設(shè)備有效
| 申請?zhí)枺?/td> | 201810158986.3 | 申請日: | 2018-02-26 |
| 公開(公告)號: | CN108256337B | 公開(公告)日: | 2020-07-17 |
| 發(fā)明(設(shè)計)人: | 韓昭芳;袁力;耿建華;黃焱 | 申請(專利權(quán))人: | 北京阿爾山區(qū)塊鏈聯(lián)盟科技有限公司 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57 |
| 代理公司: | 北京超凡宏宇專利代理事務(wù)所(特殊普通合伙) 11463 | 代理人: | 徐麗 |
| 地址: | 100000 北京市西城*** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 智能 合約 漏洞 檢測 方法 裝置 電子設(shè)備 | ||
1.一種智能合約漏洞檢測方法,其特征在于,包括:
對待檢測智能合約進行有向無環(huán)圖DAG環(huán)路檢測,判斷所述待檢測智能合約中是否存在合約邏輯環(huán)路;待檢測智能合約由多個最小可信單元組成;
如果是,則對所述合約邏輯環(huán)路進行環(huán)路超時檢測,判斷所述合約邏輯環(huán)路是否超時;
如果否,則對所述待檢測智能合約進行邏輯檢測,判斷所述邏輯檢測的檢測結(jié)果是否正確;
如果是,則判斷所述待檢測智能合約不存在漏洞。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述判斷所述待檢測智能合約中是否存在合約邏輯環(huán)路之后,還包括:
如果否,則執(zhí)行步驟:對所述待檢測智能合約進行邏輯檢測,判斷所述邏輯檢測的檢測結(jié)果是否正確。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述判斷所述合約邏輯環(huán)路是否超時之后,還包括:
如果是,則判斷所述待檢測智能合約存在漏洞。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述判斷所述邏輯檢測的檢測結(jié)果是否正確之后,還包括:
如果否,則判斷所述待檢測智能合約存在漏洞。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述待檢測智能合約中是否存在合約邏輯環(huán)路,具體包括:
通過深度優(yōu)先遍歷算法檢測所述待檢測智能合約中,由所述最小可信單元組成的有向圖中是否存在邏輯環(huán)路。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述合約邏輯環(huán)路是否超時,具體包括:
在所述合約邏輯環(huán)路中嵌入計數(shù)計時可信單元;
通過所述計數(shù)計時可信單元,檢測所述合約邏輯環(huán)路的執(zhí)行時間或者調(diào)用次數(shù);
判斷所述執(zhí)行時間或者調(diào)用次數(shù)是否超過預設(shè)時間閾值或者預設(shè)次數(shù)閾值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述判斷所述邏輯檢測的檢測結(jié)果是否正確,具體包括:
通過合約沙箱環(huán)境運行所述待檢測智能合約;
判斷輸出的運行結(jié)果是否正確。
8.一種智能合約漏洞檢測裝置,其特征在于,所述裝置包括:有向無環(huán)圖DAG合約環(huán)路檢測模塊、合約環(huán)路超時驗證模塊、合約邏輯檢測模塊;
所述有向無環(huán)圖DAG合約環(huán)路檢測模塊,用于對待檢測智能合約進行有向無環(huán)圖DAG環(huán)路檢測,判斷所述待檢測智能合約中是否存在合約邏輯環(huán)路;待檢測智能合約由多個最小可信單元組成;
所述合約環(huán)路超時驗證模塊,在所述有向無環(huán)圖DAG合約環(huán)路檢測模塊的檢測結(jié)果為是時,對所述合約邏輯環(huán)路進行環(huán)路超時檢測,判斷所述合約邏輯環(huán)路是否超時;
所述合約邏輯檢測模塊,在所述合約環(huán)路超時驗證模塊的檢測結(jié)果為否時,對所述待檢測智能合約進行邏輯檢測,判斷所述邏輯檢測的檢測結(jié)果是否正確;如果是,則判斷所述待檢測智能合約不存在漏洞。
9.一種電子設(shè)備,包括存儲器、處理器,所述存儲器上存儲有可在所述處理器上運行的計算機程序,其特征在于,所述處理器執(zhí)行所述計算機程序時實現(xiàn)上述權(quán)利要求1至7任一項所述的方法的步驟。
10.一種計算機可讀存儲介質(zhì),所述計算機可讀存儲介質(zhì)上存儲有計算機程序,其特征在于,所述計算機程序被處理器運行時執(zhí)行上述權(quán)利要求1至7任一項所述的方法。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京阿爾山區(qū)塊鏈聯(lián)盟科技有限公司,未經(jīng)北京阿爾山區(qū)塊鏈聯(lián)盟科技有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201810158986.3/1.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è)備





