木星链 木星链
Ctrl+D收藏木星链
首页 > XLM > 正文

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

Ripple合作伙伴Airwallex与墨尔本大学达成合作拟投资超300万澳元:金色财经报道,据Ripple合作伙伴Airwallex空中云汇官方消息,该公司已与墨尔本大学达成重要合作伙伴关系,据悉这项合作为期三年(2022-2025),Airwallex空中云汇共计将投资300多万澳元,旨在促进科技专业学生接触行业,增加就业机遇,壮大澳大利亚未来科技人才储备。当前,科技人才的短缺持续着影响澳大利亚企业。根据澳大利亚科学技术委员会的预测,澳大利亚在2030年前仍需新增65.3万科技工作岗位,以助力该国经济增长。[2022/11/1 12:03:31]

ItchySwap漏洞详解

一、AirSwap合约

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

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

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

Fairyproof CEO:合约的安全问题将延伸到NFT领域:3月19日,元宇宙国际高峰论坛在海口举办,Fairyproof CEO 谭粤飞就无法篡改、部署和执行不可逆以及开源这三方面科普了为什么审计在智能合约的安全性中起着关键作用;并介绍了如何利用人工智能和大数据技术支持合约的自动审计,可疑交易的自动追踪和识别。此外,谭粤飞还指出合约的安全问题及典型的攻击手法不仅存在于DeFi领域,还将延伸到NFT领域及整个元宇宙的合约实现。因此合约审计将是系统上保证元宇宙安全,保障元宇宙资产的关键环节。[2022/3/19 14:06:47]

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

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

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

尼日利亚特许银行家协会主席:eNaira将在2022年深化金融服务:12月29日消息, 尼日利亚特许银行家协会(CIBN)主席Bayo Olugbemi称赞尼日利亚央行(CBN)将该国首个数字货币eNaira引入国家经济的举措,称这是深化金融包容性和将数百万没有银行账户的尼日利亚人纳入银行系统的措施的一部分。

他指出,虽然央行数字货币(CBDC)的运作模式正在微调,但是该电子货币的推出是朝着正确方向迈出的一步。

他对CBN行长Godwin Emefiele引入eNaira表示赞赏,称“我毫不怀疑,这是一个受欢迎的发展,是朝着正确方向迈出的一步。”eNaira将在2022年深化金融服务。(Independent)[2021/12/29 8:11:34]

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

哈萨克中央银行原行长 Kairat KELIMBETOV:应该关注一些如区块链这种新的技术发展和其带来的影响:阿斯塔纳金融中心主席、哈萨克中央银行原行长 Kairat KELIMBETOV在《分论坛19 金融的风险:“黑天鹅”与“灰犀牛”》上发言。Kairat表示金融科技是一种新的现实,哪怕说是传统的银行也受到了其很多的影响。在哈萨克斯坦,我们设计了一些特殊的管辖区,特别强调法制。同时我们也特别关注资本市场的发展,让一些特殊的公司进行一些监管的样本性的尝试,包括对于金融科技公司的试点性的监管。金融市场领域应该能够和发展与时俱进,现在这是每一个人所面临的问题。我们不仅要关注传统的资本领域,同时也应该关注一些新的技术发展和其带来的影响,比如说金融科技、区块链,这些对于全球的金融监管又意味着什么?[2018/4/11]

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

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

在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

标签:SWAPAIRAirSwapAPPBSWAP币Tairyo Inupoloniex交易平台app

XLM热门资讯
HLC:HL Chain将于10月15日开启落地应用场景大幕

官方消息:HLChain将于本月15日开启第二阶段战略布局——正式启动落地场景消费应用。首批落地消费场景为医疗健康体检板块,合作场景涉及多家上市公司和全球顶尖医疗机构,全国42个城市116家高端.

1900/1/1 0:00:00
UBT:FUBT关于AGS恢复交易并开启涨跌幅限制的公告

尊敬的FUBT用户:AGS已完成新旧合约资产兑换,FUBT将于2019年10月12日13:00恢复AGS/USDT交易。为维护市场稳定,本次AGS将开启每日10%涨跌幅限制.

1900/1/1 0:00:00
以太坊:谈喻凯:比特币快速下破8000关口 以太坊冲高回落关注170支撑

  BTC:最近大饼的行情相当诡异,每当横盘之后,必有一波趋势,并且该趋势总是向下试探,再之后就是维持调整.

1900/1/1 0:00:00
BUY:关于WBF交易所携手BUY 全球首创去中心化定价的公告

尊敬的用户:WBF交易所联合BUY项目方全球首创去中心化定价,开启“去中心化决定币价”新玩法。活动详情如下:活动期数:24期2期/月一、第二期活动时间:开始时间:2019年10月14日20:00.

1900/1/1 0:00:00
HTT:关于币团上线WB公告

尊敬的币团用户:币团将全球上线WB,详细如下:开放充提:2019年10月16日14:00开放交易:2019年10月17日10:00蛙贝(WB)是基于区块链发行的通证.

1900/1/1 0:00:00
ANC:Elrond(ERD)加入Binance持仓返利计划

亲爱的用户:Elrond将于2019年10月10日起加入Binance的月度持仓返利计划,用户在Binance平台持仓ERD可以获得返利.

1900/1/1 0:00:00