背景
隨著區(qū)塊鏈技術(shù)的發(fā)展,黑客攻擊一直是這個(gè)行業(yè)的一個(gè)巨大隱患。自從2020年“DeFi Summer”以來(lái),涌現(xiàn)了一批知名的去中心化應(yīng)用(Dapp),促使鏈上總鎖倉(cāng)量(TVL)飆升,2021年末達(dá)到巔峰,以將近1800億美元?jiǎng)?chuàng)造歷史記錄。
正是因?yàn)橛欣蓤D,DeFi協(xié)議和相關(guān)應(yīng)用也成為了黑客主要的攻擊對(duì)象,再利用諸如Tornado Cash這樣的隱私交易平臺(tái)進(jìn)行洗錢(qián),資金動(dòng)向難以追蹤,因此而造成的資產(chǎn)損失逐年遞增,2020年全年資產(chǎn)損失金額是15億美金,2021年達(dá)到了30億美金,到了2022年創(chuàng)造了40億美金的歷史記錄。
DeFi為區(qū)塊鏈和加密貨幣世界帶來(lái)了巨大的機(jī)遇,創(chuàng)造了一個(gè)有一個(gè)財(cái)富神話。然而,它也帶來(lái)了新的挑戰(zhàn),包括各種類(lèi)型的攻擊。這篇文章將會(huì)介紹一些常見(jiàn)的 DeFi 攻擊,以及應(yīng)對(duì)措施。
閃電貸攻擊(Flashloan attack)
DeFi 領(lǐng)域的技術(shù)發(fā)展使得加密借貸非常受歡迎,因?yàn)樗鼈兂浞掷昧水?dāng)前可用技術(shù)的全部力量,閃電貸已成為一種非常有吸引力的貸款形式。閃電貸是一種相對(duì)較新的無(wú)抵押貸款,已在許多基于以太坊網(wǎng)絡(luò)的DeFi協(xié)議中流行起來(lái),業(yè)務(wù)模式與傳統(tǒng)金融領(lǐng)域的借貸極為相似,一方提供資金流動(dòng)性,另一方借出資金用于投資,并償付一定的利息。
攻擊分析
閃電貸款攻擊指的是一種智能合約漏洞,攻擊者從DeFi平臺(tái)中取出閃電貸款,使用他們所借的資金,并在同一區(qū)塊中償還,也就是黑客從DeFi資金池子里借來(lái)的錢(qián)套利,然后在他們從中獲利后立即迅速歸還資本。成功實(shí)施閃電貸攻擊應(yīng)該具備兩類(lèi)條件:
- 提供閃電貸的DeFi平臺(tái),用以提供資金來(lái)源;
- DeFi平臺(tái)存在價(jià)格操縱的漏洞,用以實(shí)現(xiàn)套利。
理論上,具備以上條件,可以實(shí)現(xiàn)近乎零成本的獲利。目前,各大公鏈上都提供了閃電貸的功能,有的是要收利息,但是大部分都是零利率的。所以,最重要的是要發(fā)現(xiàn)能實(shí)施價(jià)格操作的漏洞合約。
價(jià)格操縱指的是某些Defi協(xié)議的資產(chǎn)價(jià)格計(jì)算公式中,包含重大漏洞。由于閃電貸允許在極短的時(shí)間內(nèi)借出巨額的資金,如果將這些資金傾注到一個(gè)脆弱的資金池內(nèi),會(huì)使得代幣價(jià)格波動(dòng)異常,攻擊者有可乘之機(jī),進(jìn)而產(chǎn)生套利空間。
另外一種可能就是使用了區(qū)塊鏈外的數(shù)據(jù)源,我們通常稱(chēng)之為預(yù)言機(jī)(Oracle)。因?yàn)樵谝蕴簧线\(yùn)行的智能合約不能訪問(wèn)存儲(chǔ)在區(qū)塊鏈網(wǎng)絡(luò)之外的信息,預(yù)言機(jī)以外部智能合約的方式,被其他的智能合約所調(diào)用。有些智能合約會(huì)依賴(lài)外部數(shù)據(jù)來(lái)控制執(zhí)行過(guò)程,在這種情況下,就給黑客提供了惡意攻擊的機(jī)會(huì)。
預(yù)防措施
- 設(shè)置借貸上限。無(wú)論是每類(lèi)資產(chǎn),還是全局資產(chǎn),都需要加以借貸限制,防止平臺(tái)資金杠桿過(guò)高,并降低平臺(tái)被攻擊的潛在風(fēng)險(xiǎn)。
- 使用多數(shù)據(jù)源獲取資產(chǎn)價(jià)格。很明顯,采用單一來(lái)源的數(shù)據(jù),會(huì)使用系統(tǒng)更脆弱,容易遭到攻擊。可以考慮與可信任的機(jī)構(gòu)合作,提供安全可靠的鏈下數(shù)據(jù)。除此之外,還應(yīng)加強(qiáng)與去中心化預(yù)言機(jī)提供商的合作。
- 價(jià)格計(jì)算應(yīng)考慮更多因素。比如使用時(shí)間加權(quán)平均價(jià)格輸入,這樣價(jià)格就會(huì)被平均到 X 個(gè)時(shí)段。
三明治攻擊(Sandwich attack)
至今為止,無(wú)論是在單獨(dú)一個(gè)場(chǎng)景還是整個(gè)行業(yè),DeFi都極易受到價(jià)格操作和各種可疑策略的影響,其中,三明治攻擊便是一個(gè)典型的例子,在高頻交易的場(chǎng)景里尤其適用。
攻擊分析
三明治攻擊本質(zhì)上是一種搶先交易的手段,主要針對(duì)DeFi協(xié)議和服務(wù)。在以太坊的節(jié)點(diǎn)上,會(huì)有一個(gè)內(nèi)存池(MemPool),作為待上鏈數(shù)據(jù)的一個(gè)緩沖區(qū),其數(shù)據(jù)查看權(quán)限是公開(kāi)的。惡意交易者在其節(jié)點(diǎn)上尋找“有利可圖”的待處理的交易,攻擊者會(huì)支付較高的手續(xù)費(fèi)“賄賂”礦工進(jìn)行前置(front-run)交易,隨后又支付一筆較低的手續(xù)費(fèi)進(jìn)行后置(back-run)交易,而原來(lái)的待處理交易則夾在兩個(gè)交易中間。
在去中心化交易所(DEX)上會(huì)頻頻發(fā)生以上操作,假設(shè)正常交易者要將1份資產(chǎn)A交易轉(zhuǎn)換成100份資產(chǎn)B,其經(jīng)歷的主要流程如下:
- 攻擊者發(fā)起的前置交易,會(huì)搶先于正常交易者,提前將1份資產(chǎn)A轉(zhuǎn)換成了100份資產(chǎn)B,從而抬高了資產(chǎn)B的市場(chǎng)價(jià)格;
- 此時(shí),正常的交易者并不知情,只要價(jià)格滑點(diǎn)未超過(guò)交易者設(shè)置的臨界值,這筆交易仍然可以正常進(jìn)行,只是此時(shí)能得到的資產(chǎn)B的數(shù)量會(huì)低于100份,同時(shí)也進(jìn)一步拉大了價(jià)差,這也是滑點(diǎn)金額的主要來(lái)源;
- 攻擊者發(fā)起的后置交易,將會(huì)以更高的價(jià)格拋售資產(chǎn)B,這樣低買(mǎi)高賣(mài)的操作,實(shí)現(xiàn)了套利。
預(yù)防措施
合理設(shè)置交易手續(xù)費(fèi)。對(duì)于一些重要的交易,可以適當(dāng)提高其交易手續(xù)費(fèi)。不過(guò),這樣做只是提高了攻擊成本,但是不能完全消除;
拆分交易。三明治攻擊對(duì)較大的交易額感興趣,交易額越大,意味著利潤(rùn)空間越大??梢钥紤]將交易分成若干個(gè)較小的交易,因?yàn)檫@些小額交易對(duì)于搶跑者來(lái)說(shuō)不太具有吸引力;
設(shè)置更低的滑點(diǎn),通常在1%以下。由于滑點(diǎn)的保護(hù),雖然犧牲了交易手續(xù)費(fèi),但是避免了更多的損失;
合理使用工具或平臺(tái),比如Flashbots,通過(guò)私人交易池和拍賣(mài)機(jī)制讓交易者免受“夾擊”。同時(shí),要使用有較強(qiáng)安全防范措施的去中心化交易所(DEX),比如1inch,sushi等等。
跨鏈攻擊(Cross-chain attacks)
跨鏈攻擊是針對(duì)區(qū)塊鏈互操作性和在不同區(qū)塊鏈之間轉(zhuǎn)移資產(chǎn)的安全威脅,這些攻擊通常是利用了允許資產(chǎn)從一個(gè)區(qū)塊鏈轉(zhuǎn)移到另一個(gè)區(qū)塊鏈的跨鏈橋或協(xié)議中的漏洞。
跨鏈機(jī)制
當(dāng)前主流的跨鏈機(jī)制有:公證人,側(cè)鏈和中繼鏈:
公證人機(jī)制引入一個(gè)雙方共同信任的第三方作為中介,通常是一個(gè)中心化機(jī)構(gòu),由共同信任的第三方中介進(jìn)行跨鏈的數(shù)據(jù)收集、交易確認(rèn)和驗(yàn)證,存在一定的中心化風(fēng)險(xiǎn)。
側(cè)鏈?zhǔn)且粋€(gè)獨(dú)立于主鏈的區(qū)塊鏈系統(tǒng),通過(guò)雙向錨定(two-way peg)機(jī)制,將主鏈和側(cè)鏈的資產(chǎn)建立了嚴(yán)格的映射關(guān)系,所以需要同步主鏈所有的區(qū)塊頭以驗(yàn)證交易是否被認(rèn)可。在安全性方面,由于側(cè)鏈
和主鏈的安全機(jī)制是獨(dú)立的,故主鏈的安全優(yōu)勢(shì)無(wú)法在側(cè)鏈上體現(xiàn)出來(lái)。
中繼鏈?zhǔn)枪C人和側(cè)鏈的有效融合和延伸。同樣身為一個(gè)獨(dú)立的區(qū)塊鏈系統(tǒng),但是不會(huì)同步主鏈的交易信息,只是負(fù)責(zé)跨鏈數(shù)據(jù)傳輸,可以認(rèn)為是一種去中心化的公證人機(jī)制。相比側(cè)鏈,工作效率更高,安全性也更勝一籌。
攻擊分析
通過(guò)對(duì)跨鏈資產(chǎn)轉(zhuǎn)移的過(guò)程,來(lái)分析潛在的安全漏洞,如下圖所示,是基于中繼機(jī)制的跨鏈橋(B1->B2)的流程:
- 用戶將資產(chǎn) A 發(fā)送到源鏈B1上的一個(gè)存儲(chǔ)地址,并支付過(guò)橋費(fèi),從而觸發(fā)兩個(gè)鏈上操作:其一在源鏈B1上鎖定相應(yīng)的資產(chǎn),觸發(fā)對(duì)應(yīng)的資產(chǎn)鎖定事件,其二是觸發(fā)存款跨鏈?zhǔn)录?/li>
- 中繼鏈監(jiān)聽(tīng)和解析來(lái)自源鏈B1的存款跨鏈?zhǔn)录?,并在鏈上?duì)該事件進(jìn)行驗(yàn)真;
- 中繼鏈?zhǔn)跈?quán)資產(chǎn)解鎖動(dòng)作,發(fā)送解鎖請(qǐng)求給目標(biāo)鏈B2;
- 目標(biāo)鏈B2的智能合約驗(yàn)證交易的發(fā)送方和其他的證明,如多重簽名等;
- 在目標(biāo)鏈B2上,通過(guò)智能合約發(fā)布相同數(shù)量的資產(chǎn) A1,發(fā)出資產(chǎn)解鎖事件,并將該資產(chǎn) A1 發(fā)送到用戶地址。
從上述過(guò)程中,可以分析得到三類(lèi)潛在的安全漏洞:
不受限制的存款
這個(gè)潛在的安全漏洞發(fā)生在執(zhí)行步驟1的過(guò)程中。源鏈B1的鎖定資產(chǎn)的智能合約邏輯處理不當(dāng)(如使用不安全的轉(zhuǎn)賬函數(shù)等),就可能會(huì)讓攻擊者繞過(guò)鎖定資產(chǎn)的過(guò)程,直接觸發(fā)有效的存款跨鏈?zhǔn)录?,這意味著攻擊者能夠在不支付B1鏈資產(chǎn)的情況下,獲取B1鏈對(duì)應(yīng)的交易資產(chǎn)。
這種安全漏洞導(dǎo)致Qubit、Wormhole 和 Multichain等跨鏈橋遭受到了攻擊。
以Qubit為例:
2022年1月,借貸協(xié)議Qubit的跨鏈橋QBridge遭到攻擊,損失約8000萬(wàn)美元。
其主要原因是智能合約對(duì)白名單內(nèi)代幣進(jìn)行轉(zhuǎn)賬操作時(shí),未對(duì)其是否為0地址再次進(jìn)行檢查,導(dǎo)致本該通過(guò)native函數(shù)進(jìn)行存款的操作卻能順利走通普通代幣存款邏輯。
事件發(fā)生后,Qubit 的開(kāi)發(fā)團(tuán)隊(duì)宣布已無(wú)法維持,因此決定解散,由該團(tuán)隊(duì)領(lǐng)導(dǎo)開(kāi)發(fā)的Bunny和Qubit 協(xié)議將由DAO管理。社區(qū)將擁有升級(jí)合約、更改費(fèi)用結(jié)構(gòu)等所有相關(guān)權(quán)限。
目前Qubit幾乎已無(wú)人使用,項(xiàng)目團(tuán)隊(duì)雖表示會(huì)繼續(xù)賠付,但當(dāng)前僅賠付了極小一部分(約2%)資金。
事件解析不一致
這個(gè)潛在的安全漏洞發(fā)生在執(zhí)行步驟2的過(guò)程中。這種安全漏洞發(fā)生在中繼器解析事件的過(guò)程中,引起了存儲(chǔ)事件和鎖定動(dòng)作的不一致。常見(jiàn)的錯(cuò)誤主要有兩種:
- 中繼器中的解析器可能將惡意合約發(fā)出的無(wú)效存儲(chǔ)事件識(shí)別為有效存款事件;
- 中繼器中的解析器可能錯(cuò)誤地解析了存儲(chǔ)事件,導(dǎo)致解析出的代幣類(lèi)型或數(shù)目有誤等。
這種安全漏洞導(dǎo)致THORChain、Poly Network等跨鏈橋遭受到了攻擊。
以Poly Network為例:
2023年7月,一名攻擊者利用Poly Network的漏洞,在多條鏈上增發(fā)了價(jià)值420億美元的資產(chǎn)。攻擊者在源鏈發(fā)送一筆數(shù)額很小的交易,觸發(fā)資產(chǎn)鎖定事件,隨后利用偽造的憑證在Poly Network所在的中繼器上篡改資產(chǎn)數(shù)量,觸發(fā)目標(biāo)鏈的巨額資產(chǎn)的解鎖事件。
Poly Network事件的初期檢測(cè)結(jié)果顯示,雖然鏈上增發(fā)資產(chǎn)的數(shù)額巨大,但由于資金池缺乏流動(dòng)性支持,并且相關(guān)受害方及時(shí)撤出了流動(dòng)性,其造成的損失規(guī)模相對(duì)可控。
未經(jīng)授權(quán)解鎖
這個(gè)潛在的安全漏洞發(fā)生在中繼器與目標(biāo)鏈B2智能合約交接步驟3和4的過(guò)程中。
通常情況下,只有可信的中繼器才能對(duì)目標(biāo)鏈中的解鎖行為進(jìn)行授權(quán),而這種安全漏洞是傳統(tǒng)網(wǎng)絡(luò)攻擊造成的密鑰泄露或鏈上/鏈下代碼的訪問(wèn)控制不當(dāng),可能會(huì)使未經(jīng)授權(quán)的攻擊者成功調(diào)用目標(biāo)鏈的智能合約的解鎖函數(shù),并轉(zhuǎn)移大量的資金。
這種安全漏洞導(dǎo)致Robin Network、Anyswap等跨鏈橋遭受到了攻擊。
以Robin Network為例:
2022年三月份,Ronin Network的跨鏈橋遭到攻擊,損失總額高達(dá)6.24 億美元。
Ronin Network所遭受的是典型的社會(huì)工程學(xué)攻擊:
- 一家虛假公司的員工通過(guò)領(lǐng)英聯(lián)系到了Ronin Network開(kāi)發(fā)商Sky Mavis的員工,并向他們拋來(lái)了橄欖枝;
- Sky Mavis的一名員工在面試后獲得了假Offer,在他下載了偽造的Offer文件之后,黑客軟件滲透到Ronin Network系統(tǒng)中,并接管了9個(gè)區(qū)塊鏈驗(yàn)證者節(jié)點(diǎn)中的4個(gè);
- 黑客通過(guò)Sky Mavis逐漸控制了整個(gè)社區(qū)(Axie DAO),后者曾允許Sky Mavis代表其簽署各種交易;
- 駭客控制了絕大多數(shù)(5/9)的驗(yàn)證者節(jié)點(diǎn),繼而控制了整個(gè)網(wǎng)路,并轉(zhuǎn)移了大量的資產(chǎn)。
Ronin Network一事不單單是跨鏈橋歷史上規(guī)模最大的黑客事件,如果按照事件發(fā)生時(shí)的市場(chǎng)價(jià)格計(jì)算,這更是整個(gè)加密貨幣歷史上涉案金額最大的黑客事件。幸運(yùn)的是,通過(guò)后續(xù)融資,Ronin Network 此后啟動(dòng)了對(duì)用戶的賠付,并于六月底重啟了其跨鏈橋。
預(yù)防措施
跨鏈橋生態(tài)的愈發(fā)多樣化、豐富化,使得在其之上進(jìn)行的交易、資金量也會(huì)隨之大幅增長(zhǎng),這也就吸引了黑客對(duì)于跨鏈協(xié)議的關(guān)注,再加上跨鏈橋本身就是黑客資金出逃的重要環(huán)節(jié),因此也會(huì)成為黑客攻擊的目標(biāo)。對(duì)于項(xiàng)目方來(lái)說(shuō):
- 尋求專(zhuān)業(yè)機(jī)構(gòu)合作,有效地排查出已知的漏洞,為系統(tǒng)的安全筑建第一道防線;
- 注意排查與其他 DeFi 產(chǎn)品進(jìn)行組合時(shí)的業(yè)務(wù)邏輯漏洞,避免出現(xiàn)跨合約的邏輯兼容性漏洞;
- 建立風(fēng)控熔斷機(jī)制,引入第三方安全公司的威脅感知情報(bào)和數(shù)據(jù)態(tài)勢(shì)情報(bào)服務(wù),在DeFi安全事件發(fā)生時(shí),能夠做到第一時(shí)間響應(yīng)安全風(fēng)險(xiǎn),及時(shí)排查封堵安全攻擊,避免造成更多的損失;
- 應(yīng)該聯(lián)動(dòng)行業(yè)各方力量,搭建一套完善的資產(chǎn)追蹤機(jī)制,實(shí)時(shí)監(jiān)控相關(guān)虛擬貨幣的流轉(zhuǎn)情況。
Rug Pull
Rug Pull是加密貨幣領(lǐng)域的“黑話”,本質(zhì)上,Rug Pull是一種發(fā)生在DeFi領(lǐng)域的騙局。Rug Pull通常涉及欺騙性的做法,如虛假承諾、誤導(dǎo)性營(yíng)銷(xiāo)和操縱性策略,以引誘用戶參與項(xiàng)目投資。這可能包括聲稱(chēng)高回報(bào)、低風(fēng)險(xiǎn)和強(qiáng)大的社區(qū)支持,其背后的主要?jiǎng)訖C(jī)是經(jīng)濟(jì)利益。
攻擊分析
常見(jiàn)的Rug Pull行為有兩種:竊取流動(dòng)性,限制賣(mài)單。
竊取流動(dòng)性
項(xiàng)目方會(huì)突然蓄意耗盡項(xiàng)目的資金或流動(dòng)性,整個(gè)過(guò)程發(fā)生在一瞬之間,不會(huì)有任何的事先警告。他們還可能停用或刪除自己的社交媒體資料和線上社區(qū)交流渠道,以避免被發(fā)現(xiàn)和跟蹤。這樣做通常會(huì)給投資者和用戶留下毫無(wú)價(jià)值或大幅貶值的資產(chǎn),嚴(yán)重?fù)p害了投資者的利益。
限制賣(mài)單
這是惡意開(kāi)發(fā)者欺詐投資者的一種隱蔽方式。在這種情況下,開(kāi)發(fā)者會(huì)對(duì)鏈上智能合約做手腳,做出來(lái)的加密貨幣留有后門(mén),使其成為唯一能夠出售資產(chǎn)的一方。然后,開(kāi)發(fā)者等待投資者購(gòu)買(mǎi)他們的新加密貨幣。一旦資產(chǎn)價(jià)格走高,他們就會(huì)拋售手里的資產(chǎn),留下一文不值的代幣。
Rug Pull的典型例子是土耳其加密貨幣交易所Thodex的倒閉,這起盜竊案是2021年最大的加密貨幣詐騙案之一,其價(jià)值損失高達(dá) 20 億美元。盡管土耳其警方在調(diào)查這一重大騙局期間拘留了62人,但被指控的犯罪者仍下落不明。
預(yù)防措施
投資者可以注意一些明顯的跡象,以保護(hù)自己免受Rug Pull之害。
- 匿名或者不知名的開(kāi)發(fā)者。投資者應(yīng)該考察項(xiàng)目背后的團(tuán)隊(duì)組織,同時(shí)應(yīng)該對(duì)新的、容易偽造的社交媒體賬戶和內(nèi)容保持懷疑態(tài)度。項(xiàng)目白皮書(shū)、官網(wǎng)和其他媒體的質(zhì)量能提供項(xiàng)目整體合法性的線索;
- 無(wú)流動(dòng)性鎖定。良性的項(xiàng)目團(tuán)隊(duì)會(huì)對(duì)絕大部分的流動(dòng)性進(jìn)行鎖定,用于團(tuán)隊(duì)獎(jiǎng)勵(lì),社區(qū)貢獻(xiàn),投資人分紅,挖礦獎(jiǎng)勵(lì)等。如果毫無(wú)鎖定,甚至無(wú)限供應(yīng),那就沒(méi)有什么能阻止項(xiàng)目方卷走全部資產(chǎn);
- 回報(bào)率異常高漲。當(dāng)代幣的年收益率(APY)達(dá)到三位數(shù)時(shí),雖然不一定是騙局,但這些高收益通常意味著同樣高的風(fēng)險(xiǎn),需要提高警惕;
- 無(wú)外部審計(jì)。新加密貨幣的標(biāo)準(zhǔn)做法是由信譽(yù)良好的第三方進(jìn)行正式的代碼審計(jì),這是每個(gè)DeFi項(xiàng)目必須的選擇。
總結(jié)
隨著DeFi吸引越來(lái)越多的人入場(chǎng),對(duì)沒(méi)有經(jīng)驗(yàn)的交易者的保護(hù)將成為區(qū)塊鏈專(zhuān)家的首要解決的問(wèn)題,而且去中心化的概念本身就意味永遠(yuǎn)不可能有一個(gè)被授權(quán)的第三方來(lái)保證用戶資產(chǎn)安全、保證和對(duì)用戶的損失作出賠償。除此之外,交易者應(yīng)該明白,DeFi目前還處于萌芽階段,有很多不完善和缺陷。隨著技術(shù)和市場(chǎng)日臻完善,DeFi將會(huì)為用戶提供更好的服務(wù)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-777292.html
轉(zhuǎn)載申明:未經(jīng)作者本人同意,本篇文章不可轉(zhuǎn)載或者作為文摘、資料刊登。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-777292.html
到了這里,關(guān)于歡迎來(lái)到Web3.0的世界:常見(jiàn)的DeFi黑客攻擊的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!