国产午夜福利精品久久2021-欧美mv日韩mv国产网站-免费看黄a级毛片-三级在线看中文字幕完整版

首頁(yè) 新聞 > 產(chǎn)業(yè) > 正文

斯巴達(dá)陷落—BSC首次閃電貸攻擊事件分析

5月2日,DeFi項(xiàng)目Spartan遭到黑客的閃電貸攻擊,斯巴達(dá)協(xié)議(Spartan Protocol)是一個(gè)資產(chǎn)流動(dòng)性項(xiàng)目,旨在解決現(xiàn)有 AMM 協(xié)議以及合成資產(chǎn)所出現(xiàn)的各類(lèi)問(wèn)題。斯巴達(dá)協(xié)議的流動(dòng)性池是此協(xié)議的核心,所有一切系統(tǒng)內(nèi)的相關(guān)應(yīng)用都離不開(kāi)流動(dòng)性池的支持。SpartanSwap 應(yīng)用了 THORCHAIN 的 AMM 算法。此算法采用流動(dòng)性敏感資費(fèi)(Liquidity-sensitive fee)來(lái)解決流動(dòng)性冷啟動(dòng)以及滑點(diǎn)問(wèn)題。

攻擊者利用閃電貸攻擊盜取了項(xiàng)目3000萬(wàn)美元。其盜取資產(chǎn)的交易如下:

通付盾區(qū)塊鏈安全團(tuán)隊(duì)(SharkTeam)第一時(shí)間對(duì)此事件進(jìn)行了攻擊分析和技術(shù)分析,并總結(jié)了安全防范手段,希望后續(xù)的區(qū)塊鏈項(xiàng)目可以引以為戒,共筑區(qū)塊鏈行業(yè)的安全防線。

一、事件分析

通過(guò)分析交易,該事件中,閃電貸攻擊的流程如下:

(1)攻擊者首先通過(guò)閃電貸從PancakeSwap借出1000 WBNB,交易及詳情如下:

(2)攻擊者在出現(xiàn)漏洞的 Spartan 兌換池WBNB-SPT1中,分五次將 WBNB 兌換成 SPARTAN,從而導(dǎo)致兌換池中產(chǎn)生巨大滑點(diǎn)。

交易及詳情如下:

此時(shí)攻擊者有

2536,613.206101067206978364 SPARTA和 11853.332738790033677468 WBNB。

(3)攻擊者將這些Token(持有的WBNB與SPARTA)注入WBNB-SPT1交易池中添加流動(dòng)性,獲得LP憑證,由于滑點(diǎn)修正機(jī)制,獲得的LP數(shù)量并不是正常值。

(4)進(jìn)行多次Swap操作,將WBNB兌換成SPARTA,池中WBNB增多,SPARTA減少。

(5)Swap后將持有的WBNB和SPARTA轉(zhuǎn)移給WBNB-SPT1池,進(jìn)行移除流動(dòng)性操作。

移除流動(dòng)性時(shí)會(huì)通過(guò)池中實(shí)時(shí)的代幣數(shù)量來(lái)計(jì)算用戶的LP可獲得多少對(duì)應(yīng)的代幣,由于步驟5,此時(shí)會(huì)獲得比添加流動(dòng)性時(shí)更多的代幣。

(6)在移除流動(dòng)性后會(huì)更新流動(dòng)性池中的baseAmount與tokenAmount,由于移除流動(dòng)性時(shí)沒(méi)有和添加流動(dòng)性一樣存在滑點(diǎn)修正機(jī)制,移除流動(dòng)性后兩種代幣的數(shù)量和合約記錄的代幣數(shù)量會(huì)存在一定差值。在與實(shí)際有差值的情況下,攻擊者繼續(xù)添加流動(dòng)性獲得LP,然后攻擊者再次移除流動(dòng)性就獲得了對(duì)應(yīng)代幣。

(7)最后,攻擊者將SPARTA代幣兌換回WBNB,獲得了更多WBNB。黑客通過(guò)以上步驟,以很小的成本獲得大量的WBNB,完成閃電貸攻擊。

二、通付盾區(qū)塊鏈安全知識(shí)課堂

根據(jù)整個(gè)攻擊過(guò)程的分析,與SharkTeam之前分析過(guò)的閃電貸攻擊的常用手法相同,并已收錄在了《通付盾2021Q1智能合約安全態(tài)勢(shì)感知報(bào)告》中https://mp.weixin.qq.com/s/I3mv-eZgZg7eTcerjs1Hiw 只不過(guò)發(fā)生的平臺(tái)從以太坊轉(zhuǎn)移到了幣安智能鏈。本次通付盾區(qū)塊鏈安全知識(shí)課堂帶您復(fù)習(xí)閃電貸攻擊的常見(jiàn)手法與防范手段。

DeFi項(xiàng)目的業(yè)務(wù)邏輯設(shè)計(jì)復(fù)雜,利用閃電貸這種新型產(chǎn)品進(jìn)行攻擊的DeFi事件在過(guò)去的一年里層出不窮。這些安全問(wèn)題的深層次原因在于,在設(shè)計(jì)業(yè)務(wù)邏輯時(shí),未考慮到某些關(guān)鍵性因素,如:彈性供應(yīng)機(jī)制、增發(fā)機(jī)制、清算機(jī)制設(shè)計(jì)不合理、鏈上價(jià)格及其他信息可被低成本操控等,導(dǎo)致了惡意套利、惡意增發(fā)等問(wèn)題。攻擊者通過(guò)操縱 AMM 資產(chǎn)池內(nèi)的資產(chǎn)價(jià)格或者資產(chǎn)數(shù)量使關(guān)聯(lián)協(xié)議蒙受損失,我們不妨稱之為經(jīng)濟(jì)攻擊。至今出現(xiàn)的經(jīng)濟(jì)攻擊分為“哄抬套利”和“操縱預(yù)言機(jī)”兩種手法。

哄抬套利

哄抬套利攻擊的原理與 CeFi 常見(jiàn)的 Pump-and-Dump 市場(chǎng)操縱行為或者鏈上交易容易碰到的front running攻擊本質(zhì)上并無(wú)差異,都是先想辦法借助他人的資本抬高自有資產(chǎn)的價(jià)格再高價(jià)賣(mài)出獲利。DeFi 生態(tài)中此類(lèi)經(jīng)濟(jì)攻擊事件之所以能夠成功,都與至少兩個(gè)核心模塊——攻擊目標(biāo)和 AMM 有關(guān)。

攻擊目標(biāo)與 AMM 之間存在資產(chǎn)轉(zhuǎn)移關(guān)系,并能由用戶自主觸發(fā)相關(guān)智能合約執(zhí)行資產(chǎn)轉(zhuǎn)移。這里的攻擊目標(biāo)可以是機(jī)槍池、借貸平臺(tái)、杠桿交易平臺(tái)等 DeFi 模塊。機(jī)槍池是運(yùn)行著一定投資策略的智能合約,可以把它類(lèi)比于一個(gè)基金,為用戶提供代理理財(cái)業(yè)務(wù),用戶將自有資產(chǎn)存入機(jī)槍池以期獲得收益,例如 Yearn 、Harvest ;借貸平臺(tái)為出借方和貸方提供服務(wù),賺取利息差,貸方一般要先超額抵押一部分資產(chǎn),例如 Compound 、 Aave ;杠桿交易平臺(tái)允許投資者抵押一定資產(chǎn)作為保證金進(jìn)行杠桿交易,例如 bZx 。AMM 通過(guò)一個(gè)定價(jià)函數(shù)實(shí)現(xiàn)自動(dòng)做市商交易,用戶可兌換資產(chǎn)或作為流動(dòng)性提供商(LP)參與流動(dòng)性挖礦。

除了攻擊目標(biāo)和AMM兩個(gè)核心模塊,實(shí)際攻擊過(guò)程中還要考慮到資金量、手續(xù)費(fèi)、智能合約在執(zhí)行交易前設(shè)置的檢查點(diǎn)等因素。攻擊者可通過(guò)建立優(yōu)化模型找到最優(yōu)參數(shù),預(yù)測(cè)哄抬套利收益來(lái)決定是否采取行動(dòng)。這種攻擊手法的一般操作步驟如下:

哄抬套利攻擊的基礎(chǔ)模型(序號(hào)代表攻擊步驟,實(shí)線表示必要步驟,虛線代表或有步驟;攻擊目標(biāo)的凈值計(jì)算環(huán)節(jié)和 AMM 的定價(jià)函數(shù)在設(shè)計(jì)上存在被黑客利用的風(fēng)險(xiǎn))。

一般步驟為:

假設(shè) AMM 資產(chǎn)池里的流動(dòng)性資產(chǎn)為 X、Y,流動(dòng)性代幣為 C。

第一步,準(zhǔn)備。持有即將被哄抬的初始資產(chǎn) Y 及用于觸發(fā)攻擊目標(biāo)自動(dòng)執(zhí)行策略的初始資產(chǎn) A。

第二步,哄抬。將資產(chǎn) A 發(fā)送至攻擊目標(biāo)的相關(guān)智能合約,獲得代幣 B (代表在機(jī)槍池、借貸平臺(tái)、杠桿交易平臺(tái)等攻擊平臺(tái)中的頭寸),并觸發(fā)智能合約向 AMM 資產(chǎn)池投入資產(chǎn) X,獲得資產(chǎn) Y 或流動(dòng)性代幣 C,并抬高 AMM 資產(chǎn)池內(nèi)資產(chǎn) Y 的價(jià)格。

第三步,套利。攻擊者將步驟二中的資產(chǎn) Y 投入 AMM 資產(chǎn)池,以抬高后的價(jià)格獲得資產(chǎn) X 或流動(dòng)性代幣 C。需要說(shuō)明的是,第二、三步中的操作對(duì)應(yīng)于 swap (X、Y 之間交換)或流動(dòng)性挖礦(X 或 Y 與 C 之間交換)。對(duì)于三個(gè)及以上幣種的 AMM,這里的 X 或 Y 可視為資產(chǎn)組合。

第四步,收尾。攻擊者根據(jù)代幣 B 的最新凈值及后續(xù)交易計(jì)劃決策是否贖回資產(chǎn) D。

對(duì)于流動(dòng)性充足的資產(chǎn)池,為了在 AMM 里制造可觀的價(jià)格滑點(diǎn),往往需要投入很大的資金量,故攻擊者一般會(huì)從閃電貸借出初始資產(chǎn)。若閃電貸可供借貸的資產(chǎn)類(lèi)別不滿足要求,攻擊者會(huì)去某些 AMM 或借貸平臺(tái)通過(guò) swap、流動(dòng)性挖礦、借貸等方式獲得;也不排除攻擊者直接去與攻擊目標(biāo)關(guān)聯(lián)的 AMM 獲取。若攻擊者在第一步的準(zhǔn)備過(guò)程中采用了閃電貸,那么在第四步就還需在同一筆攻擊交易中歸還閃電貸。

操縱預(yù)言機(jī)

操縱預(yù)言機(jī)攻擊可以認(rèn)為是哄抬套利攻擊的一種對(duì)稱操作,其攻擊目標(biāo)依賴 AMM 提供的信息對(duì)其內(nèi)部資產(chǎn)進(jìn)行定價(jià)。

操縱預(yù)言機(jī)攻擊的基礎(chǔ)模型(序號(hào)代表攻擊步驟,實(shí)線表示必要步驟,虛線代表或有步驟;攻擊目標(biāo)的凈值計(jì)算環(huán)節(jié)和 AMM 的定價(jià)函數(shù)在設(shè)計(jì)上存在被黑客利用的風(fēng)險(xiǎn))。

這種情況下攻擊者雖然無(wú)法利用攻擊目標(biāo)內(nèi)的資產(chǎn)去哄抬 AMM 內(nèi)某資產(chǎn)的價(jià)格,但可以考察 AMM 模塊作為預(yù)言機(jī)能否被操縱,從而哄抬攻擊目標(biāo)內(nèi)的資產(chǎn)。

攻擊目標(biāo)依賴 AMM 提供信息的主要目的有兩種:

(1)對(duì)抵押物進(jìn)行估值;

(2)對(duì)頭寸代幣進(jìn)行定價(jià)。

我們也可將其視為凈值計(jì)算,而攻擊者則專門(mén)尋找在凈值計(jì)算中與實(shí)際情況出現(xiàn)偏差的合約進(jìn)行操縱。一般步驟為:

第一步,準(zhǔn)備。獲得用于操縱 AMM 預(yù)言機(jī)的資產(chǎn) Y 及準(zhǔn)備存入攻擊目標(biāo)的資產(chǎn) A。

第二步,抵押。將資產(chǎn) A 抵押至攻擊目標(biāo),獲得代表抵押物的頭寸代幣 B,有些情況下,不發(fā)放頭寸代幣 B,只在智能合約內(nèi)部記賬。

第三步,操縱。將資產(chǎn) Y 投入 AMM 兌換資產(chǎn) X,改變 AMM 流動(dòng)性池內(nèi)資產(chǎn)的比例從而改變報(bào)價(jià),更新攻擊目標(biāo)合約內(nèi)資產(chǎn) A 或頭寸代幣 B 的定價(jià)。

第四步,收尾。若為借貸業(yè)務(wù),則通過(guò)抬高的抵押物估值借出更多資產(chǎn)并不再歸還;若為機(jī)槍池業(yè)務(wù),則通過(guò)抬高價(jià)格后的頭寸代幣 B 贖回資產(chǎn),獲得增值收益。

三、安全建議

哄抬套利和操縱預(yù)言機(jī)攻擊模式本質(zhì)上都是對(duì)凈值計(jì)算環(huán)節(jié)的利用和操縱行為。故而在設(shè)計(jì) DeFi 系統(tǒng)的時(shí)候,妥善處理這一環(huán)節(jié)至關(guān)重要。

(1)最根本的預(yù)防措施就是取消用戶自動(dòng)觸發(fā)交易策略鏈?zhǔn)綀?zhí)行或更新凈值的權(quán)限,從根本上阻斷攻擊者完成一整套連貫的操縱行為。

(2)安全審計(jì):智能合約安全關(guān)系用戶的財(cái)產(chǎn)安全,至關(guān)重要!區(qū)塊鏈項(xiàng)目開(kāi)發(fā)者應(yīng)與專業(yè)的安全審計(jì)公司合作,為用戶的數(shù)字資產(chǎn)安全和項(xiàng)目本身安全提供保障。

(3)增加交易延遲:操縱價(jià)格預(yù)言機(jī)是一個(gè)對(duì)時(shí)間敏感的操作,因?yàn)樘桌呖偸窃谟^察,并希望有機(jī)會(huì)優(yōu)化任何次優(yōu)市場(chǎng)。如果攻擊者想把風(fēng)險(xiǎn)降到最低,他們會(huì)希望在單筆交易中完成操縱價(jià)格預(yù)言機(jī)所需的兩筆交易,這樣就不會(huì)有套利者夾在中間。作為協(xié)議開(kāi)發(fā)者,可能只需要將用戶進(jìn)出系統(tǒng)之間的時(shí)間間隔增加1個(gè)區(qū)塊的延遲就可以一定程度上防范此類(lèi)攻擊。

(4)時(shí)間加權(quán)平均價(jià)格(TWAP):Uniswap引入了一個(gè)TWAP預(yù)言機(jī),供鏈上開(kāi)發(fā)者使用。有文檔詳細(xì)地介紹了該預(yù)言機(jī)提供的具體安全保障。一般來(lái)說(shuō),對(duì)于長(zhǎng)期沒(méi)有鏈上擁堵的大型資產(chǎn)池來(lái)說(shuō),TWAP預(yù)言機(jī)對(duì)預(yù)言機(jī)操縱攻擊有很強(qiáng)的抵抗力。不過(guò),由于其實(shí)施的性質(zhì),在市場(chǎng)波動(dòng)較大的時(shí)刻,它的響應(yīng)速度可能不夠快,而且只適用于鏈上已經(jīng)有流動(dòng)性的數(shù)字資產(chǎn)。

(5)M-of-N報(bào)告者機(jī)制:如今很多項(xiàng)目都在使用這種方法。Maker運(yùn)行了一組由可信實(shí)體運(yùn)營(yíng)的喂價(jià)來(lái)源,Compound創(chuàng)建了Open Oracle,并擁有Coinbase等報(bào)告者,Chainlink聚合了Chainlink運(yùn)營(yíng)商的價(jià)格數(shù)據(jù),并在鏈上公開(kāi)。此方法也可有效的防范操縱預(yù)言機(jī)攻擊。

、通付盾智能合約審計(jì)BitScan

通付盾作為領(lǐng)先的區(qū)塊鏈安全服務(wù)提供商,為開(kāi)發(fā)者提供智能合約審計(jì)服務(wù)。智能合約審計(jì)服務(wù)由自動(dòng)化審計(jì)和人工審計(jì)構(gòu)成,滿足不同客戶需求,獨(dú)家實(shí)現(xiàn)覆蓋高級(jí)語(yǔ)言層、虛擬機(jī)層、區(qū)塊鏈層、業(yè)務(wù)邏輯層四個(gè)方面111項(xiàng)審計(jì)內(nèi)容,全面保障智能合約安全。

智能合約自動(dòng)化審計(jì)在通付盾云平臺(tái)上為用戶提供智能合約進(jìn)行自動(dòng)化審計(jì)服務(wù)。運(yùn)用符號(hào)執(zhí)行、形式化驗(yàn)證等智能合約分析技術(shù),保障智能合約安全運(yùn)行。

通付盾也為客戶提供高級(jí)別的區(qū)塊鏈安全服務(wù),區(qū)塊鏈安全專家團(tuán)隊(duì)7*24小時(shí)為智能合約提供全生命周期的安全保障,服務(wù)包括:VIP安全審計(jì)服務(wù)、VIP合規(guī)審計(jì)服務(wù)、安全事故應(yīng)急響應(yīng)等。

免責(zé)聲明:市場(chǎng)有風(fēng)險(xiǎn),選擇需謹(jǐn)慎!此文僅供參考,不作買(mǎi)賣(mài)依據(jù)。

關(guān)鍵詞:

最近更新

關(guān)于本站 管理團(tuán)隊(duì) 版權(quán)申明 網(wǎng)站地圖 聯(lián)系合作 招聘信息

Copyright © 2005-2018 創(chuàng)投網(wǎng) - www.ywysw.cn All rights reserved
聯(lián)系我們:33 92 [email protected]
豫ICP備2020035879號(hào)-12