By:九九@慢雾安全团队
2022 年 03 月 27 日,据慢雾区消息,Revest Finance 的 Revest 合约遭到黑客攻击,黑客盗取了近 770 万枚 ECO、579 枚 LYXe、近 7.15 亿枚 BLOCKS 以及超 35 万枚 RENA。慢雾安全团队第一时间介入分析,并将结果分享如下:
相关信息
Revest Finance 提出了一种新协议,用于将可替代的 ERC-20 代币作为不可替代的代币化金融工具进行打包、转移和存储,利用 ERC-1155 非可替代代币(NFT)标准来简化访问和商业通用性。使用该产品,资产的所有权可以以不影响资产价值的方式进行交易,从而形成一个新的商业模式。通过有针对性的用例发现该协议的机制、治理和货币化。
以下是本次攻击涉及的相关地址:
攻击者地址:
https://etherscan.io/address/0xef967ece5322c0d7d26dab41778acb55ce5bd58b
攻击合约:
https://etherscan.io/address/0xb480ac726528d1c195cd3bb32f19c92e8d928519
全国首笔工业互联网领域数字人民币支付交易完成:金色财经报道,中国建设银行联合海尔集团,在卡奥斯工业互联网平台率先完成全国首笔工业互联网领域数字人民币支付交易,同期在赛轮橡链云平台上完成数币工具部署,成为全国首批进行数币交易的工业互联网平台。[2022/11/8 12:31:12]
被攻击合约:
https://etherscan.io/address/0x2320a28f52334d62622cc2eafa15de55f9987ed9#code
攻击交易:
https://etherscan.io/tx/0xe0b0c2672b760bef4e2851e91c69c8c0ad135c6987bbf1f43f5846d89e691428
https://etherscan.io/tx/0x613b2de3bb9043884a219296eeb1ada8c47b5a0262b9c68ca06ffd2de3a5d9f5
https://etherscan.io/tx/0x0251c2b8012a61567ec5855010d29618ada066642e4a2866755d58337c2866d9
广西南宁:正积极开展数字人民币试点应用研究:金色财经报道,1月1日,《区域全面经济伙伴关系协定》(RCEP)正式生效。南宁市金融办主任曾肄业介绍,正积极对接相关研究机构、金融机构,建立金融创新实验室,开展跨境金融、供应链服务平台和供应链金融、数字人民币试点应用研究、支持南宁打通完善跨境资本流通渠道、跨境人民币双向流动。(南宁日报)[2022/1/2 8:20:13]
https://etherscan.io/tx/0x19b10c6d38f0b911fdc0e722d681a70a56699d70559eefef3d4d6fe88276c813
攻击核心点
在被攻击的 Revest 合约中,用户调用 mintAddressLock 函数来将一定数量的 ERC-20 代币存入 Revest Smart Vault 时,就会创建 FNFT。该 NFT 代表了用户拥有的代币资产数额,后续可以调用 withdrawFNFT 函数将代币赎回。
攻击核心点就在于攻击者利用 ERC1155 标准铸造 NFT 时会调用接受者地址的 onERC1155Received 函数,因此攻击者利用该点回调重入了 Revest 合约中的 depositAdditionalToFNFT 函数,该函数会铸造一个新的 NFT,接着会调用 tokenVault 合约的 handleMultipleDeposits 函数记录新的 NFT 的信息,而 handleMultipleDeposits 函数中缺少了对该新铸造的 NFT 是否存在的判断,故此攻击者利用重入修改了已经铸造过的 NFT 的信息,而用户铸造 NFT 打入 ERC20 资产代币的流程是在重入操作之前的,故此用户无需打入 ERC20 代币就成功铸造了代表自己具有 360001 枚 ERC20 代币资产的 NFT。
雄安新区首笔数字人民币单位缴纳公积金业务落地:近日,雄安新区住房管理中心联合中国银行河北雄安分行成功落地新区首笔数字人民币单位缴存住房公积金业务,缴存金额21万余元。新区房管中心和中行雄安分行通过密切沟通论证,共同探索数字人民币在公积金领域的推广应用,最终决定在单位缴存公积金场景先行先试。雄安新区住房管理中心在中国银行河北雄安分行缴存公积金存储专户开立数字人民币对公钱包,全程指导缴存单位将银行账户资金兑出为数字人民币,完成了21万余元的单位公积金缴纳。(雄安发布)[2021/11/10 6:44:02]
具体细节分析
此处拿获取 RENA 代币的攻击进行分析,其他几个攻击手法一致,不做过多赘述。
1. 攻击者首先从 uniswap 池子中闪电贷借出 2 枚 RENA 代币
2. 接着调用 Revest 合约中的 mintAddressLock 函数,传入 quantities 为 2,该函数进行加锁操作后会调用 doMint 函数来铸造 NFT
北京:近期启动“‘京彩’惠民生 数字嘉年华”数字人民币试点:金色财经报道,北京市将于近期启动“‘京彩’惠民生 数字嘉年华”数字人民币试点活动,消费者可通过“首都金融”官网“北京数字人民币全场景试点系列活动专栏”及微信公众号查看活动介绍,活动之间不具有排他性,消费者可点击感兴趣的一项或多项活动链接了解详情进行参与。本次试点活动是数字人民币研发过程中的常规性测试,是进一步推进数字人民币北京冬奥会场景试点的工作举措,也是北京市积极完善数字金融基础设施,努力建设全球数字经济标杆城市的创新实践。[2021/10/11 20:19:50]
在 doMint 函数中,会调用 tokenVault 合约的 createFNFT 函数记录所铸造的 NFT 函数信息,接着用户给 tokenVault 合约转账相应的 ERC20 代币,最后调用 FNFTHandler 合约中的 mint 函数来发放 NFT
所铸造的 NFT 的 fnftId 为 1027, 所记录的该 NFT 相关信息如下:
蚂蚁集团:参与央行数字人民币研发,尚难评估对公司影响:蚂蚁集团在招股书中表示,公司积极参与数字人民币研发试验,数字人民币何时正式推出没有时间表,尚难以评估该项工作对公司的业务、财务状况和经营成果的影响。数字人民币是人民币的数字化形式,定位于流通中货币(M0),不同于一般的电子支付工具。[2020/8/25]
因为 depositAmount 为 0,故此 NFT 代表用户拥有的 ERC20 代币资产为 0,故无需转相关资产代币给合约
3. 再次调用 Revest 合约中的 mintAddressLock 函数,传入 quantities 为 360000,与上面相同的步骤调用 doMint 进行铸造 NFT,所铸造的 NFT 的 fnftId 为 1028,记录的 NFT 信息如下:
因为 depositAmount 为 0,故仍然无需转账代币资产给 tokenVault,但是与之前不同的是,这一次铸造 NFT 的操作中,因为在调用 FNFTHandler 合约的 mint 函数时会调用 _doSafeTransferAcceptanceCheck 函数
该函数会调用攻击合约的 onERC1155Received 函数,故此攻击者利用攻击合约中的重写的 onERC1155Received 函数回调重入了 Revest 合约的 depositAdditionalToFNFT 函数
在 depositAdditionalToFNFT 函数需要传入指定的 fnftId(此处是 1027)、NFT 数量 quantity(此处是 1)与单个 NFT 中需要存款的资产数额 amount(此处是 1),该函数会 burn 掉传入的 fnftId 的指定数量的 NFT,接着用户转入指定数量的 ERC20 代币资产并 mint 新的 NFT,需要转账的数量是 quantity *? amount 为 1,最后调用 tokenVault 合约中的 handleMultipleDeposits?记录新的 NFT 的存款数量为上面传入指定 fnftId 的 NFT 的 depositAmount 值 + 传入的 amount 的值
而在 handleMultipleDeposits 函数 mint 新的 NFT 时没有判断该 NFT 的信息是否在 tokenVault 合约中存在,故此攻击者利用该问题直接修改了 1028 号 NFT 的信息,使得该 NFT 虽然在 doMint 操作时第一次记录的 depositAmount 为 0,但是在重入后却修改成了 1
4. 最后调用 withdrawFNFT 函数进行提取 NFT 中所代表的 ERC20 代币资产
该函数燃烧掉指定的 NFT 后,会调用 tokenVault 合约中的 withdrawToken 函数进行提款
因为 depositAmount 在回调后被修改了为了 1,故此最后提款的 RENA 数量计算出来约为 360000 枚
5. 攻击者归还闪电贷后获利离场
总结
本次攻击事件是由于在 tokenVault 合约中的 handleMultipleDeposits 函数中没有判断该新铸造的 NFT 是否存在,故此攻击者利用该点直接修改了已经铸造过的 NFT 的信息,并且在 Revest 合约中关键的函数没有做重入锁的限制,导致了被回调利用。慢雾安全团队建议在进行铸造 NFT 等敏感操作时需增加对 NFT 是否已经存在的判断,且在合约关键函数中必须添加重入锁的限制,避免再次出现此类问题。
标签:NFT数字人ULTFNFnft币有潜力吗数字人民币的可怕之处在哪Wault EXchange TokenFNF价格
原文标题:《Layer2.finance:低成本+高性能,「原地扩容」让任何人都能轻松参与DeFi》 今天我们正式发布Celer Network旗下最新解决方案:Layer2.finance.L.
金色财经-5月15日消息 区块链已经成为一些经营状况不太好的企业的救命稻草。5月14日,据外媒消息VR应用开发公司TimeFireVR正式向纽约布鲁克林的ColocationGuard购置矿机设.
目录 前言 一、 区块链电子取证行业五大趋势(一)区块链电子取证市场规模快速扩张(二)区块链电子取证应用领域拓宽(三)法律法规细化区块链证据审核标准(四)技术升级.
加密数字货币行业的主要问题之一是要找到一家创新性的银行同意与他们合作并将他们与传统的法定金融系统联系起来.
据今日最新数据,链上NFT销售总额突破190亿美元,国内外各界的音乐艺人和NBA球星纷纷入场,除了NFT市场的战火熊熊燃烧外,大火在圈内其它领域也是不断蔓延:近期圈内围绕Curve的流动性战争.
据彭博社报道,金融行动特别工作组(FATF)将于6月21日发布一份说明,阐明参与国应如何对加密资产行业实施监督.