北京时间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美元的数字资产。
赵长鹏:将加大对DeFi方向的投资,希望看到更多NFT用例:7月31日消息,Binance创始人赵长鹏在AMA中发言表示,其个人也不知道哪个领域会成为加密中最大的或者最有趣的,自己对此保持着一个相当开放的心态,会继续做自认为擅长的事情,就是运营交易平台。其认为CEX帮助了加密领域内的许多人。
赵长鹏补充表示,还有许多其他有趣的领域,Binance计划在这些领域大力投资,DeFi显然是其中之一。目前NFT可能有些困难,但希望人们能够找到更实用、更常见的应用场景来使用NFT,它不仅仅是用于出售数字艺术品。另外,像游戏、电子商务等领域也会继续发展。[2023/7/31 16:09:17]
4)攻击者?偿还从dYdX借出的闪电贷,并卷走了攻击所得的数字资产。
接下来的篇幅中,我们将逐步解析黑客在该笔闪电贷交易(http://oko.palkeo.com/0x013be97768b702fe8eccef1a40544d5ecb3c1961ad5f87fee4d16fdc08c78106/)中实施的攻击行为。
数据:当前DeFi协议总锁仓量为2116.1亿美元:3月20日消息,据Defi Llama数据显示,目前DeFi协议总锁仓量2116.1亿美元,24小时增加0.11%。锁仓资产排名前五分别为Curve(184.7亿美元)、MakerDAO(163.4亿美元)、Lido(161.2亿美元)、Anchor(140.4亿美元)、AAVE(129.6亿美元)。[2022/3/20 14:07:27]
Balancer遭黑客攻击全过程技术拆解
第一步:闪电贷
从dYdX闪电贷104,331WETH,这部分熟悉DeFi借贷模式的读者应该都比较清楚,此处不再赘述。
V神:DeFi实现zk-rollups比较困难:以太坊创始人V神刚刚发推称,为DeFi实现zk-rollups比较困难,因为所有的DeFi需要支持SNARK内部的通用计算。[2020/9/1]
第二步:清空Balancer的STA资产
攻击者通过多次swapExactAmountIn()调用清空了Balancer的STA资产,为下一步实施攻击做准备。值得一提的是,我们发现合约代码中每次能够兑换的资产数额其实有上限,然而狡猾的攻击者预先计算了可兑换的WETH最大数额,并巧妙的让Balancer只剩了?0.000000000000000001STA。
由于Balancer资金池各资产间存在“动态平衡”原理,仅剩接近于0的STA会拉高STA的价值,使得任何人都可以用1STA换到大量的其他数字资产。
第三步:攻击获利
经过前两个准备步骤之后,攻击者是时候展现真正技术了!
DeFi热潮使以太坊重新成为第一大DApp平台:据EthereumWorldNews 8月9日发文称,2020年去中心化金融(DeFi)热潮以多种方式对以太坊网络产生了积极影响,使其重新成为第一大DApp平台。目前有430万个ETH被锁定在DeFi平台上,自7月中旬以来已增加80万个。[2020/8/9]
承上所述,攻击者通过swapExactAmountIn()函数将?0.000000000000000001STA发送到BPool,以极高的价值差,立即兑换出了30,347个WETH,实现了获利。而此时,BPool的内部记账机制?_records在BPool真正收到0.000000000000000001STA之前先加了1。
火币去中心化事业部运营负责人高潮:火币钱包正致力帮助普通人进入DeFi市场:7月30日15点,火币尖峰对话DeFi系列活动第一期AMA线上举行,金色财经合伙人、IPFS100.com CEO佟扬与火币去中心化事业部运营负责人高潮就“今天,我们为什么要谈论DeFi?”这一主题展开共同探讨。
高潮在对话中分析了DeFi市场现在的发展情况,他认为DeFi赛道目前明显呈现大户化、机构化、专业化的趋势,散户几乎很难参与。专业性太强,用户交互的友好性、易用性还有很大差距,普通用户无法进入DeFi市场,这是DeFi现在最大的瓶颈也是机会。
火币钱包正在致力于解决这些问题,用金融思维方式重新构建DeFi的交互,把交互推动到下一代水平,真正实现DeFi飞入平常百姓家。[2020/7/30]
另外我们发现,在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美元的数字资产,详情列表如下:
标签:EFIDEFIDEFSTAonekey一键还原提示uefiAxis DeFidefibox币有价值吗一直跌pstake币前景
本文为知名投资机构PanteraCapital写给投资者的信:“有时,几十年过去,世界波澜不惊;有时,短短几周时间,一个新的时代已经开启。”——列宁.
1900/1/1 0:00:00作者|大文来源|链得得6月1日,由腾讯云发起,链得得、得得智库联合主办的“共识·共建|区块链产业联盟暨课堂发布会”通过在线平台召开,围绕行业趋势、技术平台、伙伴生态、产业案例等多方面内容.
1900/1/1 0:00:00加密金融数据提供商CoinMetrics发布的一份新的报告显示,传统的市值和供应量估算模型可能不准确,因为它们没有给出当前流通的比特币和主要山寨币数量的“真实”图景.
1900/1/1 0:00:00数据来源:荷兰经济计划司世界贸易监控指数-出口数据呈现:同伴客数据CPA报告:法国央行考虑将Ripple和XRP作为发行数字欧元的平台:澳大利亚会计师公会(CPA Australia)发布了一份.
1900/1/1 0:00:006月26日,矿机制造大厂、矿圈内公认的行业“老四”的亿邦国际成功在美股纳斯达克交易所挂牌,股票代码:EBON.
1900/1/1 0:00:00据TheBlock6月23日消息,加密货币期权交易平台Sparrow已在A轮融资中筹集了350万美元资金.
1900/1/1 0:00:00