Concepts de base
為了應對智慧合約中日益增長的惡意意圖風險,本文提出了一種名為 SMARTINTENTNN 的深度學習模型,用於自動檢測智慧合約開發者的惡意意圖,並有效保護使用者免受加密資產損失。
Traduire la source
Vers une autre langue
Générer une carte mentale
à partir du contenu source
Deep Smart Contract Intent Detection
本研究論文題為「深度智慧合約意圖檢測」,作者為黃有為、方森、李建文、陶家春、胡斌和張濤,旨在探討如何利用深度學習技術自動檢測智慧合約中開發者的惡意意圖。
研究背景
隨著 Web3 的興起,去中心化應用程式 (DApps) 在區塊鏈上的應用日益廣泛。智慧合約作為 DApp 開發的基石,也面臨著與傳統電腦程式類似的安全風險,包括外部攻擊和內部風險。外部攻擊主要指駭客利用智慧合約漏洞發起的攻擊,而內部風險則源於開發者惡意設計和嵌入的程式碼。
研究動機
由於智慧合約通常與具有真實價值的加密貨幣掛鉤,開發者惡意意圖帶來的損失可能非常巨大。現有的智慧合約安全審計方法主要依賴人工審計,成本高昂且效率低下。因此,開發自動化意圖檢測方法對於保護使用者免受惡意行為侵害至關重要。
研究方法
SMARTINTENTNN 模型由三個核心組件組成:
智慧合約嵌入:利用預先訓練的通用句子編碼器 (USE) 將合約程式碼轉換為嵌入向量,捕捉程式碼的語義資訊。
意圖突顯:使用 K-均值聚類模型識別和突顯具有強烈意圖特徵的程式碼片段,以便模型更好地學習。
多標籤分類:將突顯後的資料輸入基於雙向長短期記憶網路 (BiLSTM) 的深度神經網路,進行多標籤分類,識別不同的惡意意圖。
數據集和評估
研究團隊使用來自幣安智慧鏈 (BSC) 的超過 40,000 個智慧合約構建了一個全面的數據集,並將其分為訓練集和評估集。實驗結果表明,SMARTINTENTNN 在檢測十種類型的惡意意圖方面表現出色,其 F1 分數達到 0.8633,優於傳統深度學習模型和先進的生成式大型語言模型 (LLM)。
研究貢獻
本研究的主要貢獻包括:
首次提出利用深度學習模型檢測智慧合約開發者意圖的方法。
構建了一個包含十種類型惡意意圖的智慧合約數據集。
開發了 SMARTINTENTNN 模型,並在實驗中驗證了其有效性。
研究結論
SMARTINTENTNN 模型為智慧合約安全審計提供了一種高效自動化的解決方案,有助於及早發現和防範開發者惡意行為,保障使用者加密資產安全。
Stats
根據 Chainalysis 的 2022 年加密犯罪報告,加密貨幣詐騙者已從受害者手中竊取了約 78 億美元的加密貨幣,其中超過 28 億美元來自地毯式撤資。
與 2020 年的數據相比,2021 年的損失激增了 82%。
HONEYBADGER 的進一步調查顯示,690 個蜜罐智慧合約為其創建者積累了超過 90,000 美元的利潤。
在超過 40,000 個智慧合約的數據集中,最常見的意圖是 Reflect,出現在 33,268 個實例中,佔所有意圖的 37.5%。
其次是 Fee,佔 26.86%,MaxTX 佔 13.76%。
出現次數最少的意圖是 MaxSell,僅出現在 68 個實例中,僅佔數據集的 0.05%。
SMARTINTENTNN 的 F1 分數為 0.8633,準確率為 0.9647,精確率為 0.8873,召回率為 0.8406。
使用 LSTM 時,使用意圖突顯模型 H16 (µ = 16) 的變體的 F1 分數比非突顯模型提高了 5.20%。
對於 BiLSTM 變體,引入 H2 (µ = 2) 會導致增加 3.00%,而 µ = 16 時,這一改進會上升到 5.71%。
Reflect、MaxTX 和 Fee 三種意圖的 F1 分數最高,分別為 0.98、0.88 和 0.87,展現出出色的檢測性能。
MaxSell 的 F1 分數最低,為 0.57,表明檢測這種意圖的性能相對較差。
Questions plus approfondies
隨著區塊鏈技術的發展,未來會出現哪些新型的智慧合約惡意意圖,以及如何應對這些新威脅?
隨著區塊鏈技術的發展,預計未來會出現以下新型智慧合約惡意意圖:
1. 更加隱蔽的惡意意圖: 惡意開發者可能會利用更為複雜的程式碼混淆技術、程式碼邏輯漏洞,以及新型態的程式碼設計模式來隱藏惡意意圖,使得傳統的程式碼分析方法難以察覺。
應對方法: 開發更先進的程式碼分析技術,例如基於深度學習的程式碼語義分析、基於形式化驗證的程式碼邏輯驗證等,以識別隱藏的惡意意圖。同時,加強對新型態程式碼設計模式的研究,建立更全面的惡意意圖模式庫。
2. 針對跨鏈交互的攻擊: 隨著跨鏈技術的發展,攻擊者可能會利用跨鏈交互過程中的安全漏洞,發起針對多個區塊鏈的攻擊,例如盜取跨鏈橋接器中的資產、操縱跨鏈預言機等。
應對方法: 加強對跨鏈技術的安全研究,制定跨鏈交互的安全標準和規範。開發針對跨鏈交互的安全性分析工具,例如跨鏈交易追蹤工具、跨鏈合約漏洞掃描工具等。
3. 利用人工智慧技術的攻擊: 攻擊者可能會利用人工智慧技術,例如強化學習、生成對抗網路等,自動化地生成惡意智慧合約、尋找智慧合約漏洞,以及發起更具針對性的攻擊。
應對方法: 開發基於人工智慧的智慧合約安全防禦系統,例如利用機器學習技術識別惡意合約、利用強化學習技術自動化地修復合約漏洞等。同時,加強對抗性機器學習的研究,提高模型的魯棒性和安全性。
4. 針對去中心化金融(DeFi)的攻擊: DeFi 的快速發展也為攻擊者提供了新的攻擊面。攻擊者可能會利用 DeFi 協議中的漏洞,例如閃電貸攻擊、預言機操控等,竊取用戶資產。
應對方法: 加強對 DeFi 協議的安全性審計,及時發現和修復漏洞。開發針對 DeFi 安全風險的監控和預警系統,例如監控 DeFi 協議中的可疑交易、預警潛在的攻擊行為等。
5. 社會工程學攻擊: 攻擊者可能會利用社會工程學手段,例如偽造身份、散佈虛假資訊等,誘騙用戶參與惡意智慧合約交互,從而竊取用戶資產。
應對方法: 加強對用戶的區塊鏈安全教育,提高用戶的安全意識和防範能力。開發針對社會工程學攻擊的防禦機制,例如建立去中心化的身份驗證系統、過濾和屏蔽虛假資訊等。
僅僅依靠程式碼分析是否足夠?是否應該將開發者的背景、行為等因素納入智慧合約安全評估體系?
僅僅依靠程式碼分析不足以完全保障智慧合約的安全性。雖然程式碼分析可以有效地識別程式碼中的漏洞和惡意意圖,但它無法完全理解開發者的真實意圖,也無法預測開發者在未來可能採取的惡意行為。
因此,將開發者的背景、行為等因素納入智慧合約安全評估體系是非常必要的。例如:
開發者背景調查: 可以調查開發者的身份資訊、開發經驗、信譽記錄等,以評估開發者的可信度。
開發者行為分析: 可以分析開發者在程式碼提交、版本更新、社群互動等方面的行為模式,以識別潛在的風險行為。
社群評價: 可以參考其他開發者和用戶對開發者及其項目的評價,以輔助判斷開發者的可信度。
將開發者因素納入安全評估體系可以更全面地評估智慧合約的安全性,並有效地防範惡意開發者。
如果將 SMARTINTENTNN 模型應用於其他程式碼安全領域,例如傳統軟體漏洞檢測,是否也能取得良好的效果?
SMARTINTENTNN 模型的核心是利用深度學習技術分析程式碼的語義資訊,並識別程式碼中潛在的惡意意圖。這種方法在傳統軟體漏洞檢測領域也具有應用潛力,但需要進行一些調整和優化:
1. 訓練資料集: 需要收集大量的傳統軟體程式碼,並標註程式碼中的漏洞類型,用於訓練 SMARTINTENTNN 模型。
2. 程式碼特徵: 傳統軟體程式碼的語法和語義與智慧合約程式碼存在差異,需要調整 SMARTINTENTNN 模型的輸入特徵,以適應傳統軟體程式碼的特點。
3. 漏洞類型: 傳統軟體漏洞的類型和表現形式與智慧合約漏洞存在差異,需要調整 SMARTINTENTNN 模型的輸出層,以適應傳統軟體漏洞的分類。
總體而言,SMARTINTENTNN 模型的核心理念在傳統軟體漏洞檢測領域是適用的。通過適當的調整和優化,SMARTINTENTNN 模型有望在傳統軟體漏洞檢測領域取得良好的效果。