mt logoMyToken
总市值:
0%
恐慌指数:
0%
币种:--
交易所 --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

拯救智能合约漏洞,这个一夜之间成立的白帽团队如何守护近1000万美元?

收藏
分享

概述

  • 一名白帽黑客在某以太坊智能合约中发现了一个漏洞,导致近1000万美元的ETH处于危险之中。
  • 一夜之间,一个救援小组成立了,将这些资金转移到安全的地方。
  • 这次行动集合了来自世界各地的区块链安全专家和矿工的力量。
拯救智能合约漏洞,这个一夜之间成立的白帽团队如何守护近1000万美元?

一名区块链安全研究员和一个被称为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。

至此,白帽团队“逃离了黑暗的森林”,并拯救了一笔小财富。

原文:https://decrypt.co/42933/hacker-saves-10-million-in-ethereum-from-inevitable-theft
作者:Liam Frost
编译:Wendy
稿源(译):巴比特资讯(https://www.8btc.com/article/651517)

免责声明:本文版权归原作者所有,不代表MyToken(www.mytokencap.com)观点和立场;如有关于内容、版权等问题,请与我们联系。