-
bitcoin $99097.524802 USD
-3.18% -
ethereum $3190.458287 USD
-7.51% -
tether $0.999648 USD
-0.03% -
xrp $2.309178 USD
-4.17% -
bnb $921.186688 USD
-3.96% -
solana $144.106489 USD
-6.12% -
usd-coin $0.999837 USD
-0.02% -
tron $0.291415 USD
-1.32% -
dogecoin $0.163935 USD
-4.54% -
cardano $0.526269 USD
-4.77% -
hyperliquid $37.814277 USD
-2.92% -
bitcoin-cash $509.826264 USD
-1.40% -
chainlink $14.448349 USD
-5.83% -
stellar $0.267630 USD
-4.87% -
unus-sed-leo $9.178879 USD
0.52%
什麼是重入攻擊以及它如何利用智能合約漏洞?
Re-entrancy attacks exploit poorly ordered state changes in smart contracts, allowing hackers to recursively withdraw funds before balances update.
2025/11/12 19:59
了解智能合約中的重入攻擊
1. 重入攻擊是一個嚴重的安全漏洞,針對區塊鏈平台上的智能合約,特別是基於以太坊的智能合約。當惡意合約在初始執行完成之前反復回調受害者合約時,就會發生此漏洞。攻擊者利用狀態更改和外部調用執行的順序。
2. 在典型場景中,存在漏洞的合約會在更新其內部餘額或狀態之前將資金發送到外部地址。由攻擊者控制的接收合約包含一個回退函數,該函數會自動觸發對受害者的提款或轉賬函數的另一次調用。由於狀態尚未更新,系統仍認為資金可用,允許重複提款。
3. 該缺陷最臭名昭著的例子之一是 2016 年 DAO 黑客攻擊,價值超過 6000 萬美元的以太幣通過重入漏洞被耗盡。去中心化自治組織的智能合約允許在沒有適當保護措施的情況下進行遞歸調用,從而導致巨大的財務損失,並最終導致以太坊區塊鏈出現有爭議的硬分叉。
4. 這些攻擊之所以猖獗,是因為外部函數調用可以調用不受信任的合約中的代碼。如果調用合約不遵循“檢查-效果-交互”模式(其中狀態更改發生在任何外部交互之前),那麼利用的窗口就會打開。這一設計原則現在被認為在安全智能合約開發中至關重要。
5. 現代開發框架和審計工具已經發展到可以在編譯或測試階段檢測此類漏洞。 Slither 和 MythX 等靜態分析工具可以通過映射控制流和標記不安全的外部調用來識別容易重入的函數。
常見的剝削媒介
1. 主要向量涉及利用對未知地址進行外部調用的付費函數。當這些函數在發送以太幣之前未能更新余額或標誌時,它們會為遞歸條目創建一個空缺。攻擊者使用專門設計用於重新進入目標函數的惡意回退邏輯來編寫合約。
2.另一種方法是使用去中心化金融(DeFi)協議的閃電貸來放大損害。攻擊者在沒有抵押的情況下借用大量代幣,使用它們來操縱合約條件,並在單個交易中執行重入循環。由於一切都是原子發生的,所以貸款被償還,利潤仍然存在。
3. 某些變體針對同一合約內的多個功能。例如,如果兩個單獨的函數訪問共享狀態但不使用互斥鎖或重入防護,則攻擊者可以在執行過程中在它們之間跳轉。這種跨功能重入繞過了僅針對單個入口點的簡單保護。
4. 庫和代理模式引入了額外的複雜性。如果可升級合約委託調用不安全或無法跨實現正確初始化重入防護,則即使更新後遺留漏洞也可能仍然存在。這使得徹底的回歸測試變得至關重要。
5. 預言機和外部數據源也可以被間接操縱,以觸發特定市場條件下的重入行為。雖然不是直接向量,但它們與資金分配邏輯的集成在與不良的狀態管理相結合時會增加攻擊面。
針對重入的防禦策略
1. 實現檢查-效果-交互模式可確保所有狀態修改發生在任何外部調用之前。這消除了攻擊者所依賴的競爭條件。開發人員必須在處理資產轉移的每個功能中優先考慮邏輯流程規則。
2. 使用可重入保護修飾符,例如 OpenZeppelin 的ReentrancyGuard ,引入了一種鎖定機制,可防止函數在已執行時重新進入。這些鎖通常基於布爾標誌,這些標誌在敏感操作開始時設置並在敏感操作結束時清除。
3. 限制外部調用期間轉發的gas可以阻止惡意後備函數進行進一步的交互。通過將 Gas 限制為 2300 個單位(該數量僅足以進行基本日誌記錄),調用合約可防止複雜的重入邏輯成功運行。
4. 使用自動化工具和手動審核流程進行定期審核有助於發現開發過程中遺漏的邊緣情況。同行評審和正式驗證方法增加了保證層,特別是對於管理數百萬資產的高價值 DeFi 應用程序。
5. 採用經過良好測試的庫而不是編寫自定義的低級函數可以降低引入細微錯誤的風險。值得信賴的開源組件會受到社區的持續審查,這使得它們比容易受到監督的定制解決方案更可靠。
常見問題解答
回退函數在重入攻擊中起什麼作用?當合約在沒有指定特定函數的情況下收到以太幣時,回退函數會自動觸發。在攻擊中,該函數包含惡意代碼,該代碼會立即回調受害者合約的提款方法,從而在狀態更新發生之前啟用遞歸。
非以太坊區塊鏈中可以發生重入嗎?是的,任何支持具有外部調用和可變狀態的智能合約的區塊鏈都可能容易受到攻擊。當開發人員在沒有針對新環境調整安全措施的情況下移植合約時,幣安智能鏈、Polygon 和 Avalanche 等網絡也遇到了類似的漏洞。
除了標準形式之外,是否還有其他類型的重入?是的,變體包括跨功能重入(其中一個功能通過另一個功能輸入)和批處理漏洞(其中一組收件人在循環中支付而無需中間狀態檢查)。每一個都需要量身定制的緩解策略。
閃電貸如何實現重入攻擊?閃電貸允許攻擊者在單筆交易中臨時藉入大筆資金。他們利用這些資金來影響合約行為(例如觸發支付條件),並在償還貸款之前執行重入循環,將被盜資產保留在失敗的交易範圍之外。
免責聲明:info@kdj.com
所提供的資訊並非交易建議。 kDJ.com對任何基於本文提供的資訊進行的投資不承擔任何責任。加密貨幣波動性較大,建議您充分研究後謹慎投資!
如果您認為本網站使用的內容侵犯了您的版權,請立即聯絡我們(info@kdj.com),我們將及時刪除。
- 加密貨幣大屠殺:在狂野的市場中應對拋售和清算
- 2025-11-14 16:50:01
- 穆罕默德·西拉傑 (Mohammed Siraj) 的第一個法術困境:一位印度隊友的批評
- 2025-11-14 14:40:02
- BTC、ETH 和山寨幣精選:探索加密貨幣格局
- 2025-11-14 14:50:01
- 拋硬幣故事:Temba Bavuma 的賭注以及印度與南非的對決
- 2025-11-14 12:50:01
- 舒布曼·吉爾 (Shubman Gill)、WTC 決賽和拋硬幣:紐約人的看法
- 2025-11-14 15:05:01
- Aerodrome 起飛:統一跨鏈以太坊 DeFi 流動性
- 2025-11-14 15:10:02
相關知識
透明交易和屏蔽交易有什麼區別?
2025-11-10 17:59:40
了解加密貨幣中的透明交易1. 透明交易是大多數公共區塊鏈(如Bitcoin和以太坊)上的標準交易形式。每個細節,包括發送者地址、接收者地址和交易金額,對訪問區塊鏈賬本的任何人都是可見的。 2. 這些交易依賴於假名而非真正的匿名。雖然用戶身份沒有明確地與地址綁定,但行為模式和外部數據通常可用於使參與者...
什麼是“加密空投農民”以及他們使用什麼策略?
2025-11-09 15:39:43
什麼是加密貨幣空投農民? 1. 加密貨幣空投農民是指積極參與區塊鏈項目以獲得免費代幣分配(稱為空投)的個人。這些參與者經常使用去中心化應用程序 (dApp)、創建錢包、鑄造 NFT 或執行特定的鏈上交易,以增加被選中的機會。 2. 空投挖礦已發展成為加密貨幣領域的半專業活動。這些農民不是被動持有資產...
什麼是未花費的交易輸出(UTXO)以及Bitcoin如何使用它?
2025-11-12 01:40:17
了解未花費交易輸出(UTXO)的概念1. 未花費的交易輸出,通常稱為 UTXO,是 Bitcoin 如何記錄所有權和驗證交易的基本組成部分。每個 UTXO 代表已發送到特定地址但尚未花費的離散數量的 bitcoin。這些產出充當新交易的構建塊,其功能類似於傳統金融中的實物硬幣或票據。 2. 用戶發送...
什麼是“治理攻擊”以及 DAO 如何受到損害?
2025-11-14 05:59:35
了解去中心化自治組織中的治理攻擊1. 當個人或團體對 DAO 的決策過程獲得不成比例的影響力時,就會發生治理攻擊,使他們能夠操縱提案、投票或財政分配以利於自己。這些攻擊利用了旨在確保權力下放和社區控制的機制。 2. 在許多 DAO 中,投票權與代幣所有權直接相關。當單個實體積累了大量治理代幣時,他們...
如何跨多個錢包和鏈跟踪加密貨幣投資組合?
2025-11-12 16:19:42
加密生態系統中去中心化交易所的演變1. 去中心化交易所(DEX)通過消除中介機構並通過智能合約實現點對點交易,改變了用戶交易數字資產的方式。與中心化平台不同,DEX 在以太坊、幣安智能鍊和 Solana 等區塊鍊網絡上運行,讓用戶完全控制自己的資金。 2. Uniswap 和 SushiSwap 等...
加密保險協議如何運作?
2025-11-08 00:39:48
了解加密保險協議1. 加密保險協議的運作方式是針對因持有數字資產而造成的損失提供財務保護。這些損失可能源於黑客攻擊、智能合約故障或交易所破產。用戶用加密貨幣支付保費來參與通過去中心化治理管理的保險池。 2. 這些協議通常構建在以太坊或 Polygon 等區塊鍊網絡上,利用智能合約自動進行索賠驗證和支...
透明交易和屏蔽交易有什麼區別?
2025-11-10 17:59:40
了解加密貨幣中的透明交易1. 透明交易是大多數公共區塊鏈(如Bitcoin和以太坊)上的標準交易形式。每個細節,包括發送者地址、接收者地址和交易金額,對訪問區塊鏈賬本的任何人都是可見的。 2. 這些交易依賴於假名而非真正的匿名。雖然用戶身份沒有明確地與地址綁定,但行為模式和外部數據通常可用於使參與者...
什麼是“加密空投農民”以及他們使用什麼策略?
2025-11-09 15:39:43
什麼是加密貨幣空投農民? 1. 加密貨幣空投農民是指積極參與區塊鏈項目以獲得免費代幣分配(稱為空投)的個人。這些參與者經常使用去中心化應用程序 (dApp)、創建錢包、鑄造 NFT 或執行特定的鏈上交易,以增加被選中的機會。 2. 空投挖礦已發展成為加密貨幣領域的半專業活動。這些農民不是被動持有資產...
什麼是未花費的交易輸出(UTXO)以及Bitcoin如何使用它?
2025-11-12 01:40:17
了解未花費交易輸出(UTXO)的概念1. 未花費的交易輸出,通常稱為 UTXO,是 Bitcoin 如何記錄所有權和驗證交易的基本組成部分。每個 UTXO 代表已發送到特定地址但尚未花費的離散數量的 bitcoin。這些產出充當新交易的構建塊,其功能類似於傳統金融中的實物硬幣或票據。 2. 用戶發送...
什麼是“治理攻擊”以及 DAO 如何受到損害?
2025-11-14 05:59:35
了解去中心化自治組織中的治理攻擊1. 當個人或團體對 DAO 的決策過程獲得不成比例的影響力時,就會發生治理攻擊,使他們能夠操縱提案、投票或財政分配以利於自己。這些攻擊利用了旨在確保權力下放和社區控制的機制。 2. 在許多 DAO 中,投票權與代幣所有權直接相關。當單個實體積累了大量治理代幣時,他們...
如何跨多個錢包和鏈跟踪加密貨幣投資組合?
2025-11-12 16:19:42
加密生態系統中去中心化交易所的演變1. 去中心化交易所(DEX)通過消除中介機構並通過智能合約實現點對點交易,改變了用戶交易數字資產的方式。與中心化平台不同,DEX 在以太坊、幣安智能鍊和 Solana 等區塊鍊網絡上運行,讓用戶完全控制自己的資金。 2. Uniswap 和 SushiSwap 等...
加密保險協議如何運作?
2025-11-08 00:39:48
了解加密保險協議1. 加密保險協議的運作方式是針對因持有數字資產而造成的損失提供財務保護。這些損失可能源於黑客攻擊、智能合約故障或交易所破產。用戶用加密貨幣支付保費來參與通過去中心化治理管理的保險池。 2. 這些協議通常構建在以太坊或 Polygon 等區塊鍊網絡上,利用智能合約自動進行索賠驗證和支...
看所有文章














