链资讯 链资讯
Ctrl+D收藏链资讯
首页 > 瑞波币 > 正文

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

作者:

时间:

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

漏洞影响概述

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

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

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

区块链碳信用交易平台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]

ItchySwap漏洞详解

一、AirSwap合约

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

LendHub合约代码已通过fairproof安全审计:据官方消息,LendHub合约代码已通过知名安全公司fairproof的安全审计。目前,LendHub已通过3家第三方公司的安全审计,其它知名安全公司的审计也在进行中。

LendHub团队尤其重视平台底层技术与安全问题,始终把保护用户的资产安全放在发展的首位,并时刻为用户提供全方位的安全保障。

LendHub是一个基于火币生态链Heco的去中心化借贷平台,目前已支持12种资产借贷挖矿LHB,以及LHB-USDT和LHB-HT的流动性质押挖矿。[2021/2/10 19:27:35]

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

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

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

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

WSBChairman:加密货币时代已经来临:推特用户WSBChairman再度提及加密货币和比特币。他连发数条推特,指出加密货币时代已经来临,加密货币迎来诞生以来最好的用例,使用比特币是攻击华尔街的唯一办法。[2021/2/2 18:40:54]

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

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

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

动态 | 去中心化媒体解决方案运营商Bflysoft与Airblock运营商达成合作:据韩媒etnews报道,去中心化媒体监督解决方案Rozeus运营商Bflysoft与Airblock运营商AB180已建立合作伙伴关系,并签署谅解备忘录(MOU),双方将推进基于区块链的内容服务,合作内容包括信息分享、营销、技术支援等工作。Bflysoft是韩国言论振兴基金旗下新闻版权事业部的官方流通公司,已上市KONEX(韩国中小企业股市)。[2019/9/24]

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

1)验证订单有效性

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

声音 | Alistair Milne:Coinbase没有缘由就冻结用户资金转移:Altana数字货币基金的首席信息官Alistair Milne发推特称,美国的加密交易所Coinbase冻结(他的)资金转移,目前已超过72小时,没有解释为什么会这样做。他进一步指出,他购买这些比特币(当时价格为3500美元),是计划用来稍后向公司员工发放奖金。并指责称,比特币中间商比传统银行更糟。[2019/3/3]

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

标签:SWAPAIRAirSwapARKSArbswapPayfairARKS价格

瑞波币热门资讯
HTT:关于WBF交易所上线MOF的公告_SAFEX价格

尊敬的用户: WBF交易所即将在开放区上线MOF/USDT交易对,具体时间安排如下:充值时间:2019年10月14日14:00交易时间:2019年10月14日17:00提币时间:2019年10月.

DCO:大币网(Dcoin)关于CNC暂停充提及交易公告_OneFinBank Coin

亲爱的大币网(Dcoin)用户:由于CNC项目的需求,大币网(Dcoin)暂停CNC的充提币以及交易服务.

HTT:LOEx国际站关于CBE下线公告_tps币行情

尊敬的LOEx用户:LOEx国际站将于10月12日12:00关闭CBE交易对和充币,所有CBE/USDT交易对的挂单用户,请提前撤单;持有CBE的用户尽快将资产提现至其他平台.

SWAP:技术|零知识证明 - ethsnarks源代码导读_Sparkster

最近看知乎,发现知乎上有些文章真的醍醐灌顶。印象比较深的是,文因互联CEO鲍捷的一篇文章:最快的成长方式就是慢慢来。创业最关键的能力,就是“不被卡住”的能力.

USD:关于火币合约上线高级限价委托的公告_maker币

尊敬的用户: 您好!火币合约已上线高级限价委托功能,高级限价委托目前支持Postonly类型,后续会增加其它类型委托方式.

TPS:BIONE平台币——BIC今日即将开启认购,敬请期待!_USD

尊敬的BIONE用户: 新加坡BIONE交易所开启平台币BIC申购活动,详情如下:参与申购官方地址https://bione.cc/index/trade/explorer?id=4活动时间:2.