比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads

Bancor Network漏洞事件全解析_BAN

Author:

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

一、事件簡述

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

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

0x923cab01e6a4639664aa64b76396eec0ea7d3a5f

0x8dfeb86c7c962577ded19ab2050ac78654fea9f7

0x5f58058c0ec971492166763c8c22632b583f667f

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

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

0x052ede4c2a04670be329db369c4563283391a3ea

Marathon Digital:已可以動用存放在Signature Bank的1.42億美元現金:金色財經報道,比特幣礦商Marathon Digital表示,該公司已可以動用Signature Bank的1.42億美元現金存款。該公司在一份聲明中稱,已可以對這些資金進行管理,并支付正常業務過程中的發票。Marathon還證實,該公司與硅谷銀行沒有直接業務關系。上周,Marathon表示已償還了Silvergate Bank的定期貸款,并結束了與該銀行的信貸安排。據此前消息,美國聯邦銀行監管機構已承諾返還硅谷銀行和Signature Bank客戶的全部存款。(The Block)[2023/3/14 13:02:10]

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

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

到目前為止(2020-06-19):

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

瑞士數字銀行Sygnum Bank將提供Cardano質押服務:8月2日消息,瑞士數字銀行Sygnum Bank宣布已將其銀行級質押服務擴展到包含Cardano(ADA),Sygnum的質押服務與其銀行平臺完全集成,通過隔離錢包、安全私鑰管理和多層安全基礎設施保證機構級安全性。[2022/8/2 2:54:00]

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

詳情見

https://blog.bancor.network/bancors-response-to-today-s-smart-contract-vulnerability-dc888c589fe4 

并于UTC時間2020-06-17 21:35:53部署了新的Bancor Network合約,合約地址為

0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0

Albane Valenzuela和SBF的FTX定制版簽名高爾夫球包拍賣現已上線:金色財經報道,職業高爾夫球員Albane Valenzuela 使用的這款定制高爾夫球包正在拍賣,起拍價為 5000 美元。這個球包由 Albane 和 Sam 簽名。此次拍賣的 100% 收益將在 FTX 基金會和 Alexis for Autism 之間平均分配。此前報道,FTX宣布高爾夫球員Albane Valenzuela擔任體育大使。[2022/1/25 9:10:48]

二、原理分析

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

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

NBA球隊達拉斯獨行俠老板Mark Cuban成為Blocto戰略投資人和顧問:11 月 11 日消息,據官方消息,繼 NBA Top Shot 可以在 Blocto 收藏及交易后,NBA 球隊達拉斯獨行俠老板 Mark Cuban 現已成為跨鏈智能合約錢包 Blocto 的戰略投資人和顧問。

此前報道,今年 10 月,Mark Cuban 在推特上展示自己持有的 NFT,其中包括 CryptoPunks、Hashmasks、Stoner Cats、Bored Ape Yacht Club、Avastart 等 NFT 系列作品。[2021/11/11 6:46:02]

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

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

“LBank和他的朋友們-2020百城計劃”西安站完美收官:據官方消息,2020年9月6日,由LBank和金色財經聯合主辦,AVF、PDF、ESC、ODIN、FOUR、CCXX、TT、TokenBuster、Token War、八寶飯財經等多家機構支持的“LBank和他的朋友們-2020百城計劃”在西安舉行并完美收官。LBank Jody、AVF理事長Martin、梧桐資本聯合創始人PDF投資人索斗、雷神Thor聯合創始人米拉、ESC早期步道者 Tony、Token War 社區聯合創始人良哥、八寶飯聯合創始人王實等出席會議并發表演講。 “百城計劃”會議的宗旨是提供區塊鏈行業當地資源的交流、分享以及裂變的機遇。希望通過本次西安的活動,可以帶來更多項目啟發與合作機會。[2020/9/6]

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

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

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

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

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

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

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

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

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

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

三、結語

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

Tags:BANBSPNBSBancorBankerDogeBSP價格NBS價格Bancor Governance Token

火幣下載
山河歲月 未來可期 Conflux 2周年暨網絡第二階段Oceanus上線_Conflux

某巨鯨地址將持有的360萬枚CRV轉至幣安:6月15日消息,據0xScope監控顯示,0x8b37開頭巨鯨地址在1小時前將其所持有的全部360萬枚CRV轉移至幣安.

1900/1/1 0:00:00
7.19 午間行情:留給多頭的時間不多了_SBT

比特幣繼續在9150美金附近震蕩,行情沒有太多變化,這是日線MA83線被跌破的第四天,回溯一下比特幣整個走勢,日線跌破MA83線后,最起碼也會下跌百分之五以上,多頭在這時候還不發力.

1900/1/1 0:00:00
雖然遭受兩次攻擊 Balancer依舊或成為格局改變者_ANC

前幾天,Balancer上的流動性池連續兩次遭到攻擊,這對它產生一定的負面影響,但總的來說,只是它發展過程中的小插曲.

1900/1/1 0:00:00
揭秘BTC巨鯨灰度投資背后舵手:加密領域投資大鱷DCG_BER

鯨魚(Whale)是地球上最大的哺乳動物,它們通常生活在海洋深處,平時很難見到,當它們浮出海面換氣時,往往會在海面上掀起巨浪.

1900/1/1 0:00:00
萌新學院丨為什么總虧錢?因為人性輸給斐波那契數列_數字貨幣

金色財經?直播 | 萌新學院《為什么總虧錢?因為人性輸給斐波那契數列 》 7月06日~7月10日 誠邀幣圈10余位KOL 深度剖析時間價格規律 破譯BTC財富密碼!.

1900/1/1 0:00:00
技術周刊 | 以太坊開發人員決定推遲柏林硬分叉_ETH

本周技術周刊包含以太坊、波卡、EOS、Filecoin等網絡的技術類新聞。V神:最初低估了PoS和分片所需時間金色財經報道,V神最近在播客節目中承認在以太坊創建過程中存在許多變化,例如之后更多地.

1900/1/1 0:00:00
ads