加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

細數DeFi預言機攻擊套路,這六種安全措施你需要了解_USD:mkr幣價格

Author:

Time:1900/1/1 0:00:00

譯者注:價格預言機是去中心化金融的重要一環,然而,正是這一環節中可能存在的漏洞,導致很多DeFi項目遭受了災難性損失,有的損失甚至達到了數千萬美元,那這些攻擊到底是怎么回事?又怎樣去預防它們?在這篇文章中,知名白帽黑客、Paradigm研究合伙人Samczsun分析了5個關于價格預言機攻擊的現實案例,并總結了6種抵御這類攻擊的方法。

2019年末,我發表了一篇題為“利用低抵押獲利”的帖子,在這篇文章中,我描述了一種針對以太坊dApp的經濟攻擊,這種攻擊依賴于一個或多個代幣的準確價格數據。現在是2020年末,不幸的是,很多項目都犯了類似的錯誤,最近的例子是HarvestFinance,其遭遇了黑客攻擊,導致協議用戶集體損失達3300萬美元。

雖然開發者們已熟悉了可重入等漏洞,但預言機操縱顯然不是經常被考慮的問題。事實上,基于可重入漏洞的攻擊,在過去幾年中有所下降,而基于價格預言機操縱的漏洞利用率,現在正在上升。因此,我認為是時候發表一些關于價格預言機操縱的確定性資料了。

這篇文章分為三個部分,在第一部分,我們會對那些不熟悉這一主題的人,對預言機和預言機操縱進行一個簡單介紹。而第二部分,則是一些案例研究,那些想要測試自己知識的人,可以跳過它們。最后,我們總結了一些開發者可用來保護他們的項目不受預言機操縱的技術。

現實生活中的預言機操縱

時間回到2015年12月1日,假設你現在的身份是DavidSpargo,現在你正在澳大利亞墨爾本的PekingDuk演唱會,你想去后臺休息室親自見見這支樂隊的成員,但有兩名保安攔在你的面前,他們不可能讓普通人直接進去。

你想知道,如果你表現得像PekingDuk樂隊的親屬,保安會有什么反應。因為家庭成員肯定會被允許在后臺訪問樂隊,所以你所要做的就是讓保安相信你是樂隊的親戚。你想了一會兒,想出了一個計劃,而這個計劃只能被描述為“天才般”或“絕對瘋狂的”。

CoinMarketCap更新TON流通量數據,市值排名升至第14:6月17日消息,CoinMarketCap近日已經修正Toncoin(TON)代幣的流通量數據,TON成為市值排名第14位的加密貨幣。

目前TON市值超過48億美元。TON代幣現報1.41美元,24H漲幅為1.81%。

據悉,2022年12月17日,The Open Network提出一項優化TON代幣經濟學的建議。TON鏈上有許多錢包在兩年前曾經參與挖礦,但此后一直處于不活躍狀態。2023年2月21日,TON驗證者投票決定將不活躍的早期挖礦錢包凍結48個月。171個錢包被停用,余額為1,081,389,417枚TON(超過總供應量的20%)。因此,TON總市值達到47億美元。[2023/6/17 21:43:55]

在迅速安排好一切之后,你自信地走到保安面前。你自我介紹自己是DavidSpargo,是PekingDuk樂隊的家庭成員,當警衛要求你提供證據時,你給他們看無可辯駁的證據——維基百科。

警衛揮手讓你過去,讓你稍等一下。一分鐘過去了,兩分鐘過去了……五分鐘后,你想知道你是否應該在執法人員出現之前逃跑。就在你準備放棄的時候,PekingDuk樂隊成員ReubenStyles走了過來,然后你和他一起走進休息室,樂隊對你的聰明才智印象深刻,最后你們一起喝了幾杯啤酒,再后來,他們在自己的Facebook頁面上分享了當晚發生的事情。

什么是價格預言機?

價格預言機,大可指你向其咨詢價格信息的任何東西。當帕姆向德懷特詢問一Schrute元的現金價值時,德懷特就扮演了一個價格預言機。

在以太坊上,一切都是智能合約,價格預言機也是如此。因此,區分價格預言機獲取價格信息的方式更為有用。在一種方法中,你可以簡單地從價格API或交易所獲取現有的鏈外價格數據,并將其帶到鏈上。而另一類方式,你可以通過咨詢鏈上去中心化交易所來計算即時價格。

Unstoppable Domains將Sandy Carter提升為首席運營官:金色財經報道,Web3初創公司 Unstoppable Domains 將其高級副總裁兼渠道主管 Sandy Carter 提升為首席運營官和業務開發主管。這家初創公司還將前 IBM 杰出工程師 Lisa DeLuca 提拔為高級工程總監。

該公司在新聞稿中表示,DeLuca 已經提交了 800 多項專利申請,并獲得了 650 多項授權。[2023/3/7 12:46:01]

這兩種選擇各有利弊。鏈外數據對波動性的反應通常較慢,這是好是壞,取決于你試圖使用它的目的,而這種方式通常需要少數特權用戶將數據推送到鏈上,因此你必須相信這些人不會做惡,也不會被迫推送壞的更新。而鏈上數據不需要任何特權訪問,并且總是最新的,但這意味著它很容易被攻擊者操縱,從而導致災難性的失敗。

那可能出現什么問題?

讓我們來看幾個關于價格預言機集成問題導致DeFi項目重大財務損失的例子。

1、SynthetixsKRW預言機故障

Synthetix是一個衍生品平臺,它允許用戶訪問其他貨幣等資產。為了實現這一目標,當時的Synthetix依賴于一個定制的鏈外喂價實現,其喂價數據以固定的時間間隔發布到鏈上。這些價格允許用戶對支持的資產做多或做空。

2019年6月25日,Synthetix依賴的一份喂價報告稱,韓元的價格比真實匯率高出1000倍。由于價格預言機系統中其他地方的錯誤,這一價格被系統接受并發布到鏈上,隨后一個交易機器人迅速進出這個sKRW市場。

盡管Synthetix團隊能與交易者協商,讓其返還資金,但總的來說,這個機器人有能力賺取超過10億美元的利潤。

Synthetix正確地執行了價格預言機,并從多個來源獲取價格,以防止交易者在價格變化發布到鏈上之前預測價格變化。然而,一個孤立的上游喂價故障導致了一次毀滅性的攻擊。這說明了使用鏈外數據的價格預言機的風險:你不知道價格是如何被計算的,因此你的系統必須經過仔細設計,以便正確處理所有潛在的失敗模式。

LevelField將收購Burling Bank,尋求成為提供加密服務的FDIC承保銀行:2月2日消息,LevelField周三表示,其尋求在收購Burling Bank后成為第一家提供數字資產服務的FDIC保險銀行。LevelField是提供全方位服務的銀行,計劃為其客戶提供與加密貨幣相關的服務以及一系列傳統銀行服務。此次收購預計將在今年年底完成,等待監管部門批準交易。交易的財務條款尚未披露。

Burling Bank的高級管理團隊將在收購后留在銀行。高級團隊將與LevelField的現有團隊合作,在全國范圍內發展銀行的業務。

盡管LevelField有可能成為第一家提供加密服務的FDIC承保銀行,但這并不意味著該銀行一定會提供更安全的方式來投資波動較大的數字資產。如果銀行倒閉,FDIC保險可保護銀行儲戶免受高達250,000美元的損失,但加密貨幣仍在FDIC未投保的資產類別中。(CoinDesk)[2023/2/2 11:43:01]

低抵押借貸

如上面提到的,我在2019年9月發表了一篇文章,其中概述了使用鏈上數據價格預言機的相關風險。雖然我強烈建議你閱讀這篇文章,但是它的篇幅很長,技術細節也很繁重,這可能會讓人難以理解。因此,我會在這里提供一個簡化的解釋。

想象一下,你把去中心化的借貸放到區塊鏈上。用戶可以將資產作為抵押品存放,也可以借入其他資產,而能夠借入的最高金額由他們存入的資產價值決定。假設一個用戶用ETH作為抵押品,然后借入USD,目前ETH的價格為400美元,抵押率為150%。

如果用戶存入375ETH,則其存入的抵押品價值15萬美元,根據每1.5美元抵押品可借入1美元的規則,那么該用戶最多可以從系統那借款10萬美元。

當然,在區塊鏈上,這并不像簡單地聲明1ETH值400美元那么簡單,因為惡意的用戶可以簡單地聲明1ETH價值1000美元,然后從系統中拿走所有的錢。因此,開發者很容易會去接入像Uniswap、Kyber或其他去中心化交易所的現貨價格。

美股三大指數幾乎平開:8月26日消息,美股三大指數幾乎平開,道指上漲0.11%,納指跌0.07%,標普500指數漲0.05%。[2022/8/26 12:51:05]

乍一看,這似乎是正確的做法。畢竟,無論何時你想買或賣出ETH,Uniwap的價格總是大致正確的,因為套利者很快就會糾正任何偏差。然而,事實證明,去中心化交易所的即期價格在交易期間可能會非常不正確,如下面的示例所示。

思考一下Uniswap的存儲功能,價格以儲備資產金額為基礎計算,但由于用戶在ETH和USD之間交易,儲備所持有的資產會發生變化。如果惡意用戶在從平臺貸款之前和之后執行交易,會怎樣?

在用戶貸款之前,他們以200萬USD的價格購買了5000ETH,現在,Uniswap交易所計算的價格為1ETH=2,600USD。現在,他們的375個ETH可以作為抵押,并借取最高65萬美元的資產。最后,他們將200萬美元換回5000ETH,這將重置價格,而你的借貸平臺則損失了55萬美元。

這個案例研究,說明了將去中心化交易所用作價格預言機時遇到的最常見的錯誤——攻擊者在交易過程中幾乎完全控制了價格,而試圖準確讀取該價格就像在完成結算之前先讀取磅秤上的重量一樣。

你可能會得到錯誤的數字,根據具體情況,這可能會花費你很多錢。

2、SynthetixMKR操縱

2019年12月,Synthetix再次遭受價格預言機操縱攻擊,值得注意的是,這次攻擊跨越了鏈上數據和鏈外數據的界限。

用戶名為u/MusaTheRedGuard的Reddit用戶觀察到,一名攻擊者對sMKR和iMKR進行了一些非常可疑的交易。攻擊者首先通過購買sMKR來做多MKR,然后從UniswapETH/MKR資產交易對中購買大量MKR。在等待了一段時間后,攻擊者將他們的sMKR換成了iMKR空頭倉位,并將他們的MKR賣回Uniswap。然后他們重復了這個過程。

桑坦德銀行巴西公司CEO:未來幾個月將推出加密交易功能:金色財經報道,桑坦德銀行巴西首席執行官馬里奧·萊奧周四表示,西班牙銀行跨國公司桑坦德銀行計劃在未來幾個月內向其巴西客戶提供加密貨幣交易。該銀行計劃推出與加密相關的服務,并可能在 10 月中旬的公司下一次收益發布中提供有關該計劃的進一步消息。

桑坦德銀行今年已經在拉丁美洲涉足加密領域。3 月,它與阿根廷農產品代幣化平臺 Agrotoken 合作,在阿根廷為農民提供代幣化商品抵押貸款。(coindesk)[2022/7/29 2:45:12]

在幕后,攻擊者通過Uniswap進行的交易,允許他們隨意移動Synthetix上MKR的價格。這很可能是因為Synthetix所依賴的鏈外喂價,實際上依賴于MKR的鏈上價格,而且套利者沒有足夠的流動性來將市場重新設置到最佳條件。

這起事件說明了一個事實:即使你認為自己在使用鏈外價格數據,但實際上你可能仍然在使用鏈上價格數據,而且你可能仍然會因為使用這些數據,而遭遇到復雜的攻擊。

3、bZx黑客事件

2020年2月,bZx在幾天內遭受兩次黑客攻擊,損失價值約為100萬美元。你可以這里找到由palkeo編寫的關于兩次黑客攻擊的優秀技術分析文章,但我們在這只關注第二次攻擊。

在第二次黑客攻擊中,攻擊者首先使用ETH購買了Kyber上幾乎所有的sUSD,然后,攻擊者從Synthetix平臺購買了第二批sUSD,并將其存放在bZx上。利用sUSD作為抵押品,攻擊者借用了他們被允許的最大數量的ETH,然后他們把sUSD賣回給了Kyber。

如果你注意到了,你會發現,這本質上是同樣的低抵押借貸攻擊,但使用了不同的抵押品和不同的去中心化交易所。

4、yVault漏洞

2020年7月25日,我報告了一個關于yEarn推出的新yVault合約的漏洞,你可以在這里讀到關于這個漏洞的官方公告,但我將在下面簡要總結一下。

yVault系統允許用戶在不需要自己管理的情況下存入代幣并賺取收益。在內部,這個金庫跟蹤鑄造的yVault代幣的總金額以及存放的基礎代幣的總金額。單個yVault代幣的價值,由鑄造的代幣與存入的代幣的比率來確定。金庫獲得的任何收益,都會分攤到所有鑄造的yVault代幣上。

第一個yVault允許用戶通過向BalancerMUSD/USDC儲備池提供流動性來獲得USDC收益。當用戶向Balancer提供流動性時,他們會收到BPT作為憑證。因此,yVault根據其BPT可贖回的MUSD/USDC金額計算其持有的價值。

這似乎是正確的實現,但不幸的是,與前面提到的原理相同——交易期間,Balancer池的狀態是不穩定的,因此不可信任。在這種情況下,由于Balancer選擇的聯合曲線,在USDC和MUSD之間進行交換的用戶將不會獲得1:1的匯率,但實際上會在儲備池中留下一些MUSD。這意味著BPT的值可以暫時膨脹,這使得攻擊者可以隨意操縱價格并隨后耗盡金庫。

這一事件表明,價格預言機并不總是可靠的,開發者需要警惕他們正在攝取什么樣的數據,并考慮這些數據是否可以被非特權用戶輕易操縱。

5、HarvestFinance黑客攻擊

2020年10月26日,一位匿名用戶用一種技術攻擊了HarvestFinance儲備池。你可以在這里閱讀官方的分析報告,但我要再次為你總結下:攻擊者通過執行交易使得Curve池中的USDC價格降低,然后以降低的價格進入Harvest池子,通過逆轉先前的交易恢復價格,并以更高的價格退出Harvest池子。這最終導致用戶損失了3300萬美元。

如何自我保護?

現在,我希望你了解了價格預言機操縱攻擊,此外,如果你不采取適當的防御措施,攻擊者可能會欺騙你的協議,讓其乖乖把錢交給他們。雖然目前并沒有適用于所有情況的解決方案,但還是有一些曾在其他項目中奏效的解決方案,也許其中一款也會適合你。

建議1:不跳入淺市場

就像跳入游泳池的淺水區一樣,跳入一個淺市場也是痛苦的,這可能會導致巨大的損失,從而永遠改變你的生活。在考慮具體的價格預言機計劃之前,先考慮一下代幣的流動性是否足以保證與你的平臺集成。

建議2:一鳥在手勝過兩鳥在林

看到Uniswap上的潛在匯率可能會讓人著迷,但在你真正點擊“trade”按鈕,并將代幣放到錢包中之前,一切都不會是最終的。同樣,要確定兩種資產之間的匯率,最好的方法就是直接交換資產。這種方法很好,因為沒有撤消,也沒有假設。然而,對于貸款平臺這樣的協議來說,它可能不起作用,因為這些協議需要保留原始資產。

建議3:幾乎去中心化的預言機

總結依賴鏈上數據預言機所存在的一種問題是,它們的更新有點過快。如果是這樣,為什么不引入一點人為的延遲呢?寫一個合約,用去中心化交易所的最新價格更新自己,但需要通過少數特權用戶。現在,即使攻擊者可以操縱價格,他們也無法利用這一點。

這種方法實現起來很簡單,而且很容易見效,但它也有一些缺點——在區塊鏈擁堵的時候,你可能無法按自己希望地那樣快速更新價格,而且你仍然容易受到三明治攻擊。另外,現在,你的用戶還需要信任你會保持價格的更新。

建議4:增加最短延遲

操縱價格預言機是一種對時間敏感的操作,因為套利者總是在觀察,并希望有機會優化任何次優市場。如果攻擊者想把風險降到最低,他們會想在單筆交易中完成操縱價格預言機所需的兩筆交易,這樣套利者就沒有機會跳到中間。作為協議開發者,如果你的系統支持它,那么只需要在用戶進入和退出系統之間實現一個最短的延遲就足夠了。

當然,這可能會影響可組合性,并且礦工與交易者的合作正在增加。在未來,不良行為者有可能在多筆交易中執行價格預言機操縱,因為他們知道礦工將確保沒有人能夠跳入中間并從中獲利。

建議5:時間加權平均價格

UniswapV2引入了一種時間加權平均價格預言機,以供鏈上開發者使用。這篇文檔詳細地介紹了這種預言機提供的確切安全保證,一般來說,對于長時間沒有鏈擁堵的大型資產池,這種TWAP預言機對預言機操縱攻擊具有很強的抵御能力。然而,由于其實施的性質,它可能無法對市場劇烈波動的時刻做出足夠快的反應,而且它只適用于具有鏈上流動性的代幣資產。

建議6:M-of-N報告者機制

有時候人們會說,如果你想把事情做好,就自己去做。那如果你把N個值得信賴的朋友集合起來,讓他們提交他們認為正確的鏈上價格,然后取M個最好的答案匯聚成當前價格,那會怎么樣呢?

如今,很多大型項目都在使用這種方法:Maker運行一組由可信實體操作的喂價,Compound創建了OpenOracle,并有像Coinbase這樣的預言機報價者,Chainlink聚合了來自Chainlink運營商的價格數據,并在鏈上公開了這些數據。請記住,如果你選擇使用這些解決方案之一,那么你現在已經將信任委托給了第三方,而你的用戶也必須這樣做。要求報價者在鏈上手動發布最新信息也意味著,在市場高度波動及區塊鏈擁堵的時期,價格更新可能無法按時完成。

結論

價格預言機對于DeFi安全性而言,是一個重要,但經常被忽視的組成部分。安全地使用價格預言機是很困難的,有很多方法可以讓你以及你的用戶都措手不及。在這篇文章中,我們討論了一些價格預言機被操縱的例子,并確定在交易過程中讀取價格信息可能是不安全的。我們還討論了其他項目在過去采用的,用于抵御預言機價格操縱的一些技術。最后,每一種情況都是獨一無二的,你可能會發現自己不確定是否正確地使用了價格預言機。如果是這種情況,請隨時尋求建議。

特別感謝DanRobinson和GeorgiosKonstantopoulos審閱了這篇文章。

Tags:USDETHTHEMKRUSDAP幣XETHgreathealthtokenmkr幣價格

以太坊交易
金帝解幣:美股創新高黃金大跌 虛擬貨幣能否取代黃金成為主流?_BAYC:BAY

1.北京擬建設法定數字貨幣試驗區和數字金融體系;2.深圳應用區塊鏈等技術搭建網貸機構投票表決系統;3.英國財政大臣:即將就穩定幣進行磋商;4.

1900/1/1 0:00:00
韭菜筆記 | 拜登當選利好比特幣?_比特幣:Zebec

11月9日?天氣晴 |??近期市場情緒 周末灰度不上班,比特幣沖高16000刀關口出現十個點的回調也是情理之中。目前,4小時線上升趨勢仍保持完好,短線支撐在14000-14500區間.

1900/1/1 0:00:00
精華薈萃 孕人間佳釀金種子_SDC:PCUSDC幣

“來潁愛其民淳訟簡而物產美,土厚水甘而風氣和。”歐陽修對于古潁州的贊美,幾乎都融于這一句話中。民風淳樸、土厚、水甘,這近乎滿足了好酒全部的要求。土厚而風氣和,自是能夠保證糧食的品質.

1900/1/1 0:00:00
比特幣震蕩企穩 DEFI熱度回歸 市場風格切換?_TER:TWI

比特幣前期漲幅過大,開始震蕩調整,中長期的趨勢依舊看漲,可以在每次回調階段加倉,等待下一波的上漲。從震蕩的幅度可以明顯看到,底部在逐漸抬高,且振幅減少,這是變盤的信號.

1900/1/1 0:00:00
現貨黃金模擬交易有哪些好處?_STR:kingsinba

  雖說現貨黃金有放大收益降低門檻的優勢,但若我們僅因其高效的盈利率就貿然入市,恐在實際交易中難以獲利.

1900/1/1 0:00:00
比特幣爆拉8% 空頭爆倉2億美元 減半真的要牛了?_BLOC:BLOCK

今日資訊: 據福布斯11月10日消息,微軟前工程師VolodymyrKvashuk詐騙微軟1000多萬美元,并使用比特幣混幣器隱藏應稅收入并偽造納稅申報單,已被判9年有期徒刑.

1900/1/1 0:00:00
ads