[發明專利]一種以太坊智能合約的多標簽分類和漏洞檢測方法有效
| 申請號: | 202010836902.4 | 申請日: | 2020-08-19 |
| 公開(公告)號: | CN112115326B | 公開(公告)日: | 2022-07-29 |
| 發明(設計)人: | 王偉;李浥東;宋晶晶 | 申請(專利權)人: | 北京交通大學 |
| 主分類號: | G06F16/906 | 分類號: | G06F16/906;G06F16/951;G06F21/57;G06N20/00 |
| 代理公司: | 北京市商泰律師事務所 11255 | 代理人: | 黃曉軍 |
| 地址: | 100044 北*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 以太 智能 合約 標簽 分類 漏洞 檢測 方法 | ||
本發明提供了一種以太坊智能合約的多標簽分類和漏洞檢測方法。該方法包括:利用已驗證的智能合約構成樣本數據集,對樣本數據集中的樣本進行特征提取,使用特征向量來表示樣本;基于各個樣本的特征向量訓練各種多標簽分類模型,對各個多標簽分類模型的分類效果進行評價,選取分類效果最好的多標簽分類模型;將待分類的以太坊智能合約輸入到選取的多標簽分類模型中,該多標簽分類模型輸出所述待分類的以太坊智能合約的漏洞檢測結果。本發明的方法通過提取靜態特征和利用機器學習算法,實現了以太坊智能合約漏洞自動且高效地檢測,本方法更適用于大批量合約漏洞檢測的應用場景。
技術領域
本發明涉及區塊鏈的分布式應用漏洞檢測技術領域,尤其涉及一種以太坊智能合約的多標簽分類和漏洞檢測方法。
背景技術
隨著社會經濟的發展和新一輪技術的變革,區塊鏈作為一種新興技術,通過集成多種技術,包括加密算法、共識機制和分布式數據存儲和點對點傳輸機制等,保證了交易數據的不可篡改性和去中心化存儲,從而營造了一種可信的交易環境。
作為一個開放的公有鏈平臺,以太坊通過支持去中心化的以太坊虛擬機來實現智能合約功能,然后通過智能合約功能來處理點對點的交易。以太坊智能合約被廣泛應用于許多領域,例如金融服務、基礎設施、物聯網和醫療保健等,這使得區塊鏈技術的產業應用價值逐漸明確。近年來頻頻爆發的智能合約安全事件不僅導致了巨大的經濟損失,還嚴重降低了人們對區塊鏈智能合約的信任程度。
目前智能合約漏洞檢測的主要方法有形式化驗證、符號執行或符號分析、模糊測試等。然而,形式化驗證有不能完全自動化的缺點;符號執行或符號分析往往需要探索合約中所有的可執行路徑或符號化地分析合約中的依賴關系圖,因此時間開銷大,執行效率低,不適合大批量合約漏洞檢測;模糊測試方法生成的測試樣例具有較強的隨機性,易導致代碼覆蓋率低,往往無法有效檢測出智能合約代碼中的所有漏洞,且同樣具有檢測周期長的缺點。面對與日俱增的智能合約數量,現有方法不堪重負。
機器學習是一門多領域交叉學科,涉及概率論、統計學、逼近論、凸分析、算法復雜度理論等多門學科。專門研究計算機怎樣模擬或實現人類的學習行為,以獲取新的知識或技能,重新組織已有的知識結構使之不斷改善自身的性能。近年來,機器學習算法在各個領域都得到了廣泛的應用。
因此,利用機器學習技術開發一種準確且高效到的以太坊智能合約的漏洞檢測方法具有重要現實意義。
發明內容
本發明的實施提供了一種以太坊智能合約的漏洞檢測方法,以實現對太坊智能合約進行準確且高效地分類和漏洞檢測。
為了實現上述目的,本發明采取了如下技術方案。
一種以太坊智能合約的漏洞檢測方法,包括:
利用已驗證的智能合約構成樣本數據集,對樣本數據集中的樣本進行特征提取,使用特征向量來表示樣本;
基于各個樣本的特征向量訓練各種多標簽分類模型,對各個多標簽分類模型的分類效果進行評價,選取分類效果最好的多標簽分類模型;
將待分類的以太坊智能合約輸入到選取的多標簽分類模型中,該多標簽分類模型輸出所述待分類的以太坊智能合約的漏洞檢測結果。
優選地,所述的利用已驗證的智能合約構成樣本數據集,包括:
從Etherscan網站爬取一定數量的已驗證的智能合約數據,利用所有的智能合約數據構成樣本數據集。
優選地,所述的對樣本數據集中的樣本進行特征提取,使用特征向量來表示樣本,包括:
對樣本數據集中的樣本有無漏洞進行標定,并對有漏洞的樣本進行進一步的細化分類;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京交通大學,未經北京交通大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010836902.4/2.html,轉載請聲明來源鉆瓜專利網。





