header-langage
简体中文
繁體中文
English
Tiếng Việt
한국어
日本語
ภาษาไทย
Türkçe
掃碼下載APP
Partnered With:

Raft Finance被偷走360萬美元,DeFi漏洞的數學難題

閱讀本文需 8 分鐘
Raft Finance遭遇360萬美元竊盜揭示了DeFi在精準度損失問題上的挑戰。
原文標題:《DeFi protocols continue to get hacked due to same basic maths problem》
原文作者:Osato Avan-Nomayo,DLNews
原文編譯:Luccy,BlockBeats

< /blockquote>
編按:
BlockBeats 訊息,11 月11 日,穩定幣協議Raft 遭受攻擊,受損金額約330 萬美元。攻擊者鑄造了穩定幣 R,然後將其出售以耗盡自動做市商的流動性,同時從 Raft 中提取抵押品。 11 月17 日,Raft 表示,將向受攻擊事件影響用戶補償396 萬枚DAI。

DLNews 駐尼日利亞的 DeFi 記者 Osato Avan-Nomayo 分析指出,Raft Finance 被盜暴露出 DeFi 建設者們正面臨一個棘手的數學挑戰。隨著逼近法漏洞的頻傳,駭客趁機從協議中竊取資金。儘管多次審計,類似的漏洞已經影響 Balancer、Onyx 等 DeFi 協議。

Osato 認為執行複雜數學計算的 DeFi 環境中可能出現的捨入誤差和精度喪失。這種數學挑戰引發了對 DeFi 安全性的擔憂,尤其是在逼近法不經防範漏洞的情況下。


DeFi 建造者面臨數學難題——如果他們在智能合約中使用的逼近法不防範漏洞,駭客就能從他們的協議中竊取資金。


上週,駭客從穩定幣協議 Raft Finance 中竊取了 360 萬美元。駭客利用閃電貸發動了一次攻擊,其原理是利用了 Raft 智能合約中的精確度損失漏洞。這類漏洞是由於數位逼近時產生的捨入錯誤導致的,使得駭客能夠獲得額外的份額代幣。


儘管 Raft 經歷了 Trail of Bits 和 Hats Finance 等公司的多次審計,但這個漏洞並沒有被修補。


Raft Finance 的被駭事件只是一系列 DeFi 竊盜行為中的最新一例,攻擊者針對的是精確度損失漏洞。像 Balancer 和 Onyx 這樣的 DeFi 協定也曾經受到過此類攻擊。實際上,像 Onyx 一樣,DeFi 借貸協議 Compound 的分叉版本也被發現在其程式碼中包含了捨入錯誤,這些錯誤被利用,就像 Hundred Finance 和 Midas Capital 的情況一樣。


逼近法或說舍入是使用一個接近但與原始數字的真實值不完全相同的數字,其可能導致舍入誤差和精度喪失,尤其是在執行大量數學計算的複雜DeFi 協議中。


「我確實認為 DeFi 在整數舍入方面面臨數學挑戰,」智能合約開發者兼安全研究員泰勒韋伯告訴 DL News。


在逼近法造成的誤差數量不多時並不是問題,但當誤差不斷累積到足夠大的程度時,黑客就會像他們在無數次攻擊中所做的那樣利用這些誤差值。


「一些DeFi 應用的高度動態和創新行為可能使攻擊者將精度損失放大到相當大的程度,」匿名的加密審計公司Trust Security 負責人Trust 告訴DL News。


「閃電貸機制與高流動性 AMM 的結合使得駭客能夠大規模利用理論上的『價值喪失』問題,」Trust 補充道。


難以偵測


在加密領域,舍入錯誤和精度喪失是普遍存在的,而這背後有幾個原因。


主要原因是支援加密的計算邏輯與分數不相容。


「EVM 幾乎與其他任何計算架構類似,即不支援以分數形式進行計算,因此必然會損失精度,」Trust 說。


同時,代幣的小數點位數各不相同。例如,USDC 有六位小數,而 DAI 有 18 位。在進行兩種代幣交換的交易池中,必須設計某種形式的精確度縮放以考慮不同的小數點位數。精度縮放涉及調整次要資產的小數點位數以匹配主要資產的小數點位數。


此外,與其他算術問題一樣,捨入錯誤,是智慧合約稽核員極難偵測到的。實際上,這些漏洞在審計過程中經常被忽略,導致即使經過了大量審計的協議仍然會成為駭客利用此漏洞的受害者。


「一種文化的改變」


Raft Finance 的駭客事件引發了對認真對待舍入錯誤的討論。


「我認為問題不在於我們受到EVM 的整數限制,而是在於開發人員和審計員如何處理舍入錯誤類別的漏洞,」Webb說。


Webb 呼籲進行「文化改變」,希望 DeFi 的建造者和審計員能像對待遞歸呼叫漏洞一樣,對待舍入錯誤。


智慧合約稽核員 Joe Dakwa 告訴 DL News,健全的單元測試和模糊測試應成為標準最佳實務。模糊測試是一種可以在智能合約上進行的測試,其中將隨機資料輸入到程式碼中,以查看是否出現問題。


安全專家表示,類似模糊測試的不變性測試也應加入測試組合。


「原文連結」


歡迎加入律動 BlockBeats 官方社群:

Telegram 訂閱群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方帳號:https://twitter.com/BlockBeatsAsia

举报 糾錯/舉報
選擇文庫
新增文庫
取消
完成
新增文庫
僅自己可見
公開
保存
糾錯/舉報
提交