北京時間2021年8月4日早上6點,PopsicleFinance項目下的多個機槍池被攻擊,損失金額超過兩千萬美元,是迄今為止DeFi領域發生的損失數額最大的單筆攻擊之一。通過分析攻擊交易及項目代碼我們發現,此次攻擊是一個利用項目的記賬漏洞進行多次提取的攻擊。下面我們通過代碼和攻擊流程分析此次攻擊。代碼分析
PopsicleFinance是一個涉及多個鏈的機槍池。用戶首先調用deposit函數向機槍池存入一定的流動性,并獲得PopsicleLPToken作為存款的份額證明。PopsicleFinance會將用戶提供的流動性存入Uniswap等底層池子并獲得收益。
用戶還可以調用withdraw函數,根據用戶持有的PLPToken所代表的流動性份額,從機槍池取回流動性。PopsicleFinance會將PLPToken對應的流動性從Uniswap等底層池子中取回給用戶。
Michael Saylor:監管機構已經得出結論,大多數加密代幣是未注冊的證券:金色財經報道,Micro Strategy聯合創始人兼執行主席Michael Saylor在接受采訪時表示,監管機構反對穩定幣有效地允許數十億美元在 \"暗池 \"中流通,從而逃避銀行系統的控制和制裁。穩定幣對他們來說是個問題,我不認為他們會改變自己的觀點。
Saylor認為,監管機構已經得出結論,大多數加密代幣是未注冊的證券,被其發行人操縱,他們沒有發布關于這些資產的適當披露信息。此外,FTX的崩潰是一個催化事件,使監管機構決定,加密貨幣交易所、加密貨幣證券和穩定幣并不真正符合一個穩定的世界金融體系。
但Saylor認為,一旦監管機構清理 了加密貨幣行業,比特幣將受益。[2023/5/24 15:21:51]
最后,用戶在機槍池中存的流動性會隨著時間產生一定的收益,會累計在合約的用戶狀態中。用戶可以調用collectFees函數取回部分存款獎勵。
OpenSea官網出現BUG,CryptoPunks24小時交易量錯誤顯示為“10億ETH”:1月7日消息,OpenSea官網“Collectionstats”頁面出現BUG,CryptoPunks系列NFT24小時交易量錯誤顯示為“10億ETH”,交易量24小時增幅錯誤顯示為“999%”,目前該統計BUG仍未修復。[2023/1/7 11:00:06]
本次攻擊的核心函數正是collectFees函數。下面我們逐步分析其代碼。首先獲得存儲在userInfo中的用戶狀態。其中用戶狀態中的token0Rewards和token1Rewards是由于用戶存款而累積的獎勵。接下來計算該合約中,對應機槍池的Token對的Balance。如果在合約中有足夠的Balance,就按金額將Reward支付給用戶;否則會調用pool.burnExactLiquidity從底層pool取回流動性返回給用戶。最后,會將記錄在userInfo中的Rewards狀態進行更新。看到這里,機槍池的代碼實現還是比較符合邏輯的。但是在函數開頭我們發現了updateVaultmodifier,這個函數會在collectFees的函數體之前運行,漏洞也許在updateVault相關的函數中。
外媒:加密行業參與者向美國政客捐贈8410萬美元,其中84%來自SBF和FTX高管:金色財經報道,截至10月中旬,加密行業參與者向美國政客捐贈了8410萬美元,但其中大部分金額,約84%來自SBF和其他FTX的高管。
在FTX申請破產后,伊利諾伊州參議員Richard Durbin和俄克拉荷馬州共和黨眾議員Kevin Hern在內的幾位國會議員表示,他們將退還FTX高管的捐款或將錢交給慈善機構。(彭博社)[2022/11/27 21:05:18]
以上是updateVault相關函數的實現。過程如下:首先調用_earnFees向底層pool獲取積累的Fee;隨后調用_tokenPerShare更新token0PerShareStored和token1PerShareStored參數,這兩個參數代表了池子中每個share代表的token0和token1的數量,即機槍池的每個份額計代表的Token對數量;最后調用fee0Earned和fee1Earned更新對應到這個用戶的存款Rewards。
Edge & Node聯合創始人:熊市正是建設的好時機:7月22日消息,The Graph背后團隊Edge & Node的聯合創始人Tegan Kline表示,“在區塊鏈領域里還可以創造更多的東西,好消息是社區成員知道它們是什么。”Kline提到Layer 2、多鏈聚合、橋接技術、托管和DAO等一些開發中的東西。他還表示區塊鏈可以影響社交媒體的發展。
Kline談到了加密冬天,并就市場下跌時社區成員應該關注的問題提出建議,社區應該堅持其核心價值觀,并保持提供真正解決方案的決心。“我們一起經歷了市場低迷,我們都會變得更加強大。我們都支持彼此的項目,并且存在持續培育生態系統的良性循環。”
Kline還強調,加密冬天為建設者提供機會。這是因為熊市期間噪音較小,因此Kline稱之為“建設者的天堂”。“社區將埋頭苦干,專注于建設。只有堅定的創始人和社區成員會留下來,這最終會成為一個很好的過濾器。出于這個原因,有些人甚至歡迎熊市。”
他指出,“不要坐等復蘇發生:繼續建設,專注于核心任務,記住我們現在正在為下一次復蘇奠定基礎。”(Cointelegraph)[2022/7/22 2:31:27]
ETH礦工收入達到 10 個月低點:金色財經消息,據Glassnode數據顯示,Ethereum礦工收入剛剛達到10個月低點,數值為1,089,918.81美元。此前的10個月低點是在2021年7月21日觀察到的,數值為1,093,230.25美元。[2022/5/21 3:32:44]
以上是fee0Earned和fee1Earned函數的實現,兩個函數實現相同,都實現了這樣一個公式:user.token0Rewards+=PLP.balanceOf(account)*(fee0PerShare-user.token0PerSharePaid)/1e18也就是說,該函數會在原有的user.token0Rewards基礎上,根據用戶擁有的PLPToken數量計算應給用戶發放的Fee的份額。但我們注意到這個函數是增量的,也就是說即使用戶并沒有持有PLPToken,該函數仍會返回保存在user.token0Rewards中記賬的存款獎勵。因此對于整個合約,我們發現兩個重要的邏輯缺陷:用戶的存款獎勵是記錄在user.token0Rewards和user.token1Rewards中的,并不與任何PLPToken或其他東西有任何形式的綁定。用于取回存款收益的collectFees函數僅僅依賴于記賬的user.token0Rewards和user.token1Rewards狀態,即使用戶并未持有PLPToken,仍可以取出對應的存款獎勵。我們假想一個攻擊流程:攻擊者向機槍池中存入一定的流動性,獲得一部分PLPToken。攻擊者調用collectFees(0,0),后者會更新攻擊者的存款獎勵,即狀態變量user.token0Rewards的值,但并沒有真正取回存款獎勵。攻擊者將PLPToken轉給自己控制的其他合約,再調用collectFees(0,0)更新狀態變量user.token0Rewards。也就是說通過不斷地流轉PLPToken并調用collectFees(0,0),攻擊者復制了這些PLPToken對應的存款獎勵。最后,攻擊者從以上各個地址調用collectFees函數,取回真正的獎勵。此時雖然這些賬戶中并沒有PLPToken,但由于記賬在user.token0Rewards沒有更新,攻擊者因此得以取出多份獎勵。用現實生活中的例子來描述這個攻擊,相當于我向銀行存錢,銀行給了我一張存款憑證,但這張憑證沒有防偽措施也沒有和我綁定,我把憑證復印了幾份發給不同的人,他們每個人都憑借這個憑證向銀行取回了利息。攻擊流程分析
通過以上的代碼分析,我們發現了PopsicleFinance在機槍池實現上的漏洞。下面我們對攻擊交易進行深入分析,看攻擊者是怎樣利用這個漏洞的。攻擊者的總體流程如下:攻擊者創建了三個交易合約。其中一個用于發起攻擊交易,另外兩個用于接收PLPToken并調用PopsicleFinance機槍池的collectFees函數取回存款獎勵。通過閃電貸從AAVE借出大量流動性。攻擊者選擇了PopsicleFinance項目下的多個機槍池,向AAVE借出了對應這些機槍池的六種流動性。進行Deposit-Withdraw-CollectFees循環。攻擊者一共進行了8次循環,分別攻擊了PopsicleFinance項目下的多個機槍池,取出了大量流動性。向AAVE歸還閃電貸,并將獲利通過TornadoCash洗錢。
本次攻擊交易主要由數個Deposit-Withdraw-CollectFees循環構成,每一個循環的示意圖如上圖所示。根據我們的分析,邏輯如下:攻擊者首先將閃電貸借來的流動性存入機槍池中,獲得一定量的PLPToken。攻擊者將PLPToken轉給攻擊合約2。攻擊合約2調用機槍池的collectFees(0,0)函數,設置合約2對應的user.token0Rewards和user.token1Rewards狀態。攻擊合約2將PLPToken轉給攻擊合約3。和攻擊合約2的操作類似,攻擊合約3調用機槍池的collectFees(0,0)函數,設置合約2對應的user.token0Rewards和user.token1Rewards狀態。攻擊合約2將PLPToken轉回攻擊合約,后者調用機槍池的withdraw函數Burn掉PLPToken,取回流動性。攻擊合約2和攻擊合約3調用collectFees函數,用虛假的tokenRewards狀態取回了存款獎勵。根據我們的以太坊交易追蹤可視化系統給出的交易調用圖如下,其中部分重要交易用紅字進行標注:利潤分析
本次攻擊一共獲利:2.56kWETH,96.2WBTC,160kDAI,5.39mUSDC,4.98mUSDT,10.5kUNI,獲利共計超過20,000,000美元。在此次攻擊之后攻擊者通過首先通過Uniswap和WETH將攻擊獲得的其他token全部換成ETH,然后通過多次使用Tornado.Cash將ETH洗白。BlockSec團隊以核心安全技術驅動,長期關注DeFi安全、數字貨幣反洗錢和基于隱私計算的數字資產存管,為DApp項目方提供合約安全和數字資產安全服務。團隊發表20多篇頂級安全學術論文(CCS,USENIXSecurity,S&P),合伙人獲得AMiner全球最具影響力的安全和隱私學者稱號(2011-2020排名全球第六).研究成果獲得中央電視臺、新華社和海外媒體的報道。獨立發現數十個DeFi安全漏洞和威脅,獲得2019年美國美國國立衛生研究院隱私計算比賽(SGX賽道)全球第一名。團隊以技術驅動,秉持開放共贏理念,與社區伙伴攜手共建安全DeFi生態。掃描二維碼,關注更多精彩https://www.blocksecteam.com/contact@blocksecteam.com
Tags:TOKTOKENTOKEKENitokenwallet怎么賣幣Tvt TokenGive TokenKeys Token
NFT是一個新興的令人興奮的市場,去中心化自治組織DAO同樣非常年輕,二者的結合NFT+DAO是一個新鮮且涵蓋非常廣泛的賽道.
1900/1/1 0:00:00Odaily星球日報譯者|念銀思唐 摘要: -加密稅務和會計軟件公司TaxBit完成1.3億美元的B輪融資,成功躋身獨角獸行列.
1900/1/1 0:00:00Odaily星球日報譯者|念銀思唐 摘要: -印度社交平臺Hike在2016年以14億美元的估值融資1.75億美元。-盡管無法通過運營產生收入,但該公司已經成為印度發展最快的獨角獸之一.
1900/1/1 0:00:00傳統游戲爆火的背后,離不開精美的畫面與嚴密有趣的游戲邏輯思維。以陰陽師為例,它以日本鬼怪小說為原型創造人物,玩家通過收集卡牌來闖關,贏得戰斗,在一眾手游里獨得年輕人的喜愛,無論是其周邊產品還是聯.
1900/1/1 0:00:00頭條 中東石油巨頭沙特阿美否認將開展比特幣挖礦活動中東石油巨頭沙特阿拉伯國家石油公司否認關于公司參與比特幣挖礦活動的報道.
1900/1/1 0:00:00Odaily星球日報譯者|念銀思唐 摘要: -NFT處于Gartner2021年新興技術炒作周期的頂點。-該行業繼續發展壯大,預計本季度將有更多破紀錄的統計數據.
1900/1/1 0:00:00