以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

Bancor安全事件分析:簡單漏洞引發50萬美元損失_BAN

Author:

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

一、事件簡述

2020-06-18(文中所提及時間均為UTC時間),以太坊上的智能合約BancorNetwork被爆出存在嚴重漏洞。該漏洞由BancorNetwork團隊和白帽最先發現,并第一時間對存在被盜風險的資金進行了轉移,涉及資金50W余美元。

此次事件中,存在漏洞的合約地址主要有如下三個:

0x923cab01e6a4639664aa64b76396eec0ea7d3a5f

0x8dfeb86c7c962577ded19ab2050ac78654fea9f7

0x5f58058c0ec971492166763c8c22632b583f667f

2020-06-183:06:48,BancorNetwork團隊利用此漏洞對存在被盜風險的用戶資金進行轉移,截至2020-06-18?6:56,BancorNetwork團隊共計轉移資金約合$409,656。

另外兩個公開郵箱信息的地址:

0x052ede4c2a04670be329db369c4563283391a3ea

火幣全球站已暫停BAND和ZIL充提業務:官方消息,由于BAND和ZIL主網升級,火幣全球站已暫停BAND(Band Protocol)和ZIL(Zilliqa)的充提業務。[2021/7/13 0:49:10]

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

也于同一時間利用此漏洞對用戶資金進行轉移,分別轉出資金$131,889和$2346。

到目前為止:

EtherScan已經將存在此漏洞的合約進行標注,如下圖所示

圖一

BancorNetwork團隊也已對此次事件做出了回應,

詳情見

Bancor發起第二輪投票為其流動性挖礦再新增2幣種:12月14日,去中心化交易協議Bancor (BNT)官方宣布已發起第二輪投票,計劃為其流動性挖礦計劃再新增2個幣種。此輪投票共有12個幣種作為選項,分別為:SNX、AAVE、NXM、ENJ、JRT、LRC、RSR、BNB、KNC、OMG、NMR和STAKE。

注:Bancor于11月17日公布流動性挖礦計劃,除首批8個資金池外,12月份新增YFI及REN兩幣種。至此目前Bancor流動性挖礦計劃共支持10個幣種。[2020/12/15 15:11:27]

并于UTC時間2020-06-1721:35:53部署了新的BancorNetwork合約,合約地址為

0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0

二、原理分析

漏洞爆出后,成都鏈安安全團隊第一時間對本次事件進行跟蹤分析,根據鏈上分析結果發現,此次事件中漏洞產生的主要原因是智能合約BancorNetwork存在一個調用權限為public的函數safeTransferFrom,通過調用此函數,可以將用戶授權給智能合約BancorNetwork的資金轉出到任意地址。

動態 | Bank Frick擴大服務范圍,提供BCH交易和托管服務:金色財經報道,歐洲區塊鏈銀行Bank Frick擴大了其提供交易和托管服務的加密貨幣范圍。Bank Frick現在為專業市場參與者和富有的私人客戶提供BCH交易和安全托管服務,交易是在該行完全受監管的環境下進行的。市場參與者可以在Bank Frick用歐元、美元和瑞士法郎購買BCH,交易每天進行一次。[2020/1/31]

由源碼可以知,該函數為一個public函數,詳細代碼如下圖所示:

圖二

safeTransferFrom函數內部調用了execute函數。而execute函數的功能是調用safeTransferFrom參數中的_token代幣智能合約的transferFrom函數進行代理轉賬。execute函數源碼如下圖所示:

聲音 | Sberbank:加密貨幣作為法定貨幣的替代品沒有前景:Sberbank的負責人表示,他認為全球使用加密貨幣作為法定貨幣的替代品沒有前景。我不認為國家可以將發放法幣的中心作用給其他一些分散的機構。[2018/7/6]

圖三

我們通過一筆鏈上交易可以清晰的看到調用此函數的具體作用。如地址“0xc802”發起一筆交易,調用了智能合約“0x5f58”的safeTransferFrom函數,使地址”0x8a39”中的0.000000000000000003代幣MFG發送到”0x2955”,具體如下圖所示:

圖四

以上就是本次事件漏洞的原理分析,該漏洞的原理十分簡單,是因為函數的調用權限設置錯誤,將本應該只有合約本身調用的函數,設置成了任何人都可以調用。而當BancorNetwork擁有用戶的授權額度時,任何人都可以通過調用safeTransferFrom函數,以BancorNetwork的身份對用戶的資金進行代理轉賬。

Sberbank在俄羅斯用區塊鏈技術進行了第一次商業債券交易:據cryptovest消息,俄羅斯最大的銀行Sberbank投資部門Sberbank CIB,日前在俄羅斯進行了第一個基于區塊鏈的商業債券交易,組織了MTS(莫斯科一家電信公司)公司債券的發行,期限為6個月,價值7.5億盧布(約合1200萬美元)。該操作是在國家結算存管局(NSD)提供的區塊鏈平臺上進行的,該平臺的技術基于HyperLedger Fabric 1.1。[2018/5/17]

針對該漏洞,有兩點值得我們進行深入分析:

1.?為什么BancorNetwork合約的safeTransferFrom函數會將權限設置成public。

2.?BancorNetwork合約的主要功能是代幣轉換,并非一個錢包,為什么用戶會有未使用的授權。

對于第一個問題,我們追蹤了safeTransferFrom函數的調用情況,發現safeTransferFrom函數只在handleSourceToken函數中被調用,用于將用戶的代幣轉移到本合約中。handleSourceToken函數源碼如下圖所示:

圖五

既然只是在handleSourceToken函數中調用,那么顯然是沒有必要設置成public權限,且根據業務來看,BancorNetwork的主要作用是用于代幣交換,并不需要用戶主動調用safeTransferFrom,也就沒有必要將safetransferFrom設置為public權限。于是我們對比了合約中其他的幾個函數,這幾個函數均被設置成了public權限。如下圖所示:

圖六

由此,針對第一個問題,我們推測將這些函數設置為public權限可能是因為合約開發人員的疏忽。而目前來看,BancorNetwork團隊新部署的合約也驗證了這個推測。根據鏈上代碼顯示,官方部署的新合約已經將相關函數權限全部進行了更改。具體代碼如下圖所示:

圖七

針對第二個問題,我們跟蹤了漏洞爆出后被轉移資金的地址,發現這些地址在對BancorNetwork授權額度時,往往超過了所需要兌換代幣的數量,且在兌換完成后,并沒有收回額度。如下圖所示:

圖八

“0x624f”開頭的地址對BancorNetwork合約授權了900000000000000個ONG代幣,此額度已經超過了ONG的發行量,相當于將“0x624f”所擁有的ONG代幣全部授權給BancorNetwork合約。而跟蹤“0x624f”開頭地址的交易我們發現,在進行完代幣兌換后,未使用完所有授權額度,但并未將授權額度收回。

綜上所述,我們推測可能是用戶考慮到要隨時使用,為了方便,一次性將所有代幣都授權給了BancorNetwork合約。也可能是BancorNetwork的前端對授權金額設定了默認值。但這種行為存在巨大的風險,一旦智能合約爆發漏洞,資金極易被攻擊者竊取。而在對后續新的BancorNetwork合約進行分析時發現,BancorNetwork團隊和用戶似乎也意識到了此問題存在的巨大風險,并做出了相應的安全防護。如下圖九、十為用戶對新合約的授權情況,對比兩筆線上交易不難看出,兩次授權的時間間隔很短,當用戶成功兌換完代幣后,剩余授權即被收回。

圖九

圖十

三、結語

BancorNetwork本次爆出的漏洞,是一個較為簡單的漏洞,此類漏洞在代碼審計過程中十分容易被發現,但此次漏洞的影響卻很大,上線僅兩天,涉及的資金就已經超過50w美元。幸而BancorNetwork團隊及時發現并修復了漏洞,否則后果不堪設想。成都鏈安-安全研究團隊在此提醒各大智能合約運營商,因區塊鏈合約部署后不可更改的特性,對比傳統軟件,上線前做好充分的代碼審計十分重要,此次事件雖未造成太大的經濟損失,但勢必會讓用戶對BancorNetwork團隊產品的安全性產生質疑。另外也提醒廣大用戶和運營商,在授權資金給第三方合約時,都應保持謹慎,切不可盲目相信“大公司”,對任何合約的授權都應當秉承最小原則,不要使自己的資金安全掌握在他人手中。

Tags:BANANCBancorORNTokenBanklanc幣最新消息Bancor Governance Tokentorn幣前景

幣安下載
Maker、Compound 雖好,但仍撐不起 DeFi_EFI

作者:MichaelAnderson 譯者:羅遠航 來源:區塊鏈前哨 DeFi行業從來不會因循守舊、固步自封。剛接觸DeFi的人們恐怕很難相信這個行業在短短一年多的時間里有了長足的增長和變化.

1900/1/1 0:00:00
北京市發布區塊鏈發展三年行動計劃,目標建成四個“高地”_區塊鏈

區塊鏈賦能實體經濟為大勢所趨,脫虛務實成為該計劃的主基調。6月30日,北京市人民政府辦公廳發布印發《北京市區塊鏈創新發展行動計劃(2020—2022年)》的通知.

1900/1/1 0:00:00
最有力支持者倒戈?前比特幣開發者Gavin Andresen懷疑CSW并非中本聰_區塊鏈

最近公布的證詞表明,GavinAndresen對CraigWright是否是比特幣的創造者中本聰產生了懷疑。值得注意的是,他曾在CSW公開宣稱自己是中本聰時表示了他的支持.

1900/1/1 0:00:00
硬件化方案堅不可摧?揭秘可信硬件TEE的是非功過_區塊鏈

作者:嚴強 來源:微眾銀行區塊鏈 可信硬件何以可信?相比純軟件隱私保護解決方案,結合可信硬件的解決方案有何優勢?可信硬件是否真的堅不可摧?可信硬件的使用又會引入哪些技術風險和商業顧慮?可信硬件執.

1900/1/1 0:00:00
誰會成為下一個COMP?dForce加急寫白皮書欲借風翻盤_DFO

轉自:插兜小哪吒 作者:小吒 原文:https://mp.weixin.qq.com/s/f8kPmADu3bxms-QwQY4fWA改文因引用微信群聊天,忘了打碼,故刪除.

1900/1/1 0:00:00
觀點 | 資金、數據、風控,金融的問題要靠科技來解決_比特幣

數據被轉賣,上到公司行為,下至員工偷盜,這個問題的屢禁不止不僅是個人或者公司的問題,而是行業缺陷所致,不能寄希望于人的自覺。而隨之而來的監管又會帶來數據荒等問題.

1900/1/1 0:00:00
ads