Lendf.Me遭黑客攻击损失约2470万美元,DeFi为何安全问题频发
王也
2020-04-19 08:15
本文约2712字,阅读全文需要约11分钟
目前dForce团队正在定位被攻击原因,并在网页端建议所有用户停止往Lendf.Me协议存入资产。

“DeFi平台不作恶,奈何扛不住黑客太多。”

继4月18日Uniswap被黑客攻击损失1278枚ETH(价值约22万美元)之后,4月19日上午8点45分,国产DeFi借贷协议Lendf.Me被曝遭受黑客攻击,据慢雾科技反洗钱(AML)系统统计显示,此次Lendf.Me累计损失约2470万美元,具体盗取的币种及数额为:

之后攻击者不断通过1inch.exchange、ParaSwap、Tokenlon等DEX平台将盗取的币兑换成ETH及其他代币。

据安全公司透露,dForce团队追回这笔损失的可能性微乎其微,目前dForce团队正在定位被攻击原因,并在网页端建议所有用户停止往Lendf.Me协议存入资产。

图片来源于:Lendf.Me官网

据Defipulse数据显示,过去24小时内,dForce锁仓资产美元价值下跌100%至1万美元,而此前的锁仓总价值超过2490万美元。

图片来源于:Defipulse

据慢雾科技反洗钱(AML)系统监测显示,Lendf.Me攻击者正持续不断将攻击获利的PAX转出兑换ETH,总额近58.7万枚PAX,使用的兑换平台包括1inch.exchange、ParaSwap等。攻击者地址为0xa9bf70a420d364e923c74448d9d817d3f2a77822。

据慢雾安全团队分析发现,黑客此次攻击Lendf.Me的手法与昨日攻击Uniswap手法类似(Odaily星球日报注:黑客利用Uniswap和ERC777的兼容性问题,在进行 ETH-imBTC 交易时,利用ERC777中的多次迭代调用tokensToSend来实现重入攻击,均由于 DeFi 合约缺少重入攻击保护,导致攻击者利用 ERC777 中的多次迭代调用 tokensToSend 方法函数来实现重入攻击,极有可能是同一伙人所为。

慢雾安全团队详细分析了此次Lendf.Me攻击的全过程:

攻击者首先是存入了 0.00021593 枚 imBTC,但是却从 Lendf.Me 中成功提现了 0.00043188 枚 imBTC,提现的数量几乎是存入数量的翻倍。

那么攻击者是如何从短短的一笔交易中拿到翻倍的余额的呢?

通过分析交易流程,慢雾安全团队发现攻击者对 Lendf.Me 进行了两次 supply() 函数的调用,但是这两次调用都是独立的,并不是在前一笔 supply() 函数中再次调用 supply() 函数。

紧接着,在第二次 supply() 函数的调用过程中,攻击者在他自己的合约中对 Lendf.Me 的 withdraw() 函数发起调用,最终提现。

图片来源于:慢雾安全团队

在这里,攻击者的 withdraw() 调用是发生在 transferFrom 函数中,也就是在 Lendf.Me 通过 transferFrom 调用用户的 tokensToSend() 钩子函数的时候调用的。很明显,攻击者通过 supply() 函数重入了Lendf.Me合约,造成了重入攻击。

此次Lendf.Me协议被攻击一事也让大家对dForce的代码审计方提出质疑,公开信息表明,Lendf.me协议分叉了Compound v1代码,而Compound v1是 trail of bits这家公司审计的。

Compound创始人Leshner在Lendf.Me被盗一事发生后,也立即发推特表示:“如果一个项目无法足够专业,无法构建自己的智能合约,而是直接复制,或者在他人智能合约的基础上稍作修改,那么他们实际上没有考虑安全性问题的能力或者意愿。希望开发者和用户能从Lendf.Me事件中吸取教训。”

图片来源于:twitter

我们在此建议DeFi开发者们在设计产品时应该自主研发,建立自己的风控机制,提高风控能力。

现在很多用户担心自己在Lendf.Me平台的资产取不出来,根据Odaily星球日报的了解,dForce团队正在全力处理此次攻击事件,目前尚未给出具体的赔付方案。

接连两次的DeFi攻击事件给我们带来了哪些思考?

从今年年初的bZx攻击事件再到Uniswap和dForce的攻击事件,说明黑客已经掌握了DeFi系统性风控漏洞的要害,充分利用DeFi的可组合性对DeFi接二连三地实施攻击。

DDEX 运营负责人Bowen Wang曾在Odaily星球日报举办的「生机」云峰会上反思bZx事件的影响,“乐高的概念是因为所有积木都是乐高一家生产的,质量非常好。但是DeFi很多的部件质量参差不齐。像发生在 bZx 上的事情说明了一点,当你不是非常了解地基的时候,你越建越高反而越危险。” 

用木桶理论来解释DeFi乐高的最大问题,DeFi系统的安全性取决于最短的那块木板,所以DeFi乐高中只要有一个模块出了问题,可能就会拖垮整个生态。这就需要DeFi开发者们在代码层面不断作出改进和更新,不要一位地追求DeFi产品的高组合性,同时也应该注重不同DeFi产品在安全上的可匹配性。

此外,开发DeFi保险也可以在一定程度上缓解黑客攻击给DeFi平台带来的损失,DeFi保险协议Nexus Mutual为bZx攻击事件中遭受损失的用户进行赔偿已经为行业做了成功的示范。不过,DeFi 保险产品目前还处于非常早期的开发阶段,产品模型和运行方式尚未成熟,也缺乏统一的风险定价系统和赔付金保障机制,大部分保险平台更像有一定保障性质、对冲币价波动风险的衍生品工具,或者仅to B的平台服务。

总得来说,DeFi还处于发展初期,还有很多机制仍需不断去完善,dForce作为深耕DeFi生态的优质从业者,我们也希望dForce团队可以挺过这次危机,做好灾后重建工作,重塑中国DeFi开发者们的信心。

最新进展

4月20日凌晨,dForce创始人杨民道于Medium发文表示,黑客利用ERC 777与DeFi智能合约的兼容问题实现重入攻击,Lendf.Me损失了大约2500万美元。目前,团队正在开展如下行动:

  • 已与顶级安全公司联系,对Lendf.Me进行更全面的安全评估;

  • 与合作伙伴一起制定一项解决方案,对该系统进行资本重组,虽然遭受了这次的袭击,但我们不会停止脚步;

  • 正与主流交易所、OTC 平台以及相关执法部门合作,调查情况,阻止被盗资金的转移,并追踪黑客。

此外,团队将在北京时间4月20日晚上11:59在官方博客上提供更详细的更新。

另据链上信息显示,攻击者于4月20日凌晨3点左右,向Lendf.Me的admin账户转回了38万枚HUSD和320枚HBTC。更早之前,慢雾团队曾监测到,攻击者还转回了12.6万枚PAX,并附言“Better future”。

推荐阅读:《DeFi守护神是谁?》

参考文章:《慢雾:DeFi平台Lendf.Me被黑细节分析及防御建议》

王也
作者文库