比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Grim Finance閃電貸安全事件分析_GRIN

Author:

Time:1900/1/1 0:00:00

0x01:前言

援引官方消息,北京時間12月19日,Fantom鏈上復合收益平臺GrimFinance遭遇了閃電貸攻擊。知道創宇區塊鏈安全實驗室第一時間對本次事件深入跟蹤并進行分析。0x02:事件詳情

交易細節如下圖所示:

瀏覽上圖的交易過程可知,攻擊合約利用閃電貸借取代幣,將借取的代幣質押到SpiritSwap里增加流動性獲取lp代幣,而問題就出現在depositFor()函數中。通過Tenderly(https://dashboard.tenderly.co/tx/fantom/0x19315e5b150d0a83e797203bb9c957ec1fa8a6f404f4f761d970cb29a74a5dd6/debugger調試該筆交易,攻擊者多次遞歸調用depositFor函數,利用該函數獲取大量代幣:

Grin++安全審計報告出爐,已修復大部分問題:軟件開發和智能合約審計公司SmartDec發布了對古靈幣(Grin)錢包Grin++的安全審計結果。SmartDec表示,審計第一階段發現了許多不同嚴重程度的問題,但他們已與Grin++開發者一起解決了這些問題,在最新版本的代碼中,已經修復了審計過程中發現的大部分問題,對于沒有解決的問題,開發人員也提供了相應注釋。[2020/5/11]

0x03:漏洞分析

depositFor()函數位于https://ftmscan.com/address/0x660184ce8af80e0b1e5a1172a16168b15f4136bf#code的第1115行:

動態 | Grin計劃于7月中旬進行首次硬分叉:據coindesk報道,Grin開發人員今天就其網絡首次全系統升級(硬分叉)的區塊和預期激活日期達??成了大致協議。Grin核心開發人員Quentin Le Sceller周二在開發者電話會議上建議在區塊高度262,080激活硬分叉,預計將于7月17日6:28(UTC)達到此區塊高度。開發人員今天重新討論了Le Sceller提出的硬分叉時間表,該時間表還要求在6月初啟動此次升級的私人測試網絡,并在6月19日激活公共測試網(稱為Floonet)的升級。Grin核心開發人員表示,雖然提議的時間表可能會改變,但應該努力遵守。[2019/6/6]

聲音 | Crypto Integrity報告: 一些交易所2月份交易量高達88%屬人為操縱:據The Block消息,Crypto Integrity近日發布的一份報告顯示,通過分析所選定的流動交易對的實際訂單量,發現2月份報告的交易量中,在一些交易量最高的交易所,高達88%的交易量是人為操縱。Crypto Integrity預估,在一些流動性低的交易對中,這種比例則高達100%。[2019/3/12]

該函數的safeTransferFrom()方法從IERC20(token)調用,最后一次調用,也就是逆序第一次執行后,余額balance也會隨之變動。當前鑄造憑證數量/前一筆鑄造憑證數量固定為3.54:

公告 | Gate.io將上線Grin(GRIN)交易:據官方公告,Gate.io將于2019年1月28日12:00(中午12點)開通GRIN交易。 目前GRIN的充值已經開放,提現功能將在一周后開放。[2019/1/26]

我們推導其公式為:

將該公式分子拆分,得到shares/totalSupply的固定比為2.54:

現場 | Agriledger創始人吉納維芙:區塊鏈與農業的結合很有意義:金色財經現場報道,今日,2018中國國際區塊鏈產業融合峰會暨區塊鏈產品與應用展在石家莊舉行,Agriledger創始人、英國區塊鏈協會副主席吉納維芙提到,區塊鏈與農業的結合很有意義,運用區塊鏈能夠進行產品基本情況數據分析、農戶種植經驗分析、數據庫市場預估、未來一年天氣預報、作物基本情況分析、土壤數據分析等。通過智能算法分析數據,還可以達成數字資產融資、農業信托服務、農業授信服務,有了高性能的區塊鏈,可以對農戶的預期農業行為進行分析,并得出合理預期,從而為農民提供各類金融服務。

她提到區塊鏈+農業的產品運作流程:每個農民都有一個數字身份,與二維碼結合使用;查看市場趨勢,以更好地規劃并獲取對農作物價值的洞察;讓買家知道有什么(農作物) ,什么時候可以獲取;數字賬本與數字身份相關聯,有助于證明收入、并在需要時獲得財務幫助。[2018/9/21]

最后將Debug交易里的shares/totalSupply進行計算,其值與shares/totalSupply的固定比相同,因此可以確定套利值只與totalSupply()有關:

其中函數safeTransferFrom()傳入的變量token可控,導致攻擊者可以自己實現safeTransferFrom()方法,將該方法重入到depositFor(),拉升totalSupply()總量,最后通過_mint()方法向用戶添加質押憑證實現套利。以實施了5次重入攻擊為例,開始pool的值為0,在重入depositFor方法的前四次里,攻擊者一直傳入自己鑄造的代幣,pool的值會一直保持為0,但在第五次,也就是最后一次傳入100個受認可的代幣時,after的值會變成100,而afer-pool的差值amount也就是100,最后由于重入了5次,導致合約會向攻擊者鑄造100*5的質押憑證代幣。

其后果就是攻擊者只質押一次代幣,仍能多次增加質押總量實現套利。0x04:修復方案

1.由于depositFor()方法里的token可控才是導致這次攻擊事件的原因,因此只需要在傳遞參數的時候讓token不可控就行:

2.由于套利的原因是depositFor()方法里存在修改代幣數量的函數,因此還可以將修改代幣的方法單獨實現,這樣即使token變量可控,也無法成功套利:

3.鎖定交易token:

0x05:總結

經過完整分析,知道創宇區塊鏈安全實驗室明確了該次攻擊事件的源頭并非網傳的閃電貸攻擊,攻擊者利用GrimBoostVault合約的depositFor方法參數可控,實施了重入攻擊,將自己的鑄造的無價值代幣兌換成了質押憑證,最后通過withdrawAll方法實現套利,而閃電貸?攻擊者只是利用閃電貸擴大了套利值。對于合約代碼而言安全性是十分重要的,每一個未經驗證的傳入參數都可能導致巨大的經濟損失,開發者在編寫重要操作方法時,須記住零信任原則,謹慎對待每一個傳入參數。

Tags:GRIRINGRIN區塊鏈AgrinodePRINTSgrin幣價格區塊鏈卡鏈是什么意思

pepe最新價格
200人運營的超級獨角獸:FTX人均貢獻價值達2億美元_RON

近日,CBInsights2021年獨角獸榜單出爐,加密貨幣交易平臺FTX以250億估值名列總榜第12位,金融科技類第5位.

1900/1/1 0:00:00
好萊塢制片人Niels Juul開的「NFT Studios」,想靠“眾籌NFT”拍電影_STUD

12月1日,據TheHollywoodReporter,制作了《愛爾蘭人》的好萊塢執行制片人NielsJuul成立了一家名為NFTStudios的新公司.

1900/1/1 0:00:00
元宇宙語境下數字身份的價值、機遇和挑戰_CAP

作者:艾貝學院一個很有趣的例子,在頭條的高光時刻,人們一度沉浸在算法和技術的信息流推薦中編織著自己的信息繭房。直播電商的火熱讓我們開始重新在乎“人”的推薦.

1900/1/1 0:00:00
一周融資速遞 | 57家項目獲投;已披露融資總額約為12.41億美元(11.30-12.05)_ITA

經Odaily星球日報不完全統計,11月29日-11月28日當周公布的海內外區塊鏈融資事件共57起,較上周有明顯增加;已披露融資總額約為12.41億美元,較上周數據有一定下降.

1900/1/1 0:00:00
區塊鏈基礎設施公司Alchemy成立專注Web3的風投部門_區塊鏈

Odaily星球日報譯者|余順遂區塊鏈基礎設施公司Alchemy正在啟動一個專注Web3開發的投資部門。最新宣布的投資部門AlchemyVentures與Alchemy的許多投資者合作.

1900/1/1 0:00:00
讓NFT頭像在Zoom動起來,三星和Coinbase參投的「Off」做了款小工具_NFT

元宇宙還是離我們太遠了。用web2.0的“土招”將心水的NFT頭像設置成微信頭像,可惜除了同行無人能懂,家人朋友們還以為我又在看什么低像素劣質動畫.

1900/1/1 0:00:00
ads