DeFine:Definer 预言机攻击事件分析_DeFiner

前言

北京时间12月13日,知道创宇区块链安全实验室?关注到针对Definer预言机的攻击事件。

作为第三方区块链安全机构,受Definer、Cherryswap和OEC组成的调查小组邀请参与本次攻击事件的技术调查工作。实验室第一时间启动应急,跟踪本次事件进行分析并出具调查报告。

分析

tx:https://www.oklink.com/en/oec/tx/0x67134b2687945404b7697873a553a8318117dc56004ddaa02d2a6ac85e502e4a?tab=4

梅赛德斯-奔驰使用元宇宙技术实现工厂现代化:金色财经报道,汽车制造商梅赛德斯-奔驰是Nvidia使用Omniverse?Enterprise的最新客户之一,Omniverse Enterprise是一个用于构建和运行元宇宙应用程序的软件平台。Nvidia周二在CES 2023 正式开幕之前表示,梅赛德斯将使用Omniverse来设计、规划和优化其工厂。梅赛德斯正准备在其位于德国拉施塔特的工厂生产其新的电动汽车平台。Nvidia表示,拥有虚拟工作流程将使梅赛德斯能够快速应对供应链中断并根据需要重新配置装配线。[2023/1/4 9:50:54]

攻击者信息

邓紫棋发布新专辑《启示录》的元宇宙预告视频:7月19日消息,歌手邓紫棋发布新专辑《启示录》的元宇宙预告视频,预告故事以元宇宙Afterland(乐土)为背景,包含邓紫棋形象的虚拟游戏玩家Gloria和欧阳娜娜形象的虚拟游戏玩家露露。

据悉,整个大故事由14集连续剧MV组成,故事大背景以元宇宙概念为基础,涵盖邓紫棋在三个世界:乐土、废土、现实世界的对话,此外全新音乐系列连续剧将于8月9日正式开始。[2022/7/19 2:22:12]

攻击tx:0x67134b2687945404b7697873a553a8318117dc56004ddaa02d2a6ac85e502e4a

任天堂前CEO:不相信Facebook的元宇宙定义能成功:3月14日消息,前北美任天堂总裁兼首席运营官Reggie Fils-Aime在最近的采访中质疑了Facebook关于其元宇宙愿景的“当前定义”,并称“Facebook 本身并不是一家创新公司,他们要么收购Oculus和Instagram等有趣的公司,要么迅速追随人们的想法。我认为他们目前的定义不会成功。”相反,Reggie认为,当下许多人正在努力实现的数字化未来,很可能将由一些“真正创新的小公司”,或者像Epic Games这样正在做“真正引人注目”事情的公司领导。(Reporter Wings)[2022/3/14 13:55:09]

攻击合约:0x05806559f7f7732f2d3e71bca2eb12eab1938ceb

韩国加密交易平台Bithumb成立元宇宙相关子公司:3月14日消息,韩国加密交易平台Bithumb宣布,已成立子公司“Bitsum Meta”,以推动与元宇宙相关的新业务。Bitsum Meta于上月底成立,Bitsum Korea独资170亿韩元(约合1374.18万美元)。首任CEO是Bithumb韩国副总裁 Hyun-sik Cho。其成立的目的是规划、开发和销售虚拟资产系统和软件,未来计划通过与全球公司合作,提供各种区块链内容服务。此外,Bitsum Meta计划在年内发布一个社交元宇宙。(GDNet Korea)[2022/3/14 13:54:39]

被攻击池信息

USDT池:0xc1b02e52e9512519edf99671931772e452fb4399

OKB池:0xd63b340F6e9CCcF0c997c83C8d036fa53B113546

BTCK池:0x33a32f0ad4aa704e28c93ed8ffa61d50d51622a7

ETHK池:0x75dcd2536a5f414b8f90bb7f2f3c015a26dc8c79

攻击流程

合约方面调用流程

1、攻击合约0x058065调用CherrySwap的FlashSwap功能进行闪电贷,贷出了CHE/OKB池子中几乎全部的CHE。此时池子仅剩极少量CHE

2、抵押给Definer借款来的1000个CHE,Definer预言机计算价格依赖CherrySwap池中两种代币的余额比例,导致Definer预言机计算1000个CHE价格失准,1000个CHE的价值被认为极大值。

3、攻击者借出USDT池子约462,318个USDT

4、攻击者借出OKB池子约37,172个OKB

5、攻击者借出BTCK池子约3个BTCK

6、攻击者借出ETHK池子约8个ETHK

7、攻击者通过CherrySwap的CHE/USDT池子利用10,000个USDT换出30,765个CHE

8、归还CherrySwap闪电贷1,575,093个CHE

漏洞细节

根据Definer各合约部署地址(https://docs.definer.org/deployed-contracts/addresses),由于预言机实现过程通过CherrySwap池子的两个Token在池子的余额来判断价格:

预言机实现过程中没有考虑到闪电贷贷出时余额大量减少的情况,导致了Definer项目方预言机计算失准,从而导致了该事件。

以USDT池子为例:

从具体Transaction中我们跟进到SavingAccount合约的逻辑合约0xc1b02e52e9512519edf99671931772e452fb4399#priceFromAddress

在该函数中使用AggregatorInterface(tokenInfo.chainLinkOracle)的预言机来询价

排查获取AggregatorInterface中具体调用地址发现,其映射变量位于TokenRegistry合约:

而TokenRegistry的合约部署地址根据官方的deployed-contracts/addresses可知位于0x0E16Ada9C4Cf95d6722c65504555124A241DdA81?

在该地址通过对CHE代币地址0x8179d97eb6488860d816e3ecafe694a4153f216c查询得到对应使用的预言机:

该地址即为存在漏洞的预言机地址:

总结

本次事件是由于Definer在OEC对于预言机的实现存在问题,使用了单一流动池在一个时间点的池内代币余额作为价格源从而导致了事故的发生,而以太坊的实现则使用了ChainLink的预言机不存在该问题。

来源:金色财经

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

区块博客

比特币价格ETH:2021年的比特币反思:认知年_BTC

2021年是个好年头吗?与大多数事情一样,取决于观点。当我坐着写这篇文章的第一行时,我问自己这个问题。现在,这篇文章有时听起来很刺耳,我只是要求你坚持我的观点。我的疯狂有一个方法.

[0:31ms0-2:966ms