币灵灵财经
首页 > 币圈新闻 > 文章正文

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

币灵灵财经 2024-11-01 07:44 486

欧易交易所

欧易交易所

软件大小:268.26MB

软件版本:v3.4.2

黑客,这是一个让Web3生态中每个人都闻风丧胆的存在,对于项目方来说,在全世界黑客都可能盯着你的情况下,代码开源的特性使得项目方开发的时候生怕写错一行代码留下漏洞,一旦出现安全事故后果难以承担。

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

通过查询交易细节,我们可以发现一些关键线索:

那么疑点来了,尾号fd51的地址是如何拿到这笔资产的权限的?为什么会和Uniswap有关系?

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

首先我们需要知道,要想成功调用Transfer From这个函数的前提是调用方需要拥有这个Token的额度权限,也就是approve,相信大家有过链上操作的一定熟悉不过了,当我们去使用一些Dapp的时候,一旦涉及到资产的转移就需要我们先进行一个授权(approve)操作,这样Dapp的合约才有权限对我们的资产进行转移。

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

Uniswap Permit2合约是Uniswap在2022年年底推出的新的智能合约,根据官方的说法,这是一个代币审批合约,允许代币授权在不同的应用程序中共享和管理,创造一个更统一、更具成本效益、更安全的用户体验。

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼图片来源:https://github.com/dragonfly-xyz/useful-solidity-patterns/tree/main/patterns/permit2

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼图片来源:https://github.com/dragonfly-xyz/useful-solidity-patterns/tree/main/patterns/permit2

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

事件详细分析

permit函数:

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

那么这个函数是怎么工作的呢?

首先,它会检查现在的时间是否超过了你的签名的有效期(sigDeadline)。就像你签署的合同有个有效期一样,如果现在的时间超过了有效期,那么这个"合同"就不能再用了,程序会直接停止。

重点则主要在于verify函数和_updateApproval函数。

verify函数:

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

_updateApproval函数:

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

owner就是小A的钱包地址(尾号308a);

Details中可以看到授权的Token合约地址(USDT)和金额等信息;

Spender就是尾号fd51的黑客地址;

sigDeadline是签名的有效时间,而signature就是小A的签名信息。

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼来源:https://etherscan.io/address/0x000000000022d473030f116ddee9f6b43ac78ba3

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼来源:https://etherscan.io/address/0x000000000022d473030f116ddee9f6b43ac78ba3

如何防范?

考虑到Uniswap Permit2合约可能会在未来更加普及,会有更多项目集成Permit2合约进行授权共享,菠菜能想到有效的防范手段有:

1 理解并识别签名内容:

Permit的签名格式通常包含Owner、Spender、value、nonce和deadline这几个关键格式,如果你想享受Permit2带来的便利和低成本的话一定要学会识别这种签名格式。(下载安全插件是一个很好的选择)

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

签名就被盗?用过Uniswap的请警惕 揭秘Permit2签名钓鱼

2 放资产的钱包和交互的钱包分离使用:

3 不要授权过多额度给Permit2合约或取消授权:

4 识别代币性质,是否支持permit功能:

5 若被骗后还有代币存在其他平台,需制定完善的拯救计划: