知名白帽SamSun與TinaZhen、星火礦池等人徹夜合作,幫助DeFi穩定幣協議Lien免受漏洞攻擊,保護了960萬美元的資金。
2020年9月15日,一個行動小組徹夜合作,從一個脆弱的智能合約中救出960萬美元。下文講述了他們的故事。
SamSunakasamczsun自述
下面我總結一下審閱部分智能合約發生的故事。
當然我沒想到會有什么有趣的事兒。過去的幾周中我看了無數收益耕種克隆項目一模一樣的宣傳模式:把你的代幣放到我們手中,你就可能會成為下一個加密百萬富翁。多數克隆項目只是對經過良好審計的代碼進行分叉,加上些許的調整,而這有時會帶來災難性的結果。
但是在所有的喧囂中,有些代碼我以前從未見過。本文中的主角、這份智能合約持有超過25,000個以太幣Ether,當時價值超過960萬美元,對于那些拼命從邏輯上發現錯誤的人來說,這將是一次收獲滿滿的狩獵。
我迅速看了一下將ETH轉出的代碼,發現了兩個匹配項。其中之一將ETH轉移到了硬編碼的代幣地址,因此可以忽略。第二個是將ETH轉移給發送方的焚毀功能。在跟蹤了此功能的用法之后,我發現任何人可以免費為自己鑄造代幣,然后將其焚毀,換取該智能合約中的所有以太幣都是不費吹灰之力的。我的心跳加速了。突然,問題變得嚴重了。
我那份智能合約是LienFinance協議。不幸的是,他們的團隊是匿名的!唯一的即時訊息支持平臺是Telegram,而我不確定該Telegram頻道的管理員是開發者還僅僅是某些早期支持者。我可萬萬不想將這一漏洞意外透漏給錯誤的人。
在他們的網站又多瀏覽了一段時間,我發現他們曾與ConsenSysDiligence和CertiK合作,接受其代碼審計。這看起來像是很不錯的途徑,ConsenSysDiligence和CertiK在審計期間肯定和開發者進行過互動。我迅速在Telegram上私聊了ConsenSysDiligence的安全工程師JohnMardlin。
Martin Leinweber:與2017年上一次熊市不同的是,這次熊市主流幣遭到拋售:金色財經報道,VanEck指數制造商MarketVector的數字資產產品策略師 Martin Leinweber 表示,我認為,與 2017 年上一次熊市不同的是,主流幣遭到拋售,這讓投資者感到困惑,尤其是在機構方面。通常在拋售中,山寨幣的表現比 BTC 和 ETH 差。這一次,隨著市場崩盤,BTC 的主導地位正在下降,大多數山寨幣已經貶值了 90%。[2022/6/21 4:41:33]
發起聊天等回復是太煎熬的事兒。不幸的是,時間一分分過去,maurelian沒回應。他好像已經睡了。絕望之下,我向ETHSecurityTelegram頻道發了條消息,詢問ConsenSys有沒有哪位沒有睡,請速聯系。
幾分鐘后,我收到了一位過去有過幾次合作的人的回復——AlexWade,ConsenSysDiligence的另一位安全工程師。
AlexWade自述
我的腦袋剛剛沾上枕頭,聽到我室友敲門。「Sam在ETHSecTelegram頻道問有誰認識ConsenSysDiligence的任何人。」
Sam與Alex對話中說今晚可能會是個漫漫長夜,事實確實如此
一聽說是Sam,我就知道這不會是什么好事。我找到了幾個月前建立的與Lien溝通的頻道以及一個電郵地址。他們團隊可是個匿名團隊,有這些總比什么都沒有強。
我當時依然半睡半醒。Sam不想在聊天中具體詳談,要求Zoom對話。我一面后悔干嘛要起床,一面評估事態的嚴重性:
五分鐘后,我清楚了解我得喝咖啡提提神開始干活了。
美聯儲主席鮑威爾:這次削減資產負債表將會“更早更快”:1月12日消息,美聯儲主席鮑威爾:我們還沒有就削減資產負債表做出任何決定,我們將比上次更早更快地縮減資產負債表。這次削減資產負債表將會“更早更快”。(金十)[2022/1/12 8:42:19]
Sam和我一起審閱了代碼。Sam當時已經準備好一個樣品測試,能在其機器上確認這一問題。我們的對話尋找轉移到討論可行性方案:
我們自己動手拯救這筆錢。聯絡上Lien團隊,讓他們公開身份,敦促用戶撤資。兩者都不是很讓人滿意的選擇。第一個舉動極為危險,如果您讀過DanRobinson與Paradigm研究合伙人GeorgiosKonstantopoulos所討論的以太坊DeFi黑暗森林一文,我們的交易被搶跑截胡的概率極高。第二種選擇幾乎同樣危險,因為公開聲明會引發外界對該問題的關注,給攻擊者帶來一個機會窗口。我們需要的是第三種方案。
回想起以太坊DeFi黑暗森林一文中的部分內容,Sam聯絡了Amberdata工程副總裁ScottBigelow:「如果你切實陷入了這種困境,我建議你去找Amberdata工程副總裁ScottBigelow,他是一直研究這一課題的安全研究人員,有一套能更好實現瞞天過海目的的原型實施策略。」
ScottBigelow自述
我參加了以太坊DeFi黑暗森林一文中的資金拯救行動,最終敗給黑暗森林狙殺者之后,我非常渴望能重賽一場。我花了一些時間監控搶跑截胡行動,設計了一個簡單的系統,似乎能夠騙過一般的搶跑者,至少我個人投入測試的200美元是成功拯救了出來。當Sam深夜聯絡我,誠懇得說「介意占用你大約一個小時左右時間嗎」,我摩拳擦掌準備嘗試了!我已經設想了那個畫面:我如何做幾個技術調整,需要幾個小時,然后成功拯救用戶數千美元的資產,戴著那種成就感,好好地睡上一晚。
聲音 | 李大霄:這次資金性質手法兇悍是不是郵圈和幣圈里的人物也殺進股市了:英大證券首席經濟學家李大霄發微博稱:“今天龍頭券商破天荒地發布個股看空報告,造成自2440點以來首次出現2%以上的下跌,但通常第一次下跌并不會扼殺牛市,大量的踏空資金在虎視眈眈,一點微小的下跌后就會蜂擁而至,只不過可能要改變一下打法了。這次資金性質手法兇悍,是不是郵圈和幣圈里的人物也殺進股市了?”[2019/3/8]
當Sam分享給我這個智能合約后,這些計劃瞬間七零八碎:大約25,000個ETH,價值960萬美元。我雖然非常想進行這種重賽,但我那幾行破代碼可不是給960萬美元這種級別資產設計的。
過去幾個月,我一直試圖與礦工們拉上關系,就為了這一目的:進行這類白帽拯救交易。如果有一個時間點需要礦工們幫忙,在其挖礦中寫入一筆交易,以免被搶跑者偷走這筆錢,那就是現在。幸運的是,Tina?Zhen和我過去幾個月聯手尋求建立這種協作關系。當時這一拯救行動的成功希望渺茫,但值得一試:讓Tina參與這一拯救行動,與一個礦池合作挖出一筆私下交易。
TinaZhen自述
我剛剛因為加州代號「山貓」的森林大火從家撤離,當時正在喝著不知名的沙灘飲料,聽著暗淡的太平洋送來的海浪聲,Sam的Telegram私信使我回到了一個更黑暗的現實:「資金有風險,可能被截胡」。過去的幾周中,我一直與Sam和Scott合作開展有關「礦工可提取價值」MEV的研究項目,并且在他們發送請求之前就已經猜到了:一個直接的渠道,可以保護白帽交易在以太坊內存池mempool這一「黑暗森林」中免遭「搶跑者」掠奪。
由于這是一個冒險的舉動,需要將我們的策略暴露給礦工,因此我們決定首先嘗試從匿名的Lien團隊獲得開綠燈批準。當Alex試圖通過ConsenSys內部頻道進行聯系時,我們也嘗試聯系CertiK。
分析 | 虛擬貨幣這次崩盤像一場被人攻擊的真正貨幣危機:據彭博消息,虛擬貨幣自今年初以來的表現并不僅僅像是泡沫破裂,看起來更像是一種受到攻擊的貨幣。比特幣沒有央行來作為支撐,對比特幣這種運動的一種寬容的解釋:比特幣將一個緊密聯系的社區團結在一起,保護自己的投資。對沖基金GLG Partners前經理Raoul Pal表示,比特幣在跌破6000美元之前的匯率掛鉤走勢。如果這種防御被打破,監管機構的調查又發現了價格操縱的證據,那么今年的拋售將不僅僅是周期性的熊市。[2018/11/28]
我意識到,Certik在美國的審計人員得過四個小時才會起床,但時間已經刻不容緩。我對CertiK了解不多,只是知道他們曾審計過幾個亞洲項目,于是試圖聯絡CertiK中國團隊。我在「DeFitheWorld」和「YellowHats」兩個微信群里分別留了一條語音留言。我的私聊里30分鐘內接到四條信息,確認了我微信好友中的這個ID是真正的CertiK首席技術官倪兆中ZhaozhongNi。我被拉進由五位CertiK團隊成員組成的一個微信群中,而當時我依然不能透露相關項目或漏洞。為了將暴露風險和潛在責任降至最低,我們只能邀請一位Certik成員加入我們的白帽行動。經過官方郵件最終確認后,CertiK的工程負責人GeorgiosDelkos加入我們的對話。
在Georgios的幫助下,Alex得以迅速聯絡到Lien團隊,并驗證確認其身份。我們讓他們最快速度了解到目前的嚴峻形勢,爭取其同意,直接與一家礦池合作拯救這筆脆弱的資金。在考慮之后,Lien團隊贊同直接拯救資金或發布預警聲明過于危險,同意我們推進這一方案。
現在我們需要找一家基礎設施充分到位、愿意盡快與我們合作的礦池。我們應該找哪家礦池?這家礦池的哪位聯絡人能迅速做出技術決策,幫助我們爭分奪秒執行這一行動?
殺軟件McAfee的創始人:這次加密貨幣下跌都是摩根大通全球市場策略師搞的鬼:了解John McAfee的人都知道,此人不僅是網絡安全領域的傳奇人物——著名殺軟件McAfee的創始人,他還是一位堅定的比特幣信仰者。對于近日比特幣的大跌,McAfee在推特上表示:“放松各位!這次加密貨幣下跌都是摩根大通的Mike Bell(摩根大通全球市場策略師)搞的鬼,他聲稱政府會禁止加密貨幣。好吧…怎么做?摩根大通這家公司就是聲稱比特幣是欺詐的那家公司。他們非常害怕我們正在做的事情。但是他們無法阻止我們。”[2018/1/18]
我們想到了星火礦池SparkPool,我知道了他們一直在打造名為TaichiNetwork的公眾基礎設施,能輕松給予我們所要的支持。我決定私聊星火礦池聯合創始人少平ShaopingZhang,他之前曾幫我調查過mempool安全事件。
半個小時后,少平回復了:「你是說我給交易開白名單?抱歉,我們不能。」好吧,lostintranslation,中文里「白帽」whitehat和「白名單」whitelist看起來有點像。
「現在有1000萬美元危在旦夕。我和Samczsun在線,」我再次試圖在不透露任何具體細節的情況下溝通這一局面。
「你倆在拯救世界?需要礦池幫忙嗎?」有點意外也讓我松了一口氣,少平調侃著表示愿意提供幫助。在經過官方郵件確認后,少平進入我們馬拉松般的Zoom電話會,并由大批星火礦池開發人員給予技術支持。
少平自述
吃過午飯,我正準備小睡一會兒,然后收到了Tina的一條微信:「星火礦池幫忙進行過白帽交易嗎?」我一開始看錯了,當時看成了給交易開白名單。以前沒有人聯系我們進行白帽交易,我們也不熟悉「白帽交易」具體什么情況。Tina更詳細解釋了以后,我意識到他們需要一筆私下交易服務,比如,白帽黑客想發送交易來拯救一個DeFi智能合約,但要防止被別人搶跑截胡,他們需要礦池在不廣播交易的情況下將交易寫入區塊。
我們一直在TaichiNetwork打造私下交易功能,這個功能還在開發中,還沒測試過。我把白帽黑客的請求告訴了我們的開發團隊,并強調了這種緊迫性:我們的私下交易功能需要在幾個小時內順利進入生產階段。我們的開發人員說會盡力完成,然后迅速投入工作。我們在兩個小時內完成了私下交易功能的開發,又花了點時間修復了bug。
我們完成了內部測試后,把hitehat.taichi.network端點發送給ScottBigelow,來完成白帽任務。
ScottBigelow自述
星火礦池加班加點推出了全新的白帽API,Sam和我也完成了腳本編程,生成四個先后銜接的簽名交易。依次處理這些交易本身不會取出25000個ETH,但會把30,000個SBTLBT代幣轉移給Lien團隊,他們可以將其提交給最終交易,將這些代幣再轉換成ETH。
通過將可以無限鑄造的SBTLBT代幣轉移給Lien團隊而不是ETH,我們使用了更多交易作為障眼法,迷惑廣義強迫者的攻擊,能夠讓960萬美元的收入一直不會進入我的腰包,片刻也不可以。
我們生成四個簽名交易后,Sam和我花了大量時間、利用各種多方交易模擬工具驗證其連環行動。總數據量不到1.5KB的這四個交易程序,就是拯救960萬美元資產的殺器,保障在星火礦池捕獲這些交易之前不會被任何人先知先覺。
我用一筆無意義的交易測試了星火礦池的白帽端點,其執行過程毫無偏差:該交易不會在mempool中看到,然后突然出現在星火礦池的一個區塊中!就像眼睜睜看著水蒸氣直接變成了冰,中間令人討厭的液化過程完全看不到!
我們調整了交易生成腳本,將交易直接提交給星火礦池的新端點,現在該是行動的時刻了。我猶豫了一會兒,但這絕對是我們能做到的最好的努力。我們可能會損失掉這960萬美元,但不會后悔:我在IntelliJ中點擊了「運行」。我不確定為什么,但我之前預計整個過程會花點時間,就像節點會了解情況的嚴重性,然后在其中消耗一些時間。但實際上它沒有;交易以毫秒為單位發送。
Zoom通話中的每個人都開始瘋狂刷新Etherscan,我懷疑Etherscan團隊是否看到了這3分鐘的流量高峰。由于只有星火礦池有交易,并且星火礦池的哈希率中只有一部分專用于此目的,我們能做的只能冒著冷汗焦急等待。每一個其他礦工挖出的每個區塊都讓我們膽顫心驚。Zoom電話會中會有人伴隨著緊張的笑聲念出挖出區塊的礦工名稱。我們的交易被寫入區塊之前大約會產生15個區塊,我們卻感覺度日如年,像是經歷了幾個小時,但最終,我們完成了完美無缺的交易:依次挖出,沒有回滾。
我們如釋重負地看著越來越多的區塊疊加在我們的區塊之上,對區塊重組的擔憂迅速消失。Lien團隊現在擁有足夠的SBTLBT代幣來清算整個系統的資金,Sam負責協調救援的最后階段。
SamSun自述
現在我們已經成功地將代幣轉移給了Lien團隊,并沒有發現任何強迫截胡跡象、嘗試或其他跡象,我們很快用私聊告訴了他們這一好消息。他們確認已收到代幣,并立即發送交易,以取出智能合約中鎖定的大部分ETH。幾秒鐘后,Etherscan上出現了這一待處理的交易。
看著進度條轉圈時,我借此機會反思了這一行動。最開始就是看了看智能合約,最終演變成吸引了世界各地專家通力協作的一場「拯救大兵瑞恩」行動。如果沒有Alex和Georgios,我們將無法與Lien開發人員取得聯系。沒有Scott,我們的拯救行動可能早就陷入困境。沒有Tina,我們將無法與CertiK或星火礦池取得聯系。沒有星火礦池,我們注定要重演Dan幾周前文章中寫的悲劇。
然而在周二深夜,我們這個看似完全沒有可能合作的團隊為了同一個目標通力合作,經過不懈努力,最終確保960萬美元物歸原主。我們過去七個小時的努力最終匯成一筆待確認的交易和這個轉圈的進度條。
當進度條最終顯示為綠色對勾,Zoom電話會的緊張氣氛終于煙消云散,大家都長舒了一口氣。
https://etherscan.io/tx/0xe99ccb0b21854b65a2fa283638ab9ef01962b61c3310b596b4597bf22b911a43
我們終于成功殺出黑暗森林。
本文記錄了很多人努力工作的成功。特別感謝拯救危難的AlexWade、ScottBigelow、TinaZhen、GeorgiosDelkos和星火礦池SparkPool,以及審校本文并給予反饋的AlexObadia和DanRobinson。
如果你對這一行動背后的技術細節很感興趣,請點擊這里了解更多。如果因為種種原因,你還沒讀過以太坊DeFi「黑暗森林」一文,你確實應該讀一下。
來源鏈接:samczsun.com
直布羅陀數字和金融服務部長AlbertIsola今日在Cointelegraph上刊文表示,雖然區塊鏈行業的主流應用正在加速,但我認為,如果沒有監管,它不會成功.
1900/1/1 0:00:00以太坊日線圖來看,昨天收了一根長下影小陽線,價格觸及上方10、20日線后今日進入回調。這個點位比較具備分析意義,因為這是488點連接394點形成的下跌趨勢通道的上沿位置,受到均線及趨勢線阻力拋壓.
1900/1/1 0:00:00親愛的用戶: BigONE已于9月26日將「BTCDeFi機槍池」、「NEO流動性挖礦」、「ONT流動性挖礦」的代幣轉入挖礦Flamingo,因其代幣FLM尚未上線交易.
1900/1/1 0:00:00北京時間9月27日8點,反映加密貨幣市場整體走勢的ChaiNext100指數報1013.56點,過去24小時上漲0.32%,成交額427.63億美元,成交較前24小時減少14.33%.
1900/1/1 0:00:00幣海引路人:BTC早間強勢拉升有股一去不回頭的氣勢牛市強勢回歸?交易如同攀爬,只有登上絕頂,才能享受奇觀勝景;若遇難而退,中途放棄,只會與機會擦肩而過,在交易中,最重要的就是要敢于出手.
1900/1/1 0:00:00Handshake并非要取代ICANN根域名系統,從技術、社會和治理等五個緯度闡述去中心化命名系統Handshake的機制設計.
1900/1/1 0:00:00