-
bitcoin $77312.762885 USD
-1.13% -
ethereum $2468.308331 USD
-0.25% -
tether $0.999590 USD
0.00% -
bnb $715.374786 USD
-0.49% -
xrp $1.357398 USD
-1.97% -
usd-coin $0.999853 USD
0.00% -
solana $99.885399 USD
-1.73% -
tron $0.338723 USD
-0.28% -
hyperliquid $80.054099 USD
-3.93% -
zcash $1110.459433 USD
-8.91% -
dogecoin $0.084036 USD
-1.66% -
monero $510.459364 USD
-0.32% -
chainlink $11.534709 USD
-2.37% -
unus-sed-leo $9.086508 USD
-1.16% -
cardano $0.209045 USD
-2.23%
什么是“重新进入攻击”?
Re-entrancy attacks exploit unchecked external calls in smart contracts, allowing malicious actors to drain funds by recursively re-entering functions before state updates occur.
2025/09/04 07:18
了解区块链的重新进入攻击
1。重新进入攻击是智能合约,尤其是以太坊区块链中的关键安全漏洞。它利用在合同执行期间处理外部呼叫的方式,允许恶意合同在初始执行完成之前反复重新输入弱势函数。这种递归行为会意外耗尽资金或操纵状态变量。
2。核心机制涉及呼叫合同,该合同在目标合同中调用功能,该函数在更新其内部状态之前,通常会转移资金。如果接收合同包含具有恶意逻辑的后备功能,则可以触发另一个调用回到原始功能,创建一个循环。由于余额或状态尚未更新,因此每个重新进入支票并继续撤回资金。
3。最臭名昭著的例子之一是2016年DAO HACK,由于重新进入缺陷,超过360万ETH被虹吸。在将用户的余额设置为零之前,分散的自主组织的撤回功能已发送资金,从而使攻击者能够反复撤回相同的余额。该活动导致以太坊网络中的硬叉,并提高了对安全合同设计的认识。
4。现代发展实践现在强调“检查效应互动”模式,以防止这种攻击。这种方法要求在任何外部功能调用之前,状态更改(例如更新余额或所有权)。通过在交互前确保内部一致性,重新进入窗口有效地关闭。
5。坚固的语言级别保障措施,例如使用Openzeppelin图书馆的重新进入警卫,已成为标准。这些警卫使用类似静音的机制来将功能标记为当前执行,从而阻止任何递归输入尝试。还鼓励开发人员使用Pull-Over-over-Push付款模型,用户启动提款,而不是自动向他们推荐资金。
重新剥削的常见向量
1。对未知或未经信任的合同的外部呼叫是重新进入的主要切入点。当合同在另一个合同上调用功能(尤其是可以执行任意代码的合同)时,它可能会陷入回调陷阱中。当所谓的合同受到攻击者控制时,这尤其危险。
2。当合同收到以太时,后备并在以太坊智能合约中接收功能是自动触发器。如果这些函数包含回到发件人中的逻辑,则可以利用状态更新中的正时差距。攻击者与这些功能的合同制定了专门旨在重新进入脆弱的撤回或转移例程的合同。
3。跨功能重新输入是另一个变体,其中重新输入不在同一合同的不同功能范围内。如果多个功能共享状态并且缺乏适当的锁定机制,则攻击者可以在它们之间跳跃以保持不一致的状态和提取价值。
4。分散融资(FEFI)方案的闪存贷款扩大了风险。攻击者可以不用抵押品借入大笔款项,使用它们来操纵合同条件,并在一次交易中执行卸货攻击。借入的资金在最终确定之前偿还,这使攻击成本效益且难以通过经济威慑。
5。经过审核的第三方图书馆或继承的代码可能会引入隐藏的再进入风险。即使主要逻辑显得安全,依赖项也可能包含间接暴露的脆弱功能。这强调了对DEFI项目中全面审核和依赖跟踪的需求。
缓解策略和最佳实践
1。执行检查效应的互动模式是基本的。开发人员必须在任何外部呼叫之前确保所有状态修改发生。例如,在发送资金之前降低用户的余额,消除了多次撤回相同余额的可能性。
2。从受信任的库中实现非伦敦修饰符增加了一层保护。这些修饰符使用布尔标志在执行过程中锁定功能,以防止递归调用。尽管不是万无一失的,但它们对大多数已知的重新进入模式有效。
3。限制合同的以太或令牌的量可以减少潜在的损失。充当中介机构的合同应最大程度地减少基金的积累并鼓励经常撤离。即使存在脆弱性,这也限制了攻击者的利润率。
4.专业安全公司的代码审核至关重要。自动化工具(例如Slither或Mythril)可以检测到重新进入模式,但是人类审查对于捕获复杂的逻辑缺陷是必要的。同行评审和漏洞赏金计划进一步加强了安全性。
5。使用暂停机制使用可升级的合同模式,使开发人员可以实时响应攻击。尽管这引入了集中化风险,但在发现漏洞后,它提供了关键的应急选择。
常见问题
是什么触发了智能合同中的重新进入攻击?当合同在更新其内部状态之前,合同对另一个合同进行外部呼叫时,会触发重新进入攻击。如果接收合同具有恶意的后备功能,则可以回到原始合同的功能,从而利用未完成的状态更新。
可以在无法处理以太的合同中重新进入吗?是的。尽管以太转移是常见的向量,但对于令牌转移或任何可以进行递归调用的合同的外部呼叫也可能发生重新进入。关键因素是状态更新和外部交互的顺序,而不是资产类型。
所有defi协议都容易受到重新置换的影响吗?并非全部,但是许多早期的DEFI协议是。现代协议纳入了重新进入警卫,并遵循安全的编码实践。但是,新的或未经审计的项目仍可能会带来风险,尤其是当它们与传统系统或不信任合同互动时。
Flash贷款如何实现重新进入攻击? Flash贷款允许攻击者在一次交易中借用大量资产。他们使用这些资金来操纵合同状态(例如流动性池),并在偿还贷款之前触发重新进入。这可以在没有前期资本的情况下进行盈利攻击。
免责声明:info@kdj.com
所提供的信息并非交易建议。根据本文提供的信息进行的任何投资,kdj.com不承担任何责任。加密货币具有高波动性,强烈建议您深入研究后,谨慎投资!
如您认为本网站上使用的内容侵犯了您的版权,请立即联系我们(info@kdj.com),我们将及时删除。
- 今日金价:CPI和收益率过热令金价承压,但买家抵制
- 2026-09-12 04:35:01
- 欧盟金融团体向立法者施压,要求他们重新考虑代币化证券的上限,着眼于美国的竞争
- 2026-09-11 12:50:02
- Bitget API 使交易者能够通过差价合约访问黄金、外汇和股票
- 2026-09-11 12:55:01
- 比特币的流沙:ETF 买家账面损失导致卖方风险大幅下降
- 2026-09-11 12:55:01
- ChatGPT 金融服务:重塑初级银行家的格局
- 2026-09-11 13:00:01
- 由于民主党和共和党发生冲突,《清晰法案》在垂直整合方面面临党派分歧
- 2026-09-11 12:40:01
相关百科
什么是 DAI?它与 USDT 有何不同?
2026-09-08 17:00:22
市场波动模式1. 自2021年以来,Bitcoin超过68%的交易日在24小时窗口内价格波动超过15%。 2. 在流动性较低的时期,尤其是在 02:00 至 06:00 UTC 期间,以太坊表现出比 Bitcoin 更高的日内波动性。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 事...
为什么稳定币会失去 1 美元的挂钩?
2026-09-08 02:00:03
储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...
什么是加密货币中的自我托管以及为什么它很重要?
2026-09-10 04:19:32
定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...
什么是闪电网络? Bitcoin 交易如何变得更快?
2026-09-08 07:00:16
闪电网络核心架构1. 闪电网络作为直接构建在 Bitcoin 区块链之上的第二层协议运行,完全依赖 Bitcoin 的加密安全模型,无需引入新的共识规则。 2. 使用2-of-2多重签名地址在参与者之间构建双向支付通道,双方必须共同签名才能将资金移出通道。 3. 每个通道都通过链上融资交易进行初始化...
什么是加密预言机?区块链如何获取真实世界的数据?
2026-09-08 19:20:07
定义和核心功能1. 加密预言机是一种可信的第三方服务,充当区块链网络和外部数据源之间的桥梁。 2. 它获取、验证链下信息,并将其传递给部署在链上的智能合约,例如价格、体育比分、天气状况或 API 响应。 3. 如果没有预言机,智能合约将与现实世界的事件隔离,无法执行依赖于外部触发器的逻辑。 4. 预...
Bitcoin 与莱特币:主要区别是什么?
2026-09-08 20:20:11
起源和基础架构1. Bitcoin 于 2009 年出现,作为首个去中心化加密货币,建立在使用 SHA-256 哈希算法的工作量证明共识机制之上。 2. 莱特币于 2011 年作为 Bitcoin 开源代码库的直接分支推出,但用 Scrypt 取代了 SHA-256,有意提高了早期 ASIC 主导地...
什么是 DAI?它与 USDT 有何不同?
2026-09-08 17:00:22
市场波动模式1. 自2021年以来,Bitcoin超过68%的交易日在24小时窗口内价格波动超过15%。 2. 在流动性较低的时期,尤其是在 02:00 至 06:00 UTC 期间,以太坊表现出比 Bitcoin 更高的日内波动性。 3. 稳定币脱钩事件(例如 2023 年 3 月的 USDC 事...
为什么稳定币会失去 1 美元的挂钩?
2026-09-08 02:00:03
储备构成和透明度差距1. 许多稳定币声称完全由现金或短期美国国债支持,但储备披露往往缺乏实时验证机制。 2. 第三方证明可能仅每季度进行一次,从而留下较长的窗口,使不匹配的资产负债结构仍未被发现。 3. 一些发行人持有的商业票据或逆回购协议存在未反映在公共资产负债表中的交易对手风险。 4. 链下银行...
什么是加密货币中的自我托管以及为什么它很重要?
2026-09-10 04:19:32
定义和核心机制1. 自我保管是指个人保留对其私钥的完全控制权,而不将该权力委托给任何第三方服务的做法。 2. 自我托管钱包的服务器上不持有资产;相反,它提供了一个使用本地存储的加密密钥与区块链网络交互的接口。 3. 用户的设备(无论是智能手机、台式机还是硬件模块)托管种子短语和私钥,并且在正常操作期...
什么是闪电网络? Bitcoin 交易如何变得更快?
2026-09-08 07:00:16
闪电网络核心架构1. 闪电网络作为直接构建在 Bitcoin 区块链之上的第二层协议运行,完全依赖 Bitcoin 的加密安全模型,无需引入新的共识规则。 2. 使用2-of-2多重签名地址在参与者之间构建双向支付通道,双方必须共同签名才能将资金移出通道。 3. 每个通道都通过链上融资交易进行初始化...
什么是加密预言机?区块链如何获取真实世界的数据?
2026-09-08 19:20:07
定义和核心功能1. 加密预言机是一种可信的第三方服务,充当区块链网络和外部数据源之间的桥梁。 2. 它获取、验证链下信息,并将其传递给部署在链上的智能合约,例如价格、体育比分、天气状况或 API 响应。 3. 如果没有预言机,智能合约将与现实世界的事件隔离,无法执行依赖于外部触发器的逻辑。 4. 预...
Bitcoin 与莱特币:主要区别是什么?
2026-09-08 20:20:11
起源和基础架构1. Bitcoin 于 2009 年出现,作为首个去中心化加密货币,建立在使用 SHA-256 哈希算法的工作量证明共识机制之上。 2. 莱特币于 2011 年作为 Bitcoin 开源代码库的直接分支推出,但用 Scrypt 取代了 SHA-256,有意提高了早期 ASIC 主导地...
查看所有文章














