一、事件簡述
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
加密行業游說團體尋求針對合法加密業務的de-banking信息:金色財經報道,加密行業游說團體 Blockchain Association 向美國聯邦存款保險公司(FDIC)、美聯儲理事會和審計長辦公室提交了《信息自由法》(FOIA) 請求,尋求在美國涉及加密貨幣公司的去銀行化(de-banking)的文件和通信。BA 正在調查有關 de-banking 指控,包括關閉賬戶和拒絕開設新賬戶,以及監管機構可能處理不當導致 Signature、硅谷銀行和 Silvergate 倒閉的行為。
Blockchain Association 呼吁所有受影響的加密貨幣行業參與者挺身而出,正在收集普通美國人和企業家因這種 de-banking 而受到傷害的故事。[2023/3/17 13:09:59]
0x1ad1099487b11879e6116ca1ceee486d1efa7b00
也于同一時間利用此漏洞對用戶資金進行轉移,分別轉出資金$131,889和$2346。
到目前為止(2020-06-19):
EtherScan已經將存在此漏洞的合約進行標注,如下圖所示
Bancor v3開發完成后將部署至Layer2:Bancor官方發布社區會議總結,其中提到Bancor v3的進展。目前Bancor開發團隊正在以太坊Layer1網絡開發Bancor v3,一旦開發完成將快速部署至Layer2。[2021/5/31 22:57:56]
Bancor Network團隊也已對此次事件做出了回應,
詳情見
https://blog.bancor.network/bancors-response-to-today-s-smart-contract-vulnerability-dc888c589fe4
并于UTC時間2020-06-17 21:35:53部署了新的Bancor Network合約,合約地址為
億萬富翁MarkCuban:ETH比BTC具有更大的價值存儲優勢:億萬富翁、達拉斯獨行俠老板MarkCuban在接受采訪時表示,ETH比BTC具有更多的價值存儲優勢,當出現回調時,他會購買更多的ETH,而不是BTC。他表示,「智能合約為無摩擦銀行業務奠定了基礎,美國2.0將建立在區塊鏈的基礎上,其中很大一部分將是DeFi」。在談到NFT時,他預測未來數字收藏品將超越實體收藏品市場。(The Defiant)[2021/2/13 19:39:55]
0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0
二、原理分析
漏洞爆出后,成都鏈安安全團隊第一時間對本次事件進行跟蹤分析,根據鏈上分析結果發現,此次事件中漏洞產生的主要原因是智能合約Bancor Network存在一個調用權限為public的函數safeTransferFrom,通過調用此函數,可以將用戶授權給智能合約Bancor Network的資金轉出到任意地址。
由源碼可以知,該函數為一個public函數,詳細代碼如下圖所示:
分析:億萬富翁Mark Cuban稱股市估值過高,加密市場或同步受影響:億萬富翁投資者、知名加密批評人士Mark Cuban本周在接受CNBC采訪時發表了一些令人震驚的言論,他表示,目前股市估值過高,原因是在2019年冠狀病大流行期間,消費者支出存在不確定性:“我認為市場估值過高。我認為,幾乎不可能預測消費者和企業的需求會從哪里來。正因為如此,很難對企業進行估值。”Cuban承認,一些企業正受益于目前的遠程辦公、居家隔離等要求,比如Netflix、亞馬遜和Zoom。不過,Cuban表示,從更大的角度來看,近來發生了太多的變化,很難從市場上了解情況。他補充稱:“當我們全面觀察市場時,很難預測需求方面將會發生什么。商業從根本上改變了,消費從根本上改變了。”盡管Cuban在CNBC采訪中沒有討論加密貨幣,但最近幾個月我們看到,加密市場仍在追蹤股市。SFOX上周的一份加密市場報告對此予以證實。如果Cuban的理論是正確的,而市場矯正應歸因于所謂的“被高估”公司,那么加密貨幣世界中也可能會感受到影響。(Decrypt)[2020/5/17]
safeTransferFrom函數內部調用了execute函數。而execute函數的功能是調用safeTransferFrom參數中的_token代幣智能合約的transferFrom函數進行代理轉賬。execute函數源碼如下圖所示:
動態 | 南非Nedbank銀行不再為加密貨幣相關公司開設新賬戶:據Bitcoinist消息,有南非加密媒體報道稱南非Nedbank計劃關閉加密交易所銀行賬戶,但南非加密貨幣交易平臺AltcoinTrader首席執行官指出,這是媒體炒作,現實情況是Nedbank銀行只是不再為加密貨幣相關公司開設新帳戶,但他們沒有關閉往來帳戶。而隨著銀行撤回對南非加密交易平臺的支持,行業利益相關者表示,政府需要制定明確的加密貨幣法規。[2020/1/25]
我們通過一筆鏈上交易可以清晰的看到調用此函數的具體作用。如地址“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:BANANCBancorBSPBankera V2Weather FinanceBancor Governance TokenBSP幣
金色財經 區塊鏈7月11日訊 今年年初爆發的一場新冠病疫情使得加密貨幣市場幾近崩盤,而去中心化穩定幣DAI也深受影響.
1900/1/1 0:00:007月6日,中國遠洋海運集團與阿里巴巴、螞蟻集團簽署三方戰略合作協議,將共同推動航運物流區塊鏈合作和應用,開展未來基于全球航運物流網絡的深度合作.
1900/1/1 0:00:00文章系金色財經專欄作者幣圈北冥供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.
1900/1/1 0:00:00諸如 USDT、USDC等中心化穩定幣的發行方正在將一些地址列入黑名單。這對于加密行業和正在蓬勃發展的 DeFi 領域意味著什么呢?在3月中旬冠狀病市場崩盤引發去中心化穩定幣 DAI .
1900/1/1 0:00:00比特幣在其十一年的歷史中,出現了一系列加密貨幣的“實驗變種”。衡量比特幣相對于其他加密貨幣的“領先指數(dominance)”的最好方法是計算其相對市值,即通過比較流通代幣的總供應量乘以當前價格.
1900/1/1 0:00:00近日,深圳市工業和信息化局發布了關于公開征求《深圳市數字經濟產業創新發展實施方案(征求意見稿)》(下稱《實施方案》)意見的通告,表示將努力建成全國領先、全球一流的數字經濟產業創新發展引領城市.
1900/1/1 0:00:00