安全生产简析下meerkat跑路事件
一、核心问题
1.AdminUpgradeabilityProxy天然的负面影响一代理的逻辑合约可以被替换
2.AdminUpgradeabilityProxy权限没有移交timelock一项目方不受时间锁约束,可以随意使用1。所说的能力,替换逻辑合约最终项目方无限制地将正常合约替换成了攻击合约,卷款跑路。
慢雾:GenomesDAO被黑简析:据慢雾区hacktivist消息,MATIC上@GenomesDAO项目遭受黑客攻击,导致其LPSTAKING合约中资金被非预期的取出。慢雾安全团队进行分析有以下原因:
1.由于GenomesDAO的LPSTAKING合约的initialized函数公开可调用且无权限与不可能重复初始化限制,攻击者利用initialized函数将合约的stakingToken设置为攻击者创建的虚假LP代币。
2.随后攻击者通过stake函数进行虚假LP代币的抵押操作,以获得大量的LPSTAKING抵押凭证。
3.获得凭证后再次通过initialized函数将合约的stakingToken设置为原先真是的LP代币,随后通过withdraw函数销毁LPSTAKING凭证获取合约中真实的LP抵押物。
4.最后将LP发送至DEX中移除流动性获利。
本次事件是因为GenomesDAO的LPSTAKING合约可被任意重复初始化设置关键参数而导致合约中的抵押物被恶意耗尽。[2022/8/7 12:07:06]
二、现场还原(以BUSD池为例)?
慢雾:跨链互操作协议Nomad桥攻击事件简析:金色财经消息,据慢雾区消息,跨链互操作协议Nomad桥遭受黑客攻击,导致资金被非预期的取出。慢雾安全团队分析如下:
1. 在Nomad的Replica合约中,用户可以通过send函数发起跨链交易,并在目标链上通过process函数进行执行。在进行process操作时会通过acceptableRoot检查用户提交的消息必须属于是可接受的根,其会在prove中被设置。因此用户必须提交有效的消息才可进行操作。
2. 项目方在进行Replica合约部署初始化时,先将可信根设置为0,随后又通过update函数对可信根设置为正常非0数据。Replica合约中会通过confirmAt映射保存可信根开始生效的时间以便在acceptableRoot中检查消息根是否有效。但在update新根时却并未将旧的根的confirmAt设置为0,这将导致虽然合约中可信根改变了但旧的根仍然在生效状态。
3. 因此攻击者可以直接构造任意消息,由于未经过prove因此此消息映射返回的根是0,而项目方由于在初始化时将0设置为可信根且其并未随着可信根的修改而失效,导致了攻击者任意构造的消息可以正常执行,从而窃取Nomad桥的资产。
综上,本次攻击是由于Nomad桥Replica合约在初始化时可信根被设置为0x0,且在进行可信根修改时并未将旧根失效,导致了攻击可以构造任意消息对桥进行资金窃取。[2022/8/2 2:52:59]
1.项目方故意“坦诚”给出合约的timelock转移权限记录,展示的确执行了changeAdmin方法移交权限给timelock地址,用于混淆视听
慢雾:Inverse Finance遭遇闪电贷攻击简析:据慢雾安全团队链上情报,Inverse Finance遭遇闪电贷攻击,损失53.2445WBTC和99,976.29USDT。慢雾安全团队以简讯的形式将攻击原理分享如下:
1.攻击者先从AAVE闪电贷借出27,000WBTC,然后存225WBTC到CurveUSDT-WETH-WBTC的池子获得5,375.5个crv3crypto和4,906.7yvCurve-3Crypto,随后攻击者把获得的2个凭证存入Inverse Finance获得245,337.73个存款凭证anYvCrv3Crypto。
2.接下来攻击者在CurveUSDT-WETH-WBTC的池子进行了一次swap,用26,775个WBTC兑换出了75,403,376.18USDT,由于anYvCrv3Crypto的存款凭证使用的价格计算合约除了采用Chainlink的喂价之外还会根据CurveUSDT-WETH-WBTC的池子的WBTC,WETH,USDT的实时余额变化进行计算所以在攻击者进行swap之后anYvCrv3Crypto的价格被拉高从而导致攻击者可以从合约中借出超额的10,133,949.1个DOLA。
3.借贷完DOLA之后攻击者在把第二步获取的75,403,376.18USDT再次swap成26,626.4个WBTC,攻击者在把10,133,949.1DOLAswap成9,881,355个3crv,之后攻击者通过移除3crv的流动性获得10,099,976.2个USDT。
4.最后攻击者把去除流动性的10,000,000个USDTswap成451.0个WBT,归还闪电贷获利离场。
针对该事件,慢雾给出以下防范建议:本次攻击的原因主要在于使用了不安全的预言机来计算LP价格,慢雾安全团队建议可以参考Alpha Finance关于获取公平LP价格的方法。[2022/6/16 4:32:58]
2.0x7E0c621Ea9F7aFD5b86A50B0942eAee68B04A61Cproxy合约,changeAdmin方法内部调用追踪到304行,实际写入key为ADMIN_SLOT,但读取key却为ADMIN_SLOT。即O(欧)和0(零)的一个细微差异,让changeAdmin方法完全失效,从而达到了已经移交权限的假象
三、结论和经验
1.高度警惕任何包含proxy方式合约的项目,若未经timelock约束,合约有被瞬间替换的风险
2.nevertrust,alwaysverify!不要相信项目方给出的timelock“证据”,对于未经审计的fork项目,务必逐个contract做好与原项目的diff(如果你做到了,就可以躲过meerkat的障眼法)
消息面: 1、据美国《国会山报》消息,当地时间6日凌晨,参议院民主党人投票通过1.9万亿新冠救济法案修正案,规定将在9月初之前每周发放300美元的临时联邦失业救济金.
尊敬的用户: WBF已开放MASK的充值与提币。 WBF风险提示: 用户在进行充币前,建议仔细阅读该币充提页面的提示,以避免因为小于最小上账金额而无法上账.
Gate.io“芝麻金融”已上线双币宝理财服务,现已推出BTC及USDT双币投资理财新品,持仓期限15-22天,挂钩参考价格为42000-58000美元,到期结算本金和收益为BTC或USDT.
不念于心,不困于情,不畏将来,不念过往。每一个不曾止赢的日子,都是对市场的辜负。来不及认真地进入市场,待明白过来时,只能选择认真地坚持。我们在同一个市场博弈,却期待着不同的方向.
尊敬的用户: BKEXGlobal永续合约U本位合约将于2021年3月6日12:00上线新币种.
进入三月以来的短短几天,美股市场持续低迷走势,而实际上这种下跌趋势对于一些股票来讲,已经持续了将近一个月.