安全生产简析下meerkat跑路事件
一、核心问题
1.AdminUpgradeabilityProxy天然的负面影响一代理的逻辑合约可以被替换
2.AdminUpgradeabilityProxy权限没有移交timelock一项目方不受时间锁约束,可以随意使用1。所说的能力,替换逻辑合约最终项目方无限制地将正常合约替换成了攻击合约,卷款跑路。
安全团队:Defrost Finance被攻击事件简析:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,Defrost Finance预言机被恶意修改,并且添加了假的抵押token清算当前用户,损失超1300万美元。攻击者通过setOracleAddress函数修改了预言机的地址,随后使用joinAndMint函数铸造了100,000,000个H20代币给0x6f31地址,最后调用liquidate函数通过虚假的价格预言机获取了大量的USDT。后续攻击者通过跨链的方式将被盗资金转移到了以太坊的0x4e22上,目前有490万美元的DAI在0x4e22地址上,有500万美元的DAI在0xfe71地址上,剩余300万美元的ETH被转移到了0x3517地址上。[2022/12/25 22:06:35]
二、现场还原(以BUSD池为例)?
安全团队:LPC项目遭受闪电贷攻击简析,攻击者共获利约45,715美元:7月25日,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,LPC项目遭受闪电贷攻击。成都链安安全团队简析如下:攻击者先利用闪电贷从Pancake借入1,353,900个LPC,随后攻击者调用LPC合约中的transfer函数向自己转账,由于 _transfer函数中未更新账本余额,而是直接在原接收者余额recipientBalance值上进行修改,导致攻击者余额增加。随后攻击者归还闪电贷并将获得的LPC兑换为BUSD,最后兑换为BNB获利离场。本次攻击项目方损失845,631,823个 LPC,攻击者共获利178 BNB,价值约45,715美元,目前获利资金仍然存放于攻击者地址上(0xd9936EA91a461aA4B727a7e3661bcD6cD257481c),成都链安“链必追”平台将对此地址进行监控和追踪。[2022/7/25 2:36:51]
1.项目方故意“坦诚”给出合约的timelock转移权限记录,展示的确执行了changeAdmin方法移交权限给timelock地址,用于混淆视听
安全团队:Audius项目恶意提案攻击简析,攻击者总共获利约108W美元:7月24日消息,据成都链安“链必应-区块链安全态势感知平台”安全舆情监控数据显示,Audius项目遭受恶意提案攻击。成都链安安全团队简析如下:攻击者先部署恶意合约并在Audius: Community Treasury 合约中调用initialize将自己设置为治理合约的监护地址,随后攻击者调用ProposalSubmitted 提交恶意85号提案并被通过,该提案允许向攻击合约转账1,856w个AudiusToken,随后攻击者将获得的AudiusToken兑换为ETH,总共获利约108W美元,目前获利资金仍然存放于攻击者地址上(0xa0c7BD318D69424603CBf91e9969870F21B8ab4c)。[2022/7/24 2:34:31]
2.0x7E0c621Ea9F7aFD5b86A50B0942eAee68B04A61Cproxy合约,changeAdmin方法内部调用追踪到304行,实际写入key为ADMIN_SLOT,但读取key却为ADMIN_SLOT。即O(欧)和0(零)的一个细微差异,让changeAdmin方法完全失效,从而达到了已经移交权限的假象
三、结论和经验
1.高度警惕任何包含proxy方式合约的项目,若未经timelock约束,合约有被瞬间替换的风险
2.nevertrust,alwaysverify!不要相信项目方给出的timelock“证据”,对于未经审计的fork项目,务必逐个contract做好与原项目的diff(如果你做到了,就可以躲过meerkat的障眼法)
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。