作者:@Web3Mario
摘要
上週真是大事不少,聯準會相對激進降息50個BP,連帶著日本央行按兵不動,這基本也就預示了至少在未來幾週內不會有過度利空的信息出現,相關分析的文章已經有不少了,在這裡就不再贅述了,在這個過程中大家只要關注兩個邏輯,就可以相對容易的把握風險,其一是就業市場是否如期恢復,其二是通膨重燃風險。除此之外,倒是有一條快訊吸引筆者的注意,就是Solana上的一個算穩項目Nirvana Finance宣布重啟V2,這個項目在2022年7月被黑客攻擊350餘萬美金後宣布中止,我記得之前有了解攻擊該項目的駭客被定罪,而最近能夠重啟也就意味著相關司法機構應該已經完成了對被盜資金的轉移,這意味著整個事件應該可以被定義為美國首個因智能合約攻擊而被定罪的案件,這對海洋法系來說具有標誌性意義,至此之後類似案件的處理流程應該會得到顯著提升。因此週末花了一些事件來詳細整理了這個案件的始末,並與諸君分享。
Nirvana Finance被閃電貸攻擊的背景
不知道有多少小夥伴了解這個項目,在這裡先簡單描述一下整個事件的背景資訊。首先Nirvana Finance是Solana上的一個演算法穩定幣項目,在這裡就不展開講了。這個計畫在2022年初啟動,並且在2022年7月28日被駭客攻擊,並盜走了協議中穩定幣NIRV的所有抵押品,大概350萬美金。具體攻擊的細節也很有趣,由於該專案的合約並沒有開源,而駭客仍然可以藉助Solend的閃電貸功能獲利,當時也一度當其團隊面對了不少關於監守自盜的指控。
除此之外,該項目在被盜之前,宣稱其經過據其完成了“自動化審計”,但是事實上這並沒有其效果。聯創Alex Hoffman在之後收到Cointelegraoh的訪談中描述,就在攻擊發生的當週,團隊本來已經開始了審計工作。據他介紹,事實上他在開發之初並沒有料想到Nirvana Finance可以獲得如此大的關注,直到引起了幾家中國新聞媒體的關注,導致TVL大幅飆升。這當然也能理解,彼時正式luna如日中天的時期,演算法穩定幣賽道自然也收到了廣泛關注。在獲得了啟動的成功後,當時Solana的執行長Anatoly Yakovenko也親自敦促他進行智慧合約審計,並且嘗試將它在審計公司的排期中向前推進。
而在抵押品被盜後,該計畫就陷入了停滯,但是其Discord社群倒一直有官方人員維護。而在這個過程中,社群一直保持了對被盜資金的監控,但是由於駭客最終選擇了tornado與門羅幣等手段進行了隔離,追討事實上並沒有什麼收穫。事情在2023年12月14日迎來了轉機,一名叫做Shakeeb Ahmed的曾在亞馬遜工作過的高級軟體安全工程師,在紐約南區法院承認了一項與Nirvana Finance 和一家未具名的去中心化加密貨幣交易所遭到駭客攻擊有關的電腦詐欺指控。美國檢察官辦公室也表示,這是有史以來第一起因駭客攻擊智能合約而被定罪的案件。
當然該創始人在專案被攻擊後並沒有停下腳步,轉而開發了其他的項目,superposition finance和concordia systems。這也是保持一定匿名性的好處,至少Fud不會被轉移。而後該案件在2024年4月15日迎來了宣判,Shakeeb Ahmed因入侵和詐騙兩家加密貨幣交易所而被判處三年監禁。而後在6月6日,被竊資金轉移回團隊制定帳戶,至此意味著該專案被竊資金被正式追回。
事實上整個案件的源頭應該是Crema Finance,而Nirvana Finance是在駭客被捕捉後被主動交代出來從而鎖定的
事實上,這位當時34歲的軟體安全工程時,在攻擊時是一家國際科技公司的高級安全工程師,專門從事智慧合約和區塊鏈審計。並且精通軟體反向工程,這解釋了Nirvana為什麼在未開源時就會被攻擊,所謂反向工程,就是利用一些反編譯軟體,將一些被編譯過的用於執行碼反向生成回編譯前的高階語言,從而時人類可讀。雖然對應合約並沒有開源,但事實上智能合約的所有編譯碼都儲存在鏈上,精通此技術的開發人員倒也是可以輕鬆取得。
而據後來美國司法部公開的文件中顯示,整個案件的源頭是一個2022年7月被攻擊並損失了月900萬美金的去中心化交易所,通過比對判斷應該是Crema Finance,2022年7月4日,Shakeeb Ahmed也是透過閃電貸攻擊了該平台,並且提出了250萬美金的「白帽賞金」以贖回其他用戶資產並放棄對駭客的追訴,並且最終Crema Finance 宣布同意接受約168萬美元的「白帽賞金」。
而在文件中描述,Nirvana Finance是在黑客被捕捉後被主動交代出來從而鎖定的,關於Shakeeb Ahmed的定罪證據中,除了對其個人電腦中網頁的瀏覽記錄進行回贖,找到了一些相關內容之外,也描述了他在發動這些攻擊後,用了很多手段,包括一些混幣協議、Tornado和門羅幣等進行混淆。那麼這就產生一個有趣的問題,Shakeeb Ahmed究竟做了什麼事情,導致他最終被捕呢?
答案可能有兩種。首先根據攻擊發生時SolanaFM 的分析發現,攻擊者要么與火幣交易所地址進行交互,要么與與火幣相關聯的嵌套交易所地址進行交互。因為攻擊地址的初始資金是來自於此。其次是對於Tornado Cash的使用失誤,由於Tornado Cash對於資金的混淆能力與其存入資金並持續的時間有關,只有存入足夠長的時間,並且在此期間有較多的贖回交易發生,被混淆的程度才會提升。而在攻擊發生後的不久,Ahmed將資金存入Tornado後很短時間內,就有贖回交易發生,而且被贖回的資金最終進入了中心化交易所Gemini。而這似乎預示著司法機關是透過與上述兩個中心化交易所進行合作,從而定位Shakeeb Ahmed並最終將其在紐約抓獲。
不管怎麼說,被竊資金追回是一件好事情,而這也反映兩個問題,首先對DApp開發者來說,資金安全都是必須著重考慮的維度。其次此類案件至此有了處理參照的藍本,對於相關行為應該也會有一定的震懾性作用。