//前言
北京时间3月5日,知道创宇区块链安全实验室监测到BaconProtocol遭受黑客攻击损失约958,166美元,本次攻击利用重入漏洞,并凭借闪电贷扩大收益额。目前攻击者地址还没有被加入USDC的黑名单中。
//分析
攻击事件如下图所示,该次攻击事件的问题点在于lend()函数,攻击者利用该函数进行重入攻击。
2.1基础信息
攻击合约:0x580cac65c2620d194371ef29eb887a7d8dcc91bf
攻击者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593
攻击tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31
漏洞合约:0x781ad73f140815763d9A4D4752DAf9203361D07D
美国在线食品配送平台Grubhub与比特币奖励公司Lolli达成合作:12月3日消息,美国在线食品配送平台Grubhub与比特币奖励公司Lolli达成合作,允许其用户在每笔订单中赚取比特币 (BTC)。在周三的公告中,Lolli表示Grubhub客户的第一笔订单将获得5美元的BTC,后续订单奖励为1美元BTC。用户必须在Grubhub下订单之前在网络或移动设备上激活Lolli。(News BTC)[2021/12/3 12:47:58]
2.2流程
1.攻击者通过UniswapV2闪电贷借出6,360,000USDC。
2.用闪电贷借出的6,360,000USDC分成3份,去bHOME中进行2次重入攻击调用了3次lend()函数铸造共8,465,943.180104bHOME。
BHD Community活动总监刘友建:做共识机制的龙头币:据悉,2020年8月1日,由LBank、金色财经联合承办的“LBank和他的朋友们-2020百城计划”在郑州举行。BHD Community活动总监刘友建就“BHD 如何在 POC 领域引领新潮流”话题进行精彩分享:BHD是POC共识机制的龙头币,对于POC存在的意义我们知道是解决了比特币算力中心化、矿机中心化和耗能巨大的现实问题,接下去三年内必将是区块链行业内的趋势。[2020/8/1]
3.将刚才重入获得的bHOME拿去销毁赎回获得7,336,924.998USDC。
4、归还闪电贷借出的6,360,000USDC,并支付19,716的手续费,最后将剩余的957,208.998USDC转入自己的账户。
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.3细节
该次攻击事件重点在于lend()函数,由于合约https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未验证开源,所以我们只能从交易的Debugger中寻找线索。
1、攻击者通过UniswapV2闪电贷借出6,360,000USDC。
火币矿池正式开放BitcoinHD(BHD)锁仓挖矿功能:据火币矿池消息,新加坡时间4月22日18:00,火币矿池正式开启BitcoinHD(BHD)锁仓挖矿功能,最小锁仓数量为25个。火币矿池可以实现一键双挖获得双重收益,在火币矿池锁仓BitcoinHD(BHD)享受双重收益。详情见原文链接。[2020/4/22]
2.3细节
该次攻击事件重点在于lend()函数,由于合约https://etherscan.io/address/0x781ad73f140815763d9a4d4752daf9203361d07d#code并未验证开源,所以我们只能从交易的Debugger中寻找线索。
分析Debugger可以看到下图是第一次调用函数,接着进行了2次重入。
BHEX交易所更名为HBTC霍比特交易所:据BHEX官方消息,BHEX宣布今日起正式更名为HBTC霍比特交易所,启用新域名HBTC.COM,并于4月17日下午举办线上品牌升级发布会。
HBTC霍比特交易所由火币网、OKEx等56家资本共同投资,已经平稳运营了近两年时间。[2020/4/13]
从重入攻击中可以找到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修饰器来防止重入攻击的发生。
3月5日,《2022年政府工作报告》在中国政府网全文刊发,在这次大约1.7万字的报告里没有提及“区块链”三个字.
1900/1/1 0:00:00据欧科云链消息,今日8时04分,BSC链上的元宇宙金融项目Paraluni遭受黑客攻击,黑客获利逾170万美元.
1900/1/1 0:00:0001时间/地点时间:2022年5月31日——6月2日地点:上海新国际博览中心02大会简介开源科技OSTech强强联手中国信息通信研究院、环球资源和Linux基金会亚太区.
1900/1/1 0:00:00据Decrypt3月30日报道,Helium为加密货币代币提供了一个独特的使用案例,作为一个由代币激励机制驱动的去中心化无线网络——该平台的规模在过去一年中迅速增长.
1900/1/1 0:00:00摘要:这年头,走路、跑步还能赚钱?最近大火的Web3链游STEPN,就是喊着这个口号出圈的。这个被称为“翻版趣步”的STEPN究竟靠不靠谱?是真赚钱,还是割韭菜?国内:知名音乐人罗大佑与腾讯音乐.
1900/1/1 0:00:00原文作者:AdrianStencel贡献者:Yofu@DAOrayaki审核者:DAOctor@DAOrayaki原文:ScienceandWeb3:Donon-fungibletokens(N.
1900/1/1 0:00:00