要点

  • 消息签名是区块链交易的一个重要方面,但如果处理不慎,用户可能会面临相当大的安全风险。

  • 用户可通过 eth_sign 函数对任意消息进行签名,但该函数特别容易被滥用,攻击者可能会实现对受害者资产的完全控制。

  • 为了保护自己,用户务必使用可信平台,避免对陌生消息进行签名,并时刻警惕常见骗局。

对探索 Web3 领域的人来说,消息签名对于授权交易、进行身份认证以及与去中心化应用程序 (DApp) 交互至关重要。例如,空投平台可能会要求用户对消息进行签名,以证明其拥有一个符合空投参与资格的特定钱包地址。虽然这一过程实现了许多关键的区块链功能,但也带来了重大的安全风险。

本文将探讨在链上和链下对消息进行签名的潜在危险,重点介绍用户因签名恶意消息而遭受经济损失的常见情况。

消息签名与交易签名的区别

在去中心化领域,签名对于授权交易及与 DApp 交互都至关重要。签名主要分两种类型:链上(交易)签名和链下(消息)签名。

链上签名(签名交易)

链上签名用于授权那些会改变区块链状态的操作,例如转账或执行智能合约。具体方式如下:

链上签名和验证流程的工作流程

  • 消息生成:当有人在区块链上发起交易时,区块链网络会生成一条与该交易相关的唯一消息,其中包含关于该交易的信息,例如发送方和接收方地址、待转账金额以及其他相关详情。

  • 签名消息:发起交易的用户使用其私钥对该消息进行“签名”。此过程涉及对消息和用户私钥应用加密算法,从而生成数字签名。

  • 发送已签名消息:已签名消息连同原始消息会被一起发送至网络。

  • 验证:网络使用交易用户的公钥验证签名,该公钥由交易用户的私钥生成,但可以安全共享。如果签名与消息和公钥一致,则确认账户持有者已对该交易进行授权。

  • 交易处理:如果签名有效,网络就会对该交易进行处理。否则,交易会被拒绝。

使用加密货币钱包时,交易签名过程通常在后台自动进行。大多数现代加密货币钱包都会将技术细节抽离出来,提供用户友好的界面,因此您无法看到或直接与该流程进行交互。

链下签名(签名消息)

相比之下,链下签名用于授权那些不影响区块链状态的操作,例如验证用户身份、登录 DApp 或对资金转账进行预授权等。具体方式如下:

  • 挑战生成:相关应用程序会生成一条唯一的消息作为“挑战”,要求用户通过证明自己拥有相关地址来完成身份认证。该消息可能包含与登录尝试相关的具体详情,例如时间戳或随机数。

  • 签名创建:用户使用私钥对消息进行签名,从而创建数字签名。该签名可证明其拥有与该钱包相关的私钥。

  • 签名验证:接收方使用您的公钥验证签名。如果签名有效,即可确认用户身份并授予其访问权限。

Web3 用户经常会出于各种目的与链下签名进行交互,而此类签名有可能被犯罪分子滥用。

意外授权风险

消息签名方式多样,包括 eth_signpersonal_signeth_signTypedData。这些函数的安全等级各不相同,取决于您所使用的钱包,有些签名方式可能不为您使用的钱包所支持。

  • 用户可通过 eth_sign 函数使用私钥对任意消息进行签名,这可能会带来安全风险。此方式使用的是一种不可读的原始消息格式,没有任何前缀或上下文。

因此,用户通常不了解其签名内容的含义。最严重的风险是,签名恶意消息可能会让攻击者完全控制您的资产。

  • personal_sign 旨在提供一种更安全易用的签名方式。它会在哈希运算和签名之前,在消息中添加一个标准字符串作为前缀,表明该消息需要签名。此前缀有助于防止某些类型的攻击(例如重放攻击,即已签名消息可在不同的环境中重复使用)。

  • eth_signTypedData 方式用于对结构化数据进行签名,为签名内容提供更多清晰的背景信息。它支持开发人员对待签名数据的结构进行定义,从而提高签名的透明度,使其更易于理解。

什么是 eth_sign 网络钓鱼?

从本质上讲,eth_sign 是一种允许用户签名任意消息的加密机制。此签名可用作账户所有者已授权消息内容的数字证明。但是,如果智能合约能够以用户无法立即察觉的方式解释和执行这些已签名消息,就会出现问题。一条看似无害的字符串消息实际上可能会授权攻击者完全控制您的账户。下面我们来分析一下典型的 eth_sign 网络钓鱼攻击机制:

1.设置:攻击者经常会创建仿冒合法平台的虚假网站或应用程序,包括去中心化交易平台、NFT 市场或其他基于区块链的服务。

2.引诱:攻击者通过网络钓鱼邮件、误导性广告,甚至是社交媒体群组中的虚假链接等多种方式,引诱用户连接到这些虚假平台。攻击者通常会制造一种紧迫感,声称用户需要快速签名,才能享受限时优惠或防止某些负面后果。

3.上钩:攻击者的网站要求用户使用 eth_sign 对消息进行签名。然而,用户签名的消息却与其认为的大相径庭。它可以授予诈骗者权限,供其执行想要的任何恶意操作。

eth_sign 网络钓鱼攻击的几个阶段

利用消息签名的常用伎俩包括虚假空投、创建看似合法但其唯一目的是窃取资金的恶意 DApp、虚假的 NFT 铸造服务、网络钓鱼邮件、冒充客服人员以及创建虚假的跨链桥接口。所有这些不法工具的目的都是让用户相信他们签名的是合法消息,但事实上,这些工具让犯罪分子能够窃取数字资金。

鉴于这些攻击利用 Web3 用户的条件行为来签名消息,以此来验证身份或批准操作,因此尤为危险。许多用户往往在没有充分了解消息含义的情况下就进行了签名。

真实案例

虚假 NFT 空投

诈骗者常常会承诺为受害者提供意想不到的回报,以此来操纵受害者。在以下真实示例中,用户在其钱包中收到了意料之外的 NFT 空投,发送者声称用户此前赢得了丰厚的奖励,只需将其 NFT 券兑换成现金即可。

要领取奖励,用户需跳转至链接网站进行消息签名,该消息以不可读的十六进制格式呈现。用户误以为这是标准认证流程的一部分,因此进行了签名。然而,此消息实际上是经过巧妙伪装的授权,授予诈骗者对用户资产的控制权,这样一来,诈骗者即可从用户的钱包中进行未经授权的转账。

不久之后,用户注意到大量代币在未经其同意的情况下从其钱包中被转出,这才意识到自己被骗,但为时已晚。

关键要点:请务必警惕任何意料之外的优惠或空投,尤其是那些承诺提供丰厚奖励的优惠或空投。在采取进一步操作之前,请务必验证来源的合法性。

冒充知名项目

诈骗者经常会冒充知名项目或账户,以此来营造可信感。在以下示例中,犯罪分子在 X 上创建了一个模仿 Baby Doge Coin 官方账户的虚假账户。为了增加可信度,冒充者获得了金色认证徽章。

 

该虚假账户宣布将针对 Baby Doge Coin 持有者开展新一轮空投,并附上一个网站链接,用户可通过该网站领取新代币。此条帖子迅速吸引了大量关注,其合法性看上去进一步增强。用户访问提供的链接、连接钱包并完成消息签名,以此来确认身份并领取空投。

但受害者不知道的是,攻击者通过他们签名的消息获得了授权,可将代币从受害者的钱包转入自己的地址。大多数用户都是在发现 Baby Doge Coin 从钱包中消失后,才意识到这是一个骗局。

关键要点:请务必验证与之交互的社交媒体账户的真实性,并谨慎对待任何要求您签名的消息。您需要注意一些细微的差异(例如用户名略有不同或不正确等),以此来辨别账户的真伪。在该示例中,诈骗者的 X 账户对用户名进行了巧妙修改,只是将末尾的一个元音变成了两个元音,读起来几乎与真实账户无异。

虚假新代币空投

制造紧迫感是诈骗者用来迫使用户做出草率决定的另一种伎俩。在以下示例中,用户在浏览自己的社交媒体动态时,注意到了一条似乎来自合法加密货币项目的帖子,该项目宣布将针对一种名为 Sunwaves 的代币开展新一轮空投。该帖子声称,空投领取时间有限,仅为 24 小时。

用户被这一公告所吸引,于是访问了帖子中提到的网站,并根据网站提示完成了钱包连接和几个认证步骤,包括对消息进行签名以确认身份并领取空投。

然而,诈骗者却通过这一已签名消息获得授权,将代币从用户钱包中转出。很快,用户发现其钱包内的代币(包括有价值的资产)在未经其同意的情况下被转出。

关键要点:对任何制造紧迫感的优惠都要持怀疑态度。诈骗者往往会向用户施加压力,要求其迅速采取行动,防止用户花时间评估和验证其优惠的合法性。

币安 Web3 钱包如何保障用户安全

为防止用户陷入 Eth_sign 骗局,币安 Web3 钱包禁用该函数。在实践中,这意味着,一旦某笔交易触发了 eth_sign,用户会立即收到提示,称该交易可能存在恶意签名请求,风险较高。这样一来,用户将无法完成此类交易。

如何防范诈骗

为了防范 Web3 领域内的消息签名骗局,您必须采取以下预防措施:

1.使用可信平台:仅在您信任的平台上签名消息。如果某个平台看上去很可疑,不管是什么原因,最好避开它。

2.切勿轻信意外空投:警惕那些过于诱人的意外优惠,尤其是那些承诺提供丰厚回报的优惠。

3.验证 DApp 网址:在与去中心化应用程序交互之前,请务必检查网址是否合法。诈骗者通常会创建看上去与真实网址非常相似的网址。

4.使用安全钱包:使用采取安全措施防范恶意消息的知名钱包。例如,为防止此类攻击,币安 Web3 钱包已禁用 eth_sign 函数。

5.紧跟最新消息:及时了解区块链领域的最新诈骗手段和最佳安全实践。

结语

探索去中心化 Web3 服务和应用程序可能是一次宏伟的冒险。然而,这种环境自身也存在风险,用户必须保持警惕,及时了解相关情况。诈骗者可能会利用消息签名和冒充等工具进行未经授权的交易,从而造成重大经济损失。通过了解这些风险并采取一些简单的安全措施和习惯,您可以更好地保护自己。请务必时刻保持谨慎和警惕,确保您在 Web3 生态系统中的资产安全。

延伸阅读

风险免责声明:加密货币受市场高风险和价格波动影响。投资者应投资自己熟悉的产品,了解其中的相关风险,并审慎考虑个人投资经验、财务状况、投资目标以及风险承受能力。请在投资前咨询独立财务顾问。本文不应视为财务建议,过往表现也并非未来表现的可靠指标。个人投资价值跌宕起伏,且投资本金可能无法收回,故应自行全权负责自己的投资决策。币安对个人蒙受的任何损失概不负责。欲了解更多详情,请参阅我们的使用条款风险提示。此为通用公告。您所在地区可能不提供此处提及的产品和服务。