火星链 火星链
Ctrl+D收藏火星链
首页 > 狗狗币 > 正文

TOKE:Zerogoki攻击事件分析

作者:

时间: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,即比特币三倍杠杆看多期货)。

Zerion推出“Perks”功能 支持查看空投、铸币、奖励、解锁等:金色财经报道,Zerion在其Web3钱包中推出了一个名为“Perks”的新功能。Zerion Perks选项卡中集成Web3能力聚合方案Daylight,支持查看空投、铸币、奖励、解锁等能力。

2022年10月份,Zerion完成1230万美元B轮融资,本轮融资由Wintermute Ventures领投,参投方包括Mosaic、Coinbase Ventures、Alchemy和Placeholder等。[2023/3/31 13:37:22]

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

Cardano链上流动性解决方案OccamRazer宣布M?bius Finance达成合作:Cardano 链上首个发行平台与流动性解决方案 OccamRazer 宣布 M?bius Finance 成为 OccamRazer 平台的合作伙伴。M?bius Finance 是 Polygon 和 Cardano 上的第一个合成平台,旨在为用户提供创建和交易合成资产的服务。[2021/6/29 0:13:38]

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

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

声音 | Max Keizer:比特币会达到40万美元:Keiser Report主持人Max Keizer表示,“我正式提高了对比特币的预期,我最初是在比特币1美元的时候做出的预测,我说它会达到10万美元。但现在,八年来我第一次将我对比特币的预期提高到了40万美元。”(ZyCrypto)[2020/2/17]

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

动态 | DeFi初创公司Zerion获得200万美元种子资金:金色财经报道,DeFi初创公司Zerion已从Placeholder、Blockchain.com Ventures和Gnosis获得200万美元的种子资金,以进一步开发和扩展到新的DeFi协议。该公司打算建立无需许可的金融,并希望在将加密资产引导到DeFi中发挥领导作用。[2019/12/4]

以上是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

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

标签:ZERTOKEKENTOKENAzerothbasic-attention-tokenPoof Token3X Short Sushi Token

狗狗币热门资讯
ITH:三分钟了解 Lithium Finance:用集体智慧定价的去中心化预言机

Lithium Finance 不同于市面上绝大多数预言机产品,它利用集体智慧为 Pre-IPO 股票、私募股权等难以估值的现实世界资产定价.

1900/1/1 0:00:00
DAO:创新AMM模式 跨链平台DDEX如何提升用户体验?

DeFi 领域在今年迎来爆发,市场规模呈指数增长。而 DeFi 最重要的基础设置就是去中心化交易平台(DEX),数以百计的项目扎根这一赛道.

1900/1/1 0:00:00
APL:非足额抵押机构贷款协议Maple Finance

“信贷可能是经济中最重要的部分,也可能是最不被理解的部分。” ——桥水基金创办人达里奥(Ray Dalio)我们中的许多人都被告知债务本质上是坏的。学生贷款是坏帐,信用卡债务是坏帐.

1900/1/1 0:00:00
SWAP:O3 Swap冰川挖矿指南

首个实现异构链之间原生资产自由交易的跨链聚合器O3 Swap继5月13日18:30登录火币创新交易区后,又于5月14日11:56在官方推特宣布开启 Ice Age 创世冰川挖矿.

1900/1/1 0:00:00
LIQ:一文了解两步原子交换协议LiquiDEX

注:原文作者是blockstream研究员Leonardo Comandini。长话短说:LiquiDEX 是一个在 Liquid网络上执行两步原子交换(atomic swaps)的协议,它只需.

1900/1/1 0:00:00
应用链:章鱼网络:赋能应用链 开启WEB3.0

章鱼网络的愿景只有应用链(Appchain)的创新门槛足够低,才能让更多创业者在Web3.0应用的领域中探索多样化的可能与创新,Web3.0应用才能更快得以落地,更快走向主流.

1900/1/1 0:00:00