Cointime

扫码下载App
iOS & Android

Buidler DAO:钱包被盗后,如何从黑客手里抢救 NFT?

项目方

原文来源: Buidler DAO

随着美联储不断加息缩表,加密市场流动性不断减少,市场活跃度持续低迷进入熊市。作为市场上仅剩的这些「流动性」也就是我们这些韭菜的钱包也成为了骗子们虎视眈眈的对象。加密世界是个黑暗森林,Crypto 带来财产所有权的同时也意味着一旦财产丢失或私钥泄露是几乎没有任何法律途径或方法可以挽回。

为什么写这篇文章呢?

因为菠菜的钱包被盗了,资产几乎被洗劫一空,讽刺的是,作为一个写过钱包安全相关的科普文章的老韭菜也翻车了。

虽然失去了陪伴许久的钱包和内部资产,但遭遇这件事情后菠菜真真切切感受到了社区的温暖,并且得到了许多「家人们」的关心和帮助,甚至在社区一位小伙伴的帮助下在黑客手里抢救回来了近 30 个侥幸存活下来的 NFT(不是已经被盗走的 NFT)。虽然损失的资产无法找回了,但在本次「菠菜钱包被盗事件」中,有许多经历是可以科普的,希望这篇文章可以给行业提供一个受害活案例并给其他小伙伴敲响警钟,防止「惨案」再次发生。

文章速览:

01/ 我的钱包是如何被盗的?

02/ 黑客是如何拿到我私钥的?

03/ 我是如何在黑客手里抢救 NFT 的?

04/ 如何实现同一区块完成所有操作?

05/ 什么是 MEV?MEV 给以太坊带来什么影响?

06/ 写在最后

我的钱包是如何被盗的? 

某天,推特上有一个人私信我,起初我并没有提起警觉,因为骗子的 Twitter 账号看起来像是一个正常用户。开始只是进行了一些闲聊,之后他开始问我是否愿意为 cheelee 这个项目输出内容并支付我报酬,且索要了一些我的作品进行验证,于是我把我的 telegram 给到了他,之后便在 telegram 上给我发了关于如何输出内容的一些细节和两个文件。下载并点击文件后什么都没有发生便意识到不对劲,于是打开小狐狸查看,不出所料,钱包被盗,所有的资产都被盗走,NFT 也被直接卖给 offer 换成 ETH 转移。(只能说菠菜想赚点外快大意了,其实陌生人在 tg 上发文件的时候就应该警惕起来的)。  

黑客是如何拿到我私钥的?

黑客是如何拿到我私钥的?  

我的私钥加密保存在 Chrome 的小狐狸中,黑客是如何获取到我的私钥的?这得从 Chrome 这个浏览器说起:你敢想象吗?这个占据着全球 66% 市场份额的 Chrome 浏览器居然存在一个巨大的安全漏洞!这个漏洞是什么呢?如果你在下图路径打开你的 Chrome 浏览器的 Default 文件夹,你会发现一个叫 Login Data 的文件,这个文件存储着你在 Chrome 上保存的每一个密码,但如果你想直接打开去读它的话你会发现它是不可读的,显示的是一堆乱码,因为这个文件被 AES 算法加密过,暴力破解需要破到天荒地老,那么其实你在 Chrome 上保存的密码都是十分安全的,但问题出在哪?  

如果你再往前翻一个目录在 User Data 中你会发现这样一个文件叫 Local State,如果你打开他之后在里面搜索「encrypted」,你会发现后面有一串密钥,这个密钥是什么?就是需要暴力破解几百年才能破解的 Login Data AES 算法解密的密钥串!这真是离谱他妈给离谱开门,离谱到家了!这相当于什么?

相当于你用世界上最坚固的材料做了一个牢不可破的保险柜存放密码但你却把保险柜钥匙放在保险柜旁边,贼进来就直接拿着钥匙打开保险柜了!并且这串密钥串还是通过 Windows 系统本身的密码生成工具生成的,与生成的电脑 ID 是唯一绑定关系,也就是说加密解密都只能在这台电脑上进行,Chrome 把解密的密钥串就这么明文保存在了本地,这样黑客只需要拿着密钥串进行解密就可以拿到我的所有密码。

MetaMask 的密码并不保存在 Chrome 的密码文件中,为什么我的私钥会泄露呢?因为我的 MetaMask 用的密码跟我的习惯密码是一个密码,黑客拿到了习惯密码后进入 MetaMask 还不是分分钟的事情,于是乎,我的私钥泄露了。不仅如此,所有存在 Chrome 浏览器上的账户都泄露了,甚至 Twitter 和 Google 账户全部遭到了冻结。  

我是如何在黑客手里抢救 NFT 的?  

在钱包被盗后,黑客在 OpenSea 上卖出了所有带有 offer 的 NFT 并转移走了所有的资金,万幸的是有一些 NFT 幸存了下来,其中除了 ENS 和一些没 offer 的 NFT 外,有一个刚 mint 不久的 DeBox 小蛇没有被卖掉,可能因为 Opensea 上存在一些 BUG,这个 NFT 是我另外一个白单地址 mint 完后转过去的,不知道什么原因没有被显示出来,这使得它逃过了一劫,于是乎当我尝试往钱包中转 gas 的时候,我发现我的钱包遭遇了「清道夫攻击」,也可以称为抢 gas 机器人,我转进去的 Gas 费被瞬间转走了!

什么是抢 Gas 机器人?就是一旦你往钱包中转 Gas 费,机器人就会立马检测到并将 gas 立马转移走,这类机器人通常活跃在被泄露私钥的钱包中。这个机器人也活跃在一种故意泄露私钥的骗局,就是骗子会故意泄露一个钱包里面有 U 的钱包私钥,但这个 U 是被合约拉黑了的无法转走,骗子盯上的就是你企图转走而往里面转的 Gas,下图就是一个案例(在 Tron 链上),感兴趣的小伙伴可以进去看看,但别往里面打 Gas 噢。

我的钱包在被抢 gas 机器人盯上之后就意味着我无法转移走我幸存的那些 NFT,因为我没办法在钱包中转入 gas 去支付我转移走 NFT 的操作,难道说我的 NFT 要永远被困在钱包里了吗?就在这一筹莫展之时,社区的力量体现出来了,Buidler DAO 社区中有一位小伙伴站了出来帮助我在抢 gas 机器人手中把幸存的 NFT 给抢回来了!

人间有真情人间有真爱!

那么这位小伙伴到底是怎么做到的呢?

首先让我们看看手动情况下需要多快时间可以在抢 Gas 机器人前面转走我的 NFT,在区块链浏览器中可以看到当我转进去 gas 费(区块高度 16387987),抢 gas 机器人在三个区块之后(区块高度 16387990)将所有 gas 转移走了,在以太坊合并后 POS 权益证明机制中一个区块的出块时间固定为 12 秒一个区块,那这是不是意味着我只要在前两个区块(24 秒内)操作就可以快过机器人了呢??这样想就太天真了,如果是这么慢的速度那就都不好意思叫机器人了。

在以太坊中,一笔交易的处理速度取决于你支付了多少 Gas 费,如果你想交易被更快的处理就需要支付更多的 Gas 费,Gas 费的均价会随着以太坊的交易需求量而变化,如果按照正常情况下的 Gas 费用来算的话,处理一笔交易所需要的时间大概为 30 秒,这就意味着我如果想在抢 Gas 机器人抢走 Gas 之前把 NFT 抢救走就需要在 36-30=6 秒之内完成我的操作,这几乎是一个不可能完成的事情,因为我即便是在看到 Gas 到账后的第一时间就去转 NFT,Metamask 弹出界面的时间差不多就已经 6 秒了,那么要如何做到在 Gas 机器人转走 Gas 之前就把 NFT 转移走呢?  

答案就是在同一个区块内完成往钱包里转 Gas 和转走 NFT 的操作,这样机器人就无法把 Gas 抢走了,因为机器人需要不停监控区块链浏览器来确认是否有 Gas 费转进钱包,如果在一个区块内完成了所有操作机器人即便检测到了区块,我也已经把 NFT 转走并且没有留下多余的 Gas 给机器人转了。  

如何实现同一区块完成所有操作?  

这就需要使用到 Flashbots 的 searcher-sponsored-tx 功能,这个功能大部分都被用在私钥泄露被机器人监控的钱包上。

懂技术的小伙伴可以直接在 Github 上查看:https://github.com/flashbots/searcher-sponsored-tx

Flashbots 的这个功能支持一个钱包转 Gas 给另外一个钱包的同时附带交易事务,也就是同一区块完成所有操作,在区块链浏览器中可以看到转入 Gas 和调用合约都在 16388251 这个区块中完成。

顺便提一下什么是 Flashbots,Flashbots 是一群关注区块链的研究人员、Buidler 和白帽人士组成的研究组织,致力于减轻最大可提取价值 (MEV,Maximal Extractable Value) 对有状态区块链(比如以太坊)带来的负面外部性。  

什么是 MEV?MEV 给以太坊带来了什么影?

最大可提取价值 (MEV) 是指通过在区块中添加和排除交易并更改区块中的交易顺序,可以从区块生产中提取的超过标准区块奖励和燃料费用的最大值。怎么理解呢?举个例子,首先我们要知道在以太坊中一个交易发起后,这笔交易会被放在 mempool(一个保存待执行交易的池子)中等待被矿工打包,那么矿工就可以看到 mempool 中的所有交易,而矿工的权利是很大的,矿工掌握了交易的包含、排除和顺序。如果有人通过支付更多的 Gas 费贿赂矿工调整了交易池中的交易顺序而获利,这就属于一种最大可提取价值 MEV。

你可能在想矿工换一个交易顺序怎么就可以获利了呢?

有一种 MEV 手段叫「三明治攻击」或「夹子攻击」,这种提取 MEV 的手段是通过在链上监控大额的 DEX 交易,比如有人想在 Uniswap 上购买价值 100 万美金的山寨币,而这一笔交易会将这个山寨币的价格拉高很多,在这笔交易被放入 mempool 的时候,监控机器人就可以检测到这一笔交易,这时机器人就贿赂打包这个区块的矿工将一笔买入这个山寨币的操作插队在这个人前面,随后在这个人的购买操作之后进行一个卖出的操作,就像一个三明治一样把这个进行大额 DEX 交易的人夹在中间,这样发动「三明治攻击」的人就从中获取了山寨币因为这个人大额交易拉盘的利润,而大额交易的这个人则造成了损失。

除此之外,获取 MEV 的手段还包括 DEX 的套利,清算机器人等等,MEV 的存在也一直给以太坊带来一些负面的影响,比如「三明治攻击」给用户带来的损失和更差的用户体验、抢跑者竞争导致的网络拥堵和高 Gas 费等,甚至的一定程度上威胁到了区块链的完整性,截至 2023 年 1 月,MEV 带来的利润已经达到了 6.8 亿美元。

数据来源:数据来源:https://explore.flashbots.net/  

Flashbots 的出现照亮了 MEV 这个黑暗森林,Flashbots 在 MEV 上做了许多的研究并开发了一些产品在一定程度上减少了 MEV 给以太坊带来的负面影响,虽然 Flashbots 无法解决 MEV 带来的问题,但在以太坊的新分片方案 Danksharding 中以太坊提出了一种新的机制来解决 MEV 问题(预告一下这也是我下一篇文章会写的内容),如果对 Flashbots 和 MEV 感兴趣的小伙伴可以查看以下链接。

以太坊官方对于 MEV 的介绍

https://ethereum.org/zh/developers/docs/mev/#mev-extraction-flashbots

Flashbots 的官方网址

https://www.flashbots.net/

最后有什么想说的吗?  

钱包被盗后看到所有的加密资产和喜欢的 NFT 都没了之后心里十分难受的,身子最喜欢的 DeBox 一家子都没了。感谢社区的小伙伴在知道后一直陪着我帮我出谋划策,甚至抢救完 NFT 后 DeBox 项目方空投给菠菜一个 NFT 作为安慰,DeBox 真的是一个有温度的团队,疯狂打 Call。  

关于钱包安全问题真的不可以大意,在此之前我也从未想过自己会成为被盗者之一。文章临近截稿时看到一个 KOL NFT GOD 的钱包也遭遇到了黑客攻击失去了所有的资产,并且所有的社交帐户都泄露被利用发了诈骗信息,原因是下载了谷歌广告链接中的虚假软件,类似于曾经的假 TP 钱包骗局,所以,千万不要下载任何来自陌生人的文件,下载所有软件的时候也一定要确认一遍是否是官方网址。

除此之外,加密资产一定不要都放在热钱包中,资产放在冷钱包中一定是最安全的,Metamask 的密码也最好不要使用习惯密码,因为 Chrome 上的 Metamask 插件不是绝对安全的,一定一定要去学习钱包安全的相关知识。

评论

所有评论

推荐阅读

  • Bitlayer宣布推出首期价值5000万美元的Ready Player系列生态激励计划,现已开放报名

    3月29日,比特币L2项目Bitlayer宣布推出系列生态激励计划Ready Player,并正式启动第1期活动Ready Player One。该计划主要面向部署至Bitlayer主网的生态项目,报名并参与Bitlayer生态构建的团队将依据生态贡献度获得丰厚的代币奖励,首期活动奖励总价值超过5000万美元。Bitlayer团队承诺为早期建设者提供全方位的支持,向活动参与者与项目方开放代币奖励、流动性支持、一线机构投资和社区建设等核心生态资源。此次Ready Player One报名将于2024年3月29日正式开放,并持续至4月29日。首期活动计划在Bitlayer主网上线后正式启动,届时将对外公布具体的参与规则与细节。致力于成为比特币的计算层,Bitlayer是一个基于BitVM范式的比特币安全等效的Layer 2,提供比特币安全等效且图灵完备。3月27日,Bitlayer宣布成功完成由一线投资机构Framework Ventures和ABCDE Capital领投的500万美元种子轮融资。

  • 新加坡比特币Layer2项目BEVM完成种子轮和部分A轮融资,估值达2亿美元

    新加坡比特币Layer2项目BEVM宣布完成种子轮融资和部分A轮融资,筹集了数千万美元。20多家投资者包括RockTree Capital、Waterdrip Capital、Arkstream Capital、ViaBTC Capital、Satoshi Lab、Web3port、Cogitent Ventures、MH Ventures、Mapleblock、Electrum Capital、Zephyrus Capital、Lotus Capital、7UPDAO、TimeTells等。该项目的A轮估值达到2亿美元,旨在加速其国际发展和推广。BEVM是一个基于Taproot共识的EVM兼容比特币Layer2网络,使用$BTC作为燃料,旨在将10%的$BTC引入其Layer2网络环境。

  • 以太坊链上DEX昨日交易量超21亿美元

    DeFiLlama 数据显示,以太坊链上 DEX 3 月 28 日交易量为 21.11 亿美元,排名第一。BSC 链上 DEX 日交易量为 13.98 亿美元,排名第二;Solana 链上 DEX 日交易量为 10.97 亿美元,排名第三。

  • 台湾内政部已批准成立加密货币行业协会

    台湾内政部已经批准当地加密货币行业成立行业协会的申请,为筹备成立行业协会而于去年成立的当地加密货币行业工作组表示,工作组现在需要完成所有准备工作,并按照政府要求在6月底前正式成立加密货币行业协会。工作组目前由22家加密货币公司组成,其中包括台湾的主要交易所,如MaiCoin和BitoPro。工作小组指出,已将ACE Exchange从小组中除名,因为这家陷入困境的交易所因其前高管涉嫌不当行为而受到检察官的调查。

  • 灰度ETH信托负溢价率为22.77%

    Coinglass 数据显示,灰度比特币信托基金 ETF(GBTC)溢价率为 0.02%。灰度 ETH 信托负溢价率为 22.77%,ETC 信托负溢价率为 36.58%。

  • 3月29日午间要闻速递

    1.Vitalik:Worldcoin一直在认真对待隐私问题的批评,并将系统所需数据设计得越来越少

  • 3月28日现货比特币ETF净流入达1.79亿美元

    链上数据监测平台Spot on Chain在社交媒体上发文表示,现货比特币ETF3月28日净流入达1.79亿美元,与前一个交易日相比下降26.9%,54个交易日后,累计净流入总额回到121.3亿美元,即上一个全负交易周之前的水平。贝莱德IBIT和灰度GBTC在3月28日的单日流入和流出量都明显放缓。

  • 比特币现货 ETF 昨日总净流入 1.79 亿美元,ETF 净资产比率达 4.25%

    根据 SoSoValue 数据,昨日(美东时间 3 月 28 日)比特币现货 ETF 总净流入 1.79 亿美元。

  • 以太坊铭文ETHS 24H涨幅超95%

    CoinGecko 数据显示,以太坊铭文 ETHS 24H 涨幅 95.9%,现报 7.51 USDT。此前,以太坊创始人 Vitalik 发布最新长文《Ethereum has blobs. Where do we go from here?》。受此消息影响,以太坊铭文价格 ETHS 大涨。

  • ointime 3月24日要闻速递

    1.Ordinals铭文铸造总量突破6300万枚,费用收入超4亿美元2.BOME创始人:2543枚SOL将被转至新地址,并作为打赏退款发送至415个钱包3.专注于数字艺术NFT的去中心化自治组织BottoDAO完成167万美元融资,1kx领投4.Pendle:ether.fi eETH池将在ETHFI第二季活动中回归,并持续10周5.MEME项目Pundu已筹集1亿美元资金 6.本周五超2.5万枚BTC被转入累积地址,创2024年迄今最高纪录7.以太坊Dencun升级之后,发布Chainlink预言机报告的L2 rollup gas成本下降99%8.Partisia代币MPC于Kucoin等多个交易所上线,并发起2500万枚代币空投活动旨在激励生态参与 9.TokenPocket:因Polygon zkEVM问题,转账、链上交互、交易记录等功能受到影响10.L2技术将推动比特币价格上涨