原文编译:杨树
2月19日,攻击者使用了看似「毫无技巧」的电子邮件网络钓鱼攻击,成功从一名OpenSea用户手中盗走了254个NFT,其中包含价值不菲的Decentraland和BoredApeYachtClub系列藏品。这位用户收到了伪造的电子邮件并被要求批准智能合约,而在用户批准了合约之后,黑客顺利地从被钓鱼用户的钱包中提走了NFT。
发送给用户的仿冒网站电子邮件
到目前为止,网络钓鱼是人们在Web2和Web3中损失资金的最常见方式,不过在Web3中,由于智能合约的额外风险点,所以问题更严重。
我们必须从OpenSea网络钓鱼攻击中吸取三个主要的安全教训,以便对未来的攻击保持警惕。
1. 通过智能合约窃取加密货币(非常)容易
大多数DeFi协议使用的经典Approval合约「Approval」几乎是所有基于智能合约的代币的功能,当用户「Approval」另一个钱包时,就意味着允许该钱包稍后从用户自己的钱包中转移代币。例如,如果我「Approval」我「0x123」钱包的USDC和无聊猿NFT,那「0x123」就可以将这些代币转出。大多数DeFi协议(包括OpenSea)都使用「Approval」是指一种诱骗用户批准黑客地址的行为。只需单击MetaMask窗口中的一个按钮,用户就可以将资金的完全访问权限授予黑客,而这正是此次OpenSea网络钓鱼期间发生的事情。
2. 很难判断何时被智能合约网络钓鱼
你能看出区别吗? 电子邮件网络钓鱼是大多数人不再担心的事情:现代垃圾邮件过滤器和多年的经验使电子邮件网络钓鱼对于大多数精明的用户来说已成为过去。相比之下,Web3存在一些挑战,使得从常规合约中识别网络钓鱼合约变得更加困难。在上面示例的顶部,会看到签名时使用的网站URL并不相同:左侧是「uniswap.org」,右侧是「unLswap.org」。如果用户没有抓住容易忽略的细节并签署合约,对不起,这样就会丢失钱包中的所有USDC。虽然网站URL欺骗是一种经典的网络钓鱼策略,但是当执行黑客攻击时唯一需要的只是按下批准按钮时,它的危害就会变得很大。
3. 严重缺乏为加密用户构建的反网络钓鱼技术
Gmail的自动垃圾邮件过滤器,每天可保护数百万人免受网络犯罪的侵害。也许反网络钓鱼技术的最大例子是垃圾邮件过滤器:它已成为互联网上经常被忽视的重要基石。也正因为垃圾邮件过滤器会自动检测几乎所有的网络钓鱼攻击,因此Web2网络钓鱼攻击已经失去了大部分效力。然而,在Web3中,几乎没有任何保护措施来防止用户意外地从「unlswap.org」或「sushl.com」批准合约,我们有责任仔细观察,从而确保永远不会犯错误。由于网络钓鱼诈骗通常很容易避免,因此在现代互联网中长大的人,往往会轻视网络钓鱼诈骗的有效性以及那些被网络钓鱼诈骗的人。实际上,由于易于执行和投资回报,网络钓鱼诈骗仍然是最常见的网络犯罪类型。为了规避加密中的网络钓鱼,开发人员社区需要联合起来开发软件,使网络钓鱼者更难窃取资金。
OpenSea这些大型加密项目可能成为网络钓鱼攻击的目标。DeathStar提出的防范网络钓鱼攻击的新思路。而在不久前刚刚结束的EthDenver2022上,一个名为DeathStar的项目脱颖而出,该项目旨在通过开源良性flashbots来解决网络钓鱼问题。这些flashbots可在资金从钱包中转出时进行检测,一旦检测到资金是转移到不受信任的地址时,MEV领跑者就会立即以两倍Gas费发送一个交易,把用户的所有资产转移到备用地址。(NPM包管理工具即将推出)。我提到这一点只是为了鼓励其他开发人员继续考虑其他方法来阻止网络钓鱼攻击。
尽管网络钓鱼攻击和诈骗具有简单而不成熟的内涵,但成为它们牺牲品的危险是非常真实的。由于Web3如此年轻,因此在Web3生态里建立起更好的保护措施来对抗它们之前,与网络钓鱼面对面将是司空见惯的事情。每一次成功的骗局背后,都会有一个用户停止使用Web3,而Web3生态在没有任何新用户的情况下,将无处可去。