Definer 预言机攻击事件分析
前言
北京时间 12 月 13 日,知道创宇区块链安全实验室 关注到针对 Definer 预言机的攻击事件。
作为第三方区块链安全机构,受 Definer、Cherryswap 和 OEC 组成的调查小组邀请参与本次攻击事件的技术调查工作。实验室第一时间启动应急,跟踪本次事件进行分析并出具调查报告。
分析
tx:
https://www.oklink.com/en/oec/tx/0x67134b2687945404b7697873a553a8318117dc56004ddaa02d2a6ac85e502e4a?tab=4
攻击者信息
攻击 tx:0x67134b2687945404b7697873a553a8318117dc56004ddaa02d2a6ac85e502e4a
攻击合约:
0x05806559f7f7732f2d3e71bca2eb12eab1938ceb
被攻击池信息
USDT 池:0xc1b02e52e9512519edf99671931772e452fb4399
OKB 池:0xd63b340F6e9CCcF0c997c83C8d036fa53B113546
BTCK 池:0x33a32f0ad4aa704e28c93ed8ffa61d50d51622a7
ETHK 池:0x75dcd2536a5f414b8f90bb7f2f3c015a26dc8c79
攻击流程
合约方面调用流程
1、攻击合约 0x058065 调用 CherrySwap 的 Flash Swap 功能进行闪电贷(Swap 函数实现的正常功能),贷出了 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),由于预言机(TokenBalancePair: CHE/WOKT)实现过程通过 CherrySwap 池子的两个 Token 在池子的余额来判断价格:
预言机实现过程中没有考虑到闪电贷贷出时余额大量减少的情况,导致了 Definer 项目方预言机计算失准,从而导致了该事件。
以 USDT 池子为例:
从具体 Transaction 中我们跟进到 SavingAccount 合约的逻辑合约 0xc1b02e52e9512519edf99671931772e452fb4399#priceFromAddress
在该函数中使用 AggregatorInterface(tokenInfo[tokenAddress].chainLinkOracle) 的预言机来询价
排查获取 AggregatorInterface 中具体调用地址发现,其映射变量位于 TokenRegistry 合约:
而 TokenRegistry 的合约部署地址根据官方的 deployed-contracts/addresses 可知位于 0x0E16Ada9C4Cf95d6722c65504555124A241DdA81
在该地址通过对 CHE 代币地址 0x8179d97eb6488860d816e3ecafe694a4153f216c 查询得到对应使用的预言机:
该地址即为存在漏洞的预言机地址:
总结
本次事件是由于 Definer 在 OEC 对于预言机的实现存在问题,使用了单一流动池在一个时间点的池内代币余额作为价格源从而导致了事故的发生,而以太坊的实现则使用了 ChainLink 的预言机不存在该问题。
Definer 预言机攻击事件分析相关推荐
- 是后门,还是大意?Furucombo遭黑客攻击事件分析 |零时科技
是后门,还是大意?Furucombo遭黑客攻击事件分析 |零时科技 事件背景 Furucombo推出于2020年3月份,支持Uniswap交易,Compound供应功能,还提供闪电贷的用户界面,使得普 ...
- 知道创宇区块链安全实验室|UmbNetwork 攻击事件分析
一.前言 北京时间 2022 年 3 月 21 日,知道创宇区块链安全实验室 监测到 BSC 链和以太坊上的 UmbNetwork 奖励池遭到黑客攻击,损失约 70 万美元.实验室第一时间对本次事件进 ...
- 知道创宇区块链安全实验室 | OneRing Finance 闪电贷攻击事件分析
前言 北京时间 2022 年 3 月 22 日,知道创宇区块链安全实验室 监测到 Fantom 生态稳定币收益优化器 OneRing Finance 遭到闪电贷攻击,黑客窃取逾 145万 美元. 分析 ...
- 创宇区块链 | 黑客利用重入漏洞盗币,Ola_finance 攻击事件分析
1. 前言 北京时间 2022 年 3 月 31 日,知道创宇区块链安全实验室 监测到借贷平台 Ola_finance 遭到重入攻击,黑客窃取 216964.18 USDC.507216.68 BUS ...
- PAID Network攻击事件分析 | 零时科技
事件背景 PAID Network 是去中心化生态,部署在以太坊的 DApp 项目,旨在重新定义民事法律体系,从而通过专有的 SMART 协议.社区管理的仲裁系统.声誉评分.DeFi 工具,为开展业务 ...
- 知道创宇区块链安全实验室|Meter.io 攻击事件分析
前言 北京时间2022年2月5日晚,Meter.io 跨链协议遭到攻击,损失约 430 万美元.知道创宇区块链安全实验室 第一时间跟踪本次事件并分析. 分析 基础信息 tx(Moonriver):0x ...
- 零时科技 | Discover 闪电贷攻击事件分析
0x1 事件背景 零时科技区块链安全情报平台监控到消息,北京时间 2022年6月6日 Binance 链上 Discover 智能合约遭到闪电贷攻击.零时科技安全团队及时对此安全事件进行分析. 0x2 ...
- 快速致富之路:POS机攻击原理分析
简介 POS系统是指通过自动读取设备(如收银机)在销售商品时直接读取商品销售信息(如商品名.单价.销售数量.销售时间.销售店铺.购买顾客等),并通过通讯网络和计算机系统传送至有关部门进行分析加工以提高 ...
- 零时科技 || DPC攻击事件分析
事件背景 零时科技区块链安全情报平台监控到消息,北京时间2022年9月10日,DPC代币合约遭到黑客攻击,损失超73,614 BUSD, 零时科技安全团队及时对此安全事件进行分析. 攻击信息 攻击者钱 ...
最新文章
- vmware智能资源调整
- PE文件结构详解(六)重定位
- Qt 编码问题QTextCodec
- Gartner的预言:通向混合IT之旅
- Win7怎么设置文件共享 Win7共享设置方法
- 90行代码让微信地球转起来,太酷了!(python实现)
- 互惠互赢,英国将为中国大数据注入新活力
- 【计算机本科补全计划】Mysql 学习小计(3)
- 【论文导读】Selecting Data Augmentation for Simulating Interventions
- 学计算机考公务员可以做什么的,学计算机的考公务员将来干什么啊
- 【Python】日志关键字分析工具
- 揭开姓氏的秘密|为什么最古老的八个姓氏都是女字旁?
- 提示网站服务器403,浏览器打开网页时出现http 403 禁止访问错误是什么原因?
- 跳转第三方App或网页进行导航
- 用安卓手机看小说,阅读器APP怎么选
- Flutter Scaffold的详细解说
- esp32的python教程步数采集_ESP32CAM micropython的操作指南
- linux系统如何安装lol,Linux系统下安装红色警戒2步骤详解(2)
- 稳了!25K!腾讯数据分析岗!
- Android开发艺术探索一 Activity