【技術實現步驟摘要】
本專利技術屬于區塊鏈領域,具體涉及一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法。
技術介紹
1、區塊鏈是在計算機網絡節點之間共享的分布式數據庫,以數字格式保存電子信息。與傳統數據庫不同,區塊鏈會以分組(塊)的形式收集信息,并且以時間順序將塊連接起來以確保數據可靠性。區塊鏈近年來引起了產業界的廣泛關注。由于區塊鏈系統的開放、去中心化和自治性,海量的區塊鏈數據為企業提供了巨大的商業價值和機遇。以商業交易數據為例,以往由于數據所有者的隱私或所有權問題,研究人員很難獲得真實的商業交易數據,然而,現有區塊鏈系統中的所有數據都是公開可用的,同時,由于區塊鏈系統的去中心化,無權限區塊鏈中的區塊鏈數據幾乎可以在各地被訪問,此外,區塊鏈的分布式共識也保證了區塊鏈數據的自治性。
2、以太坊支持圖靈完整的智能合約,智能合約可以理解為自動執行的合約,可將買賣雙方之間的協議條款直接寫進代碼邏輯,而代碼和其中包含的協議存在于一個分布式的區塊鏈網絡中。代碼能夠包含協議,即在滿足一定條件時自動執行提前預定好的操作,包括轉賬、做決策、與其他合約交互等。目前,有數以千計的智能合約已經部署在以太坊平臺上,以太坊上部署的智能合約數量仍在快速增長。
3、由于智能合約通常與加密貨幣交易相關聯,合約漏洞可能會導致嚴重的安全問題和經濟損失。
4、目前,針對智能合約已知漏洞檢測的研究主要集中在分析合約本身的執行流程上。具體而言,研究人員通常采用靜態分析與動態分析相結合的方法來識別潛在的安全漏洞。靜態分析方法側重于在不實際執行代碼的
5、盡管上述方法在一定程度上提高了智能合約的安全性,但仍存在漏洞檢測缺乏全面性和合約類別信息利用不足的問題。具體而言,現有的檢測方法往往過于關注合約代碼層面的分析,而忽視了對合約執行行為及其背后業務邏輯的深入理解,這可能導致某些隱蔽的漏洞未能被及時發現,尤其是在涉及復雜業務邏輯的智能合約中。此外,不同類型的智能合約(如erc-20代幣合約、去中心化交易所合約等)有著不同的設計目的和安全需求。然而,當前的研究較少考慮將合約的類別信息納入漏洞檢測過程中,從而影響了檢測結果的準確性。因此如何將合約代碼的執行流、合約執行時賬戶信息特征及合約類別特征充分運用在合約漏洞檢測中成為研究人員的熱點。
技術實現思路
1、本專利技術的目的是為解決現有智能合約漏洞檢測方法未考慮合約執行時賬戶信息特征以及合約類別特征,導致漏洞檢測的準確率低的問題,而提出了一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法。
2、本專利技術為解決上述技術問題所采取的技術方案是:一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,所述方法具體包括以下步驟:
3、步驟1、將以太坊solidity智能合約代碼中的變量和函數分別作為合約圖的節點,將以太坊solidity智能合約代碼中的執行流作為合約圖的邊,得到構建出的合約圖;
4、步驟2、將合約類別和合約執行時的賬戶信息特征作為全局虛擬節點添加到合約圖中,將合約圖中的其它各個節點分別與全局虛擬節點相連,得到更新后的合約圖;
5、步驟3、對合約圖進行收縮,得到收縮后的合約圖;再對收縮后的合約圖中的節點特征和邊特征進行轉換,得到轉換后的節點特征和邊特征;
6、步驟4、將轉換后的節點特征和邊特征輸入漏洞檢測模型中,漏洞檢測模型內包括圖注意力模塊、特征匯聚模塊以及分類器;
7、圖注意力模塊用于對轉換后的節點特征和邊特征進行更新,得到更新后的節點特征和邊特征;
8、特征匯聚模塊用于對更新后的節點特征和邊特征進行匯聚處理,得到匯聚的節點特征和邊特征;
9、分類器用于對匯聚的節點特征和邊特征進行處理,得到智能合約漏洞檢測結果。
10、進一步地,所述合約圖的節點包括主節點、輔助節點和回調節點;
11、所述主節點包括與轉賬操作相關的變量和函數、與時間戳相關的函數和變量、與循環相關的函數和變量、參與運算的數字變量以及參與運算的函數的出參以及入參;
12、所述輔助節點包括除主節點和回調函數之外的變量和函數;
13、所述回調節點包括回調函數。
14、進一步地,所述合約圖的邊包括控制流邊、數據流邊、前向邊和回調邊。
15、進一步地,所述對合約圖進行收縮,具體為:
16、對于合約圖中的任意一個輔助節點,將該輔助節點收縮到與該輔助節點最近的主節點,對于合約圖中的任意一個回調節點,將該回調節點收縮到與該回調節點最近的主節點;
17、收縮后的主節點特征為:
18、vi=vi+∑iai+∑ifi
19、其中,vi是原始合約圖中第i個主節點的特征,vi是收縮后的合約圖中第i個主節點的特征,∑iai表示收縮到第i個主節點的全部回調節點的特征和,∑ifi表示收縮到第i個主節點的全部輔助節點的特征和。
20、進一步地,所述對收縮后的合約圖中的節點特征和邊特征進行轉換,具體為:
21、采用word2vec編碼將收縮后合約圖中的節點特征、邊特征以及全局虛擬節點中的賬戶信息特征轉換為向量特征;
22、將全局虛擬節點中的合約類別特征轉換為one-hot編碼。
23、進一步地,所述圖注意力模塊內包括并行的k頭圖注意力網絡。
24、進一步地,所述步驟4中,轉換后的邊特征的更新方法為:
25、對于收縮后合約圖中的第j條邊:
26、步驟s1、計算中間變量ejn:
27、ejn=α(wkej,wken)
28、其中,wk是第k頭圖注意力網絡的權重矩陣,α表示權重向量,ej是轉換后第j條邊的特征,en是轉換后第n條邊的特征,n=j-1或j+1;
29、則注意力分數αjn為:
30、αjn=softmax(ejn)
31、其中,softmax(·)是激活函數;
32、步驟s2、計算中間變量ejm和ej(m+1):
33、ejm=α(wkej,wkρvm)
34、ej(m+1)=a(wkej,wkρvm+1)
35、其中,vm和vm+1是第j條邊連接的兩個節點的轉換后特征,ρvm表示vm的映射后特征,ρvm+1表示vm+1的映射后特征;
36、則注意力分數αjm和αj(m+1)為:
37、αjm=softmax(ejm)
38、αj(m+1)=softmax(ej(m+1))
39、步驟s3、計算中間變量eju:
40、eju=α(wkej,wkρ'u)
41、其中,ρ'u表示u的映射后特征;
4本文檔來自技高網...
【技術保護點】
1.一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述方法具體包括以下步驟:
2.根據權利要求1所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述合約圖的節點包括主節點、輔助節點和回調節點;
3.根據權利要求2所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述合約圖的邊包括控制流邊、數據流邊、前向邊和回調邊。
4.根據權利要求3所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述對合約圖進行收縮,具體為:
5.根據權利要求3所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述對收縮后的合約圖中的節點特征和邊特征進行轉換,具體為:
6.根據權利要求5所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述圖注意力模塊內包括并行的K頭圖注意力網絡。
7.根據權利要求6所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述步驟4
8.根據權利要求7所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述步驟4中,轉換后的節點特征的更新方法為:
9.根據權利要求8所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述特征匯聚模塊對更新后的節點特征和邊特征進行匯聚處理,得到匯聚的節點特征和邊特征;具體為:
10.根據權利要求9所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述分類器用于對匯聚的節點特征和邊特征進行處理,得到智能合約漏洞檢測結果,具體為:
...【技術特征摘要】
1.一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述方法具體包括以下步驟:
2.根據權利要求1所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述合約圖的節點包括主節點、輔助節點和回調節點;
3.根據權利要求2所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述合約圖的邊包括控制流邊、數據流邊、前向邊和回調邊。
4.根據權利要求3所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述對合約圖進行收縮,具體為:
5.根據權利要求3所述的一種面向智能合約的全局特征增廣的圖注意力網絡漏洞檢測方法,其特征在于,所述對收縮后的合約圖中的節點特征和邊特征進行轉換,具體為:
6.根據權利要求5所述的一種面向智能合約的全局特征...
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。