比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > XRP > Info

AVE: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代理模式的簡化表示:

香港財庫局陳浩濂:Web3.0的發展不能損害到金融體系的穩定:金色財經報道,香港財經事務及庫務局副局長陳浩濂在南方財經全媒體集團及HashKey Exchange聯合舉辦的“數資成真—亞洲合規探索與未來展望”研討會發表“香港打造國際虛擬資產中心的機遇和挑戰”主旨演講。陳浩濂表示,Web3.0標志著互聯網發展的重要變革,在數字經濟和金融科技創新方面發揮著十分重要的作用,但前提是做好投資者保護,不能被利用作洗黑錢等非法用途,不能損害到金融體系的穩定。

陳浩濂介紹,香港在“相同業務、相同風險、相同規則”的監管思路下,讓Web3.0在適當的監管框架下,可持續和負責任地發展,讓金融創新服務實體經濟、服務市民。[2023/8/4 16:17:59]

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

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

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

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

穆迪:6月15日對美國的AAA評級至關重要:金色財經報道,穆迪表示,6月中旬美國支付國債利息對維持最高的AAA評級至關重要。6月15日,美國財政部應支付約20億美元的利息。美國財長耶倫上周日警告稱,如果國會不提高債務上限,“在能夠支付所有賬單的情況下,支撐到6月15日的可能性相當低”。“這對我們來說是一個非常重要的日子,”穆迪高級副總裁William Foster稱,雖然利息償付規模相對較小,但“如果沒有支付,那就是違約。我們將把美國評級下調一級,從AAA降至AA1。”Foster強調,穆迪預計國會和白宮將在財政部用盡其特殊會計措施以保持債務上限之前,就針對提高或暫停債務上限達成協議。[2023/5/26 10:40:57]

初始化可升級合約

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

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

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

香港金管局:金管局將采取三軌道方式為將來可能發行數碼港元作好準備:金色財經報道,4月28日,香港金融管理局(金管局)發布其《2022年年報》。在有關數碼港元方面指出,金管局將采取三軌道方式為將來可能發行數碼港元作好準備,并推出第二軌道先導計劃,邀請業界深入研究數碼港元可行的應用場景。余偉文總結道,我們在擁抱金融創新和它帶來的好處的同時,亦需明白有必要監察及處理好相關發展可能帶來的風險。他表示,我們正密切注視虛擬資產領域的發展,并參與相關監管事宜的國際討論。他透露,經考慮公眾咨詢收集到的意見及相關國際標準后,金管局將采納“相同風險,相同監管”的方式制定穩定幣的監管制度及界定其監管范圍。[2023/4/29 14:34:47]

以下:

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

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

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

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

Azuki交易總額突破9億美元:金色財經報道,據cryptoslam數據顯示,Azuki交易總額已突破9億美元,截止目前達到900,954,825美元,其中交易量接近4萬筆(38,214筆),其中買家16,027個,賣家14,310個。歷史數據顯示,Azuki交易總額于去年9月突破8億美元,這意味著過去5個月增長了1億美元,漲幅約為12.5%。另據nftgo數據,當前Azuki地板價約為13.39 ETH,過去24小時下降0.74%,市值約為3.6228億美元。[2023/2/9 11:56:07]

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

lastInitializedRevision將為0x0;

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

任意delegatecall

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

數字藏品國際周指數上漲5.2點至18.8點:金色財經報道,據同伴客數據顯示,上周(2022年12月05日-12月11日)數字藏品國際周指數下跌5.2點至18.8點,國內周指數上升24.5點至56.5點,數字藏品綜合價值周指數下跌6.6點至33.9點。

備注:

· 數字藏品綜合價值指數由同伴客數據與鏈境Labs聯合研發,是對國際及國內當月市場熱度最高的數字藝術品項目市場總銷售規模的綜合反映,以2021年11月份銷售額的30分之7為基數,指數基值為100。

·國內周指數成分之一的幻核于8月16日發布平臺終止運營公告,但銷量已于7月10日后歸零。為遵循去掉某一成分后指數計算結果無變化的原則,該指數使用幻核7/4-7/10的銷售數據進行銷售基數調整,并將新的銷售基數作為8/14后的指數計算基數。[2022/12/12 21:39:16]

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

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

缺乏存在檢查

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

然而,在代理合約中使用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:AVEAAVEINGGATSophiaVerseAave LINKbiking怎么讀音發音gate.io手機版下載

XRP
比特幣:市場概述:BTC用力過猛震蕩難免2020.12.18

市場概述 ?消息面,灰度繼續買入,增持比例較多的是LTC和BCH。古根海姆CEO說,比特幣應該值40萬美元,并打算通過灰度比特幣信托,配置5.3億美元比特幣.

1900/1/1 0:00:00
VAL:宋洲論幣:繼續看漲不變 關注24000美元關口

熱點快訊: 1.美最大加密貨幣交易所Coinbase提交上市申請,最新估值約為80億美元。2.Compound發布新跨鏈協議CompoundChain白皮書.

1900/1/1 0:00:00
ERA:金誠論幣:12月15日ETH晚間分析多單布局獲利21點

恭喜跟上金誠晚間ETH分析的幣友們成功斬獲21點盈利. 波場TRON賬戶總數突破1.5億:據官方消息,2023年4月3日,TRONSCAN最新數據顯示,波場TRON賬戶總數達到150,379.

1900/1/1 0:00:00
區塊鏈:公鏈、私鏈、聯盟鏈、跨鏈、側鏈的區別

在區塊鏈領域,我們經常會聽到這些與鏈有關的名詞:公有鏈、私有鏈、聯盟鏈、跨鏈、側鏈這些區塊鏈有著各自的特點和不同場景應用.

1900/1/1 0:00:00
BTC:微比特“精選礦場”今日上線 靠譜挖礦 來此找資源

你是否在各種群看到這種信息:內蒙新疆自建礦場,專業運維團隊,n萬負荷起,電價0.3x元,需要請聯系.

1900/1/1 0:00:00
BTC:珊珊說幣:比特幣牛市來了 機構還會出手嗎?

大家好,我是珊珊,專注BTC、ETH等數字貨幣領域的專業金融分析,持續更新認為會對您有用的最新數字貨幣行情及相關資訊。面對金融市場,沒有難做的交易,只有看不懂的行情.

1900/1/1 0:00:00
ads