被盗约2700万美元的加密资产,Penpie为何被黑客“血洗”?

Beosin
Beosin 机构得得号

Sep 04 Beosin是总部位于新加坡的全球知名区块链安全公司,为区块链生态提供代码安全审计,安全风险监控、预警与阻断,虚拟资产被盗追回,KYT/AML等“一站式”安全产品+服务,已为全球2000多个区块链企业服务,保护客户资产5000多亿美元。

摘要: 据Beosin Alert监测显示,建立在 Pendle 上的 DeFi 协议 Penpie 遭到黑客攻击,被盗取约 2700 万美元的加密资产。

2024年09月04日,据Beosin Alert监测显示,建立在 Pendle 上的 DeFi 协议 Penpie 遭到黑客攻击,被盗取约 2700 万美元的加密资产。Beosin安全团队第一时间对事件进行了分析,结果如下。

Penpie 是一个与 Pendle Finance 集成的 DeFi 平台,专注于锁定 PENDLE 代币以获得 Pendle Finance 内的治理权和增强的收益收益。Penpie 旨在为 Pendle Finance 用户提供收益和 veTokenomics 提升服务。

事件相关信息


●攻击交易0x56e09abb35ff12271fdb38ff8a23e4d4a7396844426a94c4d3af2e8b7a0a2813●攻击者地址0xc0Eb7e6E2b94aA43BDD0c60E645fe915d5c6eb84●攻击合约0x4aF4C234B8CB6e060797e87AFB724cfb1d320Bb7●被攻击合约0x6e799758cee75dae3d84e09d40dc416ecf713652

漏洞分析


本次事件主要是攻击者利用market合约中claimRewards函数重入质押以提高staking合约余额,再将staking合约中多余的代币和质押资产提取以获利。

攻击流程

攻击准备阶段:

1. 攻击者通过攻击合约调用用Penpie协议中的Factory合约创建了新的market以及Yield,其中将SY设置为攻击合约。
0xfda0dde38fa4c5b0e13c506782527a039d3a87f93f9208c104ee569a642172d2

2.攻击者进行闪电贷了四种代币,为后续抵押资金作储备。并调用staking合约中的batchHarvestMarketRewards函数对新创建的market进行奖励更新。 

3.在batchHarvestMarketRewards函数中,对market进行奖励更新时,会调用market合约中的redeemRewards函数。并且合约记录了redeemRewards函数前后的余额变化。 

4.在market的redeemRewards函数中,会调用到SY合约中的claimReward函数。然而SY合约是攻击合约,攻击合约通过这个函数完成了对Staking合约的重入,将闪电贷的资金抵押到Staking合约,共4次。 

5.这时回到Staking,由于redeemRewards函数前后余额差明显,触发了_sendRewards函数,_sendRewards函数最后调用的_queueRewarder会将多余的代币授权给market合约并记录为奖励。

6.攻击者领取记录的奖励。 

7.攻击者将质押的资产通过withdraw函数提取,并归还闪电贷进行获利。 

Pendle随后发布攻击分析报告:发现漏洞后立即暂停合约,使1.05亿美元资产免受进一步损失。

资金追踪

截止发文时,被盗资金约2700万美元,Beosin Trace追踪发现攻击者已将被盗资金全部转换为ETH,资金先存放在0x2f2dDE668e5426463E05D795f5297dB334f61C39地址。



截止发文,Penpie攻击者地址向Tornado Cash陆续转移了2900枚ETH(价值约690万美元)。
目前,Penpie 项目方也通过链上向黑客喊话,希望与黑客进行沟通返还被盗资金,如果返还可以支付赏金。并附上了联系方式。

总结

针对本次事件,Beosin安全团队建议:1.对合约的相关函数增加防重入修饰器;2.不使用白名单对传入代币进行校验的话,最好使用统一的包装合约重新生成代币;3.项目上线前,强烈建议选择专业的安全审计公司进行全面的安全审计,规避安全风险。

链得得仅提供相关信息展示,不构成任何投资建议
本文系作者 Beosin 授权链得得发表,并经链得得编辑,转载请注明出处、作者和本文链接

更多精彩内容,关注链得得微信号(ID:ChainDD),或者下载链得得App

分享到:

相关推荐

    评论(0

    Oh! no

    您是否确认要删除该条评论吗?

    分享到微信