返回博客

关于脏话工具漏洞的简要分析

Code Auditing
2022年9月21日
阅读约 6 分钟

Wintermute 项目因私钥泄露损失超过 1.6 亿美元。其根本原因是 Wintermute 项目使用的 Profanity 工具存在漏洞,导致其用于生成私钥和以太坊账户的私钥被泄露。

在本博客中,我们将描述 Profanity 工具漏洞的根本原因以及该漏洞是如何被利用的。

以太坊地址

以太坊地址是通过对公钥进行 Keccak-256 哈希计算生成的,并以十六进制数字表示。公钥是通过椭圆曲线乘法从私钥生成的,这个过程是不可逆的。我们可以从私钥得到公钥,但无法在不进行暴力破解的情况下,仅根据公钥找到私钥。请注意,私钥的长度为 256 位。给定一个公钥,最多需要进行 2^256 次计算才能找到对应的私钥。

简而言之,私钥/公钥与以太坊地址之间的关系如下图所示。

漏洞的根本原因

Profanity 工具的目的是找到一个特殊的以太坊地址,例如地址的前导数字是零。为此,Profanity 采用了以下方法。

具体实现可能略有不同。

请注意,private_key 的长度是 256 位(2^256 种不同的值)。然而,在生成私钥的过程中存在漏洞。具体来说,种子(步骤 1)只有 32 位,而从种子(步骤 1)到 private_key(步骤 2)的过程是确定性的。

这带来了什么安全影响?

如何利用

假设我们有一个拥有大量有价值资产的以太坊地址。如果我们能获得其私钥,那么我们就可以控制该账户并将所有资产转走。然而,如前所述,我们必须在 2^256 的空间中进行暴力破解才能找到私钥,这几乎是不可能的

但如果该以太坊地址是由 Profanity 工具生成的呢?我们可以以更低的难度进行暴力破解来定位私钥。我们只需要指定从 0 到 2^32-1 的种子,并重复相同的过程,直到找到可以生成相同公钥(和以太坊地址)的私钥。因为我们最多只需要 2^32 * loop_threashold 次计算。如果拥有强大的 GPU 集群,这可以在几个小时或几天/几周内完成。

但这仍然是一种优化算法。您可以参考 Slowmist 的文章了解更多细节

总结

确保 DeFi 项目的安全并非易事。除了代码审计,我们认为社区应该采取积极主动的方法来监控项目状态,并在攻击发生之前就将其阻止

关于 BlockSec

BlockSec 是一家开创性的区块链安全公司,由一群世界顶尖的安全专家于 2021 年创立。公司致力于提升新兴 Web3 世界的安全性和可用性,以促进其大规模采用。为此,BlockSec 提供智能合约和 EVM 链安全审计服务,用于安全开发和主动阻止威胁的Phalcon 平台,用于资金追踪和调查的MetaSleuth 平台,以及供 Web3 构建者高效浏览加密世界的MetaSuites 扩展

迄今为止,公司已为 MetaMask、Uniswap Foundation、Compound、Forta 和 PancakeSwap 等 300 多家知名客户提供服务,并在两轮融资中从 Matrix Partners、Vitalbridge Capital 和 Fenbushi Capital 等知名投资者那里获得了数千万美元的投资。

官方网站:https://blocksec.com/

官方推特账号:https://twitter.com/BlockSecTeam

订阅最新动态
约940万美元损失:Injective、Aquifer遭利用攻击 | BlockSec Weekly
Security Insights

约940万美元损失:Injective、Aquifer遭利用攻击 | BlockSec Weekly

过去一周(2026/08/31-2026/09/06),Injective、Solana、Ethereum和Flow EVM上发生四起安全事件,损失约940万美元。最大的是Injective漏洞,保险基金标识符与二元期权市场标识符冲突,结算路径未比较其面额,损失约480万美元;Solana上的Aquifer因交换路径调用未验证的调用者提供的Token Program,损失约247万美元;Ethereum上的Notional Finance V1因未检查的uint128转换将债务估值为零,损失约173万美元。Flow EVM上的Ankr FLOW因质押入口跳过暂停保护并按过时比率铸币,损失约41万美元。

超越智能合约:Web3中的域名与DNS运营安全
Security Insights

超越智能合约:Web3中的域名与DNS运营安全

合约审计只审合约本身。我们对DefiLlama TVL前100协议背后的100个域名进行了8项基于SEAL的DNS和注册商检查,共800项检查,只有一个域名全部通过。以下是大多数项目缺失的四项关键控制措施,以及它们在用户入口处为何至关重要。

Web3攻击面:渗透测试概览

Web3攻击面:渗透测试概览

加密机构承载所有传统攻击面,并叠加资金处理链。本文提供系统的实用抽象:应用、授权与签名、区块链交互、基础设施四组件模型,说明各自职责、代表实现及继承的攻击面,并将web3特有覆盖细分为五大攻击面:生产与自动化运维、签名意图、审批与提现链、资金逻辑及链上交易与已部署合约。

Web3 最佳安全审计方

在上线之前验证设计、代码与业务逻辑,对标业内最高安全标准。

BlockSec 审计