本文由“Fairyproof Tech”原创,授权“金色财经”独家发布。
8月25日,BSC链上的收益聚合应用Dot.Finance受到闪电贷攻击。受本次攻击事件的影响,项目代币PINK在短时内发生暴跌,从0.77美元跌至0.5美元。
这次攻击事件中有两点值得我们注意:
一是闪电贷再次成为黑客的工具,将攻击的后果放大。
二是本次攻击与前阵子PancakeBunny受到的攻击同源。
关于“闪电贷”,我们已经在往期的文章中多次介绍:它不是攻击的元凶而只是攻击利用的手段。本文特别想强调的是第二点,也就是本次攻击与PancakeBunny的同源性。
我们在本文所说的“同源”通俗的理解就是本项目出现的漏洞与PancakeBunny一样。为什么会这样呢?原因就在于Dot Fiance是分叉自PanacakeBunny的代码,而在分叉复制的过程中,项目方或许是因为疏忽,或许是因为其它原因,并没有对代码进行详细审计,以致PancakeBunny代码中的漏洞也一并复制过来了,而没有得到修正。
由于本次攻击与PancakeBunny具有同源性,因此我们有必要首先回顾一下PancakeBunny此前受到的攻击情况,这些攻击事件具体如下:
2021年5月20日,PancakeBunny第一次遭遇攻击
2021年5月26日,PancakeBunny第二次遭遇攻击
2021年7月17日,PancakeBunny在Polygon上的版本遭外部攻击
本次Dot Finance受到的攻击则与 PancakeBunny第二次遭受的攻击是相同的漏洞。具体地说,Dot Finance分叉复制了PancakeBunny的收益聚合部分,但没有修正其隐藏的漏洞。
Fairyproof Tech对本次事件的详细分析如下:
在本次攻击中,
攻击者的地址为:0xDFD78a977c08221822F6699AD933869Da6d9720C
攻击合约的地址为:0x33f9bB37d60Fa6424230e6Cf11b2d47Db424C879
被攻击的合约为“VaultPinkBNB”,其地址为:0xbfca3b1df0ae863e966b9e35b9a3a3fee2ad8b07
具体在合约“VaultPinkBNB”中,出现漏洞的代码为“getReward()”函数,函数完整代码如下:
函数中具体出现漏洞的代码片段为:
上述代码片段在计算奖励时,_minter.performanceFee(cakeBalance)传入的参数cakeBalance 是CAKE代币的余额。攻击者可以在调用getReward前将闪电贷借入的CAKE转入 VaultPinkBNB合约,导致产生非预期的performanceFee值,而_minter.mintFor()则根据这个非预期的performanceFee值增发超额的PINK奖励代币。然后攻击者将PINK在Pancake上卖出换为BNB和CAKE,一部分偿还闪电贷,剩余部分则为本次攻击的获利。
这类由项目之间的相互分叉而导致漏洞传导的事件已经不是第一次发生,我们相信未来这类漏洞还会发生。
单就本次攻击及漏洞的来源来看,Fairyproof Tech强烈建议,所有分叉自PancakeBunny或与 PancakeBunny同源的项目都应再次审查项目代码是否存在类似的漏洞,对代码进行安全审计。
如果从本次漏洞出现的模式看,所有分叉自其它项目的项目都应提高警惕。这类具有同源性质的多个项目,无论其漏洞本身隐藏得多么深,但只要发生一次、被业界公开,其它的同源项目都应该引起警示并马上着手整改。因为此类漏洞一旦被披露,理论上项目方是有足够的时间来修正问题的。只要项目方在漏洞发生的第一时间对本项目代码进行二次审计和测试,本项目受到后续攻击是完全可以避免的。
因此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本出版著作。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。