原文來自Linkined 作者:Victor Fang, AnChain.AI 譯者| Katie 辜

聲明:本文是位於舊金山的AnChain.AI 團隊近期解決的“DeFi百萬美元失竊案”真實案例。基於簽署的用戶保密協議,在此不會涉及任何有關用戶的個人信息。

01 迷失在量子態的價值數百萬美元貓咪

——薛定諤的貓(Schrodinger"s Cat)

“Victor,在嗎?”

舊金山,晚上8 點27 分,我收到了一條來自我投資者朋友的短信。

我皺了下眉。通常在晚上收到VC 的電話,要么是有特別的好事,要么是壞消息。

我的預感告訴我應該是不好的消息:

“我朋友的Metamask(以太坊錢包)被黑了。是投DeFi 項目的,裡面有數百萬美元。”

我回復道:“讓他們打給我。”

幾分鐘過後,一個以“650”開頭的電話號碼打過來。電話一頭,Catherine 用顫抖焦急的聲音解釋了事情經過。她是一位在舊金山的VC 投資人,她的Metamask 錢包剛剛被黑了。

當晚9 點,我召集了一個緊急事件處理會議,Tomo 和Ralph 參加了會議。一天前,Catherine 掉入了社交工程(social engineering)詐騙陷阱,導致Metamask 以太坊錢包被盜,私匙也因此洩露。錢包被一洗而空,4 個ETH 被轉到黑客的錢包。最大的問題是,被黑了的錢包已經在一個DeFi 智能合約上抵押了120 萬美元的ERC20 USDC 穩定幣,而且是採取流動性挖礦的模式(將資金投入到不同DeFi 協議中來賺取最大回報)。

被質押的DeFi 資產還在,但那120 萬美元隨時都可能不翼而飛。

這些被抵押的資產就像薛定諤的貓(Schrodinger"s Cat):正如哥本哈根量子學實驗那樣,迷失在量子態,被鎖在密封的冰冷硬盒箱中。結果只有當打開箱子(連接被盜錢包)那一刻才知道,抵押的資產是否還在。

我們尚不清楚黑客是否知道被抵押的DeFi 資產的存在,或者他一直就在暗中觀察錢包情況:

假設1:黑客早就知道。他們可能在等有更高的DeFi 收益再動手?假設2:黑客不知情。但是如果我們與以太坊保持互動,遲早黑客會發現這些被抵押的資產。

我們可以試探一下,答案就會出現。

但這個方法也存在問題,很可能最後結果就是好奇害死貓。

大多數用戶找到AnChain.AI 是因為他們的加密貨幣被盜,想通過區塊鏈安全服務來盡量挽救損失。但通常這種情況已經來不及了,儘管我們做最後的補救,只能拿回一部分錢而已。

但DeFi 的盜竊給我們帶來了新的機會。如果這盤棋我們下得好,120 萬美元失而復得是有可能發生的。

我在回复郵件裡寫道:“你錢包裡的錢可能隨時都會被盜,你需要請求緊急事件處理專家的幫助。以下是我們提供的建議,無論你最終是否選擇我們公司的服務。”

斷開網絡,關掉電腦。使用全新的電腦上網。不要分享私匙給任何人,包括安全公司。不要把你的錢包與任何DeFi產品連接。

當我寫下最後一條建議時,“黑暗森林”一詞閃過我的腦海。

早晨7 點,我醒來就看到了一封署名的郵件,是凌晨4 點過後發送過來的。這一晚對於Catherine 來說肯定特別漫長。在核實資產歸屬於她後,緊急事件響應團隊開始著手處理被盜錢包事件。

正如劉慈欣的科幻小說《三體》裡描述的那樣,“黑暗森林法則”認為如果一種文明非常害怕其它的文明,最終它們會不敢互相揭示對方的問題所在,因為它們都擔心會馬上被當做潛在的威脅而遭到毀滅。

以太坊就像一個黑暗森林。 AnChain.AI 團隊可以感受到我們即將探索的黑暗森林中令人生畏的綠眼睛在直直地盯著我們,彷彿任何人都可能成為它的下一個獵物。雖然沒有人提出這個要求,但我們都心知肚明。能否拯救這只百萬美元的薛定諤的貓才是問題的關鍵。

02 分析黑暗森林的惡魔:黑客特徵

世界上最有名的緊急事故反應團隊當屬FireEye Mandiant,他們遵從網絡安全至上的原則,並由CEO Kevin Mandia 和員工寫了原則性手冊。

我從FireEye Mandiant 離職後,創辦了AnChain.AI,我帶來了最好的網絡安全實踐經驗和共同創造了AnChian.AI 的區塊鏈緊急事件響應項目團隊。

與網絡或云端安全相比,區塊鏈安全在去中心化盛行的西方展露出它獨特的挑戰性。

緊急事件響應主要面對兩個問題:調查和處理。

其中,調查目的是要找出答案:“黑客是誰?”黑客特徵是為了推斷出黑客的TTP-包括盜竊手法、技術和步驟。

黑客使用的是什麼工具?

電腦監識:除了社交工程的網絡釣魚網站手段,通過惡意軟件和非法途徑,利用Catherine 電腦的Chrome 瀏覽器Metamask 錢包插件也可以入侵電腦。區塊鏈監識:通過設置與區塊鏈交易和流動性相關的軟件來調查黑客。首席信息官(CISO)調查工具將黑客的鏈上活動軌跡可視化。我們並未發現智能合約上的任何變化,除了代幣的交易。

我打開了AnChain.AI 的首席信息調查官調查工具,開始研究受害者和黑客的地址。看樣子目前已經有6 個人掉入了黑客的網絡釣魚詐騙陷阱裡。同樣的手法發生在2020 年推特黑客調查,那個被盜案件中被盜的資金已經轉入了其它錢包中。

感謝上帝,幸好我們客戶的DeFi 抵押資產還在。

黑客地址是哪裡?

這不像網絡服務器能夠追踪到IP 地址和用戶代理字符串(user agent strings),以太坊區塊鏈分類賬只能匿名記錄錢包地址和智能合約的狀態。運行速度快的Python 腳本計算相關錢包統計數據,然後展示黑客活躍時的機率密度函數。顯示結果表明黑客可能是在東亞地區。

概率分佈圖幫助我們找出在最佳的黃金時間。如果過早或過晚啟動事故應急處理(過早了解黑客的情況),黑客可能已經知道緊急事件響應團隊的存在。如果黑客發現了我們,那我們的計劃就泡湯了。為了不引起罪犯的注意,我們的最佳時機是美東時間早上10 點到晚上8 點。

根據我們所描繪的黑森林惡魔,這是一個位於東亞、擅長入侵電腦的極客。但是很有可能這個人並不懂DeFi 和智能合約。

03 制定應對計劃

《孫子兵法》中說過“知己知彼,百戰不殆”,這為我們的應對計劃奠定了基礎。

我們的補救方案就是將120 萬美元的穩定幣轉到Catherine 的新的硬件錢包(安全的地方)。

我們最大的希望寄託在DeFi 的智能合約,特別是緊急應對小組制定的方案:

計劃A:能將裡面的資產提取到一個不同的錢包,而且繞開被盜者的錢包嗎?

Tomo 收到了DeFi 智能合約的代碼:

然而提幣沒有接受方,只能將資產提取到原來的錢包裡。值得一提的是,Uniswap 考慮到了這種情況,並設置了相關的應對程序。

計劃B:我們能否凍結資產?這樣黑客就不能把資產轉移。

在DeFi 治理中,凍結是一個很關鍵的的功能。

但正如圖示,對於穩定幣而言,交易裡並沒有鎖定這個功能。

計劃C:大多數設計良好的DeFi 有“暫停”的管理按鈕,是為了應對緊急情況。

然而,設置“暫停”只能暫停某種代幣合約的交易,並不適用於個人錢包,不適合這個盜竊案。

很明顯,這個DeFi 產品沒有考慮過這種緊急情況,真令人失望。

同時,我也聯繫到了這個DeFi 產品團隊的電報群、郵件、推特、領英和他們的投資者。或許是孤注一擲,但他們確實在市場上有好的名聲。

然而並沒有想像中那樣得到回复(這也在我們意料之中)。

因為糟糕的客戶服務是DeFi 產品共同的問題。

我們回复Catherine:“很不走運,我們剛剛總結出三個直接從DeFi 錢包挽救你的損失的方案,最終只有計劃Z 合適。但這個計劃有風險,你準備好了嗎?”

作為日漫《龍珠Z》的狂熱粉絲,我認為這個計劃Z 就跟遊戲中的絕招一樣是必殺技,我們試試就知道了。

04 計劃Z:精密修復手術

我的同事Anderson 醫生是研究院的一位開刀醫生,他從不在他有手術的前一天喝咖啡。因為咖啡因會影響到他的手指。他曾經揮動他的手,大笑著跟我說他才需要外科手術的精確。

緊急事件處理也需要“精密修復”,過度的緊張會導致計劃失敗。

計劃Z是我們最後的希望,雖然充滿風險,但可以簡單分為下面三步:

將ETH 作為手續費轉到被盜者的錢包;將質押的資產從DeFi 礦池提取到被盜者錢包;全部轉到安全的地方。

我向Catherine 講解了整個計劃步驟,很快意識到這個計劃比理論上寫的更加魯莽。聽起來就像一個恐怖計劃:“如果黑客比你早一步行動呢?”

“計劃Z 關鍵就是速度,我們的自動防禦機制將增大我們的勝算,先聽我解釋。”

我從分析中總結出了一個博弈論策略,列舉了所有方案可能性。當我面對複雜又不確定的事情時,我喜歡用這樣的方法分析。

黑客可能還沒有意識到我們的計劃或者正悄悄地將資產轉到其它的錢包,或早就自動設定好。

即使黑客使用自動設置,我們的工程師也向我保證有80% 的勝算。博弈論顯示我們有93% 的可能性打贏這場戰,這個機率很高。但是面對這麼大一筆數目的錢,7% 的失敗率也很令人感到緊張。

前面講計劃Z 拼的就是速度。具體來說,我們的目標就是最大程度減少贖回和交易間的時間差。這分兩個關鍵步驟;

1. 贖回速度。對礦工的最佳手續費就是關鍵。 2020 年,由於DeFi 市場的大爆發,以太坊的手續費跟著水漲船高而遭受罵名。在6 月的時候平均Gas 費甚至達到過700 Gwei!

2. 在33 秒的驗證時間內,200 Gwei對我們來說已經是以太坊交易池排名第一的手續費。贖回DeFi 產品時超過12.8 美元的手續費都讓我心疼,但比起120 萬美元就顯得很微不足道了。每一秒都很關鍵。

3. 進攻工具:在web3 上的Python 腳本為了對抗性交易而在以太坊交易池裡進行非法預先交易,所以我們的ERC20 穩定幣交易可以在礦池裡最先進行,並轉到我們設定的安全地方。關於非法預先交易的相關操作請看下文。

進攻工具已經這準備好了,我們將文件命名為:

>> FrontrunDarkForest.py

我們對Rinkeby 測試網進行測試後,計劃Z 就準備完善了。

(備註:由於工具的進攻性質,我們將技術細節一筆帶過。但我們接下來可能會舉辦一個以太坊預先交易的主題競賽。敬請關注@AnChain.AI)

05 “拯救薛定諤的貓”

下午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 Gwei手續費,交易在以太坊網絡顯示。

時間彷彿靜止了,只聽到我們的心跳聲。

當所有籌碼都擺在我們面前,信心在這時會突然消失。

遍布SparkPool、Nanopool 和F2Pool 礦池的全球成千上萬的CPU 礦工都在拼命地想從這次交易中分一杯羹。

30 秒過後,智能合約的提取交易成功,200 Gwei 的保險費起了作用。

很快,腳本 FrontrunDarkForest.py 開始運行,彈出了這樣的信息:

[INFO]預先交易成功。 USDC 提取到安全位置。

3 秒後,以太坊瀏覽器確認了這筆交易。 USDC 到達設定的安全錢包。

從技術上講,到下午2:15,緊急事件反應處理任務已經完成。從黑森林中救出120 萬美元的薛定諤的貓只用了33 秒。世界仍然和平,“亞洲的惡魔”顯然仍在美夢中。

我們揮手告別,然後走出我的辦公大樓。這是舊金山另一個陽光燦爛的一天,桂花的舒緩的芬芳使我平靜,只有當初秋的微風拂過我時,我才意識到我的襯衫沾滿了汗。

特斯拉平靜地駛在101 號高速公路上,我開始播放最喜歡的歌曲,大衛·鮑伊(David Bowie)的《Starman》,就像電影《火星人》中一樣。充滿異國風情的Dorian 調式瞬間改變了宇宙氣氛,然後唱起:

星星超人在空中靜候著,

他告訴我們不要搞砸了,

因為他知道一切都會是值得的。

我回想起Catherine 在硬件錢包地址上看到的價值120 萬美元的加密貨幣時的燦爛笑容,她問道:“黑客看到這一點會感到什麼?”

黑客很快就會看到以閃電般的速度發生的這筆異常的以太坊交易。他可能會覺得“星星超人”已將薛定諤的貓從他那片黑暗森林中救出,交給了真正的主人。

06 學到的經驗

在《緊急情況響應聖經》 [1]的第1 部分中,FireEye Mandiant 和AnChain.AI 建議要“為不可避免的事件做準備”。你不會像Catherine 那樣幸運,這只是因為碰巧認識了我們的投資者。防範於未然,請確保你的聯繫人列表中至少有一個緊急事件響應團隊的人。當心社會工程學詐騙。 Catherine 正是被一個誘騙並竊取了她的私鑰的釣魚網站導致黑客入侵。如圖1所示,受害者並不是只有她一個人。不要以為你總是比黑客聰明。再次提醒,在任何情況下你都不應該洩露你的私鑰或密碼,那12 或24 個單詞,還記得嗎?我對匿名的DeFi 團隊有三個問題:當億萬美元資產注入的的流動資金池中時,我們將與誰聯繫以獲得可靠的客戶支持?我們向誰建議更好的用戶界面和用戶體驗?誰能像聯邦存款保險公司這樣為投資者的危急資產提供保險?我不了解DeFi 未來的銀行業務如何,除非這三點能給我令人信服的答案,你怎麼看?

致謝:

我要感謝Paradigm的Daniel Robinson和豐元資本(Amino Capital)的Sue Xu的寶貴反饋。

引用:

[1] Jason T. Luttgens,Matthew Pepe, Kevin Mandia, “Incident Response & Computer Forensics, 3rd Edition”, ISBN:9780071798686, McGraw-Hill Education, 2014

[2] Dan Robinson,https://medium.com/@danrobinson/ethereum-is-a-dark-forest-ecc5f0505dff

[3] Sam Sun,https://samczsun.com/escaping-the-dark-forest/

原文鏈接:

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

原創文章,轉載/內容合作/尋求報導請聯繫report@odaily.com;未經授權嚴禁轉載,違規轉載法律必究。