市值: $2.796T -1.10%
體積(24小時): $128.341B -31.92%
恐懼與貪婪指數:

28 - 害怕

  • 市值: $2.796T -1.10%
  • 體積(24小時): $128.341B -31.92%
  • 恐懼與貪婪指數:
  • 市值: $2.796T -1.10%
加密
主題
加密植物
資訊
加密術
影片
頂級加密植物

選擇語言

選擇語言

選擇貨幣

加密
主題
加密植物
資訊
加密術
影片

什麼是重入攻擊以及它如何利用智能合約漏洞?

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),我們將及時刪除。

相關知識

加密貨幣和區塊鏈技術的未來是什麼?

加密貨幣和區塊鏈技術的未來是什麼?

2026-01-11 21:19:34

去中心化金融的演變1. DeFi 協議已經從簡單的借貸擴展到包括結構性產品、保險機制和衍生品交易。 2. 智能合約審計變得更加嚴格,多公司驗證流程現已成為主要協議發布的標準。 3. 跨鏈互操作解決方案現在支持 40 多個不同的區塊鍊網絡,無需中心化橋樑即可實現資產轉移。 4. 收益聚合策略已經發展到...

中本聰是誰? (Bitcoin 的創造者)

中本聰是誰? (Bitcoin 的創造者)

2026-01-12 07:00:05

筆名的由來1. Satoshi Nakamoto 是開發 Bitcoin、撰寫其原始白皮書並設計和部署其第一個實現的個人或團體使用的名稱。 2. 該名稱首次出現於 2008 年,當時一份名為“Bitcoin:點對點電子現金系統”的白皮書被發佈到密碼學郵件列表中。 3. 尚未確認可驗證的身份,所有已知...

什麼是加密貨幣空投以及如何獲得?

什麼是加密貨幣空投以及如何獲得?

2026-01-22 14:39:35

了解加密貨幣空投1. 加密空投是向多個錢包地址分配免費代幣或代幣,通常由區塊鏈項目發起,以提高知名度、獎勵早期支持者或分散代幣所有權。 2. 這些分配可能不需要任何前期成本,儘管有些分配需要最低限度的參與,例如持有特定的加密貨幣、關注社交媒體帳戶或加入社區渠道。 3. 空投通常與協議升級、主網啟動或...

什麼是 DeFi 中的無常損失以及如何避免它?

什麼是 DeFi 中的無常損失以及如何避免它?

2026-01-13 11:59:34

了解無常損失1. 當存入自動做市商(AMM)流動性池的代幣價值與外部持有的代幣價值出現偏差時,就會發生無常損失。 2. 出現這種現象的原因是大多數AMM採用恆定乘積公式,池內代幣價格的比例必須與外部市場價格保持一致。 3. 當一對資產中的一種資產相對於另一種資產大幅升值時,套利者通過購買較便宜的資產...

如何橋接不同區塊鏈之間的加密資產?

如何橋接不同區塊鏈之間的加密資產?

2026-01-14 18:19:42

跨鏈橋機制1. 原子交換實現了兩個區塊鏈之間直接的點對點資產交換,無需中介,依靠哈希時間鎖定合約來保證公平性和最終性。 2. 可信橋通過中心化或半中心化託管人進行操作,這些託管人持有用戶存款並在目標鏈上鑄造包裝代幣。 3. 去信任橋使用智能合約和加密證明(例如輕客戶端或零知識驗證)來驗證狀態轉換,而...

什麼是白皮書以及如何閱讀白皮書?

什麼是白皮書以及如何閱讀白皮書?

2026-01-12 07:19:48

了解白皮書結構1. 加密貨幣領域的白皮書充當基礎技術和概念文件,概述了區塊鏈項目的目的、架構和機制。 2. 通常以摘要或執行摘要開始,介紹項目旨在解決的問題和建議的解決方案。 3. 引言部分定義了核心術語,在現有技術或經濟限制範圍內建立了背景,並引用了先前的工作或類似系統。 4. 技術規範如下,詳細...

加密貨幣和區塊鏈技術的未來是什麼?

加密貨幣和區塊鏈技術的未來是什麼?

2026-01-11 21:19:34

去中心化金融的演變1. DeFi 協議已經從簡單的借貸擴展到包括結構性產品、保險機制和衍生品交易。 2. 智能合約審計變得更加嚴格,多公司驗證流程現已成為主要協議發布的標準。 3. 跨鏈互操作解決方案現在支持 40 多個不同的區塊鍊網絡,無需中心化橋樑即可實現資產轉移。 4. 收益聚合策略已經發展到...

中本聰是誰? (Bitcoin 的創造者)

中本聰是誰? (Bitcoin 的創造者)

2026-01-12 07:00:05

筆名的由來1. Satoshi Nakamoto 是開發 Bitcoin、撰寫其原始白皮書並設計和部署其第一個實現的個人或團體使用的名稱。 2. 該名稱首次出現於 2008 年,當時一份名為“Bitcoin:點對點電子現金系統”的白皮書被發佈到密碼學郵件列表中。 3. 尚未確認可驗證的身份,所有已知...

什麼是加密貨幣空投以及如何獲得?

什麼是加密貨幣空投以及如何獲得?

2026-01-22 14:39:35

了解加密貨幣空投1. 加密空投是向多個錢包地址分配免費代幣或代幣,通常由區塊鏈項目發起,以提高知名度、獎勵早期支持者或分散代幣所有權。 2. 這些分配可能不需要任何前期成本,儘管有些分配需要最低限度的參與,例如持有特定的加密貨幣、關注社交媒體帳戶或加入社區渠道。 3. 空投通常與協議升級、主網啟動或...

什麼是 DeFi 中的無常損失以及如何避免它?

什麼是 DeFi 中的無常損失以及如何避免它?

2026-01-13 11:59:34

了解無常損失1. 當存入自動做市商(AMM)流動性池的代幣價值與外部持有的代幣價值出現偏差時,就會發生無常損失。 2. 出現這種現象的原因是大多數AMM採用恆定乘積公式,池內代幣價格的比例必須與外部市場價格保持一致。 3. 當一對資產中的一種資產相對於另一種資產大幅升值時,套利者通過購買較便宜的資產...

如何橋接不同區塊鏈之間的加密資產?

如何橋接不同區塊鏈之間的加密資產?

2026-01-14 18:19:42

跨鏈橋機制1. 原子交換實現了兩個區塊鏈之間直接的點對點資產交換,無需中介,依靠哈希時間鎖定合約來保證公平性和最終性。 2. 可信橋通過中心化或半中心化託管人進行操作,這些託管人持有用戶存款並在目標鏈上鑄造包裝代幣。 3. 去信任橋使用智能合約和加密證明(例如輕客戶端或零知識驗證)來驗證狀態轉換,而...

什麼是白皮書以及如何閱讀白皮書?

什麼是白皮書以及如何閱讀白皮書?

2026-01-12 07:19:48

了解白皮書結構1. 加密貨幣領域的白皮書充當基礎技術和概念文件,概述了區塊鏈項目的目的、架構和機制。 2. 通常以摘要或執行摘要開始,介紹項目旨在解決的問題和建議的解決方案。 3. 引言部分定義了核心術語,在現有技術或經濟限制範圍內建立了背景,並引用了先前的工作或類似系統。 4. 技術規範如下,詳細...

看所有文章

User not found or password invalid

Your input is correct