SoK 論文 SoK: Decentralized Finance (DeFi) Attacks
最後更新時間:Tue, 20 Sep 2022 20:19:53 UTC (2,188 KB)
2023/03/09 與 Ron 哥討論的統整:
Sok 做了很多統整、做了弱點掃描,但是沒有做到讓開發者在開發時期就避開可能產生漏洞的設計模式,目前就 sok 可以我們有機會做的主題:
1、看別人的survey 思考怎麼做 design pattern 才能讓 contract 安全
2、這篇論文是 2021 的,可以延伸思維、把2021之後的攻擊統整。(可能要花較多體力,而且新的 contract 可能把大多漏洞都避掉了)
這周先用以下方法快速累積閱讀論文量:
先利用 chat gpt 快速 survey reference paper 的摘要跟結論、看別人注重的方向、看別人做到甚麼程度,再看未來展望。除非確定那篇很重要,不然數學證明等細節可以先不用看。拿future work 來做。
優先閱讀 sok 的 [10] ~ [16]:
摘要
這段論文主要探討區塊鏈去中心化金融(DeFi)生態系統的現況和問題。作者提到,DeFi在短短四年內已累積超過2530億美元的峰值鎖定總值,但同時也伴隨著許多影響深遠的事件,從2018年4月30日到2022年4月30日,用戶、流動性提供者、投機者和協議運營商共損失了至少32.4億美元。作者指出,隨著區塊鏈的透明度和事件頻率越來越高,有兩個問題需要解決:我們如何系統地衡量、評估和比較DeFi事件?我們如何從過去的攻擊中學習,加強DeFi的安全性?
為了解決這些問題,作者引入了一個常見的參考框架,以系統地評估和比較DeFi事件,包括攻擊和事故。作者調查了77篇學術論文、30份審計報告和181起真實世界事件,並公開了數據,揭示了學術界和實踐界之間的一些差距。例如,很少有學術論文涉及“價格預言機攻擊”和“無需權限的交互”,而作者的數據表明,它們是兩種最常見的事件類型(分別占15%和10.5%)。此外,作者還調查了可能的防禦措施,發現:(i)103(56%)的攻擊未被原子地執行,為防禦者提供了拯救時間窗口;(ii)最先進的字節碼相似性分析至少可以檢測到31個易受攻擊/23個對抗合約;(iii)33(15.3%)的對手通過與集中式交易所的互動泄漏可能識別的信息。
結論
本文建立了一個 DeFi 參考框架,將 77 篇學術論文、30 份審計報告和 181 個事件進行分類,揭示了學術界和實踐界在防禦和檢查事件方面的差異。我們研究了比較受害者/對抗智能合約的字節碼、量化攻擊時間框架以及追蹤每個攻擊者的資金來源等潛在的防禦機制。我們的結果表明,DeFi 的安全性仍處於起步階段,許多潛在的防禦機制需要進一步研究和實施。
Future Works
看 Table III 的 Survey papers:
Security analysis methods on ethereum smart contract vulnerabilities: a survey
最後更新時間:Wed, 16 Sep 2020 22:16:24 UTC (527 KB)
摘要
智能合約是具備傳統應用程式和區塊鏈分佈式數據存儲功能的軟體程式。以太坊是一個知名的區塊鏈平台,支援智能合約。智能合約在關鍵的去中心化應用程式中作為自主代理,持有大量加密貨幣以進行可信任的交易和協議。自2016年至2018年間,數以百萬計的加密貨幣作為智能合約的資產被盜或凍結,例如DAO攻擊、Parity多重簽名錢包攻擊和整數下溢/上溢攻擊。這些攻擊是由設計和實現軟體代碼的技術漏洞結合而成的。然而,由於Solidity語言的腳本特性和區塊鏈的不可更新特性,還有許多較不嚴重的漏洞有待發現。因此,我們調查了16個智能合約程序中的安全漏洞,其中一些漏洞還沒有適當的解決方案。這項調查旨在從內部機制和軟體安全漏洞的角度識別以太坊智能合約中的關鍵漏洞。通過將16個以太坊漏洞與19個軟體安全問題相關聯,我們預測還有許多攻擊有待開發。我們還探索了許多軟體工具,以靜態分析、動態分析和形式驗證等方面檢測智能合約的安全漏洞。這項調查介紹了智能合約的安全問題以及可用的分析工具和檢測方法。我們還調查了工具或分析方法與智能合約的已識別安全漏洞之間的限制。
結論
智能合約在以太坊上已成為分散應用程式中數字化代理人的常用方式。為避免不必要的損失和惡意攻擊,必須確保智能合約的安全性。目前有幾種分析機制可用於測試和確保智能合約的正確性和非易受攻擊的模式。但智能合約的開發人員和使用者應注意這些分析方法的精度和性能。我們的調查確定了以太坊上智能合約中現有的漏洞,並將安全分析方法分為三種類型:靜態分析、動態分析和形式驗證。然後,我們比較了這三種方法在性能、發現漏洞的覆蓋範圍和準確性方面的差異。靜態和動態分析方法使用自動化工具,非常方便使用和分析易受攻擊的合約,但它們只能檢測其特定定義的易受攻擊模式。形式驗證方法使用定理證明器來使用其解釋的證據驗證智能合約中的正確性屬性。
Future Works
reentrancy
對 vul 分類、點出情境、
dao attack,近期的機制與過去不同
The Security Reference Architecture for Blockchains: Towards a Standardized Model for Studying Vulnerabilities, Threats, and Defenses
最後更新時間:Wed, 28 Oct 2020 13:25:39 UTC (1,750 KB)
摘要
區塊鏈是分散式系統,安全性是其成功的關鍵因素。然而,儘管其日益普及和採用,仍缺乏標準化的模型來研究與區塊鏈相關的安全威脅。為填補這一空白,我們的主要工作重點是系統化和擴展有關區塊鏈安全和隱私方面的知識,並為此領域的標準化做出貢獻。我們提出了區塊鏈安全參考架構 (SRA),採用了一種堆疊模型 (類似於 ISO/OSI),描述了各種安全和隱私方面的性質和層次。SRA包含四層:(1) 網絡層,(2) 共識層,(3) 複製狀態機層,以及(4) 應用層。在每一層中,我們識別了已知的安全威脅、其起源和對策,同時也分析了幾個跨層次的依賴關係。接著,為了讓實踐者更好地理解區塊鏈的安全方面,我們提出了區塊鏈特定版本的威脅風險評估標準ISO/IEC 15408,將堆疊模型嵌入到該標準中。最後,我們為區塊鏈平台和應用程序的設計者提供了一種設計方法,遵循SRA模型及其層次結構。
結論
本文針對區塊鏈系統的安全性知識進行系統化整理,並旨在建立一個標準化模型以研究漏洞和安全威脅。我們提出了一個基於堆疊模型的安全參考架構(SRA),包含四個層次,並在每個層次中調查了各種實例化的類別和選項,以及相關的安全影響和屬性。我們將特定的類別建模為漏洞/威脅/防禦圖表,並提供作為推斷所強加安全性方面的手段。接著,我們收集了一些實際發生的與區塊鏈有關的事件樣本,並使用我們提出的模型進行進一步分類。我們觀察到,在實際中發生的事件類型數量遠遠小於所描述的威脅數量,特別是在共識和應用層次。在應用層次中,大多數事件是由於外部或內部攻擊者利用集中式組件而導致的,而在共識層次中,大多數事件是由於51%攻擊暫時違反協議假設所致。最後,我們提供了一個針對區塊鏈平台和應用程序設計者的安全導向方法,尊重所提出的SRA。
Future Works
Exploring the Attack Surface of Blockchain: A Systematic Overview
最後更新時間:Sat, 6 Apr 2019 16:34:34 UTC (1,749 KB)
摘要
本論文系統性地探討區塊鏈技術的攻擊面,重點在於公共區塊鏈。為了達到這個目的,我們將攻擊表現歸因於以下三個因素:1)區塊鏈的密碼學構造,2)使用區塊鏈的分散式架構系統,以及3)區塊鏈的應用情境。對於每個因素,我們概述了幾種攻擊方法,包括私有礦業攻擊、51%攻擊、域名系統(DNS)攻擊、分散式拒絕服務(DDoS)攻擊、共識延遲(由於自私行為或分散式拒絕服務攻擊)、區塊鏈分支、孤立和陳舊區塊、區塊鏈資料庫、錢包竊取、智能合約攻擊和隱私攻擊。我們還探討了這些攻擊之間的因果關係,以展示各種攻擊向量如何相互關聯。本文的次要貢獻是概述了區塊鏈技術採取的有效防禦措施或研究人員提出的防禦措施,以減輕這些攻擊的影響並修補相關漏洞。
結論
在這篇論文中,我們探索了區塊鏈技術的攻擊面。我們將攻擊歸因於區塊鏈的加密構造、底層通信架構和應用場景。這樣做的目的是突出主要威脅和正在進行的防禦研究活動。我們認為,盡管目前已經存在防禦措施,仍然可以對區塊鏈發動各種攻擊,而其中一些攻擊可以用於促進其他攻擊的實施。通過概述這些攻擊和調查它們的對策,我們強調了需要追求更安全有效的區塊鏈使用的新研究方向。
Future Work
這篇 Future Work 都聚焦在基礎設施、Protocal。
A Survey on Ethereum Systems Security: Vulnerabilities, Attacks and Defenses
最後更新時間:Tue, 13 Aug 2019 06:15:41 UTC (514 KB)
摘要
本文探討區塊鏈技術,許多人相信它將成為金融應用領域的遊戲改變者。雖然第一代區塊鏈技術(即區塊鏈1.0)幾乎完全用於加密貨幣目的,但以以太坊為代表的第二代區塊鏈技術(即區塊鏈2.0)是一個開放且去中心化的平台,使得運行於區塊鏈之上的去中心化應用程式(DApps)成為可能。DApps 的豐富應用和語義無疑會引入許多安全漏洞,這在純加密貨幣系統(如比特幣)中是不存在的。由於以太坊是一個新的、複雜的系統,因此有必要從全面的角度對其進行系統性和全面的安全性了解,目前缺乏此類研究。據我們所知,本文所提供的調查報告,也可用作教學,填補了這一空白。特別是,我們對以太坊系統的三個方面進行了系統化的分析:漏洞、攻擊和防禦。我們獲得了有關漏洞根本原因、攻擊後果和防禦能力等方面的洞見,這為未來的研究方向提供了啟示。
結論
我們提供了一個有系統的調查,針對以太坊系統的安全性進行了分析,包括其應用程序、數據、共識和網絡層。我們從漏洞、攻擊和防御三個方面進行分析,並將它們相互關聯。我們不僅討論了漏洞的位置,還分析了它們的根本原因。我們對以太坊系統的攻擊和防御進行了系統化的分析。此外,我們將行業提出的最佳實踐系統化為一些指導原則,這些原則對實踐者來說可能更易於採用。我們提供了有關現有技術水平的見解,以及未來研究方向的展望。
Future Work
SoK: Decentralized Finance (DeFi)
最後更新時間:Thu, 15 Sep 2022 17:57:57 UTC (884 KB)
摘要
去中心化金融(DeFi)是一種區塊鏈驅動的點對點金融系統,正在快速增長。兩年前,DeFi系統中鎖定的總價值約為7億美元,現在截至2022年4月,已經達到約1500億美元。生態系統的狂熱演進使得理解這些系統的基本原理和安全風險變得具有挑戰性。在本篇知識體系統整理(SoK)中,我們沿著以下軸線條理化分DeFi生態系統:其基元、操作協議類型和安全性。我們區分技術安全和經濟安全,前者有健康的文獻,後者則幾乎未被探索,通過新模型將其聯繫起來,並綜合計算機科學、經濟學和金融學的見解。最後,我們概述了跨越這些安全類型的生態系統中的開放性研究挑戰。
結論
在這份知識體系統整理中,我們從 DeFi 樂觀主義者和悲觀主義者的兩個角度出發,系統性地研究了 DeFi 的運作。首先,我們列出了 DeFi 的基本構成部分,然後將 DeFi 協議按其提供的操作類型進行了分類。在區分與 DeFi 協議相關的不同類型信息後,我們提供了有關漏洞的工作定義。我們將經濟安全確立在技術安全的同等級別上,並創建了一種新的功能性風險分類方法。此外,我們還提供了這些風險的清晰定義,以及需要理解和防範這些風險的模型類型的見解。最後,我們引起了對需要全面理解技術和經濟風險的開放性研究挑戰的關注。雖然 DeFi 可能具有創建一個無需許可且非托管的金融系統的潛力,這是 DeFi 樂觀主義者提出的觀點,但開放的技術和經濟安全挑戰仍然存在。至少目前來看,DeFi 悲觀主義者的立場是牢固的:以強大和可擴展的方式解決這些挑戰是研究人員和 DeFi 從業者的中心挑戰。然而,最終,正是潛力和挑戰之間的融合——DeFi 樂觀主義者和 DeFi 悲觀主義者觀點之間的緊張關係——使 DeFi 成為一個值得研究的有價值和令人興奮的領域。
A survey of attacks on Ethereum smart contracts
摘要
智能合約是能夠在互不信任的節點網絡中被正確執行的計算機程序,無需外部可信任的權威機構。由於智能合約處理和轉移相當有價值的資產,除了確保它們被正確執行外,確保其實施對於旨在竊取或篡改資產的攻擊也至關重要。我們在迄今為止最為著名和使用的智能合約框架Ethereum中研究這個問題。我們分析了Ethereum智能合約的安全漏洞,提供了常見的編程陷阱分類,這些陷阱可能導致漏洞。我們展示了一系列利用這些漏洞的攻擊,使對手能夠竊取資產或造成其他損害。
結論
Verification of smart contracts: 近期有一些研究提出了工具,透過靜態分析合約程式碼來偵測漏洞。其中,Oyente [43] 工具會從合約的 EVM bytecode 中提取控制流圖,並對其進行符號執行,以偵測某些漏洞模式。特別是,該工具會考慮導致漏洞的模式,如 "例外錯誤" (例如,未檢查呼叫、發送和委派呼叫的返回值)、"時間限制" (例如,在條件表達式中使用區塊時間戳記)、"不可預測的狀態" 和 "重入攻擊"。
在 [26] 中提出的工具會將智能合約(Solidity 或 EVM bytecode)轉換為函數式語言 F* [53]。然後,在所得到的 F* 代碼上驗證各種性質。特別是,從 Solidity 合約獲得的代碼通過查找特定模式來檢查 "例外混淆" 和 "重入攻擊" 漏洞。從 EVM 獲得的代碼支持低層級分析,例如計算合約函數的 gas consumption。此外,給定一個 Solidity 程序和其聲稱的 EVM bytecode 編譯,該工具驗證這兩個代碼片段具有相等的行為。
這兩種工具都已在以太坊區塊鏈上發布的智能合約上進行實驗。這項大規模分析的結果顯示,安全漏洞非常普遍。例如,[43] 報告說,約有 28% 的分析合約可能包含 "例外錯誤" 漏洞。
[41] 中的工作使用 Isabelle/HOL 證明助手 [47] 驗證了一個特定的合約。更具體地說,分析的目標是由 Ethereum 名稱服務中的 "Deed" 合約的 Solidity 代碼編譯得到的 EVM bytecode。透過 Isabelle/HOL 證明的定理聲明,在調用合約時,只有其擁有者才能減少餘額。
Low-level attacks: 此外,除了涉及合約的攻擊之外,Ethereum 網絡本身也成為攻擊者的目標。攻擊利用了 EVM 規範層面的漏洞,並結合 Ethereum 客戶端的安全漏洞。例如,最近的一次拒絕服務攻擊利用了一個 EVM 指令,其在 gas 單位成本方面過低,與其執行所需的計算工作相比 [6]。攻擊者通過該指令向網絡洪水般地攻擊,導致其計算能力大幅降低,並使區塊鏈同步過程變得緩慢。與 DAO 攻擊的恢復類似,也通過分叉區塊鏈來解決這個問題[1, 10]。客戶端實現中的漏洞也可能成為攻擊的原因。最近的一份技術報告[57]分析了 Ethereum 官方客戶端。通過利用區塊傳播算法,他們發現 Ethereum 網絡可以被分成小的節點組:這樣,節點可以被迫接受攻擊者特別創建的區塊序列。
A Survey of Security Vulnerabilities in Ethereum Smart Contracts
最後更新時間:Fri, 14 May 2021 17:24:34 UTC (3,000 KB)
摘要
在本研究中,我們回顧現有文獻並廣泛分類區塊鏈應用程序。由於以太坊智能合約主要應用於電子商務應用程序中,我們認為這些應用程序更容易受到攻擊。在這些智能合約中,我們主要集中於識別程序員和智能合約用戶必須避免的漏洞。本文旨在通過分析過去的利用案例情景,解釋八種特定於區塊鏈技術應用層的漏洞。我們還回顧了一些可用的工具和應用程序,以檢測這些漏洞,從其方法和效果方面進行了說明。我們還調查了檢測這些安全漏洞的檢測工具的可用性和缺乏,以識別其中的一些漏洞。
討論
結論
本文介紹了對以太坊智能合約安全漏洞的分析,這些漏洞的真實世界利用案例以及其預防技術。我們的論文針對區塊鏈2.0應用中的八個安全漏洞,特別是以太坊智能合約。所討論的漏洞位於應用程序層級。因此,預防技術需要在編程層面進行修改。本文提供的研究分析和見解旨在引導未來在該領域的研究,以開發更強大的漏洞檢測工具。我們的分析基於該主題的不斷增長的學術文獻、智能合約程序員的討論論壇和網絡博客。
我:
對嚴重度做分析
加成:
ron: 歸類攻擊的類別與成因,找出最近的攻擊是否沒被 cover 到
survey attack 找出原因,看有沒有 paper 跟他相關。
挑選重點以金額排序
下筆前先想這篇研究的 contribution 是甚麼
跟程式漏洞有關的,可以套過往研究的 compiler、linter 來檢測他是否可以被預防的。
從甚麼角度切入一連串攻擊。