閃電貸攻擊+錯誤許可權配置2500萬美元付諸東流|xToken被黑事件簡析

一、 事件概覽 美國東部標準時間5月12日上午9:44分,鏈必安-區塊鏈安全態勢感知平台(Beosin-Eagle Eye)監測顯示,DeFi質押和流動性策略平台xToken遭到攻擊,xBNTa Bancor池以及xSNXa Balancer池

一、事件概覽

美國東部標準時間5月12日上午9:44分,鏈必安-區塊鏈安全態勢感知平台(Beosin-Eagle Eye)監測顯示,DeFi質押和流動性策略平台xToken遭到攻擊,xBNTa Bancor池以及xSNXa Balancer池立即被耗盡。據統計,此次xToken被黑事件造成約2500萬美元的損失。

儘管在事件后,xToken團隊第一時間發布聲明,並針對被黑原因以及後續補救措施,作出積極回應;但成都鏈安·安全團隊認為此次xToken被黑事件具備相當程度的典型性,涉及到閃電貸攻擊、價格操控等黑客常用攻擊套路,因此立即介入分析,將xToken被黑事件的攻擊流程進行梳理,希望以此為鑒,為廣大DeFi項目方敲響警鐘。

閃電貸攻擊+錯誤許可權配置2500萬美元付諸東流|xToken被黑事件簡析

二、事件分析

在本次被黑事件中,攻擊者共計在同一筆交易中利用了兩個典型攻擊套路。其一,黑客利用了閃電貸操作DEX中SNX的價格,進而影響了xSNX中的鑄幣,旨在達到套利的目的;其二,黑客利用了xBNT合約中的錯誤的許可權配置,傳入預期外的路徑地址,從而達到利用空氣幣完成獲利的目的。

閃電貸攻擊+錯誤許可權配置2500萬美元付諸東流|xToken被黑事件簡析

接下來,我們一起來還原一下黑客是如何利用「閃電貸攻擊?+ 錯誤許可權配置」,完成了整個攻擊流程的。

準備工作

1、?攻擊者首先利用閃電貸借出大量資金;

2、?分別利用Aave的借貸功能和Sushiswap的DEX等功能,以獲取大量的SNX代幣;

3、?再在Uniswap大量拋售SNX,進而擾亂SNX在Uniswap的價格;

攻擊開始

4、?使用少量的ETH獲得大量的xSNX;

原理解釋:此次攻擊者利用了xSNX合約支持ETH和SNX進行兌換xSNX的機制。具體而言,當用戶傳入ETH后,合約會將用戶的ETH通過Uniswap兌換為等值的SNX之後再進行xSNX的兌換。由於攻擊者在「準備工作」中的1~3的操作,此時Uniswap中的ETH對SNX的價格是被操縱的,這就使得少量的ETH能夠兌換大量的SNX,進而再兌換大量的xSNX。

閃電貸攻擊+錯誤許可權配置2500萬美元付諸東流|xToken被黑事件簡析

攻擊收尾

5、?攻擊者在Bancor中售賣獲利,由於Bancor中的價格並未受到影響,因此價格彼時仍然是正常的。此時攻擊者得以套利,之後歸還閃電貸;

第二次攻擊開始

6、?再利用獲得的利潤來兌換大量的xBNT。

原理解釋:此次攻擊者利用了xBNT合約支持ETH鑄幣xBNT的功能,合約會將ETH在Bancor中轉化為BNT後進行鑄造xBNT,但需要注意的是,此鑄造函數可以指定兌換路徑,即不需要兌換成BNT也可進行鑄造,這就使得攻擊者能夠任意指定兌換代幣的地址。

閃電貸攻擊+錯誤許可權配置2500萬美元付諸東流|xToken被黑事件簡析

三、事件復盤

在xToken團隊的官方回應中,表達了對此次被黑事件造成的資產損失深感遺憾,並提到在未來即將推出的產品中會引入一項安全功能,以防止此類攻擊。但遺憾的是,由於尚未在整個產品系列中引入這一安全功能,由此導致2500萬美元資金損失。

針對xToken被黑事件,成都鏈安·安全團隊在此提醒,隨著各大DeFi項目的不斷發展,整個DeFi世界將越來越多變,新型項目往往會與之前的DeFi項目在各個方面進行交互,如上文提及的Aave和DEX等等。因此,在開發新型DeFi項目之時,不光需要注意自身邏輯的安全與穩定,還要考慮到自身邏輯與利用到的基礎DeFi項目的整體邏輯是否合理。

同時,我們建議,各大DeFi項目方也需要積極與第三方安全公司構建聯動機制,通過開展安全合作、建立安全防護機制,做好項目的前置預防工作與日常防護工作,時刻樹牢安全意識。

—-

編譯者/作者:成都鏈安

玩幣族申明:玩幣族作為開放的資訊翻譯/分享平台,所提供的所有資訊僅代表作者個人觀點,與玩幣族平台立場無關,且不構成任何投資理財建議。文章版權歸原作者所有。

0

發表迴響