由Fairyproof Tech授权,金色财经独家发布。
8月17日,Fairyproof Tech的监测系统检查到BSC链上的DeFi协议XSURGE遭到闪电贷攻击。
关于闪电贷攻击,我们在此前的文章中曾经有过多次介绍。“闪电贷”在DeFi领域,尤其是今年以来的屡 次攻击事件中已经成为圈内外耳熟能详的词汇。
“闪电贷”的原理是利用以太坊智能合约可以回滚交易的特性,进行借贷操作的一种手段。大家一定要注意的是,“闪电贷”只是被利用的手段,它本身并不是罪魁祸首。罪魁祸首一般都另有其它原因。
黑客们利用闪电贷进行攻击的基本过程是这样的:
首先利用闪电贷从资金池借出资金
独家|比特币当前全网未确认交易笔数达4.8万笔 未确认交易笔数激增:金色财经消息,据欧科云链OKLink链上数据显示,比特币24h链上活跃地址数逾101.85万,环比上升1.91%;链上真实交易量近69.59万BTC,环比上升23.86%;链上交易笔数逾31.36万笔,环比下降4.01%。
截至上午10时,比特币全网难度为20.00T,全网算力为137.22EH/s,较前日下降2.15EH/s,未确认交易数约4.81万笔。[2020/10/22]
然后利用借出的资金找准被攻击合约的漏洞进行攻击
最后从攻击获得的巨额收益中拿出借贷的本金归还给资金池,则剩下的就是黑客本次攻击的获利。
本次受攻击的XSURGE项目被黑客抓住的漏洞是“重入攻击”。黑客抓住这个漏洞,利用闪电贷,放大了攻击效果。不过本次攻击事件中,值得注意的是:在XSURGE受到攻击前,项目方已经在推特上发表了声明,声称在合约中发现漏洞,并提醒大家将资金撤出。
独家|比特币近24h链上交易量约59.38万BTC 环比上升49%:金色财经消息,据欧科云链OKLink链上数据显示,比特币24h链上活跃地址数逾96.11万,环比上升22.52%;链上交易量约59.38万BTC,环比上升49%;链上交易笔数逾32.11万笔,环比上升26.28%。
截至上午10时,比特币全网难度为19.30T,全网算力为139.85EH/s,较前日上升1.53EH/s,未确认交易数约2592笔。[2020/10/13]
或许是项目方的声明提醒了黑客,抑或许是黑客蓄谋已久,就在项目方的声明发出不久,项目即遭到了攻击。
在本次攻击中,黑客前后进行了多轮测试和攻击,总共的获利超过13000个BNB,市值超过500万美元。在黑客发起的众多轮测试和攻击中,我们选取了一次很简单的攻击流程和大家展示一下黑客攻击的过程。
独家|以太坊近24h链上交易量约267.85万ETH,环比上升13.53%:金色财经消息,据欧科云链OKLink链上数据显示,以太坊24h链上活跃地址数逾51.13万,环比上升11.62%;链上交易量近267.85万ETH,环比上升13.53%;链上交易笔数逾97.02万笔,环比下降1.76%。
截至下午2时,以太坊全网算力约为239.82TH/s,环比上升0.28TH/s,建议Gas费用为102.95Gwei,环比上升1.6%,未确认交易数约9.54万笔。[2020/9/28]
在这个攻击中,攻击者的地址为:0x59c686272e6f11dC8701A162F938fb085D940ad3,被攻击的 XSURGE的合约地址为: 0xE1E1Aa58983F6b8eE8E4eCD206ceA6578F036c21。
独家|以太坊24h链上交易量近710.61万ETH 环比上升55.44%:金色财经消息,据欧科云链OKLink链上数据显示,以太坊24h链上活跃地址数逾53.88万,环比上升25.55%;链上交易量近710.61万ETH,环比上升55.44%;链上交易笔数逾139.8万笔,环比上升29.26%。
截至下午2时,以太坊全网算力约为234.03TH/s,环比上升2.22TH/s,当前建议Gas费用为319.83Gwei,环比下降51.08% ,未确认交易数约11.83万笔。[2020/9/18]
这个攻击的交易哈希值为 0x42bc03afdbda5c46d185711ce1f5df990ece215534dcd8b14529bb1beddacd4 ,与其相关的交易流 程图如下:
独家|比特币全网算力持续回升 短时算力一度突破150EH/s:金色财经消息,据欧科云链OKLink链上数据显示,比特币24h链上活跃地址数逾110.23万,环比上升2.62%;链上交易量近54.02万BTC,环比下降6.21%;链上交易笔数逾34.72万笔,环比上升0.94%。
截至上午10时,BTC全网难度为17.35T,全网七日算力均值为142.84EH/s,较前日上升4.7EH/s,短时算力一度突破150EH/s;全网未确认交易数约2156笔。[2020/9/18]
这个流程图显示的是一系列BNB的转账流程,这个流程所暗含的信息如下: - 攻击合约首先以闪电贷的方式借入了3个BNB - 然后攻击者开始攻击SurgeToken合约 - 经过重复多次攻击后,攻击者获得的累计金额达8.175个BNB - 攻击者最终偿还3个BNB的闪电贷借款,最后获利5.1667个BNB “麻雀虽小、五脏俱全”,这个金额很小的试探性攻击过程就反映了黑客利用闪电贷攻击合约的完整流 程。那么具体到被攻击的合约代码,到底是哪里出了问题呢?下面是我们节选的关键代码:
上述代码中,有"重入攻击"漏洞的代码是下面这一行:
这一行代码中,在外部调用时,通常 call 调用默认只有2300 gas可用,无法完成一次攻击。但这里使 用 gas: 40000 的参数, 使得重入攻击最多有40000 gas可用,这就使得重入攻击得以完成,漏洞就出 现了。 另外,合约的状态修改是在外部调用之后,从而导致重入攻击发生时 require(_balances[seller] >= tokenAmount 这句语句中的 balances[seller] 没有被修改。因此攻击者可以在重入时继续调用上面 的代码,转走合约中的BNB。
因此,本次攻击得逞的原因有以下两点:
状态修改发生外部调用之后
调用call函数时设置了gas 值使得重入攻击的条件得以具备。
重入攻击是智能合约安全领域经常出现的问题,在本次攻击中,闪电贷同样也只是起到了“帮凶”的作用,而不是“祸首”。所以本次合约安全事故的根本还是“重入攻击”这个漏洞。 这次事件再次提醒所有的项目方要高度重视合约的审计。同时这也提醒了所有的审计者,对常见问题的审计不能掉以轻心,要以严谨的态度处理一切问题、细致的工作堵住一切漏洞,而这也是Fairyproof Tech一直以来秉持的基本态度和方法。
关于Fairyproof Tech: Fairyproof Tech科技有限公司是一家专注区块链生态安全的公司。Fairyproof Tech科技主要通过“代码风险检测+逻辑风险检测“的一体化综合方案服务了诸多新兴知名项目。公司成立于2021年01月,团队由一支拥有丰富 智能合约编程经验及网络安全经验的团队创建。
团队成员参与发起并提交了以太坊领域的多项标准草案,包括ERC-1646、ERC-2569、ERC-2794,其中 ERC-2569 被以太坊团队正式收入。
团队参与了多项以太坊项目的发起及构建,包括区块链平台、DAO组织、链上数据存储、去中心化交易 所等项目, 并参与了多个项目的安全审计工作,在此基础上基于团队丰富的经验构建了完善的漏洞追踪 及安全防范系统。
作者:Fairyproof TechCEO 谭粤飞
美国弗吉尼亚理工大学(Virginia Tech, Blacksburg, VA, USA) 工业工程(Industrial Engineering) 硕士 (Master)。曾任美国硅谷半导体公司 AIBT Inc(San Jose, CA, USA) 软件工程师,负责底层控制系统的 开发、设备制程的程序实现、算法的设计,并负责与台积电的全面技术对接和交流。自2011至今,从事 嵌入式,互联网及区块链技术的研究,深圳大学创业学院《区块链概论》课程教师,中山大学区块链与 智能中心客座研究员,广东省金融创新研究会常务理事 。个人拥有4项区块链相关专利、3本出版著作。
8月16日,根据区块链分析公司 Nansen 的数据,以太坊 2.0 的质押(Staking)规模现已达到 673 万个 ETH(价值约 212 亿美元).
1900/1/1 0:00:00本文由“Fairyproof Tech”原创,授权“金色财经”独家首发,转载请注明出处。8月10日,跨链协议Poly Network遭到攻击,依赖该协议的O3 Swap跨链交易协议连带受到牵连,
1900/1/1 0:00:00NFT全称为Non-fungible Token,中文名叫非同质化通证,与我们我们常见的Token(如BTC,ETH等)不同,NFT的重要特征是独特有唯一标识,两两不可互换.
1900/1/1 0:00:00备受争议的1万亿美元基础设施法案将于9月27日在美国众议院进行投票表决,但加密货币税收条款不会有任何修改。众议院以220票对212票的微弱优势通过了民主党提出的3.5万亿美元预算框架.
1900/1/1 0:00:00今日,在币安、Huobi相继宣布上线TRIBE治理代币后,算法稳定币协议Fei protocol终于走出了伤痛的阴霾.
1900/1/1 0:00:00巴比特讯,8月13日20:13,黑客通过PolyNetwork被黑地址再次发出“小作文”,疑似是对慢雾科技回应.
1900/1/1 0:00:00