Web3反垃圾邮件专家Scam Sniffer发现有攻击者滥用以太坊的'Create2'函数绕过钱包安全警告和对以太坊地址进行投毒,在6个月内从9.9万以太坊用户处窃取了价值超过6亿美元的加密货币。
Create2是以太坊'Constantinople' 升级时引入的严格操作码,允许用户在以太坊上创建智能合约。原来的Create操作码是根据创建者的地址和nonce来生成新地址的,Create2允许用户在合约部署前计算地址。Create2对以太坊开发者来说是一个非常强大的工具,可以实现先进和灵活的合约交互、基于参数的合约地址预计算、链下交易和特定分布式应用的灵活部署和适配。
Create2在带来好处的同时也带来了新的安全风险。Scam Sniffer的报告称,Create2可以被滥用来生成没有恶意交易历史的新地址,可以绕过钱包安全告警。当受害者签署恶意交易时,攻击者就可以在预先计算的地址上部署合约,并将受害者的资产转账到该地址,且这是一个不可逆的过程。
研究人员发现,有受害者在签署了将资产转账到预先计算好的地址的转账合约后,损失了价值92.7万美元的GMX。
图 攻击中使用的智能合约
Create2被攻击者滥用的第二种方式是生成与接收者拥有的合法地址相似的地址,以诱使用户发送资产给攻击者,但受害者会认为其发送给了一个已知的地址。这也被称之为地址投毒(address poisoning),即生成大量的地址,然后从中挑选出与特定钓鱼需求匹配的地址。
自2023年8月起,Scam Sniffer一共发现了11个受到Create2滥用攻击的受害者,损失近300万美元。其中一个受害者向一个与其刚刚转过账的地址非常相似的地址转账近160万美元。
今年年初,MetaMask就预警了使用与受害者最近交易相匹配的新生成的地址的垃圾邮件攻击活动。在该攻击活动中,受害者可能也会发送给受害者少量加密货币来在其钱包的历史中注册地址,因此增加了受害者成功转账的概率。
8月初,币安运营人员就错误地将价值2000万美元的数字货币发送给了地址投毒攻击的地址,幸运的是运营人员很快就发现了这一错误,并冻结了接收者的地址。
研究人员建议在进行加密货币交易时,在同意交易前一定要认真检查接收者地址,不要仅仅只检查前几个字符和后几个字符。
参考及来源:https://www.bleepingcomputer.com/news/security/ethereum-feature-abused-to-steal-60-million-from-99k-victims/