签名:区块链钱包安全的新挑战_ETF:MetFX Watch To Earn

与传统的中心化服务不同,区块链钱包并不直接持有用户的资产,只管理与区块链交互的关键凭证——私钥。当用户进行一笔交易时,需要使用私钥进行交易签名,一旦私钥泄露或丢失,资产将面临损失的风险。

区块链的早期,签名相对简单且风险较低,钱包主要的安全问题在于如何安全地存储私钥。随着 DeFi 和 NFT 等应用场景的兴起,链上交互变得越来越复杂。由于每一个 DApp 项目都有独特的签名交互方式,再加上多链多网络的维度,对于大多数人来说,理解各种复杂的签名交互背后的信息变得困难。

这也导致了钱包安全的新挑战,本身签名的规范多,解析困难,把面向开发者的结构化数据解析为普通用户可以理解的信息的挑战更大,还存在因为签名展示的不清晰导致的各种潜在攻击手段,如盲签名和签名钓鱼等。就在最近,Web3 反平台 Scam Sniffer 监测到有用户通过因为 Perimit 授权被钓鱼攻击,导致被盗 10 万 USDC。

Biconomy正在开发多链验证模块,支持通过一次签名在多个链上授权多项操作:8月25日消息,Web3区块链开发工具提供商Biconomy宣布正在开发多链验证模块,该智能帐户模块支持用户仅通过一次签名即可为多个链授权多项操作的用例,可以在多个链或Rollup上部署和设置智能账户,授权session密钥在多个链上委托操作。Biconomy表示,该模块不仅适用于Biconomy智能账户,还适用于任何遵循EIP-6900验证模块接口的智能账户。[2023/8/25 10:02:14]

在探索签名挑战的解决方案之前,理解各种签名方式至关重要。

为了使各应用能与区块链无缝交互,如读取区块数据或发送交易,必须有一个统一的连接标准。拿以太坊举例,以太坊的每个客户端都采纳了统一的 JSON-RPC 规范。

在这个规范中,与签名相关的接口有:eth_sendTransaction、eth_sign 等。从技术的视角,签名可分为两大类:链下签名和链上签名。根据具体签名应用场景,它们又可细分为签名登录 、签名授权、签名转账及签名合约互动等。

Mango Markets将改变多重签名功能以减轻安全威胁:2月24日消息,基于Solana的借贷和交易协议Mango Markets在其v4版本推出之前宣布了两项新功能,重点是缓解直接的安全威胁。为了避免再次遭到黑客攻击或利用,Mango Markets将对多重签名钱包施加新的限制,这将允许开发人员对“不可预见的市场动态”和程序代码中的任何漏洞做出响应。

Mango Markets预计将在未来几个月内将其v4产品置于测试模式,但具体日期尚未确定。[2023/2/24 12:27:50]

不同的签名场景潜藏着不同的风险,特别是当签名过程复杂或不明确时,盲目签名可能导致资产损失。对钱包而言,「所见即所签」是解决盲签问题的关键原则,用户签署的内容应与他们所看到和预期的完全相符。为了实施这一原则,钱包要确保的是准确展示每一笔签名包含的可读信息,而不是向用户展示 16 进制的 RLP 编码,只有这样用户才能理解签名信息和风险。

OpenSea:已排除合约迁移工具是攻击载体的可能性,OpenSea.io签名安全:2月22日消息,OpenSea官推就此前钓鱼网络攻击事件再次做出回应,OpenSea官方指出,目前攻击似乎不再活跃,但仍在继续对其进行监控,攻击者钱包超过36个小时没有活动,OpenSea会继续调查。此外,OpenSea已经排除了合约迁移工具是攻击载体的可能性,迁移工作是安全的。虽然市场上有对包含Wyvern协议徽标的新OpenSea签名信息有所担忧,但OpenSea明确表示,只要通过opensea.io进行签名就是安全的。此外,OpenSea还透露OpenSea Support推特账户的私信功能将会在明日关闭,如果需要额外支持可以前往官网帮助中心。[2022/2/22 10:07:47]

此外,在非常规的操作中,智能的风险警示机制也至关重要。接下来,我们将分别针对这些场景,探讨潜在风险及其应对策略。

以太坊最早的离线签名方式,目前已经不推荐使用。因为无法解析签名信息,非常容易被风险网站利用,伪造风险交易,而导致资产被盗。最简单方式,遇到无法解析展示的盲签名信息,直接拒绝签名,因为 eth_sign 签名无法做到所见即所签,所以社区衍生出 eth_personal_sign 和 EIP-712 等标准,让签名可视化。  

安全研究团队:Poly Network遭攻击或因跨链签名私钥泄露导致:针对Poly Network被攻击事件,BlockSec安全团队初步分析认为,导致攻击发生的原因可能为用于跨链签名的私钥被泄漏或者签名程序有逻辑漏洞导致签署出攻击交易。[2021/8/11 1:47:09]

eth_personal_sign 是可读的离线签名方式,通常用于网站验证用户身份,签名登录网站,钱包需要清晰的展示签名的信息和来源网站的详情。为了展示更多的登录网站的信息,目前 ERC-4361「Sign In With Ethereum 」登录网络的标准支持范围也非常广,进一步提升了 eth_personal_sign 的安全性。

遵循 EIP-712 标准,对于结构化数据进行 Hash 或签名,推荐离线签名的方式。慢雾有提到signTypedData_v4 也存在潜在的安全问题,虽然签名信息展示很清晰,但可能是钓鱼网站发起的一模一样的签名请求,后续会被滥用。

Ross Ulbricht的赦免请愿书已获得近30万签名:金色财经报道,针对暗网丝绸之路创始人Ross Ulbricht的赦免请愿书已经收集了接近30万人签名。此外,美国佛蒙特州说唱歌手Krypto Man发行了一首关于Ross Ulbricht的徒刑以及他希望Ulbricht获释的新歌,被称为“#Freeross”。[2020/3/28]

所以,对于钱包来说,不仅要支持解析 signTypedData 结构化数据,还需要显示签名来源的应用名称和 URL、交互的历史记录。对于非标准的 EIP-712 钱包,应该也有智能的风险提示。

转账是钱包最大的用例,这中间涉及到以太坊原生代币 ETH 的转账,以及 ERC-20、ERC-721 标准的代币转账,像是慢雾开发的 MistTrack 等其他安全工具有提供相关的风险地址标签,需要钱包智能地帮助用户拦截或展示相关风险提示,避免更多人受。

除此之外,转账还存在一些非常规的场景,比如说转账到合约地址:正常钱包转账都是给 EOA 普通账户,如果收款地址为合约地址,需要特别注意,往往存在风险,当然也可能为合约钱包地址。对于钱包来说,如果可以智能的识别地址是普通地址还是合约地址,并针对合约地址增加特别的标签提示,可以帮助用户提高安全意识。

Approve 操作代表授权代币转账权限给目标合约以便自动完成交易,常用于 DEX 交易授权,对于钱包来说,需要支持展示授权详情,并且支持修改授权额度和时间,避免因为无限授权额度,导致资金风险敞口变大,建议每次只授权需要交易的数量。

针对 Approve 授权是给一个 EOA 个人地址的场景,需要注意此操作存在极高的钓鱼行为,Approve 更多是授权给智能合约地址,授权给个人地址属于非常规的行为,需要钱包能够智能识别这种场景并提供相关的风险提示。

Permit 是在 EIP-2612 中提出的一个优化方案,用于改进 ERC-20 标准代币的交互方式。使用ERC-20 标准下进行 Approve 代币授权,需要支付 ETH 作为 Gas 费用。而通过 Permit 的方法,用户可以在链下私钥授权生成一个签名,拥有这个签名的人(如智能合约)可以直接调用 Permit 功能,从而进行代币转移,无需用户再支付 Approve 授权的 Gas 费用。

然而,EIP-2612 是 ERC-20 的扩展,所以 Permit 功能仅适用于新代币,现有的 ERC-20 代币无法从中受益。为了解决这个问题,Uniswap 提出了 Permit2 的标准,思路调用 ERC-20 Approve 来授权 Permit2 合约的操作权限。

慢雾提到,Permit 比 Approve 授权钓鱼更加危险,毕竟只要窃取到了签名就获得了授权。例如 DEX 里的挂单功能,只需要用户对某个消息进行签名,用户就可以在不支付Gas 的情况下将资产委托给 DEX 处理,但如果这个 DEX 是个钓鱼网站,伪造了恶意消息让用户签名,用户的资产就有可能丢失。Permit 签名作为链下行为,用户也很难注意到自己的签名是否已经泄露。

对于钱包来说,不仅需要可以解析 Permit 签名信息,为了避免钓鱼网站,也需要清晰展示来源网站,通过 Logo 和 URL,帮助用户判断其是否经过社区认证,是不是存在未知风险。

像是 Uniswap、Sushi、Tokenlon、OpenSea 和跨链桥等常见 DApp ,钱包也需要支持所见即所签,可以展示交易完成后预计的代币数量增加和减少的变化情况,帮助用户判断该笔交互是否符合预期,也可以从根源避免出现零元购的风险。

我们探讨了各种签名应用场景的潜在风险和应对策略,但值得注意的是,这只是冰山一角,实际上还有许多其他的风险尚未提及。

在区块链世界中,新的技术和应用不断涌现,带来了新的挑战和风险。无论是作为钱包开发者还是用户,都需要保持关注,理解并应对这些风险,以便更好地利用区块链技术带来的便利。

imToken

企业专栏

阅读更多

白话区块链

神译局

Gryphsis Academy

新浪科技

元宇宙之心

金色早8点

Web3小律

MarsBit

ForesightNews

吴说区块链

TokenInsight

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金智博客

[0:0ms0-6:606ms