RIN:DeFi黑暗森林历险记 我这样追回了百万美元

最大的问题是,被黑了的钱包已经在一个DeFi智能合约上抵押了120万美元的ERC20USDC稳定币,而且是采取流动性挖矿的模式。

声明:本文是位于旧金山的AnChain.AI团队近期解决的“DeFi百万美元失窃案”真实案例。基于签署的用户保密协议,在此不会涉及任何有关用户的个人信息。

迷失在量子态的价值数百万美元猫咪

——薛定谔的猫

“Victor,在吗?”

旧金山,晚上8点27分,我收到了一条来自我投资者朋友的短信。

我皱了下眉。通常在晚上收到VC的电话,要么是有特别的好事,要么是坏消息。

我的预感告诉我应该是不好的消息:

“我朋友的Metamask被黑了。是投DeFi项目的,里面有数百万美元。”

我回复道:“让他们打给我。”

几分钟过后,一个以“650”开头的电话号码打过来。电话一头,Catherine用颤抖焦急的声音解释了事情经过。她是一位在旧金山的VC投资人,她的Metamask钱包刚刚被黑了。

当晚9点,我召集了一个紧急事件处理会议,Tomo和Ralph参加了会议。

一天前,Catherine掉入了社交工程陷阱,导致Metamask以太坊钱包被盗,私匙也因此泄露。

钱包被一洗而空,4个ETH被转到黑客的钱包。

最大的问题是,被黑了的钱包已经在一个DeFi智能合约上抵押了120万美元的ERC20USDC稳定币,而且是采取流动性挖矿的模式。

被质押的DeFi资产还在,但那120万美元随时都可能不翼而飞。

这些被抵押的资产就像薛定谔的猫:正如哥本哈根量子学实验那样,迷失在量子态,被锁在密封的冰冷硬盒箱中。结果只有当打开箱子那一刻才知道,抵押的资产是否还在。

我们尚不清楚黑客是否知道被抵押的DeFi资产的存在,或者他一直就在暗中观察钱包情况:

假设1:黑客早就知道。他们可能在等有更高的DeFi收益再动手?

假设2:黑客不知情。但是如果我们与以太坊保持互动,迟早黑客会发现这些被抵押的资产。

我们可以试探一下,答案就会出现。

但这个方法也存在问题,很可能最后结果就是好奇害死猫。

大多数用户找到AnChain.AI是因为他们的加密货币被盗,想通过区块链安全服务来尽量挽救损失。但通常这种情况已经来不及了,尽管我们做最后的补救,只能拿回一部分钱而已。

但DeFi的盗窃给我们带来了新的机会。如果这盘棋我们下得好,120万美元失而复得是有可能发生的。

我在回复邮件里写道:“你钱包里的钱可能随时都会被盗,你需要请求紧急事件处理专家的帮助。以下是我们提供的建议,无论你最终是否选择我们公司的服务。”

断开网络,关掉电脑。

使用全新的电脑上网。

不要分享私匙给任何人,包括安全公司。

不要把你的钱包与任何DeFi产品连接。

当我写下最后一条建议时,“黑暗森林”一词闪过我的脑海。

早晨7点,我醒来就看到了一封署名的邮件,是凌晨4点过后发送过来的。这一晚对于Catherine来说肯定特别漫长。在核实资产归属于她后,紧急事件响应团队开始着手处理被盗钱包事件。

正如刘慈欣的科幻小说《三体》里描述的那样,“黑暗森林法则”认为如果一种文明非常害怕其它的文明,最终它们会不敢互相揭示对方的问题所在,因为它们都担心会马上被当做潜在的威胁而遭到毁灭。

以太坊就像一个黑暗森林。AnChain.AI团队可以感受到我们即将探索的黑暗森林中令人生畏的绿眼睛在直直地盯着我们,仿佛任何人都可能成为它的下一个猎物。虽然没有人提出这个要求,但我们都心知肚明。能否拯救这只百万美元的薛定谔的猫才是问题的关键。

分析黑暗森林的恶魔:黑客特征

世界上最有名的紧急事故反应团队当属FireEyeMandiant,他们遵从网络安全至上的原则,并由CEOKevinMandia和员工写了原则性手册。

我从FireEyeMandiant离职后,创办了AnChain.AI,我带来了最好的网络安全实践经验和共同创造了AnChian.AI的区块链紧急事件响应项目团队。

与网络或云端安全相比,区块链安全在去中心化盛行的西方展露出它独特的挑战性。

紧急事件响应主要面对两个问题:调查和处理。

其中,调查目的是要找出答案:“黑客是谁?”黑客特征是为了推断出黑客的TTP-包括盗窃手法、技术和步骤。

黑客使用的是什么工具?

电脑监识:除了社交工程的网络钓鱼网站手段,通过恶意软件和非法途径,利用Catherine电脑的Chrome浏览器Metamask钱包插件也可以入侵电脑。

区块链监识:通过设置与区块链交易和流动性相关的软件来调查黑客。首席信息官调查工具将黑客的链上活动轨迹可视化。我们并未发现智能合约上的任何变化,除了代币的交易。

我打开了AnChain.AI的首席信息调查官调查工具,开始研究受害者和黑客的地址。看样子目前已经有6个人掉入了黑客的网络钓鱼陷阱里。同样的手法发生在2020年推特黑客调查,那个被盗案件中被盗的资金已经转入了其它钱包中。

感谢上帝,幸好我们客户的DeFi抵押资产还在。

黑客地址是哪里?

这不像网络服务器能够追踪到IP地址和用户代理字符串,以太坊区块链分类账只能匿名记录钱包地址和智能合约的状态。运行速度快的Python脚本计算相关钱包统计数据,然后展示黑客活跃时的机率密度函数。显示结果表明黑客可能是在东亚地区。

概率分布图帮助我们找出在最佳的黄金时间。如果过早或过晚启动事故应急处理,黑客可能已经知道紧急事件响应团队的存在。如果黑客发现了我们,那我们的计划就泡汤了。为了不引起罪犯的注意,我们的最佳时机是美东时间早上10点到晚上8点。

根据我们所描绘的黑森林恶魔,这是一个位于东亚、擅长入侵电脑的极客。但是很有可能这个人并不懂DeFi和智能合约。

制定应对计划

《孙子兵法》中说过“知己知彼,百战不殆”,这为我们的应对计划奠定了基础。

我们的补救方案就是将120?万美元的稳定币转到Catherine的新的硬件钱包。

我们最大的希望寄托在DeFi的智能合约,特别是紧急应对小组制定的方案:

计划A:能将里面的资产提取到一个不同的钱包,而且绕开被盗者的钱包吗?

Tomo收到了DeFi智能合约的代码:

然而提币没有接受方,只能将资产提取到原来的钱包里。值得一提的是,Uniswap考虑到了这种情况,并设置了相关的应对程序。

计划B:我们能否冻结资产?这样黑客就不能把资产转移。

在DeFi治理中,冻结是一个很关键的的功能。

但正如图示,对于稳定币而言,交易里并没有锁定这个功能。

计划C:大多数设计良好的DeFi有“暂停”的管理按钮,是为了应对紧急情况。

然而,设置“暂停”只能暂停某种代币合约的交易,并不适用于个人钱包,不适合这个盗窃案。

很明显,这个DeFi产品没有考虑过这种紧急情况,真令人失望。

同时,我也联系到了这个DeFi产品团队的电报群、邮件、推特、领英和他们的投资者。或许是孤注一掷,但他们确实在市场上有好的名声。

然而并没有想象中那样得到回复。

因为糟糕的客户服务是DeFi产品共同的问题。

我们回复Catherine:“很不走运,我们刚刚总结出三个直接从DeFi钱包挽救你的损失的方案,最终只有计划Z合适。但这个计划有风险,你准备好了吗?”

作为日漫《龙珠Z》的狂热粉丝,我认为这个计划Z就跟游戏中的绝招一样是必杀技,我们试试就知道了。

计划Z:精密修复手术

我的同事Anderson医生是研究院的一位开刀医生,他从不在他有手术的前一天喝咖啡。因为咖啡因会影响到他的手指。他曾经挥动他的手,大笑着跟我说他才需要外科手术的精确。

紧急事件处理也需要“精密修复”,过度的紧张会导致计划失败。

计划Z是我们最后的希望,虽然充满风险,但可以简单分为下面三步:

将ETH作为手续费转到被盗者的钱包;

将质押的资产从DeFi矿池提取到被盗者钱包;

全部转到安全的地方。

我向Catherine讲解了整个计划步骤,很快意识到这个计划比理论上写的更加鲁莽。听起来就像一个恐怖计划:“如果黑客比你早一步行动呢?”

“计划Z?关键就是速度,我们的自动防御机制将增大我们的胜算,先听我解释。”

我从分析中总结出了一个博弈论策略,列举了所有方案可能性。当我面对复杂又不确定的事情时,我喜欢用这样的方法分析。

黑客可能还没有意识到我们的计划或者正悄悄地将资产转到其它的钱包,或早就自动设定好。

即使黑客使用自动设置,我们的工程师也向我保证有80%的胜算。博弈论显示我们有93%的可能性打赢这场战,这个几率很高。但是面对这么大一笔数目的钱,7%?的失败率也很令人感到紧张。

前面讲计划Z拼的就是速度。具体来说,我们的目标就是最大程度减少赎回和交易间的时间差。这分两个关键步骤;

1.赎回速度。对矿工的最佳手续费就是关键。2020年,由于DeFi市场的大爆发,以太坊的手续费跟着水涨船高而遭受骂名。在6月的时候平均Gas费甚至达到过700个以太币!

2.在33秒的验证时间内,200以太币对我们来说已经是以太坊交易池排名第一的手续费。赎回DeFi产品时超过12.8美元的手续费都让我心疼,但比起120万美元就显得很微不足道了。每一秒都很关键。

3.进攻工具:在web3上的Python脚本为了对抗性交易而在以太坊交易池里进行非法预先交易,所以我们的ERC20稳定币交易可以在矿池里最先进行,并转到我们设定的安全地方。关于非法预先交易的相关操作请看下文。

进攻工具已经这准备好了,我们将文件命名为:

>>FrontrunDarkForest.py

我们对Rinkeby测试网进行测试后,计划Z就准备完善了。

“拯救薛定谔的猫”

下午2点,百万美元的“薛定谔的猫”拯救计划在两次测试后正式开始。

Catherine深呼吸后,打开了DeFi赎回网站,登入了metamask钱包的插件,将被盗的钱包连接到DeFi。

很快,Catherine开始歇斯里地地尖叫,眼泪夺眶而出。

“余额为零!?这是什么情况!?”

DeFi网页显示钱包在抵押矿池中的余额为零!大家沉默了一会,但是刚刚显示有抵押资产。经过理性分析,可能黑客早就检查过钱包的资产。但我们在一开始时并没有看到智能合约,黑客根本没有办法盗走这些钱啊。

我看了一眼Catherine的DeFi网页,在右上角本来不是应该显示连接的以太坊地址吗?

“你能够再试试连接Metamask钱包吗?”

Catherine屏住呼吸,关上浏览器,重新打开了DeFi网页,重新连接了Metamask。

显示120万的USDC还在矿池中。

大家松了一口气,所有人嘲笑这荒谬的一切。但是我们没有时间讨论这个锁定值高达2亿美元的DeFi产品UI的不合理性了。

Tomo发送了Python脚本?FrontrunDarkForest.py,将ETH交易费转到被盗者钱包,然后显示我们的工具已经准备好了。

Catherine点击“提取”,确认200以太币手续费,交易在以太坊网络显示。

时间仿佛静止了,只听到我们的心跳声。

当所有筹码都摆在我们面前,信心在这时会突然消失。

遍布SparkPool、Nanopool和F2Pool矿池的全球成千上万的CPU矿工都在拼命地想从这次交易中分一杯羹。

30?秒过后,智能合约的提取交易成功,200Gwei的保险费起了作用。

很快,脚本?FrontrunDarkForest.py?开始运行,弹出了这样的信息:

预先交易成功。USDC提取到安全位置。

3秒后,以太坊浏览器确认了这笔交易。USDC到达设定的安全钱包。

从技术上讲,到下午2:15,紧急事件反应处理任务已经完成。从黑森林中救出120?万美元的薛定谔的猫只用了33秒。世界仍然和平,“亚洲的恶魔”显然仍在美梦中。

我们挥手告别,然后走出我的办公大楼。这是旧金山另一个阳光灿烂的一天,桂花的舒缓的芬芳使我平静,只有当初秋的微风拂过我时,我才意识到我的衬衫沾满了汗。

特斯拉平静地驶在101号高速公路上,我开始播放最喜欢的歌曲,大卫·鲍伊的《Starman》,就像电影《火星人》中一样。充满异国风情的Dorian调式瞬间改变了宇宙气氛,然后唱起:

星星超人在空中静候着,

他告诉我们不要搞砸了,

因为他知道一切都会是值得的。

我回想起Catherine在硬件钱包地址上看到的价值120万美元的加密货币时的灿烂笑容,她问道:“黑客看到这一点会感到什么?”

黑客很快就会看到以闪电般的速度发生的这笔异常的以太坊交易。他可能会觉得“星星超人”已将薛定谔的猫从他那片黑暗森林中救出,交给了真正的主人。

学到的经验

在《紧急情况响应圣经》的第1部分中,FireEyeMandiant和AnChain.AI建议要“为不可避免的事件做准备”。你不会像Catherine那样幸运,这只是因为碰巧认识了我们的投资者。防范于未然,请确保你的联系人列表中至少有一个紧急事件响应团队的人。

当心社会工程学。Catherine正是被一个诱并窃取了她的私钥的钓鱼网站导致黑客入侵。如图1所示,受害者并不是只有她一个人。不要以为你总是比黑客聪明。再次提醒,在任何情况下你都不应该泄露你的私钥或密码,那12或24个单词,还记得吗?

我对匿名的DeFi团队有三个问题:当亿万美元资产注入的的流动资金池中时,我们将与谁联系以获得可靠的客户支持?我们向谁建议更好的用户界面和用户体验?谁能像联邦存款保险公司这样为投资者的危急资产提供保险?我不了解DeFi未来的银行业务如何,除非这三点能给我令人信服的答案,你怎么看?

致谢:

我要感谢Paradigm的DanielRobinson和丰元资本的SueXu的宝贵反馈。

引用:

?JasonT.Luttgens,MatthewPepe,KevinMandia,“IncidentResponse&ComputerForensics,3rdEdition”,ISBN:9780071798686,McGraw-HillEducation,2014

DanRobinson,https://medium.com/@danrobinson/ethereum-is-a-dark-forest-ecc5f0505dff

SamSun,https://samczsun.com/escaping-the-dark-forest/

原文链接:

https://www.linkedin.com/pulse/rescuing-schrodingers-cat-defi-darkforest-victor-fang-ph-d-/

原文来自Linkined

作者:VictorFang,AnChain.AI

译者|?Katie辜

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

链链资讯

BNB价格COM:GX.COM关于APY上线的公告

尊敬的GX.COM用户:APY即将上线GX.COM,并开通APY/USDT交易对。开放交易时间:2020年11月5日15:00APY.finance是简化DeFi挖矿的聚合器,其目标是建立一个自.

[0:31ms0-5:291ms