月亮链 月亮链
Ctrl+D收藏月亮链
首页 > 中币 > 正文

TOKE:Zerogoki攻击事件分析_Immopet Token

作者:

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

北京时间2021年8月8日13点(区块高度12982491),Zerogoki项目下的合约遭到攻击,总计损失约67万美元。

Zerogoki是Duet Protocol的一个下属项目,用以在以太坊区块链平台上引入衍生品。在实现上,Zerogoki沿用了Duet Protocol的Lite Minting算法。

简而言之,用户首先购买平台币REI,然后将平台币Burn掉以兑换其他衍生资产(Synthetic Assets),如zUSD(对标美元的平台币)、zBTC 3L(BTC 3X Leveraged Long,即比特币三倍杠杆看多期货)。

Web3钱包Zerion称其App已从AppStore中暂时下架:5月23日消息,Web3 钱包 Zerion 表示其 App 已被 App Store 暂时下架,团队正在努力解决该问题,将实时发布更多进展更新。[2023/5/23 15:21:06]

作为一个衍生品合约,Zerogoki需要将衍生资产的价格(如比特币的价格)导入以太坊区块链。和以太坊上大多数平台一样,Zerogoki依赖价格预言机(Oracle)来获得价格。此次攻击正是利用了Oracle相关函数。

下面我们首先对被攻击合约0x80ecdb90的代码进行分析。

加拿大上市区块链公司Graph Blockchain将收购AI加密分析工具公司Optimum Coin Analyzer:加拿大上市区块链公司Graph Blockchain宣布已针对收购AI加密分析工具公司Optimum Coin Analyzer签订有约束力的意向书。Graph将收购Optimum所有已发行和流通的股票。Graph和Optimum将在意向书发出之日起20日内完成相互的尽职调查,随后,Graph和Optimum将签订完成收购的股票交易协议。Optimum使用AI分析引擎检索、观察和分析社交媒体数据,以追踪各类指标人物,监控并提供情绪、相关性及预测性分析。Graph CEO Paul Haber表示:“收购Optimum的目的是帮助管理山寨币投资组合,改善决策,帮助加密投资者优化投资回报。”(雅虎财经)[2021/8/10 1:45:10]

以上是被攻击合约的Swap函数。首先调用两次decode_op,从入参oracle中获得价格预言机相关的信息。OP结构体包含四个成员:数据类型(datatype)、Token地址(token)、预言机价格(price)和时间戳(timestamp)。

动态 | TokenGazer:符合币安社区上币活动标准的代币目前为16个:7月16日,?币安于6月20日开启社区上币活动。据TokenGazer跟踪数据显示,跟踪代币有35个,其中符合币安标准:成交量$50000 、社交人数1万人的代币有16个,有代币已丧失首批上币资质,这16个代币中,成交量最大的为PVT,社交人数最多的是VRAB。[2019/7/16]

在进行一系列验证后,合约调用tax内部函数计算此次swap所收取的费用。接下来有三个Token操作:首先根据入参ns将平台币REI Burn掉;然后Mint衍生资产(在y.token中指定),数量为ns;最后Mint部分平台币给GOV合约作为此次swap的费用。

动态 | TokenGazer:今日ERC20数据分析,MANA活跃地址数突增:据TokenGazer数据分析显示,过去24小时里ERC20代币中活跃地址数排名前五的代币是:HT,BNB,ZRX,MANA,USDC。其中,MANA活跃地址数排名第四。日前,Upbit交易所推出了MANA/KRW交易对,并同步推出了交易竞赛,MANA买/卖单总数排名前三的交易者将获得数额不菲的MANA奖励,数据显示,目前MANA在Upbit的交易占比已达70%以上,换手率也处于较高水准。同时昨日MANA也更新了市场竞价版本,优化了用户使用体验,以上可能是导致MANA活跃地址数增加的原因 。[2019/3/30]

以上是swap开头的decode_op函数的实现。从这里可以看出,入参oracle除了包含OP结构体外,还包含了SIGNATURENUM个(在攻击时这个值为3)签名用于验证OP的值。我们推测Zerogoki设置了一系列验证者,价格预言机中包含的信息必须经过签名验证才有效。在代码中检查了用于签名的地址是否在数组authorization里,该数组是只能由owner进行设置的验证者数组。同时,代码还限定了必须由三个不同的authorized签名者进行验证。

总的来说,swap传入的参数,第一个参数ns用于指定swap两种Token的数量,没有经过任何校验;第二个参数包含了价格预言机的信息,需要authorized私钥进行签名验证。

在代码中我们注意到两点:

入参oracle中,与swap直接相关的只有x.token和y.token,即swap的两种token的类型(其中根据协议设计,x.token大部分为平台币REI)。

虽然入参oracle需要相对复杂的签名机制进行验证,但其对应的信息只用于进行验证及swap费用(即tax)的计算。

真正决定swap两种Token数量的是入参ns。

我们无从得知项目方为何要进行这样的设计。当然,由于swap函数开头要调用decode_op对入参oracle的签名进行验证。因此,这段代码出现问题的唯一原因,是至少有三个authorized签名者被compromised。

不幸的是,这种黑天鹅事件真的发生了。在攻击交易0x81e5f715中,攻击者想办法利用三个authorized签名者的公钥,向入参oracle提供了三个正确的签名;同时向入参ns提供了一个非常不合理的参数,导致攻击者用少量的REI Token就Mint了大量zUSD。

如上图所示,攻击者用300个REI Token,Mint出了70w+个zUSD代币(zUSD代币对标美元)。

深入分析后我们发现,攻击者提供给入参oracle的签名都是正确的,这三个签名对应三个authorized地址:

0x0d93A21b4A971dF713CfC057e43F5D230E76261C

0x3054e19707447800f0666ba274a249fc9a67aa4a

0x4448993f493b1d8d9ed51f22f1d30b9b4377dfd2

我们无从得知攻击者是怎样得到这三个地址对应的私钥的。最直观的原因有两种可能:三个地址的私钥同时泄露,或者同时出现了三名“卧底”。无论哪一种,看起来都像是一种概率极低的黑天鹅事件。但可以肯定的是,正是这种黑天鹅事件导致了这次奇怪攻击的产生。

标签:TOKETOKTOKENKENImmopet TokenMars Ecosystem TokenAstridDAO Tokenfbstoken

中币热门资讯
DAP:Decentology 集成 Solana 简化其 Dapp 的开发流程_dec币价格

更好的开发者工具现在,在 Solana 上开发 dapp 的程序员只需要 15 分钟就能动手开发.

1900/1/1 0:00:00
BSP:ZT三周年开启交易大赛 赢保时捷大奖_BTT

据悉,在成立三周年之际,ZT已经开启三周年系列活动——交易大赛,回馈与ZT风雨同舟的广大用户。活动期间,凡是在ZTB交易对专区交易的用户,将按照有效交易量进行排名,根据名次发放相应的奖品.

1900/1/1 0:00:00
MOON:MoonEdge项目分析报告_MOO

MoonEdge 是第一个完全致力于 Polygon(以前的 Matic)上 IDO 的分散式启动平台。MoonEdge 的目标是为 Polygon 上的项目提供一条无缝的路径,使其进入市场.

1900/1/1 0:00:00
UMA:UMA LSP 合约:简洁的期权工具_BSP

太长不看:UMA 构建了一个叫作多空仓位对(Long Short Pair,LSP)的新型合约模版。这个合约虽然简单,但是功能强大,可以用来构建一系列新的产品.

1900/1/1 0:00:00
NEW:NewB.Farm收益农场与ApeSwap合作推出全新3个机池三重收益等着您_FARMS

NewB.farm收益农场与ApeSwap配合,正式上线3个机池Vaults,农夫们将可获得质押双币种+NewB币三重收益!该3个机池如下:1. BANANA-BNB2. .

1900/1/1 0:00:00
NFT:深度报告:REVV Motorsport_ForeverGrow

REVV Motorsport?是区块链游戏公司Animoca Brands公司创建的“区块链赛车游戏生态”,REVV代币是生态内的应用代币.

1900/1/1 0:00:00