宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > AAVE > 正文

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团队联系。

Cardano公布The Voltaire Era研讨会选定的申请人名单:金色财经报道,Input Output Global、EMURGO和Cardano基金会公布了选定的申请人名单,以领导旨在讨论CIP-1694的研讨会。本提案旨在为Cardano的The Voltaire Era时代建立链上去中心化治理机制。遴选过程竞争激烈,收到了来自全球不同地区(包括北美、拉美和非洲)的超过75份申请。

The Voltaire Era时代旨在使用投票系统和国库创建一个去中心化的民主网络。参与者可以使用他们的股份和投票权来影响网络的发展,提高透明度和包容性以实现长期生存能力。研讨会将于5月至7月举行,他们的主要重点将是探索CIP-1694中提出的链上治理的最新发展。面对面的研讨会将在全球20多个地点举行,为与会者提供独特的机会,与当地的Cardano社区建立联系、交流思想和合作。还将有超过25个虚拟研讨会,使无法亲自参加的人也可以参加。[2023/5/14 15:01:46]

ItchySwap漏洞详解

区块链碳信用交易平台AirCarbon宣布完成1500万美元融资:金色财经报道,区块链碳信用交易平台AirCarbon Exchange??(ACX) 表示,它完成了1500 万美元的可转换票据,由总部位于新加坡的TRIREC牵头。该初创公司提供自愿碳信用和各种基于区块链的代币化碳资产的交易。

在11月早些时候的Mubadala融资之后,此B轮融资前的其他支持者包括泰国的Banpu Public Company和Mubadala Investment Company PJSC。这使筹集的资金总额达到2500万美元,其中包括?德意志交易所?在 3 月份作为与德意志交易所拥有的欧洲能源交易所 (EEX) 战略合作伙伴关系的一部分的投资。[2023/1/4 9:50:38]

一、AirSwap合约

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

Airbnb首席执行官:正在研究加密货币支付,但不会很快实施:3月2日消息,Airbnb首席执行官Brian Chesky在接受CNBC采访时谈到了加密货币和其公司帮助乌克兰难民的努力。在Chesky被问及Airbnb是否支持加密货币时,他回答说:我个人当然支持加密货币的想法。我认为这是一项非常有趣的技术。今年年初,我在Twitter上咨询了社区,如果Airbnb能在2022年推出什么,那会是什么?而头号回答是增加加密货币支付,所以我们有一个团队正在研究这个问题。

不过,Chesky指出,不太可能“那么快”实施任何加密货币。现在我们真正关注的是为难民提供住房。这就是我动员了一个团队去做的事情。Airbnb周一宣布,它将为来自乌克兰的多达10万名难民提供免费的临时住房。(News bitcoin)[2022/3/2 13:31:18]

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

声音 | Uber、Airbnb投资人Jeffrey Wernick:ICO的设计是有问题的:金色财经现场报道,11月20日,Uber、Airbnb投资人Jeffrey Wernick在“2018区块链新经济杭州峰会”第二天的会议现场以“新经济模型及激励机制”为主题进行了演讲。他表示,ICO这种方式本质上就是为了逃避政府和SEC的监管,这是有问题的,没有监管,募资的人就没有责任,很有可能发行的通证会归零。他还表示,一开始他就不看好ICO,并警告大家不要碰它,ICO对整个区块链行业是有危害的。[2018/11/20]

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

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

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

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

CheapAir或选择BTCPay用于比特币支付处理:据提供开源商业软件的BTCPay昨日在其社交媒体发布的消息,BTCPay或正式成为在线旅游中介Cheapair的比特币支付处理器。Cheapair昨日表示,正在寻找Coinbase的替代品,现在正在用BTCPay做一些测试。此前,Coinbase透露已于4月份取消其商户处理功能。[2018/5/26]

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

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

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

1)验证订单有效性

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

1.订单还在有效期内;

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

3.订单还没有被取消;

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

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

2)验证taker信息

确立有效的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

标签:AIRSWAPAirSwapAPPFairyLand TokenNSWAPimToken钱包app安卓

AAVE热门资讯
关于 GAW 延迟下架的相关公告

尊敬的牛市用户: 由于GAW交易服务器维护,下架时间调整如下:GalaxyWorld作为牛市探索的第一个IEO项目,超额完成IEO目标,自2019年8月5日上线IEO交易区以来,用户参与度和交易活跃度都很高,经GAW项目方申请.

1900/1/1 0:00:00
ZDCoin关于第四次销毁ZD的公告

尊敬的ZDCoin用户:截至2019年10月8日支点交易所手续费回购ZD以及ZD手续费抵扣共计201.37万ZD,已于2019年10月9日全部销毁,目前ZD一共已销毁6.0553亿枚,剩余总量为4.7447亿,实际流通量约5000万.

1900/1/1 0:00:00
数据显示:比特币突破高位失败

北京时间10月13日8点,反映加密货币市场整体走势的ChaiNext100指数报743.19点,过去24小时上涨0.48%,成交额313.38亿美元,成交较前24小时减少26.71%,该指数成分代币中61个上涨.

1900/1/1 0:00:00
BiKi平台关于“ATF买入竞赛 超级大派送”的公告

尊敬的用户: ATF将联合BiKi平台推出“ATF买入竞赛超级大派送”的活动,详情如下:活动时间:10月10日10:00-10月16日16:00 规则: 1、在活动期间,通过一次交易购买10枚ATF的实名用户将免费获得10枚ATF.

1900/1/1 0:00:00
鼓捣币:芝加哥对交易所的努力 在今日获得成功记录

芝加哥商品交易所(CME)官方刚刚发布推特称,在第三季度,机构投资者对CME比特币期货的兴趣继续增长,持有大量未平仓比特币期货(25+BTC)的机构投资者创下了纪录.

1900/1/1 0:00:00
EXX&DSC:“国庆盛典,豪礼派送”活动奖励发送公告

尊敬的EXX用户: EXX平台举办的EXX&DSC:“国庆盛典,豪礼派送”活动于2019年10月7日24:00圆满结束,现在公布具体中奖详情:行情 | EXX已上线GTG 当日上涨16倍:据官方消息.

1900/1/1 0:00:00