安全生產簡析下meerkat跑路事件
一、核心問題
1.AdminUpgradeabilityProxy天然的負面影響一代理的邏輯合約可以被替換
2.AdminUpgradeabilityProxy權限沒有移交timelock一項目方不受時間鎖約束,可以隨意使用1。所說的能力,替換邏輯合約最終項目方無限制地將正常合約替換成了攻擊合約,卷款跑路。
慢霧:GenomesDAO被黑簡析:據慢霧區hacktivist消息,MATIC上@GenomesDAO項目遭受黑客攻擊,導致其LPSTAKING合約中資金被非預期的取出。慢霧安全團隊進行分析有以下原因:
1.由于GenomesDAO的LPSTAKING合約的initialized函數公開可調用且無權限與不可能重復初始化限制,攻擊者利用initialized函數將合約的stakingToken設置為攻擊者創建的虛假LP代幣。
2.隨后攻擊者通過stake函數進行虛假LP代幣的抵押操作,以獲得大量的LPSTAKING抵押憑證。
3.獲得憑證后再次通過initialized函數將合約的stakingToken設置為原先真是的LP代幣,隨后通過withdraw函數銷毀LPSTAKING憑證獲取合約中真實的LP抵押物。
4.最后將LP發送至DEX中移除流動性獲利。
本次事件是因為GenomesDAO的LPSTAKING合約可被任意重復初始化設置關鍵參數而導致合約中的抵押物被惡意耗盡。[2022/8/7 12:07:06]
二、現場還原(以BUSD池為例)?
慢霧:跨鏈互操作協議Nomad橋攻擊事件簡析:金色財經消息,據慢霧區消息,跨鏈互操作協議Nomad橋遭受黑客攻擊,導致資金被非預期的取出。慢霧安全團隊分析如下:
1. 在Nomad的Replica合約中,用戶可以通過send函數發起跨鏈交易,并在目標鏈上通過process函數進行執行。在進行process操作時會通過acceptableRoot檢查用戶提交的消息必須屬于是可接受的根,其會在prove中被設置。因此用戶必須提交有效的消息才可進行操作。
2. 項目方在進行Replica合約部署初始化時,先將可信根設置為0,隨后又通過update函數對可信根設置為正常非0數據。Replica合約中會通過confirmAt映射保存可信根開始生效的時間以便在acceptableRoot中檢查消息根是否有效。但在update新根時卻并未將舊的根的confirmAt設置為0,這將導致雖然合約中可信根改變了但舊的根仍然在生效狀態。
3. 因此攻擊者可以直接構造任意消息,由于未經過prove因此此消息映射返回的根是0,而項目方由于在初始化時將0設置為可信根且其并未隨著可信根的修改而失效,導致了攻擊者任意構造的消息可以正常執行,從而竊取Nomad橋的資產。
綜上,本次攻擊是由于Nomad橋Replica合約在初始化時可信根被設置為0x0,且在進行可信根修改時并未將舊根失效,導致了攻擊可以構造任意消息對橋進行資金竊取。[2022/8/2 2:52:59]
1.項目方故意“坦誠”給出合約的timelock轉移權限記錄,展示的確執行了changeAdmin方法移交權限給timelock地址,用于混淆視聽
Harvest.Finance被黑事件簡析:10月26號,據慢霧區消息 Harvest Finance 項目遭受閃電貸攻擊,損失超過 400 萬美元。以下為慢霧安全團隊對此事件的簡要分析。
1. 攻擊者通過 Tornado.cash 轉入 20ETH 作為后續攻擊手續費;
2. 攻擊者通過 UniswapV2 閃電貸借出巨額 USDC 與 USDT;
3. 攻擊者先通過 Curve 的 exchange_underlying 函數將 USDT 換成 USDC,此時 Curve yUSDC 池中的 investedUnderlyingBalance 將相對應的變小;
4. 隨后攻擊者通過 Harvest 的 deposit 將巨額 USDC 充值進 Vault 中,充值的同時 Harvest 的 Vault 將鑄出 fUSDC,而鑄出的數量計算方式如下:
amount.mul(totalSupply()).div(underlyingBalanceWithInvestment());
計算方式中的 underlyingBalanceWithInvestment 一部分取的是 Curve 中的 investedUnderlyingBalance 值,由于 Curve 中 investedUnderlyingBalance 的變化將導致 Vault 鑄出更多的 fUSDC;
5. 之后再通過 Curve 把 USDC 換成 USDT 將失衡的價格拉回正常;
6. 最后只需要把 fUSDC 歸還給 Vault 即可獲得比充值時更多的 USDC;
7. 隨后攻擊者開始重復此過程持續獲利;
其他攻擊流程與上訴分析過程類似。參考交易哈希:0x35f8d2f572fceaac9288e5d462117850ef2694786992a8c3f6d02612277b0877。
此次攻擊主要是 Harvest Finance 的 fToken(fUSDC、fUSDT...) 在鑄幣時采用的是 Curve y池中的報價(即使用 Curve 作為喂價來源),導致攻擊者可以通過巨額兌換操控預言機的價格來控制 Harvest Finance 中 fToken 的鑄幣數量,從而使攻擊者有利可圖。[2020/10/26]
2.0x7E0c621Ea9F7aFD5b86A50B0942eAee68B04A61Cproxy合約,changeAdmin方法內部調用追蹤到304行,實際寫入key為ADMIN_SLOT,但讀取key卻為ADMIN_SLOT。即O(歐)和0(零)的一個細微差異,讓changeAdmin方法完全失效,從而達到了已經移交權限的假象
三、結論和經驗
1.高度警惕任何包含proxy方式合約的項目,若未經timelock約束,合約有被瞬間替換的風險
2.nevertrust,alwaysverify!不要相信項目方給出的timelock“證據”,對于未經審計的fork項目,務必逐個contract做好與原項目的diff(如果你做到了,就可以躲過meerkat的障眼法)
頭條 ▌Microstrategy再次購入205個BTC,買入均價48888美元MicroStrategy首席執行官MichaelSaylor在推特上宣布.
1900/1/1 0:00:00PascalBoyart是一位巴黎街頭藝術家。2019年1月,他在一個工人階級的街區畫了一幅涂鴉,這幅作品以EugèneDelacroix的名作《自由領導人民》為靈感,并加以現代化的演繹.
1900/1/1 0:00:00比特幣的未來是所有人關心的話題,歷史數據常常能給人以啟示。作為加密領域的「Palantir」,區塊鏈分析公司Chainalysis自2014年創立以來就開始為包括美國聯邦調查局、國稅局和特勤局在.
1900/1/1 0:00:003月2日,Cointelegraph發了一條快訊:特斯拉汽車創始人埃隆·馬斯克妻子、音樂家ClaireEliseBoucher在不到20分鐘的時間里在NiftyGateway出售了價值580萬美.
1900/1/1 0:00:00一、事件概覽 北京時間2021年3月4日,根據輿情監測,BSC生態DeFi項目Meerkat?Finance疑似跑路,其自稱金庫合約遭遇到黑客攻擊,黑客利用漏洞盜取了金庫中的全部資金.
1900/1/1 0:00:00據TheBlock3月3日消息,區塊鏈項目LazyLedgerLabs已獲得150萬美元的種子輪融資.
1900/1/1 0:00:00