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

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

Cairo公布路线图:新合约语法将与Starknet alpha v0.12.0共同推出:6月29日消息,编程语言Cairo公布其路线图,为了社区便利性,创建公共板以描述即将推出的一些新功能;很快将推出新的合约语法,与Starknet alpha v0.12.0一起发布,需要进行一些代码更改,很大程度上丰富了智能合约语言;通过Cairo1.1.0在Starknet主网上的推出以及即将到来的v2版本,已经达到了语言成熟度的一个重要里程碑。文档、书籍和Starknet Discord等资源足够帮助用户开始并从Cairo 0迁移。

随着新合约语法的发布,Cairo现在足够稳定和丰富,足以支持复杂的应用程序,并移植现有的Cairo 0逻辑。此外,Starknet的向后兼容性保证确保即使语言发生重大变化,用户也将有足够的时间(至少六个月)来完成合约的开发或审核和部署。[2023/6/30 22:09:25]

ItchySwap?漏洞详解

一、AirSwap合约

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

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

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

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

数据:尼日利亚只有0.5%的居民使用eNaira:金色财经报道,在尼日利亚成为首个推出CBDC的国家近一年后,新的数据显示,居民中采用这种货币的比例依然很低。尽管政府采取了各种举措来推广eNaira,但只有不到0.5%的人口在使用该货币。

尽管尼日利亚是全球加密货币采用的领先国家之一,但大多数居民都表示困惑,指出他们不理解CBDC和BTC等加密货币之间的区别。(finbold)[2022/10/26 16:39:01]

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

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

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

OpenSea支持的NFT铸造平台Fair.xyz完成450万美元融资:金色财经报道,由OpenSea支持的NFT铸造平台Fair.xyz完成450万美元融资,此轮融资由Eden Block领投,OpenSea、NFX 和 First Minute Capital 参投。这家初创公司已与乌克兰政府合作,该轮融资结束后估值为3300 万美元。[2022/8/9 12:12:30]

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

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

以太坊基金会开发人员:信标链首个升级Altair已取得进展:以太坊基金会核心开发人员Danny Ryan在以太坊官方博客发布文章宣布信标链首个升级Altair已取得稳定进展。Altair是计划在年中进行的相对较小的信标链更新,此前以太坊开发者电话会议提到客户端团队在实施Altair规格方面进展相当顺利。Danny Ryan透露信标链首个计划升级Altair已经取得稳步进展,上周发布信标链spec v1.1.0-alpha.6 – Protostellar Evolution虽然是一个Alpha版本,但出于安全性或实际工程方面考虑应该不会再进行大幅调整。Danny Ryan还表示,以太坊客户端开发团队现在将重点放在今年夏天的伦敦分叉和Altair分叉上,之后再把工作重心转移到Eth1和Eth2合并。[2021/5/26 22:44:49]

1)验证订单有效性

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

1.订单还在有效期内;

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

3.订单还没有被取消;

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

声音 | FairX创始人:星巴克与微软合作的区块链项目令人困惑:据Cointelegraph消息,针对星巴克将实施微软的Azure区块链服务来追踪咖啡生产的消息,金融服务公司FairX首席执行官、前IBM区块链分公司首席技术官Michael Dowling表示,在星巴克看来,微软的区块链平台可能比Quorum更有声望。然而,Dowling不确定星巴克为什么首先需要一个区块链。他表示,这可能是一种潜在的有效方法,可以跟踪哪个农民在采购客户“投票”选出的最佳豆类,但他想不出区块链技术可以实现的任何其他实际应用。“说实话,正如媒体所解释的那样,我觉得整个项目非常令人困惑,我不确定他们在试图解决什么问题。为什么需要去中心化?为什么这个程序——我想是为咖啡豆投票的人——需要应用公钥/私钥和分布式数据库?”[2019/5/13]

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??

标签:AIRSWAPAirSwapAPPMAIREDDASwap抹茶交易所app下载安卓

火必热门资讯
LINK:大盘走势渐稳,耐心等待新的趋势

作者|哈希派分析团队灰度将Chainlink列入其数字大盘基金中:据官方消息,数字资产管理公司GrayscaleInvestments将Chainlink原生代币LINK加入其数字大盘基金之中.

1900/1/1 0:00:00
BTC:QKL123行情分析 | 山寨币轮动上涨,比特币今晚变盘?(0918)

摘要:近日山寨币轮动上涨,以太坊连日收阳,而比特币持续横盘,市场变盘在即。进入九月,全球降息预期进一步加强,而今日晚些美联储议息结果将公布,多空或将借此一搏.

1900/1/1 0:00:00
数字货币:朱嘉明:数字货币可能彻底改变货币的总需求供给均衡框架

9月20日,第十届新莫干山会议在浙江省德清县莫干山召开。经济学家、数字资产研究院学术顾问朱嘉明出席并以“数字货币与复杂科学”为题发表演讲.

1900/1/1 0:00:00
RED:引介 | 愿景·世界计算机的系统注册表

以太坊的目标是全球计算机,这是我们2016年第一次访问https://www.ethereum.org/?的结论.

1900/1/1 0:00:00
KKT:除了实物交割期货,Bakkt还有什么野心?

“富二代”Bakkt的诞生在草根为主的数字货币行业,Bakkt出身无疑是名门正派,显得尤其鹤立鸡群,光芒四射.

1900/1/1 0:00:00
LIB:朱民:天秤币Libra可能带来的4种颠覆、7个机会

文/新浪财经意见领袖专栏作家朱民天秤币Libra横空出世,揭开了新的国际金融体系变革帷幕的一角,天秤币Libra白皮书预示着一场颠覆和再造的开始,大戏正在开演.

1900/1/1 0:00:00