By:慢霧安全團隊
背景
2020年12月18日,據慢霧區情報DeFi項目WarpFinance遭受閃電貸攻擊。以下是慢霧安全團隊對整個攻擊流程的詳細分析。
攻擊過程分析
(分析過程較多,快速了解攻擊思路可以直接查看下方完整攻擊流程部分)
1、通過攻擊交易可以看出攻擊者通過Uniswap和dydx閃電貸借出了約290萬DAI和34
通過以上代碼第11行我們可以看到合約通過collateralizedLP記錄了攻擊者抵押的LPToken的數量。
4、之后攻擊者的操作是本次攻擊最關鍵的一步:攻擊者通過Uniswap的WETH-DAI交易對將大約34萬的WETH兌換成約4762萬DAI,此時WETH-DAI池子中約剩下有43
2)從上方代碼第3、4行,我們可以發現WarpControl合約是通過getBorrowLimit函數來獲得用戶可以借出穩定的數量,接下來我們具體看getBorrowLimit函數:
*
functiongetBorrowLimit(address_account)publicreturns(uint256){uint256availibleCollateralValue=getTotalAvailableCollateralValue(_account);returncalcBorrowLimit(availibleCollateralValue);}
觀點:區塊鏈采用增長速度已經遠超互聯網:5月8日消息,專注于StarkNet的用戶odin-free.eth表示,區塊鏈采用增長速度已經遠超過互聯網。互聯網的年增長率為85%,而區塊鏈的年增長率為165%。這是人類歷史上技術采用的最高點。此外他還表示,如果通貨膨脹上升,ETH就會上漲。[2022/5/8 2:58:43]
3)通過分析我們可以發現getBorrowLimit函數先通過getTotalAvailableCollateralValue函數計算出availibleCollateralValue,再將計算結果作為參數傳入calcBorrowLimit函數中,最后返回具體的數量。我們先分析getTotalAvailableCollateralValue函數:
functiongetTotalAvailableCollateralValue(address_account)publicreturns(uint256){//getthenumberofLPvaultstheplatformhasuint256numVaults=lpVaults
//returntotalUSDCvalueofallcollateralreturntotalCollateral
調查:57%的日本企業正考慮采用區塊鏈:金色財經報道,區塊鏈業務咨詢公司CryptoPie在今年3月8日至4月30日期間對125家日本公司進行的調查顯示,57%的日本企業正在考慮采用區塊鏈。但大多數企業擔心,在區塊鏈解決方案的開發和應用方面,日本已經落后于其他國家。24%的公司表示,他們已經引入了區塊鏈解決方案,或正在進行概念驗證或進行涉及區塊鏈技術的試點項目。近44%的受訪者表示,他們對未來能否真正實現區塊鏈解決方案存在一定程度的不確定性。三分之一的公司表示,他們看不到實施區塊鏈解決方案的好處。只有11%的公司表示,他們可以想象區塊鏈技術會對他們的財務業績產生直接影響。受訪者還指出了他們認為可能阻礙區塊鏈相關進展的障礙,其中三分之一的受訪者聲稱盈利能力是一個障礙,19%表示“部門間對區塊鏈技術理解不足”可能會阻礙采用,半數公司認為日本的區塊鏈意識比其他國家要低,只有14%認為日本在該方面領先于其他國家。[2020/5/23]
4)對getTotalAvailableCollateralValue函數進行具體的分析我們可以看到此函數通過for循環來獲得DAI、USDT、USDC的可借數量總和。我們可以發現在for循環的邏輯中通過Oracle
通過以上代碼我們可以知道LP價格是如何得出的,以WETH-DAI池為例:其通過池子中WETH的數量乘WETH的價格加上池子中DAI的數量乘DAI的價格最后除以池子總的LPToken數量即可得到單個LPToken的價格。具體計算算式如下所示:
動態 | 立陶宛計劃采用的加密法規將比歐盟第五項反洗錢指令更嚴格:據Bitcoin消息,立陶宛財政部金融市場政策司司長Sigitas Mitkus強調,通過對金融業務實施某些限制,立陶宛當局擬定的法律修正案比歐盟第五項反洗錢指令更為嚴格。立陶宛很可能成為世界上第一個實施FATF建議的國家,不僅將這些要求應用于將加密貨幣與傳統貨幣交易,也將這些要求應用于加密貨幣之間的交易。[2019/4/14]
通過以上分析我們可以知道WETH的價格和DAI的價格獲取是正常的,無法被惡意操縱,因此我們可以大膽猜測:攻擊者通過將巨量的WETH打入WETH-DAI池子中換取DAI,這時候池子中WETH的數量將大大的增加,而由于滑點的存在,這種巨量兌換操作必然是會虧損一大部分WETH的。所以我們再看上面LP單價的計算方式,由于WETH數量的大大增加,在巨量兌換后池子中WETH數量*WETH價格池子中DAI數量*DAI價格將遠大于巨量兌換前的,也就是池子的總價值大大增加了。所以LP的單價也隨之提高了,因此攻擊者就可以通過其抵押的LPToken借出更多的穩定幣了。
分析思路驗證
我們可以借助Ethtx.info來驗證我們的猜測是否正確:
荷蘭財政部長:加密貨幣需采用國際方式監管 提出“四部分”措施控制風險:15日消息,近日荷蘭財政部長Wopke Hoekstra(基督教民主黨)就加密貨幣的監督和管控問題向荷蘭議會發表了一份六頁長的信件。 財政部長解釋說,虛擬貨幣缺乏由政府發行貨幣所能提供的基本擔保,他還擔心如果發生了如黑客入侵或盜竊等“不守信用”的行為,我們并沒有通過中心化發行人來追索的權利。他強調了對洗錢和恐怖分子利用加密貨幣的擔憂。為控制加密貨幣的風險,Hoekstra提出了一個包含“四部分”措施的方法:必須對消費者和投資者保護之間的分歧進行管控,但措施必須是相稱的。必須保證金融體系的完整性。必須保留加密貨幣背后的創新性技術,例如密碼學和分布式賬本技術(DLT)。加密貨幣跨境的性質需要在國際層面尋求一種解決方法。[2018/3/15]
https://ethtx.info/mainnet/0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090
1、通過上文中第4點分析我們可以知道:攻擊者通過Uniswap的WETH-DAI交易對將大約34萬的WETH兌換成約4762萬DAI,此時WETH-DAI池子中約剩下有43.6萬枚WETH和1328.8萬枚DAI,而在此之前池子里約有9.5萬枚WETH和6091萬枚DAI。
莫斯科市采用以太坊區塊鏈技術進行投票 使其國家民主可以更加透明:莫斯科市采用以太坊區塊鏈技術進行投票,使其國家民主可以更加透明。利用現有的一個名為Active Citizen的項目,莫斯科市已經允許居民對一系列措施進行廣泛的投票,包括了從他們新的地鐵列車的名字,到新的體育場館的座位顏色。但是為了緩解人們對于是否信任這座城市的選票計數的擔憂,政府在該項目的架構中添加了一個 以太坊區塊鏈的私有版本。[2018/2/22]
2、我們可以在Ethtx.info發現在兌換前WETH-DAI池子的LPToken單價為58815427。
巨量兌換后WETH-DAI池子的LPToken單價為135470392。
我們可以看到由于WETH數量的增加造成兌換后池子的總價值幾乎翻倍了,因此單個LPToken在Warp中可借出的穩定幣就更多了。
3、接下里如我們猜測的那樣攻擊者在拉高LPToken的價格后通過WarpControl合約的borrowSC函數分別借出DAI和USDC。
4、最后在Uniwsap的WETH-DAI池子總歸還DAI,重新拿回34萬枚WETH完成攻擊操作。最后只需按部就班的歸還閃電貸即可獲利。
完整的攻擊流程如下
1、攻擊者部署攻擊合約,并通過dydx與Uniswap閃電貸借出DAI和WETH。
2、攻擊者拿出一小部分的DAI和WETH在Uniswap的WETH-DAI池中添加流動性,并獲取LPToken。
3、攻擊者使用添加流動性獲取的LPToken抵押到WarpFinance中,為借出穩定幣做準備。
4、攻擊者利用巨量的WETH在Uniswap兌換成DAI來拉高WETH-DAI池子的總價值,使得WarpFinance中LPToken的單價變高。(注意這里WETH和DAI價格獲取是正確的并沒有被操縱,被操縱的是WETH的數量,通過增加WETH的數量來拉高池子的總價值)。
5、由于LPToken的單價變高,導致攻擊者抵押的LPToken可以借出更多的穩定幣來進行獲利。
總結
本次攻擊的本質是通過操縱LPToken的單價來獲取更多的穩定幣可借貸數量進行獲利的。這是由于在WarpFinance中LPToken的價格是通過LP池子的總價值除以LPToken的總數量得到的,雖然代幣價格獲取正確,但代幣數量是可被操縱的,因此LP的單價就是可被操縱的,這就形成了攻擊的必要條件了。最終項目方損失約800萬美元,但攻擊者抵押的LP也留在了Vault中,如果抵押的這部分LP后續可被清算的話可以一定程度上的彌補項目方的損失。
相關參考鏈接如下:
Uniswap預言機實現介紹:
https://uniswap.org/docs/v2/core-concepts/oracles/
本次分析的攻擊交易:
https://etherscan.io/tx/0x8bb8dc5c7c830bac85fa48acad2505e9300a91c3ff239c9517d0cae33b595090
往期回顧
HackingTime區塊鏈安全攻防峰會第二期來啦!
以小博大,簡析SushiSwap攻擊事件始末
假錢換真錢,揭秘PickleFinance被黑過程
閃電貸重入攻擊,OUSD損失700萬美金技術簡析
如何使用閃電貸從0撬動百萬美元?ValueDeFi協議閃電貸攻擊簡要分析
慢霧導航
慢霧科技官網
https://www.slowmist.com/
慢霧區官網
https://slowmist.io/
慢霧GitHub
https://github.com/slowmist
Telegram
https://t.me/slowmistteam
https://twitter.com/@slowmist_team
Medium
https://medium.com/@slowmist
幣乎
https://bihu.com/people/586104
知識星球
https://t.zsxq.com/Q3zNvvF
火星號
http://t.cn/AiRkv4Gz
鏈聞號
https://www.chainnews.com/u/958260692213.htm
本文來源于非小號媒體平臺:
慢霧科技
現已在非小號資訊平臺發布68篇作品,
非小號開放平臺歡迎幣圈作者入駐
入駐指南:
/apply_guide/
本文網址:
/news/9558996.html
免責聲明:
1.資訊內容不構成投資建議,投資者應獨立決策并自行承擔風險
2.本文版權歸屬原作所有,僅代表作者本人觀點,不代表非小號的觀點或立場
上一篇:
幣安為何推出第三條鏈?這對BNB意味著什么?
縱論Defi世界的方向:比特傻今夜喝醉,想起昨夜和友人的縱論天下defi大勢,諸君請看:真實世界中最大的金融業態:央行,銀行,資管,借貸,保險,交易。我們注意對應defi世界看看.
1900/1/1 0:00:00前言:周末看了一本書《非對稱風險》,本書的作者納西姆·塔勒布,原書名《Skininthegame》,塔勒布是我們這個時代偉大的思想者之一,塔勒布傾其一生研究不確定性、概率和知識的問題.
1900/1/1 0:00:0012月16日下午,由Candaq、MXC極域、鏈讀、PolkaBase聯合主辦,ZT總冠名的國內首次「波卡生態海外項目專場見面會」在杭州如期舉辦。本次活動是國內首次以海外波卡生態為主題的分享會.
1900/1/1 0:00:00Unisave創始人小島談該項目在提高資金利用率和降低滑點方面的探索。原文標題:《資金利用率低?交易滑點大?看看Unisave是怎么對Unisawp進行優化的|火花訪談》撰文:X-Order&a.
1900/1/1 0:00:00如今的鏈圈幣圈,言必稱「去中心化」,甚至把它作為判斷區塊鏈技術項目的唯一標準。其實,「去中心化」絕非金科玉律,它與「中心化」反而是孿生相對的關系.
1900/1/1 0:00:00GlobalCoinResearch每周發布兩次亞洲區塊鏈市場新聞Newsletter,該公司是一家專注于亞洲區塊鏈市場及技術的投研公司.
1900/1/1 0:00:00