宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > Gateio > 正文

bHOME重入攻击事件分析-ODAILY

作者:

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

1、前言

北京时间3月5日,知道创宇区块链安全实验室监测到BaconProtocol遭受黑客攻击损失约958,166美元,本次攻击利用重入漏洞,并凭借闪电贷扩大收益额。目前攻击者地址还没有被加入USDC的黑名单中。

2、分析

攻击事件如下图所示,该次攻击事件的问题点在于lend()函数,攻击者利用该函数进行重入攻击。

2.1基础信息

攻击合约:0x580cac65c2620d194371ef29eb887a7d8dcc91bf

攻击者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593

攻击tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31

漏洞合约:0x781ad73f140815763d9A4D4752DAf9203361D07D

2.2流程

1.攻击者通过UniswapV2闪电贷借出6,360,000USDC。

BHD钱包更新到 v1.4.0:据BHD官网公告,BHD钱包已更新到v1.4.0,此版本钱包更新包含以下内容:

1.Bitcoin Core 升级到 v0.19.1;

2.优化了区块同步效率;

3.添加 OmniCore v0.8.1 支持;

4.添加对Linux riscv64支持;

5.“getnewaddress” 现在会生成新地址了,其私钥保存在钱包文件中,

Omni 默认为关闭状态,需要通过“-omni=1”或在Qt钱包的设置中开启;

6.官方 Docker 镜像上架 Docker Hub;

从 v1.4.0 版本开始,BHD钱包将同步更新到 Docker Hub. 详请见原文链接。[2020/6/30]

2.用闪电贷借出的6,360,000USDC分成3份,去bHOME中进行2次重入攻击调用了3次lend()函数铸造共8,465,943.180104bHOME。

HBTC霍比特完成兑换HBC所得BHT的第二次销毁:据HBTC霍比特(原BHEX)交易所公告,HBTC霍比特于新加坡时间4月20日13:00开启了BHT升级兑换HBC活动,从4月23日11:30截至6月22日18:00,共兑换出3,713,652.447 HBC,共获得88,708,016 BHT,并于新加坡时间6月22日18:16完成销毁。剩下流通的BHT,将在用户在HBTC霍比特平台兑换完成后全部销毁。

HBTC霍比特交易所是100%持币者共享的交易平台,独创全新的10倍PE定价回购模型及霍比特队长激励模型,并推出平台资产透明和交易数据可信机制。HBTC霍比特由火币、OKEx等56家资本共同投资,主营币币、合约、OTC、期权等业务,平台上主流币及合约交易拥有优秀流动性和深度。[2020/6/22]

3.将刚才重入获得的bHOME拿去销毁赎回获得7,336,924.998USDC。

4、归还闪电贷借出的6,360,000USDC,并支付19,716的手续费,最后将剩余的957,208.998USDC转入自己的账户。

数字资产金融服务商GSR任命前高盛副总裁AmanBhalla为全球交易运营总监:数字资产金融服务商GSR宣布,前Citadel欧洲大宗商品负责人、前高盛副总裁AmanBhalla加入GSR,担任全球交易运营总监,负责整个交易团队运营层面的业务,包括创新金融产品的研发、风控以及中台、后台部门。前大华银行股票衍生品高级交易员梁明辉加入GSR,担任亚太区交易总监,根据亚太区数字资产市场的需求与发展趋势拓展金融产品和交易策略。注:GSR成立于2013年,团队核心成员来自高盛、TwoSigma、野村国际、IBM和甲骨文等传统金融服务以及技术开发机构。[2020/6/18]

2.3细节

该次攻击事件重点在于lend()函数,由于合约https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未验证开源,所以我们只能从交易的Debugger中寻找线索。

1、攻击者通过UniswapV2闪电贷借出6,360,000USDC。

2、用闪电贷借出的6,360,000USDC分成3份,去bHOME中进行重入攻击2次调用lend()函数铸造共8,465,943.180104bHOME。

动态 | BHEX合约交易量及交易人数较前高增幅40%:据BHEX官方数据,截止今日12:00,其永续合约交易人数和交易量纷纷创出2020年新高,较前高增幅40%。据悉BHEX永续合约上线3个月,无宕机、无卡顿。在交易深度,如盘口低价差,高挂单量以及API的稳定性等方面,也赢得业内专业人士和广大用户的认可。此外为回馈广大合约用户的支持,BHEX即将推出合约体验金计划。BHEX将于3月1日20:00启动永续合约实盘大赛,详情请点击阅读原文。[2020/2/26]

3、将刚才重入获得的bHOME拿去销毁赎回获得7,336,924.998USDC。

4、归还闪电贷借出的6,360,000USDC,并支付19,716的手续费,最后将剩余的957,208.998USDC转入自己的账户。

动态 | 美国区块链上市公司BHCV宣布更名为“EDGS”:2月5日消息,美国区块链上市公司Blockchain Holdings Capital Ventures(BHCV)宣布更名为Edge Data Solutions(EDGS),以更好地反映公司作为云基础设施公司的定位。(GlobeNewswire)[2020/2/26]

2.3细节

该次攻击事件重点在于lend()函数,由于合约https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未验证开源,所以我们只能从交易的Debugger中寻找线索。

分析Debugger可以看到下图是第一次调用函数,接着进行了2次重入。

从重入攻击中可以找到INPUT中调用函数的字节码为0xa6aa57ce。

通过字节签名可以知道重入攻击调用的是lend()函数。

从Debugger中我们可以发现攻击合约的地址0x781ad73f140815763d9a4d4752daf9203361d07d。

通过反编译合约0x781ad73f140815763d9a4d4752daf9203361d07d得到合约伪代码内容,可以找到lend()函数。

我们在反编译的代码中可以看到该合约使用的ERC777协议,会查询recipient的回调合约并回调tokensReceived()函数用以重入攻击。

通过分析可以发现_index就是传入的USDC数量。

totalSupply和balanceOf的增量都和_index是正比关系,和stor104是反比关系,并且这两个变量的更新发生在重入攻击之前,每次都会更新。

stor104记录的是用户存入的USDC总量,该变量的更新发生在重入之后,那么在重入的过程中stor104的值是不变的,而上面的totalSupply是在变大,所以最后return的值也会相应的增大,从而使得攻击者通过重入攻击铸造得到比正常逻辑更多的bHOME代币。

除了该次攻击事件,BlockSecTeam还阻断了后面发生的攻击并将金额返还给了项目方。

交易hash:0xf3bd801f5a75ec8177af654374f2901b5ad928abcc0a99432fb5a20981e7bbd1

3、总结

此次攻击事件是由于项目方使用了ERC777协议但没有对回调合约的安全性进行考虑从而导致了重入攻击的发生,当项目合约有涉及资产的转移时,建议使用「检查-生效-交互」模式来保证逻辑代码的安全,当然我们也可以使用OpenZeppelin官方提供的ReentrancyGuard修饰器来防止重入攻击的发生。

标签:USDSDCUSDCBHOwstUSDTPCUSDC价格CUSDCBHO价格

Gateio热门资讯
Rust智能合约养成日记(9)-ODAILY

程序维护中的一个基本问题是——缺陷修复总会以%的机率引入新的bug。所以整个过程是前进两步,后退一步。——布鲁克斯《人月神话》 1.合约升级的必要性 智能合约本质上是程序,既然是程序,缺陷就不可避免.

1900/1/1 0:00:00
取代以太坊,竞争者们都有何杀手锏?-ODAILY

“以太坊作为第一个拥有智能合约的区块链,凭借先发优势已经建立了相对完整的生态并沉淀了足够多的用户,但在Gas费、处理速度和可扩展性方面饱受诟病.

1900/1/1 0:00:00
DAOrayaki:Gitcoin DAO发展历史-ODAILY

DAOrayakiDAO研究奖金池:2017-2021年Gitcoin简史 大家好, 我一直在向DAO的几位新成员讲述Gitcoin的口述史,这篇文章的目的是将Gitcoin的历史一次性写完,以便大家都能看到.

1900/1/1 0:00:00
波卡生态周报:波卡正在进入下一阶段,向Web3的愿景迈进-ODAILY

Polkadot生态研究院出品,必属精品波卡一周观察,是我们针对波卡整个生态在上一周所发生的事情的一个梳理,同时也会以白话的形式分享一些我们对这些事件的观察。本文旨在提供信息和观点,不为任何项目作背书.

1900/1/1 0:00:00
执法部门如何追查从Bitfinex被盗的94,000枚比特币?-ODAILY

美国司法部在2022年2月的一份声明中宣布,在控制了被盗资金的钱包后,它已成功扣押了2016年对加密交易所Bitifinex的黑客攻击中流失的大部分比特币.

1900/1/1 0:00:00
AC 拼命宣传的 ve(3,3) 究竟是什么?-ODAILY

最近YearnFinance和Keep3rNetwork创始人Andrecronje在社交媒体上拼命宣传自己的一个神秘新项目——ve(3,3)。但是到目前为止,尽管AC公布了项目的很多细节,其真实面纱依然没有被揭开.

1900/1/1 0:00:00