编者按:本文来自PeckShield,Odaily星球日报经授权转载。北京时间06月29日凌晨02时03分起,最近因“借贷即挖矿”模式而备受关注DeFi平台Balancer上的STA和STONK两个ERC20通缩代币池遭到了黑客攻击,共计损失了超50万美元。PeckShield安全人员介入分析后,迅速定位到问题的本质在于,Balancer上的通缩型代币和其智能合约在某些特定场景不兼容,使得攻击者可以创建价格偏差的STA/STONK流通池并从中获利。此次黑客实施攻击共计分了四个步骤,具体而言:1)攻击者通过闪电贷从dYdX平台借出了104,331个WETH;2)攻击者反复执行swapexactMountin()调用,直至Balancer拥有的大部分STA代币被消耗殆尽,进而开始下一步攻击。最终Balancer仅仅剩余0.000000000000000001个STA。3)攻击者利用STA代币和Balancer智能合约存在的不兼容性即记账和余额的不匹配性实施攻击,将资金池中的其他资产耗尽,最终共计获利价值523,616.52美元的数字资产。4)攻击者偿还从dYdX借出的闪电贷,并卷走了攻击所得的数字资产。接下来的篇幅中,我们将逐步解析黑客在该笔闪电贷交易中实施的攻击行为。Balancer遭黑客攻击全过程技术拆解
ApeCoin发起新提案AIP-266拟推出“效率改进建议EIS”新型提案方式:金色财经报道,ApeCoin发起新提案AIP-266拟推出“效率改进建议EIS”新型提案方式,旨在授权ApeCoin特别委员会推动DAO运营更加高效,根据提案内容,ApeCoin拟让特别委员会正式制定一个流程,创建一个名为“效率改进建议(Efficiency Improvement Suggestion)”的新型提案方式,EIS提案将直接提交给DAO协调员,然后协调员将EIS转发给特别委员会供其审议,并在两天内在Discourse上的新EIS选项卡下发布EIS,特别委员会将在12天内决定接受或拒绝EIS,此外ApeCoin DAO还将创建一个EIS“起草者”新角色,根据其指示正式起草拒绝或批准的理由以及指令,据悉该提案投票将于8月17日结束。[2023/8/13 16:23:39]
数据:持有超过1万枚ETH的地址数量创1个月新高:金色财经报道,Glassnode数据显示,持有超过1万枚ETH的地址数量为1210个,创1个月新高。[2023/2/11 12:00:34]
第一步:闪电贷从dYdX闪电贷104,331WETH,这部分熟悉DeFi借贷模式的读者应该都比较清楚,此处不再赘述。第二步:清空Balancer的STA资产攻击者通过多次swapExactAmountIn()调用清空了Balancer的STA资产,为下一步实施攻击做准备。值得一提的是,我们发现合约代码中每次能够兑换的资产数额其实有上限,然而狡猾的攻击者预先计算了可兑换的WETH最大数额,并巧妙的让Balancer只剩了0.000000000000000001STA。由于Balancer资金池各资产间存在“动态平衡”原理,仅剩接近于0的STA会拉高STA的价值,使得任何人都可以用1STA换到大量的其他数字资产。第三步:攻击获利经过前两个准备步骤之后,攻击者是时候展现真正技术了!
韩国检方已申请对Terra联创Daniel Shin等人的事前拘捕令:11月30日消息,韩国检方以违反《特定经济犯罪加重处罚法》中的欺诈及渎职、违反《资本市场法》、违反《非法信用行为限制法》等嫌疑,申请对Terra联创Daniel Shin等8人发出事前拘捕令,其中4人是Terra Luna的早期投资人,另外4人是Terra和Luna技术开发的骨干人员,这8人都留在韩国。[2022/11/30 21:11:05]
承上所述,攻击者通过swapExactAmountIn()函数将0.000000000000000001STA发送到BPool,以极高的价值差,立即兑换出了30,347个WETH,实现了获利。而此时,BPool的内部记账机制_records在BPool真正收到0.000000000000000001STA之前先加了1。
分析:Alameda曾于二季度处于崩溃边缘,当时使用大量FTT作为抵押品从FTX获得资金:11月9日消息,CoinMetrics研究主管Lucas Nuzzi在推特上分析称,有证据表明FTX可能在第二季度为Alameda提供了大规模救助,而现在这又是困扰着他们的原因。通过数据分析表示,Alameda在今年第二季度时与三箭资本等一起到了崩溃边缘,它之所以幸存下来,是因为它使用保证在4个月后归属的1720万枚FTT作为抵押品从FTX获得资金,一旦归属,所有代币都被退回作为还款。FTT ICO合约是自动归属,如果FTX让Alameda在5月内爆,他们的崩溃将确保随后在9月归属的所有FTT代币被清算。这对FTX来说会很糟糕,所以他们必须想办法避免这种情况。Alameda和FTX实际上在第二季度把所有筹码都摆在台面上,并用这笔钱来救助其他公司,这巩固了FTX作为有偿付能力和负责任的机构的形象,并有助于FTT的价格上涨。对Alameda的救助计划可能会削弱FTX的资产负债表,使其不再具有偿付能力,这就是为什么Alameda竭尽全力保护FTT价格的原因。
Nuzzi还猜测,币安的人有可能知道FTX和Alameda之间的这种安排。作为FTT的大持有者,他们可能会开始故意破坏该市场,以迫使FTX面临流动性紧缩。[2022/11/9 12:36:23]
PeckShield:BSC链上Impossible Finance 遭到闪电贷攻击攻击者获利49.7万美元:北京时间 6 月 21 日,PeckShield “派盾”预警显示,BSC链上DeFi协议Impossible Finance遭到闪电贷攻击,攻击者获利1,510.75WBNB(合计 49.7 万美元)。[2021/6/21 23:53:28]
另外我们发现,在swapExactAmountIn()的底部,_pullUnderlying()尝试从攻击者端收集相应消耗的STA。然而,由于STA转账时还会烧掉1%的手续费,实际BPool是收不到任何STA的。这样就使得BPool的实际STA余额和内部记账产生不匹配。
接下来是最有趣的一部分,攻击者调用gulp()不断重置_records,使得BPool中始终保持0.000000000000000001个STA。因此攻击者可以用极高价的0.000000000000000001个STA将流通池中的WETH、SNX、LINK等其他资产消耗光。
第四步:偿还闪电贷
最终,如上图所示,攻击者偿还了从闪电贷借出的104,331个WETH。建议
此次攻击事件再次暴露了DeFi可组合性存在的兼容性风险。此前不久,Uniswap和Lendf.Me两个平台就因和ERC777标准的兼容性问题,产生了非常严重的黑客攻击事件。需要警醒的是,在未来DeFi行业类似的黑客攻击行为或许会屡见不鲜。如果问该怎样才能规避这类攻击事件的发生呢?或许有两个优化调整思路:1)STA/STONK在执行transfer()或transferFrom()时,当转账数额不足以支付手续费时,应该直接回滚或者返回False;2)Balancer应该在每一次transferFrom()函数调用后检查BPool的余额。当然,任何安全事件事后采取措施补救都无法弥补已经产生的损失,我们相信最好的解决方案还是事前防备。DeFi项目开发者应尽可能利用好的代码规范,并可寻求第三方安全公司协助其在上线前进行全面的攻防测试,尽可能找出一切潜在的漏洞。最后,尽可能对ERC20、ERC777和其它DeFi项目的任何组合行为都做好周密排查。后续
毫无疑问,Balancer事件的发生势必也会对DeFi社区带来影响,而且这类事情接下来发生的可能性还会很大,在此提醒广大DeFi项目开发者应务必重视合约的安全问题。经我们统计发现,Balancer在此次攻击事件共计损失了523,616.52美元的数字资产,详情列表如下:
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。