以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > 瑞波幣 > Info

GAT:Aave經歷驚魂一刻 這個漏洞差點釀成一場危機

Author:

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

注:今日,DeFi安全審計公司TrailofBits披露了Aave借貸協議此前存在的一個嚴重漏洞,在發現到該問題后,Aave迅速修復了該漏洞,從而避免了一場危機。

原文來自TrailofBits:

12月3日,知名DeFi借貸協議Aave部署了V2版本,盡管我們并沒有被雇傭來查看其代碼,但在次日,我們還是對其進行了簡單審查。很快,我們就發現了一個影響AaveV1和V2版本合約的漏洞,并報告了該問題。在將我們的分析發送給Aave的一小時內,他們的團隊修復了該漏洞,以減輕潛在影響。如果該漏洞被利用,這一問題將破壞Aave,并影響外部DeFi合約中的資金。

據悉,有5家不同的安全公司審查了Aave代碼庫,其中有一些使用了形式化驗證。然而,這個漏洞并沒有被這些公司注意到。這篇文章描述了這一問題,以及“該漏洞是如何逃過檢測”等其它的一些經驗教訓。此外,我們也在開發一種新的Slither檢測器,它可以識別這一漏洞,從而為以太坊社區提高安全性。

漏洞

Aave使用了delegatecall代理模式,這一點我們在過去的文章中已經詳細討論過了。簡單來看,每個組件被分成了兩個合約:包含實現的邏輯合約,包含數據并使用delegatecall與邏輯合約進行交互的代理。在邏輯合約上執行代碼時,用戶與代理合約進行交互。這是delegatecall代理模式的簡化表示:

CAT Labs完成430萬美元融資,CastleIsland Ventures等參投:4月11日消息,加密資產取證和網絡安全公司CAT Labs完成430萬美元融資,Castle Island Ventures、Brevan Howard Digital、CMT Digital、RW3 Ventures 和 Newark Venture Partners 參投。

據悉,CAT Labs 創始人 Lilita Infante 曾在美國司法部擔任 10 年的特工,并創建了有史以來第一個專注于加密貨幣的聯邦特別工作組。其具體業務為幫助政府客戶從加密證據中恢復加密貨幣資產以及幫助私營部門防止加密資產被盜并保護其基礎架構。(Fortune)[2023/4/11 13:56:30]

在Aave中,LendingPool是使用delegatecall代理的可升級組件。

而我們發現的漏洞依賴于這些合約中的兩個功能:

可以直接調用邏輯合約的函數,包括初始化函數;

借貸池具有其自己的delegatecall功能;

OKX將向FTX債權人移交約1.57億美元與FTX和Alameda相關的凍結資產:金色財經報道,OKX今日宣布將向FTX債權人移交約1.57億美元與FTX和Alameda相關的凍結資產。2022年11月FTX崩盤后,OKX根據執法機關要求,發起調查以確定平臺上是否存在與FTX相關的交易,當發現與FTX和Alameda Research相關的資產和賬戶時,OKX迅速反應采取行動凍結相關賬戶并保護資產。

OKX表示,未來將繼續與FTX債權人和執法人員合作,希望這些資產最終能通過破產程序返還給FTX用戶[2023/3/30 13:34:26]

初始化可升級合約

這種可升級模式的一個限制是,代理不能依賴邏輯合約的構造函數進行初始化。因此,狀態變量和初始設置必須在公共初始化函數中執行。

在LendingPool中,初始化函數設置提供者地址:

initializer調節器防止多次調用initialize,它要求滿足以下條件為true:

加密貨幣交易所Kraken推出Kraken Pro:金色財經報道,加密貨幣交易所Kraken推出 Kraken Pro,一套先進的交易工具和一個新界面,統一了對現貨交易、保證金交易、質押和投資組合管理的訪問。

Kraken Pro面向高級交易者。它利用最新技術來減少延遲和處理高峰需求,并支持超過 21種代幣,其模塊化設計還允許個人定制。[2022/12/23 22:02:04]

以下:

初始化允許在相同交易中多次調用調節器;

isConstructor是代理執行代碼所需的;

revision>lastInitializedRevision?允許在合約升級時再次調用初始化函數;

雖然它通過代理,預期可正常工作,但是也允許任何人直接在邏輯合約上調用initialize函數。一旦邏輯合約被部署:

revision將為0x2(LendingPool.sol#L56);

lastInitializedRevision將為0x0;

而漏洞是:任何人都可以在LendingPool邏輯合約中設置_addressesProvider。

“長安鏈”將推動區塊鏈技術在民航落地:金色財經消息,記者從北京微芯區塊鏈與邊緣計算研究院獲悉,該院近日和中國民航信息集團正式簽署戰略合作協議,雙方將基于長安鏈建立面向全球的大商旅數字經濟服務新模式,這也標志著長安鏈協作網絡“落子”全球商旅服務節點。

此次合作,雙方將基于我國首個自主可控的區塊鏈軟硬件技術體系“長安鏈”,打造符合民航發展特點和行業需求的區塊鏈基礎設施——“民航鏈”,并推動區塊鏈創新技術及Web3.0創新模式在民航領域的落地實施。(新浪財經)[2022/7/11 2:04:25]

任意delegatecall

LendingPool.liquidationCall直接委托調用由_addressProvider返回的地址:

這允許任何人啟動LendingPool邏輯合約,設置受控地址提供者,并執行任意代碼,包括selfdestruct。

利用漏洞的場景:任何人都可以破壞借貸池邏輯合約。下面是一個簡化的視覺表示:

阿聯酋推出全球最昂貴的現代郵票,包含實體郵票及其數字版本:6月17日消息,阿聯酋推出了世界上最昂貴的現代郵票,以慶祝該國建國50周年。該郵票共有四個版本,阿聯酋郵政集團(Emirates Post Group)推出了第一個版本,其中每張實體郵票都有一個數字版本。

最貴的版本是“Golden Jubille 2021”,總共有2021件,售價為2021 AED(550美元)。每枚郵票含有一克黃金。其他三個系列分別是“Spirit of the Union – 1971”、“Year of the 50th – 2021”、“Projects of the 50th 2071”,這三個系列相對便宜一些,每枚NFT郵票的價格約為250 AED(68美元)。(Cointelegraph)[2022/6/17 4:35:42]

缺乏存在檢查

就問題本身而言,已經是很嚴重了,因為任何人都可以破壞邏輯合約,并阻止代理執行借貸池代碼。

然而,在代理合約中使用OpenZeppelin會加劇這一問題的嚴重性。我們在2018年撰寫的一篇博客文章中強調,沒有代碼的合約委托調用能在不執行任何代碼的情況下返回成功。盡管我們最初發出警告,但OpenZeppelin并未在其代理合約中修復回退函數:

如果代理委托調用了一個已破壞的借貸池邏輯合約,則代理將返回成功,而不會執行任何代碼。

由于Aave可以更新代理以指向另一個邏輯合約,因此這種漏洞利用不會持久。但在可利用此漏洞的時間范圍內,任何調用該借貸池的第三方合約,都將表現為某些代碼已被執行,但實際卻并未執行。這將打破很多外部合約的基本邏輯。

受影響的合約

所有AToken:AToken.redeem調用pool.redeemUnderlying(AToken.sol#L255-L260)。由于調用什么也不做,用戶將燒掉他們的AToken,而不會收到他們的底層資產;

WETHGateway(WETHGateway.sol#L103-L111):存款會存儲在網關中,然后任何人都可以竊取存款資產;

任何基于Aave信用委托v2的代碼庫(MyV2CreditDelegation.sol);

如果我們發現的問題被利用,則Aave之外的很多合約都會受到各種方式的影響。確定一份完整的名單是困難的,我們沒有試圖這樣做。這一事件凸顯了DeFi可組合性的潛在風險,以下是我們找到的一些受影響的合約:

DefiSaverv1(AaveSaverProxy.sol)

DefiSaverv2(AaveSaverProxyV2.sol)

PieDao–pieoven(InterestingRecipe.sol#L66)

修復及建議

幸運的是,在我們報告這個漏洞之前,還沒有人利用它。Aave對其兩個版本的借貸池調用了initialize函數,從而保證了合約的安全:

LendingPoolV1:0x017788dded30fdd859d295b90d4e41a19393f423?修復時間:2020年12月4日07:34:26PM+UTC

LendingPoolV2:0x987115c38fd9fd2aa2c6f1718451d167c13a3186?修復時間:2020年12月4日07:53:00PM+UTC

長期而言,合約部署者應:

在所有邏輯合約中添加一個構造函數以使initialize函數無效;

檢查delegatecall代理fallback函數中是否存在合約;

仔細檢查delegatecall陷阱,并使用slither-check-upgradeability;

形式化驗證合約并不是防彈的

Aave的代碼庫經過了形式化驗證,區塊鏈領域的一個趨勢是,人們會認為安全特性是圣杯。用戶可能會嘗試根據這些特性的存在與否,對各種合約的安全性進行排序。我們認為這是危險的,它會導致錯誤的安全感。

Aave形式化驗證報告列出了LendingPool視圖函數以及池操作的屬性。例如,已驗證的屬性之一是:

然而,如果邏輯合約遭到破壞,則該屬性可能會被破壞。那如何才能對此進行驗證?雖然我們無法訪問定理證明或所使用的設置,但很可能證明proof沒有考慮可升級性,或者prover不支持復雜的合約交互。

這在代碼驗證中是很常見的。你可以通過對整體行為的假設來證明目標組件中的行為,但是在多合約設置中證明屬性是具有挑戰性和耗時的,因此必須進行權衡。

形式化驗證技術很棒,但是用戶必須意識到它們覆蓋范圍很小,并且可能會錯過攻擊媒介。另一方面,自動化工具和人工審查可幫助開發人員以較少的資源來提升代碼庫的安全性。了解每種解決方案的優點和局限性,對開發人員和用戶而言都至關重要。當前的問題就是一個很好的例子,Slither可以在幾秒鐘內發現這個問題,受過訓練的專家可能會很快指出它,而要用安全特性來檢測,則需要付出很大的精力。

總結

Aave做出了積極反應,并在發現問題后迅速修復了該漏洞。危機避免了,但最近遭受黑客攻擊的其他受害者卻沒有那么幸運。在部署代碼并將其暴露于對抗性環境之前,我們建議開發者:

查看這里的檢查表和訓練;

將Slither添加到你的持續集成管道中并調查其所有報告;

給安全公司適當的時間來審查你的系統;

請注意可升級性,至少請審查合約升級反模式,合約遷移的工作方式,以及使用OpenZeppelin的可升級性;

我們希望通過分享此信息以及與此問題相關的Slither檢測器來防止類似的錯誤。

來源:金色財經

Tags:AVEAAVEINGGATConcaveAave LINKMARKETING幣elongate幣有價值嗎

瑞波幣
YFI:比特幣與黃金關系的深層剖析 大勢下YFI等數字貨幣能否再創佳績

比特幣與黃金都是很多人的選擇,后者常常被稱為“數字黃金”,從中也可以看出二者的相關相關性有多大。但是,同時關注這兩者的人卻不難發現,二者之間的價格走勢正在逐漸背離.

1900/1/1 0:00:00
比特幣:英FCA向至今未處理的加密資產公司頒發臨時注冊證書

點擊上方“藍色字”可關注我們!暴走時評:根據12月16日的公告,英國金融行為監管局向已經提交申請但尚未處理的加密資產公司頒發了臨時注冊證書,為自己贏得了6個月的時間來處理這些堆積的申請.

1900/1/1 0:00:00
加密貨幣:從香港第一張牌照看國內加密貨幣合法化

這幾天影響加密貨幣市場長期基本面的利好消息實在是太多了,而這都是在機構入市之后的,所以不得不講價格趨勢已經充分影響了加密貨幣市場的整體形勢。昨晚的消息,OSL率先獲得香港證監會的交易牌照.

1900/1/1 0:00:00
YGG:以太晚間福利:左邊右邊

區塊鏈華仔: ?以太坊根據下午說的,布林線縮口今天凌晨4點之前會有一波變動,附圖晚間沖了一波高位,現在布林逐漸張口,是順勢追漲還是右肩看空.

1900/1/1 0:00:00
SHIB:幣圈麗姐:比特幣終破20000新高 瘋狂拉漲空單能否進場

幣圈麗姐:比特幣終破20000新高瘋狂拉漲空單能否進場昨天的漲跌無法代表今天的多空,今天的眼淚也帶不走昨天的不快,唯一不落后的辦法,就是不斷加強,千萬條江河為了自己的理想徹夜不停的奔流.

1900/1/1 0:00:00
GENES:拼多多首次季度盈利店寶寶多多買菜功不可沒

今年雙十一,一則關于“平臺經濟反壟斷”的消息,讓電商股成為市場關注的焦點。受該消息影響,阿里巴巴、京東、美團等在港股、美股市場的股價連續下跌,激起了投資者對電商板塊前景的擔心.

1900/1/1 0:00:00
ads