作者:Kong,慢霧安全團隊
據慢霧消息,2021年10月27日,CreamFinance?再次遭受攻擊,損失約1.3億美金,慢霧安全團隊第一時間介入分析,并將簡要分析分享如下。
攻擊核心
本次攻擊的核心在于利用Cream借貸池對抵押物價格獲取的缺陷,惡意操控拉高了其抵押物的價格,使得攻擊者可以從Cream借貸池借出更多的代幣。
攻擊細節
首先攻擊者從DssFlash中閃電貸借出5億個DAI,隨后將借出的5億個DAI抵押至yearn的yDAI池中,以獲得約4.5億個yDAI憑證。
隨后攻擊者將獲得的yDAI代幣在Curve的yDAI/yUSDC/yUSDT/yTUSD池子中進行單幣流動性添加,以獲得相應的流動性憑證。緊接著攻擊者就將獲得的憑證抵押到yvWBTC池子中以獲得yUSD憑證,為后續在CreamcrYUSD借貸池中抵押做準備。
慢霧CISO:注意暗網中出現針對macOS大規模攻擊的軟件macOS-HVNC:8月3日消息,據慢霧首席信息安全官23pds發推稱,慢霧注意到最近暗網出現針對macOS大規模攻擊的軟件macOS-HVNC,Mac電腦和設備因其安全性和可用性比較好而被加密貨幣個人和中小企業廣泛使用。
macOSHVNC特性包括:隱藏操作,HVNC被設計為以隱身模式運行,使個人和中小企業難以檢測到其系統上的存在,這種隱藏的操作允許網絡犯罪分子在不引起懷疑的情況下保持訪問權限;維持權限,HVNC通常包括確保即使在系統重新啟動或嘗試將其刪除后仍保持活動狀態的機制;數據盜竊,HVNC的主要目的是從個人、員工的計算機中竊取敏感信息,例如登錄憑據、個人數據、虛擬資產、財務信息或其他有價值的數據;遠程控制:HVNC允許網絡犯罪分子遠程控制計算機,使他們能夠完全訪問系統。盡管Mac歷來較少成為網絡犯罪分子的目標,但攻擊者現在正在開發更多的macOS惡意軟件,注意風險。[2023/8/3 16:15:19]
之后攻擊者開始向Cream的crYUSD借貸池中抵押其獲得yUSD憑證,為了擴大其抵押規模,攻擊者從AAVE閃電貸借出約52.4萬個WETH,并將其抵押到Cream的crETH池子中。
慢霧:昨日MEV機器人攻擊者惡意構造無效區塊,建議中繼運營者及時升級:金色財經報道,慢霧分析顯示,昨日MEV機器人被攻擊的問題原因在于即使信標區塊不正確,中繼仍將有效載荷(payload)返回給提議者,導致了提議者在另一個區塊被最終確定之前就能訪問區塊內容。攻擊者利用此問題,惡意構造了無效的區塊,使得該區塊無法被驗證,中繼無法進行廣播(狀態碼為202)從而提前獲得交易內容。mev-boost-relay昨日已緊急發布新版本緩解此問題,建議中繼運營者及時升級中繼。
據此前報道,昨日夾擊MEV機器人的惡意驗證者已被Slash懲罰并踢出驗證者隊列。[2023/4/4 13:43:37]
攻擊者通過在crETH池子中抵押大量ETH,來使得其有足夠的借貸能力將crYUSD池子中的yUSD全部借出并重復抵押到crYUSD池子中,隨后通過在crYUSD池子中進行循環貸以杠桿的形式擴大了本身在crYUSD池子中yUSD的抵押規模,為后續操控價格獲利做準備。
聲音 | 慢霧科技余弦:安全是這個加密貨幣領域生態的關鍵基礎設施之一:慢霧科技聯合創始人余弦在微博上稱,加密貨幣領域的大小會議,常見的一個話題是“如何看待未來或未來應該看什么”,除了價值提升、應用落地這些大話題及拆分出來的一堆小話題,安全很少被特別展開提及,我想表達的是:未來,攻防對抗會持續加劇(不會減弱),安全是這個生態的關鍵基礎設施之一,在這個基礎設施之上,安全衍生品可以創造更大價值,到用戶層面安全盡量做到很有安全感且自然而然的無感。[2019/10/8]
隨后為了獲得yDAI/yUSDC/yUSDT/yTUSD4Pool憑證以操控價格,攻擊者用約1,873個ETH從UniswapV3中兌換出約745萬個USDC,并通過Curve3Pool將其兌換成DUSD代幣約338萬個。
接下來攻擊者通過獲得的DUSD代幣從YVaultPeak中贖回yDAI/yUSDC/yUSDT/yTUSD4Pool憑證,并利用此憑證從yUSD(yvWBTC)池子中取回yDAI/yUSDC/yUSDT/yTUSD代幣。
聲音 | 慢霧安全團隊:門羅幣不小心創造了一個網絡和平世界:據火訊財經報道,慢霧安全團隊表示:“門羅幣不小心創造了一個網絡和平世界,因為其CPU/GPU算力友好,對抗職業礦機(比如ASIC芯片),且門羅是最早的一批,算是匿名幣的龍頭,地下黑客入侵大量服務器,以前是勒索、竊取機密,現在大規模做CPU挖礦,所發布的典型蠕蟲病修補了相關漏洞入口,殺掉了蠕蟲對手,安全加固了相關機制,然后它僅挖礦,不少企業入侵事件的發現不是因為發現蠕蟲,而是發現服務器或主機卡了,這些蠕蟲挖的主要就是門羅。”[2018/7/3]
隨后攻擊者開始進行此次攻擊的關鍵操作,其將約843萬個yDAI/yUSDC/yUSDT/yTUSD代幣直接轉回yUSD池子中,由于其不是通過正常抵押操作進行抵押的,所以這843萬個yDAI/yUSDC/yUSDT/yTUSD代幣并沒有被單獨記賬,而是直接分散給了yDAI/yUSDC/yUSDT/yTUSD憑證的持有者,這相當于直接拉高了其share的價格。
在crToken中由于其抵押物價格被惡意拉高了,因此攻擊者抵押的大量yUSD可以使其借出更多的資金,最后攻擊者將Cream的其他15個池子全部借空。接下來我們跟進Cream的crToken借貸池中具體借貸邏輯。
從cToken合約中我們可以看到,主要借貸檢查在borrowAllowed函數中:
我們跟進borrowAllowed函數,可以看到在427行,其會根據getHypotheticalAccountLiquidityInternal函數檢查實時狀態下的該賬戶所對應的所有cToken的資產價值總和和借貸的資產價值總和,并通過對比cToken的資產價值和借貸的Token價值和,來判斷用戶是否還可以繼續借貸。
我們跟進getHypotheticalAccountLiquidityInternal函數,可以發現對于抵押物的價值獲取來自886行的oracle.getUnderlyingPrice。
我們跟進預言機的getUnderlyingPrice函數,可以容易的發現其將通過代幣150行的getYvTokenPrice函數進行價格獲取。
繼續跟進getYvTokenPrice函數,由于yvTokenInfo.version為V2,因此將通過yVault的pricePerShare函數進行價格獲取。
跟進pricePerShare可以發現其直接返回了_shareValue作為價格,而_shareValue是通過_totalAssets除合約的總share數量(self.totalSupply)來計算單個share的價格的。因此攻擊者只需要操控_totalAssets將其拉高就可以提高單個share的價格從而使得攻擊者的抵押物價值變高以借出更多的其他代幣。
我們可以查看下_totalAssets是如何獲取的,從772行我們可以很清晰的看到,_totalAssets是直接取的當前合約的yDAI/yUSDC/yUSDT/yTUSD代幣數量,以及抵押在策略池中的資產數額相加獲得的。因此攻擊者通過直接往yUSD合約中轉入yDAI/yUSDC/yUSDT/yTUSD代幣就可以拉高share價格從而完成獲利。
通過Ethtx.info可以清晰的看到pricePerShare前后變化:
最后攻擊者在借空其他池子后歸還了閃電貸獲利離場。
總結
本次攻擊是典型的利用閃電貸進行價格操控,由于Cream的借貸池在獲取yUSD池子share價格時直接使用了其pricePerShare接口,而此接口是通過合約的抵押物余額與策略池抵押資產數額相加除總share數來計算單個share的價格的。因此用戶直接往yUSD轉入抵押物就可以很容易的拉高單個share價格,最終使得Cream借貸池中抵押物可以借出更多的資金。
附:前兩次CreamFinance被黑分析回顧
慢霧:CreamFinance被黑簡要分析
王者開局偶遇豬隊友——簡析AlphaFinance&Cream被黑
鏈捕手消息,算法穩定幣協議UXDProtocol完成300萬美元種子輪融資,MulticoinCapital領投.
1900/1/1 0:00:00鏈捕手消息,分布式無線網絡Helium?已與物聯網科技公司Actility建立漫游集成合作伙伴關系,將為物聯網設備帶來低成本的全球化網絡覆蓋.
1900/1/1 0:00:00鏈捕手消息,區塊鏈媒體Decrypt宣布推出媒體DAOPubDAO,該組織由Decrypt和TheDefiant、ACJR以及來自FriendswithBenefits、Gitcoin、Coll.
1900/1/1 0:00:00鏈捕手消息,三箭資本聯合創始人KyleDavis及首席執行官ZhuSu轉發VincentVanDough推文.
1900/1/1 0:00:00鏈捕手消息,GoodGamesGuild宣布完成170萬美元種子輪和私募輪融資,投資方包括OKExBlockdreamVentures、MapleBlockCapital、LDCapital、B.
1900/1/1 0:00:00鏈捕手消息,針對此前被攻擊至少致3500萬美元被盜一事,Avalanche生態跨鏈借貸協議Vee.Finance更新進展稱,Vee.Finance已向美國當地警察局提交報告.
1900/1/1 0:00:00