15秒內從2000萬美元變成3.4億美元?MakerDAO緊急修復安全漏洞
灑脫喜/張詠晴編譯
2019-12-11 09:02

(圖片來自:pexels.com/)

來自Coinmonks的研究者Micah Zoltu,日前披露了MakerDAO治理系統存在的漏洞,其表示任何擁有約40000 MKR(約2000萬美元)的人,都可以竊取Maker DAO的所有抵押品,包括DAI、SAI以及來自Compound、Uniswap以及其它Maker集成系統的大量資產,共計超過3.4億美元。目前,Maker基金會已發布了緊急公告,稱會透過修改治理規則修復這一問題。

以下是Micah Zoltu披露的漏洞細節及Maker基金會的公告內容:

摘要

任何擁有約40000 MKR(約2000萬美元)的人,都可以竊取Maker DAO的所有抵押品,包括DAI、SAI以及來自Compound、Uniswap以及其它Maker集成系統的大量資產,共計超過3.4億美元。Maker DAO v2版本(又名多抵押DAI或McDAI)本應啟動安全措施(緊急關閉和治理延遲),以防惡意的MKR持有者竊取所有抵押品(攻擊者還可能在該過程中,搶劫與Maker集成的大量Uniswap、Compound及其它系統)。然而,他們並沒有選擇這樣去做。

一家銀行

Maker DAO,正是這個東西讓DAI在工作,目前,它在v1和v2版本中鎖定了價值約3.4億美元的ETH。它也是一個「被治理」的系統,與uniswap.exchange或者augur.net不同,這意味著一些財閥可以控制系統的行為。

提款機

如果對你而言,偷竊3.4億美元還不夠的話,你還可以在執行攻擊的過程中,為自己鑄造千兆DAI。在搶劫Maker的同一筆交易中,你可以將這些DAI轉到Uniswap,並竊取DAI:ETH交易對中可用的ETH。為了從倒霉的銀行客戶口袋裡,得到一點額外的零錢,你也可以去Compound借出一千兆DAI,並借入所有可用的借貸資本(你永遠不會償還貸款,只保留借來的資產)。如果你行動迅速,你甚至可以在鑄造所有DAI後立即在IDEX、Paradex、RadarRelay等半去中心化交易所進行套現。

群體

但是等等,還有更多!以太坊是一個建立在有約束力合約之上的系統!這意味著一個人可以創建一個智慧合約,在這個合約中,不信任對方的多個人可以在一套嚴格的規則下進行合謀。

規則可能是這樣的:

如果這個合約收集40000 MKR,那麼任何人都可以觸發它,它將立即搶劫Maker。搶劫成功後,贓物將平均分配給貢獻者。而搶劫失敗後,MKR可被參與者撤回。任何人都可以隨時收回他們的MKR。

這個非常簡單的合約對於參與MKR貢獻的人來說,是一個有約束力的協議,他們沒有必要信任他人,這與傳統的搶劫有很大的不同。

任何人都不能帶著所有的戰利品逃跑,任何人都不能竊取任何其他參與者的貢獻,任何人都不能將貢獻的MKR,用於除執行約定的搶劫之外的任何事情。

有人可能會爭辯(Maker基金會這樣做了),任何攻擊者都必須將他們的存在通知眾源,而Maker基金會可以簡單地破壞「我們不參與治理」的規則來阻止攻擊,將基金會所有的MKR扔進投票,從而使攻擊花費達到400,000,000 MKR,而不是40,000 MKR(即無法進行攻擊)。

雖然Maker基金會確實可以阻止這種情況的發生,但並不能保證他們會立刻看到這種情況的發生。例如,攻擊者可能在其他地方有資金,他們可以利用這些資金在交易所外獲得MKR。攻擊者也可能是MKR持有者,他們知道其他MKR持有者也有這種攻擊意圖,然後就可以私下進行協調。

即使有約束力的協議合約是公共知識,它也可以設計成一種混淆參與者的方式。例如,你可以讓感興趣的每個人向中心服務提供商,提交一筆預先簽署的交易(無需完全信任它們),然後中心服務提供商將等待廣播這些交易,直到有足夠的MKR。在這種情況下,Maker基金會要麼在不知道是否有人真正參與的情況下介入到集中控制系統,要麼他們什麼也不做,而冒著隨時可能發生攻擊的風險,屆時攻擊發生時,他們將無力及時做出反應。

內部攻擊的可能

值得注意的是,如果Maker 基金會願意的話,他們現在就可以用這種方式攻擊系統,他們持有的MKR超過了所需的80,000數量,更糟糕的是,a16z現在也有足夠的MKR,另外還有幾個MKR持有者或者機構,他們的身份對我來說是未知的,而他們也有足夠的MKR來執行這種攻擊,而其它人則需要進行合謀,才能執行這樣的攻擊。

所以,讓人害怕的是,這並不是DeFi,而是CeFi,但它並非是一家能讓個人能偷走你所有錢的銀行,而是說銀行或任何一個大股東,或一群小股東可以決定在任何時候偷走你所有的錢。

攻擊帶來的後果

那麼,如果有人執行這樣的攻擊,Maker用戶會發生什麼情況呢?首先,每個擁有CDP/金庫的人都會被傷害到。因為攻擊者盜竊的就是所有的抵押品,由此產生的連鎖反應是,DAI將變得100%缺乏抵押,其價格可能會歸零。之後,MKR的價值也可能會歸零,因為它的整個系統基本上都失敗了,並且在這種失敗之後,它不太可能會恢復。以太坊也可能會因此而受傷,因為這將是以太坊生態系統中的又一次大失敗。但我認為以太坊仍然會復甦,因為它是一個很好的平台,但這很好地提醒了人們,「不要把壞事建立在好事之上」。

本文為巴比特資訊授權刊登,原文標題為「15秒內從2000萬美元變成3.4億美元?MakerDAO緊急修復這一安全漏洞