Web3常见钓鱼方式分析与安全防范建议
字数 2145 2025-08-19 12:41:50
Web3常见钓鱼方式分析与安全防范指南
一、Web3钓鱼概述
Web3钓鱼是针对Web3用户的常见攻击手段,通过各种方式窃取用户授权、签名或诱导误操作,目的是盗窃用户钱包中的加密资产。近年来已发展出钓鱼即服务(Drainer as a Service, DaaS)的黑色产业链,安全形势严峻。
二、常见钓鱼手法分析
1. Permit链下签名钓鱼
原理:Permit是ERC-20标准的扩展功能,允许通过签名批准其他地址操作Token。
攻击步骤:
- 攻击者伪造钓鱼链接诱导用户签名(无合约交互)
- 攻击者调用permit函数完成授权
- 攻击者调用transferFrom函数转走资产
特点:
- 签名是链下无Gas操作
- 受害人地址链上记录中看不到授权
- 通常是一次性签名
2. Permit2链下签名钓鱼
背景:Uniswap推出的代币审批合约,允许授权在不同DApp中共享管理。
攻击前提:用户已授权Uniswap的Permit2合约
攻击步骤:
- 诱导用户签名获取签名信息
- 调用Permit2的permit函数完成授权
- 调用transferFrom转走资产
特点:
- 接收地址通常有多个
- 最大金额接收者是攻击者
- 其他可能是DaaS供应商地址
3. eth_sign盲签钓鱼
特点:
- 开放式签名方法,可对任意哈希签名
- MetaMask有风险提示
- 许多钱包已禁用此函数
4. personal_sign/signTypedData签名钓鱼
特点:
- 常用签名方式
- 需仔细核对发起者、域名、内容
- 被用作"盲签"时风险高
5. 授权钓鱼
常见授权函数:
setApprovalForAllApproveIncrease ApprovalIncrease Allowance
攻击方式:
- 伪造网站或官网挂马
- 诱导用户确认授权操作
- 获取授权后转移资产
6. 地址污染钓鱼
手法:
- 监控链上交易
- 伪造与正确地址前后4-6位相同的恶意地址
- 向目标用户小额转账
- 用户复制历史交易地址时误转
典型案例:2024年5月3日1155 WBTC(价值超7千万美元)被盗
7. 利用CREATE2绕过检测的钓鱼
原理:CREATE2允许合约部署前计算地址
攻击特点:
- 生成无恶意历史的新地址
- 绕过钱包黑名单检测
- 授权时合约未部署,隐蔽性高
攻击步骤:
- 诱导用户授权
- 在预先计算地址部署合约
- 转移资产到该地址
三、钓鱼即服务(DaaS)产业链
主要服务提供商
- Inferno Drainer
- MS Drainer
- Angel Drainer
- Monkey Drainer
- Venom Drainer
- Pink Drainer
- Pussy Drainer
- Medusa Drainer
Inferno Drainer运作模式
- 通过Telegram频道或网站推广服务
- 攻击者生成钓鱼网站并通过社交媒体传播
- 诱导受害者连接钱包
- 检查高价值资产并初始化恶意交易
- 受害者确认交易
- 资产转移(20%给DaaS开发商,80%给攻击者)
DaaS服务特点
- 提供创建和托管钓鱼网站的免费服务
- 收取被骗资金30%的费用
- 客户可自定义Drainer功能
- 提供统计数据(连接数、成功点击数、被盗价值)
四、安全防范建议
- 谨慎点击链接:不点击伪装成奖励、空投的不明链接
- 验证官方信息:官方社媒账户也可能被盗,官方消息不等于绝对安全
- 甄别应用真伪:警惕伪造站点和伪造App
- 谨慎确认交易:
- 拒绝盲签
- 交叉确认目标、内容等信息
- 怀疑一切,确保操作明确安全
- 掌握关键知识:
- 了解常见钓鱼攻击方式
- 掌握签名、授权函数及其风险
- 识别关键字段:
- Interactive(交互网址)
- Owner(授权方地址)
- Spender(被授权方地址)
- Value(授权数量)
- Nonce(随机数)
- Deadline(过期时间)
- transfer/transferFrom(转账)
五、关键字段解释
-
Permit签名对象示例:
holder://签名地址 spender://钓鱼者地址 nonce:0 expiry:1988064000 //过期时间 allowed:true -
授权相关函数:
setApprovalForAll:设置对所有资产的授权Approve:授权特定数量的代币Increase Approval:增加授权额度Increase Allowance:增加允许额度
-
转账相关函数:
transfer:直接转账transferFrom:第三方转账(需授权)
六、典型案例分析
-
PREMINT挂马钓鱼:
- 官网js文件被注入恶意代码
- 动态创建恶意js文件
- 诱导用户确认setApprovalForAll
-
地址污染案例:
- 正确地址:0xd9A1b0B1e1aE382DbDc898Ea68012FfcB2853a91
- 恶意地址:0xd9A1C3788D81257612E2581A6ea0aDa244853a91
-
CREATE2钓鱼案例:
- 受害者将sfrxETH转给新合约地址
- 合约创建同时完成钓鱼攻击
七、总结
Web3钓鱼手段不断演变,从简单的授权钓鱼发展到利用CREATE2等高级技术绕过检测。同时,钓鱼即服务模式降低了攻击门槛,使威胁更加普遍。用户需提高安全意识,掌握关键知识,谨慎对待每一笔交易和签名操作,才能有效保护资产安全。