返回论坛

EOS 回滚攻击手法之重放篇:深度技术剖析与防御指南

查找币 漏洞披露 安全研究 Web3安全 区块链安全

查找币安全研究院

钱包恢复评估 | 链上取证分析 | Web3 事件响应
以合法授权、证据保全、隐私保护和可复核流程为前提,不要求用户在线提交完整私钥或助记词。

查看研究院 研究报告中心
## 事件背景 据查找币安全团队区情报监测,今日凌晨,此前攻击 BetDice、ToBet 等游戏的知名黑客团伙再次对 LuckyMe、GameBet 等项目发动攻击,造成数千 EOS 的资产损失。 经查找币安全团队深入分析,本次攻击手法与此前披露的黑名单回滚攻击存在显著差异。黑客本次采用了**重放攻击**(Replay Attack)策略,结合黑名单机制绕过项目方防护,实现精准获利。 ## 攻击回顾 根据查找币安全团队威胁情报系统统计,截至北京时间上午 8 时,攻击者账户 `ultnavrzhium` 在此次攻击中: - **投入金额**:3,773.95 EOS - **收入金额**:6,906.6 EOS - **净获利**:3,132.65 EOS 攻击者通过精心设计的攻击流程,在短时间内完成多次获利操作,项目方损失惨重。 ## 攻击手法详解 本次攻击手法虽与我们在《EOS 回滚攻击手法分析之黑名单篇》中披露的技术有相似之处,但核心攻击向量已发生根本性变化。攻击者依然利用了黑名单机制,但创新性地引入了**重放攻击**技术。 ### 攻击流程分解 #### 第一步:调用非黑名单合约 攻击者调用**非黑名单合约**的 `transfer` 函数,该函数内部包含一个 `inline action` 用于下注。关键参数配置如下: - **from**:攻击者控制的非黑名单合约账户 - **to**:游戏合约账户 此交易被攻击者直接发送至项目方部署的全节点服务器,而非广播至全球 EOS 主网。 #### 第二步:节点开奖与结果监听 项目方节点接收到该交易后,立即执行开奖逻辑: - 若下注未中奖:攻击者无需额外操作,攻击流程终止 - 若下注中奖:项目方将向攻击者控制的非黑名单账户发送 EOS 奖励 此步骤与黑名单攻击的第一步、第二步完全一致。 #### 第三步:交易 id 绑定机制失效 项目方将开奖结果与交易 id 绑定,理论上: 1. 下注交易和开奖交易均会被回滚 2. 当交易到达 BP(区块生产者)节点时,由于开奖 id 查询失败,开奖交易将无法确认 **然而,攻击者成功绕过了这一防御机制。** #### 第四步:重放攻击核心 攻击者利用了一个关键漏洞:**所有攻击逻辑均在项目方节点服务器上完成**。 具体操作: 1. 攻击者在项目方节点广播交易时,实时监听开奖结果 2. 若检测到中奖,立即使用**相同的参数**(如种子、金额等)发起一笔新交易 3. 新交易的 `actor` 设置为攻击者控制的同一合约账户 4. 该交易通过正常 EOS 主网广播,BP 节点确认后,攻击者成功获得奖励 ### 攻击流程图解 ``` 攻击者节点 → 项目方节点(下注交易) → 项目方开奖 ↓ ↓ 监听开奖结果 ← 中奖? → 是 → 伪造交易 → 主网广播 → 成功获利 ↓ 否 → 放弃攻击 ``` ## 威胁分析 本次攻击揭示了项目方在节点安全设计上的三大薄弱环节: 1. **节点服务器权限过大**:项目方节点能够执行未确认交易的开奖逻辑,为攻击者提供了可乘之机 2. **订单依赖缺失**:开奖逻辑未与下注订单进行强绑定,导致重放攻击有机可乘 3. **账户验证不严**:未对交易中的 `actor` 与 `from` 进行一致性校验 ## 防御建议 基于本次攻击的技术特点,查找币安全团队提出以下防御方案: ### 1. 节点采用只读模式 - 在节点服务器上开启 `read only` 模式 - 禁止节点执行未确认块中的交易 - 从根源上切断攻击者的监听与重放路径 ### 2. 建立开奖订单依赖 - 开奖逻辑必须与下注订单进行强绑定 - 开奖前检查订单是否存在且唯一 - 即使节点服务器上开奖成功,若 BP 节点上订单已被回滚,开奖记录也将自动失效 ### 3. 严格校验交易参数 - 在下注交易中,强制校验 `actor` 与 `from` 是否为同一账户 - 避免攻击者通过合约账户伪装进行重放 - 建议在合约层面增加多重验证机制 ### 4. 接入专业安全防护系统 - 使用查找币安全团队孵化的 DApp 防火墙——FireWallX - 本次攻击者账户 `ultnavrzhium` 在攻击 LuckyMe 前,已出现在 FireWallX 的合约监控名单中 - 项目方可提前拦截已知恶意账户的攻击行为 **FireWallX 体验地址**:https://firewallx.io/console/index.html **查询地址**:https://www.eosx.io/account/firewall.x?mode=contract&sub=tables&table=contractlst ## 总结 本次重放攻击是 EOS 生态中一次技术迭代明显的安全事件。攻击者通过将黑名单机制与重放攻击结合,成功绕过了项目方的交易 id 绑定防御。项目方需从节点配置、合约逻辑、账户验证等多个维度加强安全防护,才能有效抵御此类高级攻击。 查找币安全团队将持续关注 EOS 生态安全动态,为 DApp 项目方提供专业的安全咨询与防护方案。 --- 本文由查找币安全团队整理发布
在论坛中查看和回复