0x01:前言
援引官方消息,北京時間12月19日,Fantom鏈上復合收益平臺GrimFinance遭遇了閃電貸攻擊。知道創宇區塊鏈安全實驗室第一時間對本次事件深入跟蹤并進行分析。
0x02:事件詳情
交易細節如下圖所示:
瀏覽上圖的交易過程可知,攻擊合約利用閃電貸借取代幣WFTM和BTC,將借取的代幣與自己鑄造的代幣質押到SpiritSwap里增加流動性獲取lp代幣,而問題就出現在攻擊者通過depositFor()實現質押的過程中。
通過Tenderly調試該筆交易,攻擊者多次遞歸調用depositFor函數,利用該函數獲取大量代幣:
研究:分布式賬本技術可用于不同CBDC賬本之間的跨境、跨貨幣支付:金色財經報道,根據新加坡金融管理局和紐約聯邦儲備銀行的研究,分布式賬本技術可用于不同CBDC賬本之間的跨境、跨貨幣支付,降低結算風險并縮短結算時間。實驗在測試環境中進行,假設的支付使用模擬的批發中央銀行數字貨幣進行結算。這些團隊將不同的中央銀行貨幣分類賬相互關聯,為各自中央銀行的每個分類賬的設計和操作提供了靈活性。這使得支付能夠在多個分類賬上安全地執行,而不需要中央清算機構或建立共享的中央網絡。
紐約聯儲市場部負責人 Michelle Neal 表示,我們與 MAS 的研究合作揭示了中央銀行創新的關鍵機會,可以在緩解全球批發支付流程和改善結算結果方面發揮重要作用。[2023/5/22 15:17:44]
Voyager已獲得法院批準以13億美元的價格將資產出售給Binance US:金色財經報道,Voyager已獲得法院批準以13億美元的價格將資產出售給Binance US,據路透社稱,作為收購的一部分,Binance US還將在購買客戶數字資產的基礎上向Voyager支付2000萬美元現金。Voyager表示其客戶資產在2月份的估值為13億美元,占此次收購估值的大部分。Voyager的財務顧問此前在法庭上表示,該公司需要長達四個星期的時間來審查Binance收購的細節,在此期間Voyager 仍然可以拒絕該收購提議。(forkast)[2023/3/8 12:50:13]
0x03:漏洞分析
depositFor()函數位于的第1115行:
function?depositFor(address?token,?uint?_amount,address?user?)?public?{
《黑天鵝》作者:比特幣未能實現其成為去中心化貨幣和價值存儲的目標:金色財經報道,《黑天鵝》的著名作者Nassim Nicholas Taleb最近在接受采訪時分享了他對比特幣的看法,將其描述為“低能者的探測器”。 Taleb認為,比特幣未能實現其成為去中心化貨幣和價值存儲的目標。 根據Taleb的說法,它容易受到通貨膨脹的影響,無法防范黑天鵝事件。[2023/1/5 9:52:52]
?uint256?_pool?=?balance();
?IERC20(token).safeTransferFrom(msg.sender,?address(this),?_amount);
?earn();
?uint256?_after?=?balance();
Meta正在測試讓用戶使用他們的Facebook帳戶創建多個檔案資料:金色財經報道,Meta正在測試讓用戶使用他們的Facebook帳戶創建多個檔案資料。這是該公司鼓勵在其社交網絡上發帖和分享的最新嘗試,但不會改變他們計算用戶總數的方式。(彭博社)[2022/7/15 2:16:19]
?_amount?=?_after.sub(_pool);?//?Additional?check?for?deflationary?tokens
?uint256?shares?=?0;
?if?(totalSupply()?==?0)?{
??shares?=?_amount;
?}?else?{
??shares?=?(_amount.mul(totalSupply())).div(_pool);
英格蘭銀行副行長:加密貨幣必須建立明確的監管框架:7月13日消息,英格蘭銀行(Bank of England)副行長Jon Cunliffe將加密貨幣市場比作一架不安全的飛機,“人們不會在不安全的飛機上待太久。需要一個明確的加密貨幣監管框架來解決與市場低迷相關的風險。加密貨幣技術提供了真正的金融創新。然而,成功和可持續的創新需要一個可靠管理風險的框架。”
早些時候,他表示,“加密貨幣也需要在傳統金融市場層面進行監管。在傳統金融市場中,存在保護投資者免受無法彌補損失的監管。”(Cointelegraph)[2022/7/13 2:09:07]
?}
?_mint(user,?shares);
}
該函數的safeTransferFrom()方法從IERC20(token)調用,調用完該方法后,余額balance也會隨之變動,最后通過_mint()方法向用戶添加質押憑證代幣。其中調用的變量token可控,導致攻擊者可以自己實現safeTransferFrom()方法,將該方法重入到depositFor()發起攻擊。
以實施了5次重入攻擊為例,開始_pool的值為0,在重入depositFor方法的前四次里,攻擊者一直傳入自己鑄造的代幣,_pool的值會一直保持為0,但在第五次,也就是最后一次傳入100個受認可的代幣時,_after的值會變成100,而_afer-_pool的差值_amount也就是100,最后由于重入了5次,導致合約會向攻擊者鑄造100*5的質押憑證代幣。
其后果就是攻擊者向該合約質押自己鑄造不受認可的代幣,同樣會增加質押總量,最后利用多出來的質押憑證實現套利。
0x04:修復方案
1.由于depositFor()方法里的token可控才是導致這次攻擊事件的原因,因此只需要在傳遞參數的時候讓token不可控就行:
function?depositFor(?uint?_amount,address?user?)?public
2.由于套利的原因是depositFor()方法里存在修改代幣數量的函數,因此還可以將修改代幣的方法單獨實現,這樣即使token變量可控,也無法成功套利:
function?depositFor(address?token,?uint?_amount,address?user?)?public?{
?IERC20(token).safeTransferFrom(msg.sender,?address(this),?_amount);
}
3.鎖定交易token:
function?setLPToken(address?lp)?public?onlyOwner?{
lpToken?=?lp;
}
function?depositFor(uint?_amount,address?user?)?public?{
uint256?_pool?=?balance();
IERC20(lpToken).safeTransferFrom(msg.sender,?address(this),?_amount);
earn();
......
}
0x05:總結
經過完整分析,知道創宇區塊鏈安全實驗室明確了該次攻擊事件的源頭并非網傳的閃電貸攻擊,攻擊者利用GrimBoostVault合約的depositFor方法參數可控,實施了重入攻擊,將自己的鑄造的無價值代幣兌換成了質押憑證,最后通過withdrawAll方法實現套利,而閃電貸?攻擊者只是利用閃電貸擴大了套利值。
對于合約代碼而言安全性是十分重要的,每一個未經驗證的傳入參數都可能導致巨大的經濟損失,開發者在編寫重要操作方法時,須記住零信任原則,謹慎對待每一個傳入參數。
來源:金色財經
Tags:FORTOKTOKERESBrother Music PlatformPEL TokenGoFit TokenThreshold Network
行情分析 BTC-比特幣 現在的行情還是比較好拿捏的,昨天BTC最低跌到了48000美刀附近,目前已經形成一個上漲趨勢,突破這筆日線下降趨勢,上方目標依然熳53000美刀左右位置.
1900/1/1 0:00:00自從今年8月入駐迪拜,并建立全球運營中心以來,虎符在國際上的聲量越發響亮。與此同時,虎符不斷地強調自己的核心邏輯:讓一部分人先看到投資機會.
1900/1/1 0:00:00寫在前面: 最近人民日報公布了21年十大網絡用語,其中“元宇宙”赫然在列,本應屬于幣圈的概念,讓Facebook一個改名改出圈了.
1900/1/1 0:00:00作者:Cobie,知名推特KOL原標題:《Onthememeofmarketcaps&unlocks》 編譯:谷昱,鏈捕手 這里是一些關于市值、估值、代幣經濟學和解鎖的一些想法.
1900/1/1 0:00:00相信大家都會有一種感覺,睡了一覺,滿屏的SOS?所以SOS是什么?一夜爆火?這篇文章帶領大家認識一下SOS!上了抹茶之后不到24小時上漲了十倍.
1900/1/1 0:00:00600年前的宮殿,5000年的文明,故宮博物院收藏的文物貫穿了整個中華文明史,故宮的美一是美在建筑,二是美在古物.
1900/1/1 0:00:00