概述
一名白帽黑客在某以太坊智能合约中发现了一个漏洞,导致近1000万美元的ETH处于危险之中。
一夜之间,一个救援小组成立了,将这些资金转移到安全的地方。
这次行动集合了来自世界各地的区块链安全专家和矿工的力量。
一名区块链安全研究员和一个被称为samczsun的白帽黑客,今天公布了一份详细的“事后报告”,该报告讲述了一次秘密行动,该行动解救了25000个ETH,当时价值超过960万美元。这些资金是从一个有漏洞的智能合约中解救出来的。
9月15日,samczsun正在查看一些以太坊智能合约,寻找漏洞(他经常这样做)。后来,他发现了Lien Finance协议的一部分存在问题:一份包含超过25000个ETH的智能合约。
这些钱可能会被任何人拿走。
根据报告,这个智能合约包含了“销毁”功能。也就是说,任何用户都可以为自己制造大量毫无价值的代币,并用它们来交换合约中的ETH,从而获得了价值近1000万美元的缓存。看在DeFi的份上,Samczsun决定介入。
由于Lien Finance的团队是匿名的,因此白帽黑客会通过寻找一些潜在的关系来联系任何相关人员。Alexander Wade和以太坊安全专家Scott Bigelow很快加入了这场救援行动。
实际上,有两种方法可以解决这个问题。首先,Lien Finance本可以公开披露漏洞,但这将为黑客盗取资金创造一个完美的机会——就像在旁边放了一个“欢迎免费拿钱”的牌子。
其次,白帽黑客团队本可以攻击这个智能合约,然后将资金归还给它们的合法所有者。但这肯定会吸引机器人——以太坊内存池的顶端捕食者。
内存池,即“以太坊的黑暗森林”,它是一个特殊的“集结区域”,交易在被矿工接受并包含在下一区块之前会聚集在这里。这一地区经常有“领跑者”巡逻,他们是专门的机器人,寻找任何可以利用的交易以进行劫持。
基本上,领跑者可以自动复制内存池中的任何交易,用自己的地址替换它的地址,并确保这个操作首先被矿工抓取。在目前的情况下,这意味着1000万美元很容易被领先者在几秒钟内偷走。保密是非常必要的。
在区块链研究者Tina Zhen的帮助下,CertiK(第二家审计这一智能合约的公司)和以太坊矿池SparkPool(星火矿池)都参与了救援工作,并最终与Lien Finance取得联系。
经过短暂的试运行后,SparkPool的程序员花了接下来的几个小时开发和测试一种专门的“白帽API”,它可以让矿工在不显示在内存池的情况下获取交易。接下来,白帽黑客团队的成员完成了生成四个连续签名交易的脚本,这些交易最终将拯救25000个ETH。
但这些交易并不是为了直接提取资金。如果按照正确的顺序执行,他们将把30000个SBT和LBT代币(可以不限量产出)转移到Lien Finance中,允许在最后的操作中通过销毁功能将这些代币转换回ETH。
当所有准备工作完成后,白帽黑客团队终于开始了救援行动。
通过与一家挖矿公司合作,这些交易成功地避开了机器人。这是因为交易没有发送到内存池——它们直接被矿工放在了一个区块中。
报告中表示:
“在调整交易创建脚本以将交易直接提供给SparkPool的新端点之后,该是时候了。我犹豫了一会儿,但这绝对是我们能做的最大的努力了。我们可能会损失960万美元,但不会感到遗憾。在我们的交易被包含进来之前,其花费了大约15个区块,感觉就像几个小时,但最终,我们拥有了完美的交易:按序挖矿,不需要回滚。”
现在,Lien Finance团队需要做的就是使用销毁函数用SBT和LBT换取ETH。在最后的交易完成后不久,Etherscan报告其成功完成,拯救了25000 ETH。
至此,白帽团队“逃离了黑暗的森林”,并拯救了一笔小财富。
﹏
﹏
﹏
﹏
推荐阅读
或是未来10年最强风口:产业区块链时代正式到来
区块链落地应用盘点:五大领域应用告诉你“区块链能做什么”
区块链将引爆跨学科研究,比特币只是第一颗“核弹”
5分钟看懂区块链如何提升中国企业活力与效能!
一文读懂区块链项目的法律问题,通证激励、链改可行吗?
比特币技术堆栈的创新:今非昔比
区块链入门 | 什么是DAO?
更多关键词:矿工 | 51%攻击
燃点 | 孟岩 | 白硕 | 肖风
长铗 | 李国权 | 蚂蚁金服 | 来学嘉