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