SlowMist 发现了一个广泛使用的加密库中的一个严重的安全漏洞,这可能允许黑客对依赖于它的应用程序中的私钥进行逆向工程。
区块链安全公司 SlowMist 标记了 JavaScript 椭圆加密库中的一个严重安全漏洞,该库通常用于加密钱包(包括 MetaMask、Trust Wallet、Ledger 和 Trezor)、身份验证系统和 Web3 应用程序。具体来说,标记的漏洞允许攻击者通过在单个签名操作期间操纵特定输入来提取私钥,这可以让他们完全控制受害者的数字资产或身份凭证。
典型的椭圆曲线数字签名算法过程需要几个参数来生成数字签名:消息、私钥和唯一的随机数 (k)。消息被散列,然后使用私钥进行签名。至于随机值 k,需要确保即使同一条消息被多次签名,每个签名都是不同的——类似于邮票每次使用都需要新墨水。SlowMist 发现的特定漏洞发生在 k 被错误地重复用于不同的消息时。如果重复使用 k,攻击者可以利用此漏洞,从而可以对私钥进行逆向工程。
ECDSA 中的类似漏洞在过去曾导致过安全漏洞。例如,2021 年 7 月,攻击者利用弱 ECDSA 签名攻击了 Anyswap 协议。他们利用该漏洞伪造签名,从而从 Anyswap 协议中提取资金,导致损失约 800 万美元。