据慢雾区情报,2020年11月22日,以太坊DeFi项目PickleFinance遭受攻击,损失约2000万DAI。慢雾安全团队第一时间跟进相关事件并进行分析,以下为分析简略过程
1、项目的Controller合约中的swapExactJarForJar函数允许传入两个任意的jar合约地址进行代币的兑换,其中的_fromJar,_toJar,_fromJarAmount,_toJarMinAmount都是用户可以控制的变量,攻击者利用这个特性,将_fromJar和_toJar都填上自己的地址,_fromJarAmount是攻击者设定的要抽取合约的DAI的数量,约2000万DAI
广州成立数字经济协会元宇宙专委会:金色财经报道,由网易、酷狗、趣丸网络等一批龙头企业牵头成立的广州市数字经济协会元宇宙专委会正式成立,在成立大会上还宣布成立“粤港澳元宇宙智库” ,这是粤港澳大湾区首个区域性元宇宙产业智库,首批专家由15名粤港澳三地知名学者组成,将为元宇宙发展贡献力量。(中新网)[2022/4/9 14:15:05]
2、使用swapExactJarForJar函数进行兑换过程中,合约会通过传入的_fromJar合约和_toJar合约的token()函数获取对应的token是什么,用于指定兑换的资产。而由于_fromJar合约和_toJar合约都是攻击者传入的,导致使用token()函数获取的值也是可控的,这里从_fromJar合约和_toJar合约获取到的token是DAI,。
广东:支持深圳开展数字人民币试点 支持广州争取纳入数字人民币试点地区:4月25日,广东省发布“十四五”规划纲要,其中提出,推动金融数字化智慧化转型。开展数字货币研究与移动支付等创新应用,支持深圳开展数字人民币试点,支持广州争取纳入数字人民币试点地区。鼓励金融机构与科技企业开展金融科技合作,设立金融科技公司和研发中心,加强底层关键技术和前沿技术研发,参与制定金融科技国家标准。加快培育金融科技龙头企业,完善金融科技产业链。推进广州、深圳金融科技创新监管试点工作,推广区块链、大数据、人工智能等技术在客户营销、风险防范和金融监管等方面的应用。(财联社)[2021/4/25 20:55:38]
3.此时发生兑换,Controller合约使用transferFrom函数从_fromJar合约转入一定量的的ptoken,但是由于fromJar合约是攻击者控制的地址,所以这里转入的ptoken是攻击者的假币。同时,因为合约从_fromJar合约中获取的token是DAI,然后合约会判断合约里的资金是否足够用于兑换,如果不够,会从策略池中赎回一定量的代币然后转到Controller合约中。在本次的攻击中,合约中的DAI不足以用于兑换,此时合约会从策略池中提出不足的份额,凑够攻击者设定的2000万DAI
国内首个采用区块链进行招标的项目在广州顺利完成电子评标:记者从广州公共资源交易中心获悉,国内首个采用区块链技术进行招标的项目——广州市第五资源热力电厂外立面变更设计服务项目前日在广州交易中心顺利完成电子评标。本项目6家投标人全部通过“易链通”智慧交易平台完成投标信息登记和电子投标,其中2家投标人成功使用基于区块链技术研发的“标信通”APP,通过手机扫码登录交易系统,顺利完成递交和解密投标文件,办理和递交投标电子保函。据介绍,为提高信息化服务水平,广州公共资源交易中心于2017年开始重新规划打造智慧交易信息化平台,“易链通”智慧交易平台于2019年底成功搭建。该平台采用互联网、大数据、云计算、区块链、移动端应用等先进技术,通过嵌入“标信通”APP,使用“易链签”“易链保”等应用工具,实现业务指尖办理。(广州日报)[2020/4/17]
4.兑换继续,Controller合约在从策略池里提出DAI凑够攻击者设定的2000万DAI后,会调用_fromJar的withdraw函数,将攻击者在第三步转入的假ptokenburn掉,然后合约判断当前合约中_toJar合约指定的token的余额是多少,由于_toJar合约指定的token是DAI,Controller合约会判断合约中剩余DAI的数量,此时由于第三步Controller合约已凑齐2000万DAI,所以DAI的余额是2000万。这时Controller合约调用_toJar合约的deposit函数将2000万DAI转入攻击者控制的_toJar合约中。到此,攻击者完成获利
总结:此次攻击中,攻击者通过调用Controller合约中的swapExactJarForJar函数时,伪造_fromJar和_toJar的合约地址,通过转入假币而换取合约中的真DAI,完成了一次攻击的过程。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。