一、事件簡述
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
巴西最大的數字銀行Nubank推出的加密交易平臺用戶突破100萬:金色財經報道,按市值計算,巴西最大的數字銀行Nubank在6月推出僅一個月后,其加密交易平臺的用戶就達到了100萬。該公司曾希望在5月推出Nucripto并于6月向 4650 萬用戶開放后,在一年內實現這一里程碑。該平臺允許用戶通過Paxos區塊鏈基礎設施提供的加密交易和托管服務買賣BTC和ETH。今年 5 月,該公司宣布將其資產負債表上大約 1% 的現金分配給比特幣,以表明其對加密貨幣的信心。[2022/7/27 2:39:39]
0x1ad1099487b11879e6116ca1ceee486d1efa7b00
也于同一時間利用此漏洞對用戶資金進行轉移,分別轉出資金$131,889和$2346。
到目前為止(2020-06-19):
EtherScan已經將存在此漏洞的合約進行標注,如下圖所示
Bancor Network團隊也已對此次事件做出了回應,
Nubank母公司Nu Holdings計劃于12月初在紐約證券交易所和B3交易所上市:金色財經報道,巴西數字銀行Nubank母公司Nu Holdings計劃于12月9日和10日是在在紐約證券交易所(NYSE)和巴西的圣保羅B3證券交易所上市,該公司在10月底宣布,它已經為擬議的IPO提交了申請。
這家金融科技獨角獸公司正在鼓勵其應用程序用戶通過申請自己在公司的小份額來了解投資。Nubank已經透露了作為其即將進行的首次公開募股(IPO)的一部分。(theblockcrypto)[2021/11/13 6:49:43]
詳情見
https://blog.bancor.network/bancors-response-to-today-s-smart-contract-vulnerability-dc888c589fe4
并于UTC時間2020-06-17 21:35:53部署了新的Bancor Network合約,合約地址為
LBank藍貝殼將于3月21日20:00啟動等值6萬USDT的DORA代幣售賣:據官方消息,LBank藍貝殼將于3月21日 20:00-3月22日 14:00啟動等值60,000USDT的DoraFactory(DORA)代幣售賣。本次總售賣數量為6,000枚DORA,售賣價格為10 DORA/USDT。本次售賣分“LBK專場”和“USDT專場”兩場,售賣認購模式為加權均分模式,用戶需持有相應的USDT及LBK。完成售賣后預計將于3月22日18:00上線交易。
DoraFactory(DORA)是基于波卡的 DAO 即服務基礎設施,基于 Substrate 的開放、可編程的鏈上治理協議平臺,為新一代去中心化組織和開發者提供二次方投票、曲線拍賣、Bounty 激勵、跨鏈資產管理等可插拔的治理功能。同時,開發者可以向這個 DAO 即服務平臺提交新的治理模塊,并獲得持續的激勵。[2021/3/18 18:58:22]
0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0
二、原理分析
漏洞爆出后,成都鏈安安全團隊第一時間對本次事件進行跟蹤分析,根據鏈上分析結果發現,此次事件中漏洞產生的主要原因是智能合約Bancor Network存在一個調用權限為public的函數safeTransferFrom,通過調用此函數,可以將用戶授權給智能合約Bancor Network的資金轉出到任意地址。
LBank將于3月25日啟動第41期“LBK周四GO”八折FIL售賣:據悉,LBank將于2021年3月25日16:00啟動第41期“LBK周四GO”八折FIL專場售賣。屆時,將有50000USDT等值FIL在“登月計劃”專區中8折出售。本次認購采用加權均分的模式,認購幣種為USDT,用戶通過KYC實名認證,并持有相應的LBK即可參與。
“LBK周四GO”是LBank為回饋用戶開啟的主流幣打折售賣系列活動。活動會于每周四下午16:00開啟,精選優質項目8折售賣。更多詳情可登錄LBank官網查看。[2021/3/18 18:57:33]
由源碼可以知,該函數為一個public函數,詳細代碼如下圖所示:
safeTransferFrom函數內部調用了execute函數。而execute函數的功能是調用safeTransferFrom參數中的_token代幣智能合約的transferFrom函數進行代理轉賬。execute函數源碼如下圖所示:
德國金融科技公司Solarisbank推出授權的加密經紀API:2月25日消息,德國金融科技公司Solarisbank正在通過經紀和交易API建立其受監管的加密貨幣托管服務。Solarisbank向Sumsung等公司提供了一系列用于數字銀行和支付的API,該公司周四宣布將在其托管解決方案中提供法定對加密交易和即時結算。
Solarisbank Digital Assets董事總經理Julian Grigo在接受采訪時表示:我們開始托管,現在是經紀人API,我們的B2B客戶將能夠獲得銀行帳戶,存儲加密貨幣,并使用經紀人API,他們可以將法定貨幣兌換或交換為比特幣或其他加密貨幣。(Coindesk)[2021/2/25 17:51:29]
我們通過一筆鏈上交易可以清晰的看到調用此函數的具體作用。如地址“0xc802”發起一筆交易,調用了智能合約“0x5f58”(也就是Bancor Network)的safeTransferFrom函數,使地址”0x8a39”中的0.000000000000000003代幣MFG發送到”0x2955”(圖中的“Bancor:White Hat S...),具體如下圖所示:
以上就是本次事件漏洞的原理分析,該漏洞的原理十分簡單,是因為函數的調用權限設置錯誤,將本應該只有合約本身調用的函數,設置成了任何人都可以調用。而當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:BANNBSBSPBancorBAND幣NBS價格bspt幣未來前景Bancor Governance Token
金色周刊是金色財經推出的一檔每周區塊鏈行業總結欄目,內容涵蓋一周重點新聞、行情與合約數據、礦業信息、項目動態、技術進展等全行業動態。本文是其中的產業周刊,帶您一覽本周的區塊鏈產業動態.
1900/1/1 0:00:007月5日上午9點,由杭州市余杭區政府指導,巴比特主辦的“2020杭州區塊鏈國際周”正式開幕。來自世界各地的行業大咖、互聯網大廠、創新企業、投資機構、學術機構、主流媒體將齊聚亮相,共同探討區塊鏈產.
1900/1/1 0:00:00比特幣解決了許多問題,從貨幣政策處理不當到充當一個全新的財富存儲手段。但這是否也可以解決委內瑞拉被制裁和卡在海上的石油問題,或許可以將油更好地利用,而不是漫無目的地漂浮在海上.
1900/1/1 0:00:002020年6月Filecoin最新路線圖更新,主網啟動進入沖刺階段!7月初,開啟400萬枚FIL爭霸賽,全球礦工將通過儲存排名搶奪Filecoin首批獎勵.
1900/1/1 0:00:00金色財經 區塊鏈7月10日訊 繼Compound大熱之后,又有一個Defi協議備受關注,那就是Balancer協議.
1900/1/1 0:00:00據成都鏈安『安全態勢感知系統』(Beosin-Eagle Eye)數據監測顯示:在過去的6月中,區塊鏈安全形勢依然嚴峻,整個區塊鏈生態共發生超19起較典型的安全事件.
1900/1/1 0:00:00