KeyFrame內部研究專用

How to Understand a Smart Contract Hack, Daniel Von Fange - DeFi Security Summit 2022

DeFi Security Summit - DSS·10月20日週四·9 min英文

三句話摘要

通過分析真實黑客攻擊案例來反向工程漏洞,提升智能合約安全防禦能力。 從真實黑客攻擊的執行追踪反向分析是最有效的安全學習方式,每次分析都能為自己的系統增加一層真實的防禦機制。 敵人是最好的老師——審計工具只能找到 50-80% 的漏洞,真正被利用的漏洞需要從真實攻擊中學習。攻擊者有完整環境複製與無限練習的優勢,防禦者則能追蹤所有執行軌跡與操作碼。

重點整理

重點
  • 1

    敵人是最好的老師——審計工具只能找到 50-80% 的漏洞,真正被利用的漏洞需要從真實攻擊中學習。攻擊者有完整環境複製與無限練習的優勢,防禦者則能追蹤所有執行軌跡與操作碼。

  • 2

    簡化分析框架——黑客攻擊涉及多層協議與複雜資金流,但核心只需關注四個要素:攻擊合約、受害合約、資金流向、執行追踪。從執行追踪開始最有效,因為它提供全局視圖。

  • 3

    標準化攻擊流程——典型步驟為:①取得初始資金(閃電貸等)②準備工作③讓受害合約進入錯誤狀態④利用該錯誤狀態⑤執行撤銷。可跳過最後一步以減少代碼審查量。

  • 4

    從異常到根因——在執行追踪中尋找「金額突然跳躍」等異常跡象,定位問題發生的精確時刻,再回到受害合約代碼找出原因。熟練後能直接從執行流程識別常見模式(如重入問題)。

實用技巧與重點

乾貨
  • 推薦工具:ethtx.info(講者最愛)、ddob、BlockSEC Team、本地分叉測試工具
  • 分析工具:ETH Brownie(用於合約分叉測試與實時交互,相比 Hardhat 需要輸入更少)
  • 攻擊報告準確度:大多正確,但偶爾有誤,許多錯誤源自未驗證轉發的推文
  • 損失閾值:著眼百萬美元以上的以太坊主網攻擊案例
  • 分析時間:持續練習能顯著加快分析速度
  • 防禦增量:每次分析增加一層能阻擋 90% 的防禦機制

結論

結論

從真實黑客攻擊的執行追踪反向分析是最有效的安全學習方式,每次分析都能為自己的系統增加一層真實的防禦機制。

完整解析

詳細

安全研究中有個普遍現象:外部審計員與安全工具通常只能發現 50-80% 的漏洞。真正威脅生命周期的漏洞往往是那些突破所有防禦層的設計缺陷,這些只能從現實攻擊中學習。講者 Daniel Von 分享了他近兩年來的實踐方法:每當以太坊主網出現百萬美元級別的黑客攻擊,他就會立即進行深度分析,目標是理解攻擊如何繞過所有防禦,然後檢查自己項目代碼是否存在同樣漏洞。這個反覆練習的過程讓他的分析速度越來越快。

講者將攻擊者與防禦者的能力進行類比。攻擊者像在計劃搶銀行的罪犯,可以複製整個環境、進行無限次練習、確保 95-99% 成功率才動手。而防禦者(尤其是事後分析者)則擁有完整的執行追踪、每一個操作碼、每一個內存訪問、每一個存儲狀態改變的記錄——這是一份無法偽造的完整現場。

分析攻擊時的關鍵是簡化框架。實際攻擊通常涉及多個自動售貨機、第三方 DeFi 協議、閃電貸等複雜網絡,但核心要素只有四個:攻擊合約、受害合約、資金流向、執行追踪。從執行追踪開始是最有效的切入點,因為它能立刻給出全局視圖。推薦工具包括 ethtx.info(講者最偏好)、ddob、BlockSEC Team 等,或者在本地對合約進行分叉,在之前的區塊高度重現整個攻擊過程。

典型攻擊遵循可預測的步驟:第一,攻擊者通過閃電貸或其他機制獲取初始資金;第二,進行準備工作(如部署輔助合約);第三,將受害合約置於某個異常狀態;第四,利用這個錯誤狀態進行提取;第五,執行整個回滾過程清理痕跡。實際分析時可以跳過第五步,大幅減少需要審查的代碼量。

分析的訣竅是尋找異常點。在執行追踪中觀察資金數量——也許一開始只有幾千美元,忽然跳到百萬級別,這個跳躍點就是問題所在。定位到異常後,回到受害合約代碼追蹤原因。經過足夠練習,你會認出常見模式:看到某種執行流程就能直接判斷「這是重入問題」。每分析完一次攻擊,你都能為自己的系統新增一層防禦。

講者也提到一個冷門場景:有時攻擊在發生前被發現——攻擊者部署了攻擊合約,社區發現並制止。這種情況下沒有執行追踪、沒有資金流、甚至難以確認受害者身份,分析難度大幅提升,需要直接逆向編譯後的攻擊合約代碼。

最後,他強調攻擊報告有時出錯,錯誤往往源自不驗證就轉發的推文導致誤傳。親自查看交易細節至關重要。通過這種方法分析真實攻擊,不僅獲得最高質量的安全教育,還能真正感受代碼中的「不良氣味」——看過類似攻擊後,你就知道自己代碼裡哪些寫法該避免。

關鍵時刻

Pipeline v2

帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。

事實查核

Pipeline v2

說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

更多「Web3 安全」的內容

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️
8 min
Web3 安全英文8月14日

IF YOU OWN XRP YOU NEED TO SEE THIS PRICE MANIPULATION! ⚠️

Zach Humphries

  • 機構支撐的積極意義:價格操縱常被視為負面,但Ripple掌握大量XRP供應與escrow,在熊市期間提高價格下限,實際上替零售投資者鎖定了低風險的積累區間,這不是剝削而是市場穩定機制。
  • 歷史模式驗證:2024年7月至11月XRP在50美分附近橫盤整理,低點觸及42美分(wick),高點65美分;隨後11月5日至12月5日單月上漲456%,年底到2025年初累計漲幅534%,這個歷史周期正在1美元價位重演。
  • 比特幣聯動邏輯:講者在4-5月就預測「如果比特幣跌至60k以下,XRP會跌至1美元或更低」,此預測精準應驗,反映出熊市中兩者的明確連動關係。
Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady
72 min
Web3 安全英文PODCAST8月5日

Minimmit, Multimmit and the New Consensus Frontier with Patrick O'Grady

Zero Knowledge

  • 反向 Linux 架構:Commonware 刻意暴露棧各層級控制,讓開發者自訂執行環境、共識機制、密碼學實現,而非像 Cosmos SDK 只允許應用層以上定制。2-3 個月能組裝一條定製鏈,代價是額外深度但回報是長期維護成本降低及效能優化彈性。
  • 容錯假設的典範轉移:Alpine Glow(Solana 2025)實現單輪投票定終的關鍵是將容錯預算分離為獨立的 Byzantine 和 Crash 容限。傳統系統把 33% 當一個整體預算;新模型允許 20% 惡意加 20% 崩潰,打破了 PBFT 理論界線,釋放單輪設計空間。
  • Minimet 與 Multimet 的遞進:Minimet 是 5F+1 設定下的乾淨構造,實現更短視圖延遲;Multimet(剛發布)進一步允許並行 mini-commits 且驗證者可推翻領導者審查,使用者交易在全球分布式網路達到 200-300 毫秒端到端定終。
Private Information Retrieval (PIR) with Alex Hoover
64 min
Web3 安全英文PODCAST7月29日

Private Information Retrieval (PIR) with Alex Hoover

Zero Knowledge

  • PIR 保護的是訪問模式,不是資料本身
  • PIR 與加密不同,它關注的是隱藏「客戶端查詢了什麼」,而非「資料是否加密」。在公開資料庫(如區塊鏈)上,客戶端可以在不洩露查詢對象給伺服器的情況下檢索特定條目,解決了輕量級客戶端的隱私和防審查問題。
  • 客戶端預處理方案是突破瓶頸的關鍵