原文标题:《Wintermute 1.6 亿美金天价损失,或因 Profanity 造成私钥泄露》

撰文:CertiK

加密做市商 Wintermute 遭到黑客攻击,造成了 1.625 亿美元的天价资产损失。CertiK 安全专家经过初步调查分析,认为此次攻击是私钥泄漏所导致,而非智能合约漏洞。

具体原因概述为:Profanity 生成以太坊地址的方式造成了私钥的泄露,而这次泄漏可能是由于 9 月 15 日 1 inch 披露的一个漏洞所导致的。通过利用被盗的私钥,黑客能够重新定向资金。

攻击者利用泄露的私钥调用特权函数,指定交换合约是攻击者控制的合约。不过 Wintermute 已经宣布,CeFi 和 OTC 业务均没有受到影响。

私钥被盗或成损失之「最」

黑客攻击私钥会给协议带来毁灭性损失。

据 CertiK 统计,2022 年至今至少已有 2.74 亿美元因私钥泄露而损失,因此私钥被盗也成为了今年被攻击的损失原因之「最」。2022 年刚刚入秋,就已有众多如下私钥被盗的「受害者」:

图中显示的项目再加上我们计算出的 9 月 15 日 Profanity 钱包漏洞所导致的 330 万美元损失,相当于今年因私钥漏洞至少有 2.74 亿美元的资产遭受了损失。

暴力破解私钥

「暴力破解」是一种破解密码或编码字符串的方法。顾名思义,该方法通过「暴力手段」,即通过尝试每一个组合,直到找到匹配的一个,进行密码破解。如果你有一千把钥匙和一把锁,你只需逐一尝试,就能找到合适的那把——这就是暴力破解。

Profanity 是一个用于以太坊的 vanity 生成器,每秒可生成数百万个以太坊钱包地址。vanity 是通过给程序分配一个特定的前缀或后缀来加密生成的,随后生成潜在的数百万个地址,直到它找到一个符合指定条件的地址。

然而,在 2022 年 1 月,有人在 GitHub 上提出了一个关于私钥生成方式的问题:Profanity 使用一个随机的 32 位种子数来生成 256 位私钥。此后,它被证明了通过使用 1000 个强大的图形处理单元(GPU),所有 7 位字符的 vanity 可以在 50 天内被暴力破解。

2022 年 9 月 15 日,1 inch 在 Medium 上发表了一篇关于 Profanity 漏洞的文章,并详细介绍了他们是如何用 vanity 为用户生成私钥的。

复制链接到浏览器查看原文:https://blog.1inch.io/a-vulnerability-disclosed-in-profanity-an-ethereum-vanity-address-tool-68ed7455fc8c 

在 Medium 文章发表两天后,Twitter 用户@ZachXBT 发布分析报告,显示以太坊钱包 0x6AE 通过利用该漏洞成功获得了价值 330 万美元的加密货币。

目前来看,Wintermute 如果使用了 Profanity 或类似的方式来生成钱包地址 0x0000000fE6A514a32aBDCDfcc076C85243De899b,那么遭到暴力破解类型的攻击将是极有可能的。

供应链问题

在 Web3.0 领域,供应链攻击数量在不断上升。正如我们今年看到的,影响 Web3.0 领域的 Web2.0 安全问题越来越多,但 Web3.0 原生的供应链攻击也存在,Wintermute 黑客事件就是证明。

供应链攻击是 Web2.0 世界的一个常见问题(例如 SolarWinds 攻击),以至于它们被一些安全公司称为「未来几年的最大威胁」。一周前白宫发表的《加强软件供应链安全,提供安全政府体验》指南中,就有针对该问题展开讨论。

复制链接到浏览器查看原文:https://www.whitehouse.gov/omb/briefing-room/2022/09/14/enhancing-the-security-of-the-software-supply-chain-to-deliver-a-secure-government-experience/

随着更多的独立和开源工具为 Web3.0 领域所构建,更多的公司将成为供应链攻击的受害者。而具备资格的第三方供应链安全测试成为规范,或将令更多潜在受害者避免遭受攻击。

如果 Web2.0 和传统的网络安全供应商继续在安全方面做出努力,我们可以预期在 Web3.0 的世界里也会有同样类似的模式。早期采取积极主动措施并将测试和检查纳入项目和 SDLC 是有必要的。

像 OpenSSF 这样有大规模项目的组织,已表明希望「通过软件安全专家的直接参与和自动安全测试」来改善开源软件(OSS)的安全状况。

复制链接到浏览器查看原文:https://openssf.org/press-release/2022/02/01/openssf-announces-the-alpha-omega-project-to-improve-software-supply-chain-security-for-10000-oss-projects/ 

目前,OpenSSF 成立了 Alpha-Omega 项目,用以改善一万个 OSS 项目的软件供应链安全。同时,这个开源的安全基金会也得到了当前美国政府的支持。

今年轰动整个 Web3.0 领域的 Solana 钱包攻击事件,就针对了第三方软件没有对 Web3.0 安全参数进行适当调整而进行了攻击。而刚刚发生的 Wintermute 事件可以说明在设置项目时使用开源的第三方工具(Profanity 生成 vanity 以及创建私钥)会产生重大的后续影响。

Web3.0 世界要么与像 OpenSSF 这样的联盟联合起来,要么创建自己的联盟。对于去中心化的应用程序来说,制作一个用户可以随时访问和评估的软件材料清单,或在审计中加入一个软件材料清单,将大大有助于提高透明度,用户及安全专家也将得以更准确地评估风险。

攻击流程

让我们回到这次事件当中来。首先,一个外部账户 EOA 0x6AE09 在 9 月 20 日创建了一个恶意合约,并在下图的交易中向 0x0000000fE6A514a32aBDCDfcc076C85243De899b 转移 2 个 ETH。

该 EOA 拥有被破坏的密钥地址,并且有与 0x00000000AE347930bD1E7B0F35588b92280f9e75 交互的记录,这就是 Wintermute 被利用的合约。我们可以看到,以前所有被攻击的 EOA 和 Wintermute 合约之间的交互都调用了函数「0x178979ae」。以下是几个例子:

因此我们可以确定这是一个正常的功能,且极有可能是一个特权功能。在 EOA 0x6AE09 将 2 个 ETH 转移到 0x0000000fe6 后,可以看到 0x178979ae 函数的进一步交易。

但如果我们观察每笔交易,就会发现资金被重新定向到了 0x6AE09 创建的恶意合约。

这个功能完成了 109 次。一旦攻击完成,0x6AE09 就会在一系列的交易中收到来自恶意合约的资金。以下是几个例子:

在撰写本报告时,被盗资产仍位于 EOA 0x6AE09。

资产分类

写在最后

我们已经看到了,9 月 15 日一个由 Profanity 产生的钱包被利用就导致了 330 万美元受到损失。这种规模的攻击表明,Web3.0 的大型组织迫切需要采取措施来保护他们的资产安全。由于 Profanity 漏洞现在已经众所周知,任何使用 Profanity vanity EOA 的人都应该采取措施,立即将资产转移到安全的钱包,以防类似事件再次发生。

CertiK 安全团队在此建议,以下三种方法可以防止对私钥的攻击:

  • 永远不要将钥匙从一个钱包导入另一个钱包
  • 使用硬件钱包
  • 使用提供高级安全功能的软件钱包

通过采取这些步骤,个人和机构都可以减轻恶意者对私钥的破坏企图。而这也警醒着我们,Web3.0 项目需要对其项目的供应链、开发和设置环境等所有方面提高警惕。

https://foresightnews.pro/article/detail/14554