火星链 火星链
Ctrl+D收藏火星链
首页 > AVAX > 正文

AirSwap:AirSwap智能合约漏洞详解:用户资产可被攻击者恶意吃单?

作者:

时间:1900/1/1 0:00:00

2019年09月13日AirSwap团队公布了一个AirSwap智能合约中存在致命的漏洞,这一漏洞可以使得用户的资产在某些情况下被对手恶意吃单『偷盗』,PeckShield安全人员独立分析了该漏洞,并与AirSwap团队沟通了细节和修复方案。

漏洞影响概述

PeckShield安全人员深入分析AirSwap智能合约后发现,这一漏洞只对最近上线的Wrapper有影响,AirSwap团队在发现该问题后第一时间下线当前合约,并将AirSwap?网站回退到之前使用的合约,从合约上线到问题修复整个过程仅持续了24小时,可见AirSwap团队对于合约安全的重视程度之高。

PeckShield安全人员独立分析了漏洞细节,并与AirSwap团队沟通细节和修复的方案,同时将该漏洞命名为“?ItchySwap”。

PeckShield在此提醒,由于这一漏洞可使用户的资产被攻击者恶意偷盗,受此次影响的账号一共有18个,其中有部分账号有数万至数十万美元的资产,这些账号需要尽快完成升级,或与AirSwap团队联系。

FairySwap冷启动开启5小时内TVL突破100万美元:3月3日,据官方消息,FairySwap宣布上线并开启为期12天的冷启动,在冷启动5小时内TVL已经突破100万美元。

此前报道,FairySwap是构建在Findora上的首个DEX。利用Findora的EVM,FairySwap为用户提供与以太坊和币安智能链等L1链之间的极速跨链交换。

FairySwap的冷启动阶段为期12天,UTC 3月3日-3月14日,所有拥有Findora通证FRA的用户都能通过质押FRA获得Fairy奖励,并且参与冷启动的质押用户后期还有机会领取Findora生态中的Fairy NFT。[2022/3/3 13:35:24]

ItchySwap?漏洞详解

一、AirSwap合约

在分析之前,为方便起见,我们先定义几个概念:

1.maker:出售资产的一方;

2.taker:购买资产的一方;

3.order:maker与taker之间发生资产交割的订单;

4.Indexer:AirSwap中的订单簿,汇聚了当前正在出售及需要购买的资产信息。

下图说明了maker、taker和Indexer之间的交互流程:

动态 | FairWin余额被清空,以太坊网络Gas消耗高饱和状态解除:据DAppTotal.com数据显示,昨日(10月01日),以太坊网络Gas消耗量价值总计510个ETH,Gas利用率占以太坊网络可承载Gas总量的81.69%。经综合对比发现,Gas消耗量排名前5的智能合约分别为:SpaceShips(7.13%),ERC20 USDT(5.43%),EtherHonor(3.23%),CodexCoin(3.75%),HyperFair(2.19%)。自08月26日以来,以太坊网络每日Gas消耗饱和度均在90%以上(高饱和度),持续了超一个月时间,不过昨天饱和度大幅回落至81.69%,主要由于资金盘游戏FairWin合约余额被清空,其对以太坊网络造成的拥堵也暂告一段落。[2019/10/2]

AirSwap是一个基于Ethereum的点对点去中心化交易所,它集成了SwapProtocol,在其中作为一个自动托管服务,允许交易的双方在以太坊上安全地交易任何资产。与许多去中心化交易所不同,AirSwap虽然没有对资金进行托管控制,但仍然有一个用于匹配目的的集中式订单簿,它实现了一个用于交易和订单匹配的完全对等模型。

动态 | 巴西零售巨头与区块链支付服务Airfox达成合作:据cointelegraph报道,巴西零售巨头Via Varejo与区块链支付服务Airfox合作以“推动采用”。Via Varejo拥有家用电器和家具连锁店Casa Bahia,正在将Airfox的数字银行平台整合到其电子商务平台以及近1000家线下商店中。根据新闻稿,客户可以通过Airfox直接付款购买Casa Bahia的商品,或可以使用Airfox提供的小额贷款。据报道,客户还可以在其连锁店的位置使用该应用程序存入和取出现金。[2018/9/14]

特别值得一提的是,有一个名为Indexer的链下服务,可以聚合来自maker和taker的交易意图,然后为他们提供匹配的服务。特别是,一旦taker找到了合适的maker,他们就会开始进行场外价格的谈判。一旦达成协议,订单将由Taker通过SwapProtocol在链上进行填充和资产交割。

在AirSwap智能合约中,taker将订单上链及资产交割的过程在AirSwapswap(Types.Ordercalldata_order)函数之中,这一函数实现如下所示:

前FDIC主席Sheila Bair:不禁止比特币,只是要监管:前美国联邦存款保险公司(FDIC)主席Sheila Bair,接受CNBC的“Fast Money”采访时表示,没有禁止比特币作为一项资产,但有必要对数字货币进行额外的监管。Bair也看好CBOE和CME最近发布的比特币期货合约,认为实际上也给他们(政府监管机构)提供一个窗口。[2018/1/20]

1)验证订单有效性

订单order参数有效性检查,这些信息均由taker上链的时候指定的,也意味着这些信息都可以由taker篡改,具体包含:

1.订单还在有效期内;

2.订单还没有被其它的taker吃单;

3.订单还没有被取消;

4.订单的nonce大于最小值;

5.设置订单状态为TAKEN状态。

2)验证taker信息

虚拟货币银行Airsebank将收购FDIC Bank美国联邦储蓄银行:据凤凰财经,虚拟货币银行AriseBank将联合BitShares收购有着百年历史的FDIC Bank(美国联邦储蓄银行)。[2017/12/18]

确立有效的taker,根据order中指定或者等同于合约的调用方msg.sender。

3)验证maker信息

验证maker的有效性,这里的验证分为两种情况考虑:

1.没有maker签名的订单:需要保证msg.sender有权限操作这个maker地址即可,即这笔order发起者有权限操作maker的资产;

2.order中指定了maker的签名信息:验证签名的有效性。

4)?资产交割

如果上述的验证流程没有问题,那么直接执行maker和taker的资产交割。

二、Wrapper合约

在上述的AirSwap合约中,用户通过swap()函数执行资产互换,这一流程非常清晰,没有问题。但是这一合约存在一点不完美的地方,用户只能通过Token进行资产互换,无法直接用ETH平台币参与其中。用户可以先把ETH转换成WETH,再用WETH参与互换,但无论如何,用户使用体验上多了一步。

为了降低用户使用体验上的摩擦,AirSwap团队与2019年09月12日?推出了?Wrapper合约,其使用是自动将用户转入的ETH转换成WETH之后再参与资产互换的过程,其关键流程如下:

1.验证swap()发起方与taker是相同的;

2.如果用户发起swap()有携带了ETH资产,并且需要转换的token为WETH,那么就自动将ETH转换成WETH;

3.直接调用AirSwap合约的swap()操作。

考虑到一种特殊的场景,Alice希望通过Wrapper合约执行AirSwap资产互换,这一过程需要先由Alice自行在AirSwap合约中授权Wrapper合约,以允许Wrapper合约可以执行各自的资产交割流程。

由于区块链的透明性,Eve看到了Alice的授权操作,那么他就可以向Wrapper合约发起一笔恶意的订单,其包含的内容如下:

1.?order中的有效时间、nonce为一个非常大的数值;

2.order中的maker对应的账号为Alice的账号;

3.order中的taker为空;

4.order的signature为空。

将上述构造好的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授权过的安全账号。

任何的代码在上线生产环境之前都应当得到充分的测试和验证,特别是承载着用户价值的DEX平台。在产品增加新特性之时,一定要考虑到旧特性的兼容性与安全,新特性的引入不应该触发旧产品中设计不完备的地方。

附录

备注:

AirSwap官方漏洞细节链接:https://medium.com/fluidity/critical-vulnerability-in-a-new-airswap-smart-contract-c1204e04d7d3??

标签:AIRSWAPAirSwapAPPHairDAOHolderSwapkucoin交易平台app下载

AVAX热门资讯
门罗币:门罗币、zcash、达世币等再造韩国大型交易所Upbit下架,隐私币真的到了穷途末路?

另一家大型加密货币交易所将大量隐私币摘牌,而理由同样是根据国际机构金融行动特别工作组(FATF)最近的监管要求.

1900/1/1 0:00:00
LIBRA:观点 | 告别流量和资金,数字货币还有价值吗?

资本退潮后区块链发展的确正在回归平静,但是,有关区块链的故事却丝毫不比之前少多少。告别了以资本为主要驱动力的发展模式,现在的区块链发展多半集中在技术、应用的范畴内.

1900/1/1 0:00:00
KIN:关于2019年爆火的Staking,这八点你要了解

引言继2018年的ICO、通证经济、DAPP等热门概念之后,2019年“Staking”这一新概念占尽了风头,并在以以太坊为首的POS共识生态中日渐火热.

1900/1/1 0:00:00
稳定币:向全球伙伴推广稳定币模式,摩尔根大通、英特尔前雇员发行稳定币USDD

据Cointelegraph10月2日报道,全球货币组织于10月1号宣布,它将推出一种由美元背书的稳定币——数字美元.

1900/1/1 0:00:00
OSMO:Cosmos升级遇故障,大量节点应对不及时恐引发扣币

Staking的概念在今年日益火爆起来,各条PoS公链上运行的节点数量逐渐增多,节点所需的硬件门槛日益降低,但想要维护好一个节点在“软件”上却并不是一件容易事,如果版本更新不及时.

1900/1/1 0:00:00
INC:4.15亿美元撑起来的虚假繁荣?超三成加密货币项目不再更新代码

GitHub和开发活动是衡量加密货币初创公司状态的指标之一。跟踪代码库活动非常重要,定期的代码库活动显示了项目的承诺,获得投资者对项目的信任是很有必要的.

1900/1/1 0:00:00