复制成功

分享至

主页 > 数字货币 >

避免Web3钓鱼诈骗:如何识别和预防攻击

2024.02.15

什么是web3钓鱼

Web3 Phishing 是一种针对加密货币用户的网络欺骗手段,通过创建伪装成正式网站的假网站来窃取用户的授权、签名和加密货币资产。随着 Web3.0 技术的发展,新型的 Web3 钓鱼骗局也在不断出现。以下,我们将介绍新型 web3 钓鱼攻击方式:Approval phishing、Uniswap permit 2 phishing、Claim phishing、Model phishing。并提供帮助用户识别和预防这些攻击的有效措施:针对 Approval 钓鱼的预防措施,识别 permit 2 中的签名,防止 Claim 钓鱼攻击,防止模态钓鱼攻击。

1. Approval 调用攻击

web3网络钓鱼攻击大多与approval、increaseAllowance 操作有关。攻击者通过伪造电子邮件或消息、伪造网站或应用程序、社交工程和恶意广告或弹窗等方式,骗取用户进行 approval 操作。因此,用户需要撤销不必要的授权。撤销授权也有可能被钓鱼者利用。

撤销授权钓鱼攻击时如何发生的?

攻击者部署了一个假的ERC-20 代币合约,修改了 approve 函数;

攻击者手动伪造了大批链上地址的授权,并提醒用户取消授权;

当用户收到该提醒并点击取消授权时,会触发发送交易的操作。这个交易将导致 token 被铸造到合约部署者的钱包内。

避免Web3钓鱼诈骗:如何识别和预防攻击

increaseAllowance 授权钓鱼交易链接

https://arbiscan.io/tx/0xd598336fac79123952319c9cd9cc62aa275162ce5f39d08ccac0c5e6ef0538e5

“撤销授权”钓鱼交易链接https://etherscan.io/tx/0xd4d606caddebf185dc6902ffcec78f3cc915826e1c0e37319d407d01681980ab

2. Uniswap permit 2 钓鱼攻击

Uniswap permit 2  允许跨不同应用共享和管理 token 授权。 用户只需在一次交易中完成授权和交易,减少交易的 gas 费用,简化交易操作流程。但是,Permit 2 则将用户的操作变为了链下签名,对于用户来说,链下签名是最容易放下防备的环节,而绝大多数人并不会仔细检查签名的内容也并不理解签名的内容。

Uniswap permit 2 签名钓鱼攻击是如何发生的?

用户将自己所持有 Token 的权限授权给 Permit 2 合约,这是至关重要的前提条件,这意味着你在授权时的签名已经暴露在钓鱼骗局的风险下了。

黑客拿到了用户的签名,基于此签名,黑客在 permit 2 合约中进行了 permit 和 transferFrom 两个操作,转走用户的资产。

黑客调用 permit 函数,在该函数中,主要调用了 verify 函数和_updateApproval 函数。verify 函数用来验证用户签名。验证通过后执行_updateApproval 函数。_updateApproval 函数用来更新授权值。

避免Web3钓鱼诈骗:如何识别和预防攻击

避免Web3钓鱼诈骗:如何识别和预防攻击

避免Web3钓鱼诈骗:如何识别和预防攻击

避免Web3钓鱼诈骗:如何识别和预防攻击

被授权方在授权额度范围内可以调用 transferFrom 函数将 token 转移到指定地址。

避免Web3钓鱼诈骗:如何识别和预防攻击

避免Web3钓鱼诈骗:如何识别和预防攻击

Permit 2 钓鱼交易链接

https://etherscan.io/tx/0x1d8fa25f8f16d52cd4c5716e0cefd9b1cdbbbc060901cea223bab9de79b17ea3

3. Claim 钓鱼攻击

Claim 钓鱼攻击通过伪造可信实体的请求,欺骗用户提供个人信息、登录凭据或访问权限。这些 Claim 钓鱼合约通常伪装成零地址来骗取用户信任,以此来调取用户的加密资产。

Claim 钓鱼攻击是如何发生的?

钓鱼者部署 scam contract 和 hub contract,并创建 EOA 用来接收窃取用户的资金。scam contract 具有窃取用户的 ETH、ERC 20 token 和 NFT 的能力。scam contract 不开源,但从链上交易数据来看,该合约主要包含两个函数,Cliam 和 Multicall。

避免Web3钓鱼诈骗:如何识别和预防攻击

调用 Claim 函数时,受害者所持有的 token 将在 internal transaction 中被转移至 hub contract。

避免Web3钓鱼诈骗:如何识别和预防攻击

Multicall 函数用来转移受害者已批准的 token。

避免Web3钓鱼诈骗:如何识别和预防攻击

免责声明:数字资产交易涉及重大风险,本资料不应作为投资决策依据,亦不应被解释为从事投资交易的建议。请确保充分了解所涉及的风险并谨慎投资。OKEx学院仅提供信息参考,不构成任何投资建议,用户一切投资行为与本站无关。

加⼊OKEx全球社群

和全球数字资产投资者交流讨论

扫码加入OKEx社群

相关推荐

industry-frontier