原文标题:《AirSwap 智能合约漏洞详解:用户资产可被攻击者恶意吃单?》
漏洞影响概述 PeckShield 安全人员深入分析 AirSwap 智能合约后发现,这一漏洞只对最近上线的 Wrapper 有影响,AirSwap 团队在发现该问题后第一时间下线当前合约,并将 AirSwap 网站回退到之前使用的合约,从合约上线到问题修复整个过程仅持续了 24 小时,可见 AirSwap 团队对于合约安全的重视程度之高。 ItchySwap 漏洞详解 一、AirSwap 合约 在分析之前,为方便起见,我们先定义几个概念:
下图说明了 maker、taker 和 Indexer 之间的交互流程: AirSwap 是一个基于 Ethereum 的点对点去中心化交易所,它集成了 Swap Protocol,在其中作为一个自动托管服务,允许交易的双方(即 maker 和 taker)在以太坊上安全地交易任何资产。与许多去中心化交易所不同,AirSwap 虽然没有对资金进行托管控制,但仍然有一个用于匹配目的的集中式订单簿,它实现了一个用于交易和订单匹配的完全对等模型。 1)验证订单有效性
2)验证 taker 信息
考虑到一种特殊的场景,Alice 希望通过 Wrapper 合约执行 AirSwap 资产互换,这一过程需要先由 Alice 自行在 AirSwap 合约中授权 Wrapper 合约,以允许 Wrapper 合约可以执行各自的资产交割流程。
将上述构造好的 order 代入 AirSwap 的 swap() 函数,其中 1,2 两步的验证由于是 taker 控制的,不会有问题,我们重点看下第三步验证 maker 信息: 由于此时 AirSwap 合约是由 Wrapper 合约调用的,那么 msg.sender 即 Wrapper 合约的地址,前文讲到,Wrapper 合约是经过 Alice 授权可直接控制 Alice 的资产,此时虽然 Eve 没有权限操作 Alice 的资产,但此时可以通过 Wrapper 控制,也就间接地控制了 Alice 的资产。 安全规避 PeckShield 安全人员分析发现,截止至 2019 年 09 月 28 日为止,共有 6 个账号执行了 revoke() 操作,以解除对 Wrapper 合约的授权,还有 12 个账号存在安全风险,这剩下的所有账号应当立即执行 revoke() 操作,或者将账号中的资产转移至未对 Wrapper 授权过的安全账号。 原文链接:https://mp.weixin.qq.com/s/tkA-PAM8zlIkhmivnKwKLQ —- 编译者/作者:区块律动BlockBeat 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
AirSwap智能合约漏洞详解:用户资产可被攻击者恶意吃单?
2019-10-06 区块律动BlockBeat 来源:区块链网络
LOADING...
相关阅读:
- Lien: 一个比AMPL还销魂,可做杠杆投资的稳定币协议2020-08-03
- KKUBEX全球领先数字货币交易平台2020-08-03
- Defi引爆牛市Defi真的能取代Cefi吗2020-08-03
- 分散能源是DeFi未来的关键2020-08-03
- 冠状病毒危机推动数??字支付和比特币的使用2020-08-03