[發明專利]一種基于圖匹配網絡的智能合約龐氏騙局檢測方法及系統有效
| 申請號: | 202110302875.7 | 申請日: | 2021-03-22 |
| 公開(公告)號: | CN113127933B | 公開(公告)日: | 2023-04-07 |
| 發明(設計)人: | 龔曉慶;薛永康;李笑;張成;葉貴鑫;湯戰勇;房鼎益 | 申請(專利權)人: | 西北大學 |
| 主分類號: | G06F21/64 | 分類號: | G06F21/64;G06N3/04;G06N3/084;G06N20/00;G06F16/27 |
| 代理公司: | 西安恒泰知識產權代理事務所 61216 | 代理人: | 趙中霞 |
| 地址: | 710069 *** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 匹配 網絡 智能 合約 騙局 檢測 方法 系統 | ||
本發明公開了一種基于圖匹配網絡的智能合約龐氏騙局檢測方法及系統,該方法獲取龐氏騙局數據集,龐氏騙局數據集包括多個智能合約地址、智能合約及其對應的標簽,為智能合約字節碼構造控制流圖,利用深度學習中的圖匹配網絡技術,訓練神經網絡,為智能合約靜態審計提供技術支持,縮小審計的范圍,減少了用戶和監管人員發現惡意合約的時間,而且漏報率和誤報率較低。本發明基于開源代碼數據集,使用靜態審計技術。
技術領域
本發明屬于智能合約審計領域,涉及智能合約的圖表示法和深度學習技術中的圖匹配網絡。該檢測方法可以直接應用于智能合約中的龐氏騙局檢測,可以自動對智能合約進行龐氏騙局的檢測,判斷智能合約是否是龐氏騙局,為后續智能合約靜態審計的研究提供了技術支持。
背景技術
智能合約中的龐氏騙局可能導致安全問題,造成用戶的財產損失,每年以太坊中龐氏騙局的金額可達百萬美元。部分合約可以通過各種開源的工具檢測出其中的龐氏騙局,而仍有一部分騙局被隱藏起來,導致檢測工具檢測失敗。龐氏騙局以高利潤廣泛吸引平臺投資者,制造賺錢的假象進而騙取更多的投資。這些詐騙合約在財務和平臺上都會產生災難性的影響。這些騙局通常是由詐騙者精心設計并隱藏在合約中的,并且區塊鏈技術在某種程度上處于法律體系的灰色地帶,沒有完善的法律約束,并且由于其匿名性的特點,在詐騙發生后無法追查和制裁。
智能合約靜態審計的是網絡安全的一個基本問題,對問題合約的挖掘和發現也成為網絡安全的熱門問題之一。目前已有的龐氏騙局檢測方法分為基于規則的檢測和基于機器學習的檢測方法,在全球網絡安全競爭日益激烈的情況之下,智能合約靜態審計技術也在不斷智能化,集中體現為檢測方法更多樣化、技術形態更豐富,以及引入機器學習輔助甚至完全替代人工分析。
雖然已有多種基于規則的龐氏騙局檢測方法和基于機器學習的龐氏騙局檢測方法,但是前者由于規則的不全面性,無法識別出較復雜的龐氏騙局且誤報率較高;而后者由于簡單的將指令頻率作為檢測特征,其特征對智能合約的語義表達不完整使得檢測效果提升有限。隨著近些年開源代碼庫的廣泛使用和圖神經網絡的迅速發展,使用數據驅動技術研究程序特性已成為可能。
在基于規則的龐氏騙局檢測方法中,核心技術是智能合約的表示。MassimoBartoletti等人提出了一種字節碼文件克隆檢測方法,使用蒙特卡羅算法來估計任意兩個合約之間的歸一化編輯距離,再根據編輯距離來判斷是否是龐氏騙局。這種基于文本的合約檢測方法容易實現且開銷很小,但是缺點也很明顯:基于規則的檢測會丟失大量信息,僅能檢測到部分語法結構的相似性,并不能很好的處理語義相似。在機器學習的龐氏騙局檢測方法中,核心技術是智能合約中龐氏騙局相關特征的提取。中山大學的Weili?Chen團隊提出了一種基于特征提取的合約檢測方法。手動分析合約的賬戶信息與交易流,提取賬戶特征,交易特征與代碼特征,采用XGBoost對智能合約的賬戶和代碼進行分類,檢測是否為龐氏騙局。但是基于提取特征的分類方法還是會不可避免的丟失一些信息,并且僅通過opcode的頻率來檢測代碼特征并不能很好的把握合約語義。而文章中提到的賬戶信息則需要分析賬戶的資金流等特征,在出現龐氏騙局交易之后,與龐氏騙局相關的賬戶特征才會出現,因此無法在合約部署之初阻止騙局發生。
在智能合約龐氏騙局檢測的前沿領域,將機器學習方法引入龐氏騙局檢測時,通常是將智能合約的源碼或字節碼視作文本字符串,提取出可疑代碼的文本或數字特征,然后輸入進機器學習模型中。但是智能合約的源代碼和字節碼具有結構性,代碼的本質并不是字符串,而是一個具有復雜拓撲的數據結構,字符串只是對這種數據結構的一種編碼,在編譯的過程中,首先要把代碼的字符串解析為這種數據結構,之后才能進行語義分析、檢查等過程。將源代碼字符串解析為這種數據結構需要對代碼進行詞法分析、語法分析,通常用控制流圖(Control?Flow?Graph,CFG)來表示這種數據結構。用字符串來表示智能合約會損失掉很多結構信息,同時字符串也很難表達出智能合約的語法信息和語義信息。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于西北大學,未經西北大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110302875.7/2.html,轉載請聲明來源鉆瓜專利網。





