1、前言
北京时间3月5日,知道创宇区块链安全实验室?监测到?BaconProtocol?遭受黑客攻击损失约958,166美元,本次攻击利用重入漏洞,并凭借闪电贷扩大收益额。目前攻击者地址还没有被加入USDC的黑名单中。
2、分析
攻击事件如下图所示,该次攻击事件的问题点在于lend()函数,攻击者利用该函数进行重入攻击。
2.1基础信息
攻击合约:0x580cac65c2620d194371ef29eb887a7d8dcc91bf
攻击者地址:0x7c42f2a7d9ad01294ecef9be1e38272c84607593
BHEX正式上线XCH交易:据官方公告,BHEX于今日16:00 (UTC+8) 正式上线XCH(Chia Network),并开通XCH/USDT交易对,充值现已开启。
据悉,Chia是一个区块链和智能交易平台,其正在使用自比特币以来的第一个新的区块链共识算法,被称为“时空证明”。
Chialisp是Chia的新型智能交易编程语言,功能强大,易于审核且安全。当前可用的参考智能交易包括:原子掉期,授权收款人,可恢复钱包,多重签名钱包和限价钱包。[2021/5/15 22:06:25]
攻击tx:0x7d2296bcb936aa5e2397ddf8ccba59f54a178c3901666b49291d880369dbcf31
BKEX Global超级合约即将上线BHD:据BKEX Global公告,BHD(BitcoinHD)将于2020年6月18日20:30(UTC+8)上线BKEX超级合约,上线后,BKEX超级合约将支持BKK、CSPC、BHD三大币种交易。
BKEX超级合约是以某个指数价格为标的,用更多其它数字货币作为保证金来交易结算盈亏的全新合约交易模式,具有公平公正、操作简便等优势。
BHD是基于Conditioned Proof Of Capacity的新型加密货币,其主要创新点是采用新型的条件化容量证明共识机制,使用硬盘作为共识的参与者,让人人都能开采加密货币。硬盘挖矿使得BHD更趋向去中心化,通过以数学算法和分布式开采由此产生信用和价值。BHD将致力于打造成改变加密货币生产方式的有价金融系统。[2020/6/15]
漏洞合约:0x781ad73f140815763d9A4D4752DAf9203361D07D
合约帝实盘接入BHEX永续 实现数据合约全面对接:据合约帝官方消息,北京时间3月2日,合约帝平台宣布正式完成BHEX永续合约实盘账户的数据对接工作,用户可以使用合约帝App在自己的账号中接入BHEX永续合约账户的实盘API,同时在合约帝平台上参与收益展示、数据分析、行情解读共享等社交活动。[2020/3/2]
2.2流程
1.攻击者通过UniswapV2闪电贷借出6,360,000USDC。
2.用闪电贷借出的6,360,000USDC分成3份,去bHOME中进行2次重入攻击调用了3次lend()函数铸造共8,465,943.180104bHOME。
3.将刚才重入获得的bHOME拿去销毁赎回获得7,336,924.998USDC。
动态 | BHEX合约交易量及交易人数较前高增幅40%:据BHEX官方数据,截止今日12:00,其永续合约交易人数和交易量纷纷创出2020年新高,较前高增幅40%。据悉BHEX永续合约上线3个月,无宕机、无卡顿。在交易深度,如盘口低价差,高挂单量以及API的稳定性等方面,也赢得业内专业人士和广大用户的认可。此外为回馈广大合约用户的支持,BHEX即将推出合约体验金计划。BHEX将于3月1日20:00启动永续合约实盘大赛,详情请点击阅读原文。[2020/2/26]
4、归还闪电贷借出的6,360,000USDC,并支付19,716的手续费,最后将剩余的957,208.998USDC转入自己的账户。
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。
3、将刚才重入获得的bHOME拿去销毁赎回获得7,336,924.998USDC。
4、归还闪电贷借出的6,360,000USDC,并支付19,716的手续费,最后将剩余的957,208.998USDC转入自己的账户。
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修饰器来防止重入攻击的发生。
親愛的用戶: 幣安流動性挖礦支持STEPN資產,並開放1個新流動性池。上線幣對:GMT/BUSD流動池添加流動性,分享350,000STEPN:於GMT/BUSD流動池添加流動性,將有機會瓜分3.
译者注:1月份,Optimism发推更新其Rollup的固定开销(Fixedoverhead)从2750gas减少至2100gas.
親愛的用戶: 幣安 質押借幣平台現已推出利息折扣優惠活動,並與幣安NFT平台合作推出了限量NFT盲盒獎勵計劃。現有用戶和新用戶均有資格參與本次活動.
北京时间3月16日凌晨,以太坊基础设施开发公司ConsenSys首席执行官JoeLubin表示,MetaMask很快将推出去中心化自治组织,新的DAO并不会参与管理MetaMask.
项目名称:ConvexFinance(CVX)项目简介:ConvexFinance(CVX)是一个建立在CurveFinance之上的收益优化和自动化协议.
親愛的用戶:幣安Staking平台將於2022年03月10日20:00上線多重BTTC高收益鎖倉活動,多重收益,任您選擇!活動一:30、60、90天週期任您選.