[發明專利]一種智能合約的漏洞檢測方法和裝置、存儲介質在審
| 申請號: | 202310584937.7 | 申請日: | 2023-05-23 |
| 公開(公告)號: | CN116578988A | 公開(公告)日: | 2023-08-11 |
| 發明(設計)人: | 李曉琦;李文凱;劉澤楷;匡海璐;申一鳴 | 申請(專利權)人: | 海南大學 |
| 主分類號: | G06F21/57 | 分類號: | G06F21/57;G06F18/25 |
| 代理公司: | 北京盛詢知識產權代理有限公司 11901 | 代理人: | 張焱 |
| 地址: | 570208 *** | 國省代碼: | 海南;46 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 智能 合約 漏洞 檢測 方法 裝置 存儲 介質 | ||
本發明公開一種智能合約的漏洞檢測方法和裝置、存儲介質,包括以下步驟:通過給智能合約構建控制流程圖并按照其調用流程收集操作碼、操作數和SSA形式的操作碼;通過智能合約地址在區塊鏈瀏覽器中爬取應用二進制接口;將操作碼和操作數作為輸入,輸出函數參數;通過監督函數中是否存在指定行為以確定函數屬性;通過編碼器融合SSA形式的操作碼和應用二進制接口或函數參數與函數屬性的拼接形式,并通過解碼器得到存在的漏洞類型。采用本發明的技術方案,有效地利用了字節碼中語義和函數接口信息,并實現了多標簽漏洞檢測。
技術領域
本發明屬于計算機網絡安全領域,尤其涉及一種智能合約的漏洞檢測方法和裝置、存儲介質。
背景技術
在區塊鏈系統中,智能合約是具有功能性的代碼段,定義了網絡中節點之間的交互規則;本發明主要關注以太網區塊鏈上的智能合約相關漏洞;作為區塊鏈系統中重要的一個層級,智能合約的安全問題也是區塊鏈系統能穩定運行的重要因素。
智能合約函數接口,即調用接口,存在以下兩種形式:函數簽名和應用二進制接口。函數簽名是函數名以及函數參數原型字符串的哈希值,用于確定函數的唯一調用入口。字節碼智能合約部署上鏈時,應用二進制接口和合約地址可被外部節點指定特定合約中的函數方法。
現有基于深度學習技術檢測智能合約漏洞方法中,從智能合約的操作碼中獲取語義特征并通過不同的模型檢測漏洞;通過設計不同的模型來提高對漏洞的檢測效果,在數據層面都過于依賴語義單特征;因此,為了達到較好的漏洞分類效果,這種方法都依賴數據的多樣性和全面性。
與傳統靜態分析方法相比,基于深度學習的漏洞檢測技術存在以下空缺:
基于深度學習的智能合約漏洞檢測方法沒有考慮操作數中的特征;傳統靜態分析方法,通過分析代碼可能的執行過程以判斷代碼中是否存在邏輯漏洞;已有的深度學習方法通過輸入代碼中的操作碼序列以總結漏洞的特征;雖然也有一些技術通過構建控制流程圖等來獲取更符合調用順序的操作碼序列,但是也沒有考慮操作數中存在的原始數據。
以太網字節碼智能合約中存在多維度數據,而現有檢測方法只考慮操作碼序列;以太坊虛擬機作為堆棧式虛擬機,是字節碼智能合約的運行環境;和寄存式虛擬機不一樣的是,Java代碼中存在函數接口數據,而字節碼智能合約中沒有存儲函數接口信息;通過特定的規則能夠從調用數據中提取函數參數,然而現有的智能合約漏洞檢測方法都沒有利用過這些數據。
發明內容
本發明要解決的技術問題是,提供一種智能合約的漏洞檢測方法和裝置、存儲介質,有效地利用了字節碼中語義和函數接口信息,并實現了多標簽漏洞檢測。
為實現上述目的,本發明采用如下的技術方案:
一種智能合約的漏洞檢測方法,包括以下步驟:
步驟S1、通過給智能合約構建控制流程圖并按照其調用流程收集操作碼、操作數和SSA形式的操作碼;
步驟S2、通過智能合約地址在區塊鏈瀏覽器中爬取應用二進制接口;
步驟S3、將操作碼和操作數作為輸入,輸出函數參數;
步驟S4、通過監督函數中是否存在指定行為以確定函數屬性;
步驟S5、通過編碼器融合SSA形式的操作碼和應用二進制接口或函數參數與函數屬性的拼接形式,并通過解碼器得到存在的漏洞類型。
作為優選,步驟S1中,對字節碼智能合約翻譯為操作碼形式,按照操作碼執行規則構建程序控制流程調用圖,并在程序控制調用過程中收集每個函數的哈希值以及函數體的操作碼;同時將字節碼轉換為SSA形式的操作碼。
作為優選,步驟S2中,通過智能合約的地址在以太網瀏覽器Etherescan中查找到應用二進制接口,去除其中的函數名并轉換為張量形式。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于海南大學,未經海南大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202310584937.7/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種熔渣余熱回收工藝及回收裝置
- 下一篇:一種智能水下箱涵管道的吸淤機





