以太幣交易所 以太幣交易所
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

LBank 將于今日20:00在NFT交易區上線 MilkTea/USDT 交易對:據官方消息,LBank將于今日20:00在NFT交易區上線MilkTea/USDT交易對,MilkTea中文名奶茶幣,所有加密貨幣行業于2020年9月25日登記了秋天第一杯奶茶的參與者均可獲得。

MilkTea作為一場有趣的社會實驗,代幣本身不具備任何價值。持有MilkTea的用戶,可以在每年9月25日,憑MilkTea領取LBank奶茶空投一杯,有效期無限。[2020/9/30]

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

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

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

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

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

聚幣于8月12日上線DeFi預言機類項目BAND:據官方消息,聚幣Jubi將于2020年8月12日16:00(UTC+8)上線BAND/USDT交易對。BAND現已開放充提。

Band Protocol的目標是打造一個安全,可擴展性的去中心化世界的數據庫,為去中心化應用程序(dApp)提供可信的數據。使用BandProtocol的開發者和dApp公司通過公共智能合約數據點進行數據消費,而并不是基于剝離于區塊鏈的中心化預言機。[2020/8/11]

詳情見

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

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

0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0

動態 | 加密友好銀行Medici Bank將于10月推出內測版:加密友好銀行Medici Bank即將迎來它的第一批客戶。Medici Bank透露,其將于10月推出內測版,并將與全球五家公司測試數字熟悉產品過程、門戶網站及其應用程序編程接口。

Medici的首席執行官Ed Boyle表示,其中兩到三家公司將從事加密業務,其中至少有一家是交易所。在測試階段引入這樣的公司是有指導意義的,可以看看銀行的系統是否能夠擴展以適應交易量。(CoinDesk)[2019/9/26]

二、原理分析

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

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

動態 | Ecobank Transnational發布報告:大多數非洲國家保留數字貨幣合法化:根據Bitcoinexchangeguide消息,Ecobank Transnational(非洲泛非經濟銀行集團)近日發布的一份報告稱,包含在其經營范圍內的36個非洲國家中,只有兩個國家(南非和斯威士蘭)宣布對數字貨幣和區塊鏈技術采取友好態度,納米比亞是唯一一個徹底禁止數字貨幣的國家。大多數非洲國家考慮其存在潛在風險,但并未在政策層面明確態度,仍然保留將數字貨幣的使用合法化。該報告繼續指出,大多數非洲國家都傾向于采用耐心的方法來監管這些數字資產。[2018/9/2]

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

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

分析 | Bancor交易所被盜或因其智能合約可升級:昨日Bancor被盜價值超過1200萬美元的代幣。據ETHNEWS報道,黑客顯然是通過允許Bancor更新智能合約的缺乏抵抗力的錢包來實現的。 Bancor的錢包能夠更新智能合約,這一事實本身就是Bancor協議存在爭議的一個方面,這是因為區塊鏈技術的一個關鍵賣點是其不可改變的性質。與此同時,Bancor仍堅持其協議,并贊揚由于其中心化力量,能夠節省的1億美元的BNT。Bancor首席技術官Yudi Levi表示,盡管建立了中心化的控制,該公司仍選擇擁有可升級的智能合約,是為了避免像以太坊的DAO黑客這樣的危機。Bancor曾迅速刪除包含其首席技術官文章的推文。在文章中Levi指出,可升級的智能合約僅在試用階段存在,然而此次攻擊是在其協議發布后一年多后發生的。[2018/7/11]

以上就是本次事件漏洞的原理分析,該漏洞的原理十分簡單,是因為函數的調用權限設置錯誤,將本應該只有合約本身調用的函數,設置成了任何人都可以調用。而當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:BANANCBancorNBSLBank是哪個交易所ShibaInu FinanceBancor Governance Tokennbs幣官網

芝麻開門交易所下載
6.28晚間行情:交割完畢該如何操作_BTC

文章系金色財經專欄作者幣圈北冥供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
DeFi總市值2個月漲700% 但仍有不少人表示:看不懂跟不上_EFI

自從 5 月份比特幣區塊獎勵減半塵埃落定之后,我們可以看到整個加密行業的目光焦點轉移到了 ETH 2.0、IPFS 以及 DeFi 上.

1900/1/1 0:00:00
聚幣Jubi 首創HRP溢價回購模型正式啟動_HRP

7月1日,聚幣Jubi宣布首創HRP溢價回購機制正式啟動,HRP是聚幣首創的溢價回購模型,將不同于現有市場的不透明的回購機制,HRP具有回購價格透明,并使用二級市場和場外雙通道同步回購的特點.

1900/1/1 0:00:00
聚焦區塊鏈應用 重慶“重金”推進區塊鏈產業進展_區塊鏈

7月8日,2020線上智博會區塊鏈應用創新大賽在重慶啟動。大賽由2020中國智博會組委會主辦、重慶市大數據應用發展管理局與渝中區人民政府聯合承辦、重慶市區塊鏈應用創新產業聯盟和四川省區塊鏈行業協.

1900/1/1 0:00:00
Compound 最新 010 提案已通過 但被社區質疑「少數機構控制提案票權」_COM

律動 BlockBeats 消息,6 月 26 日,Compound 官方推特公布,010 提案已高票通過,2 天后即可執行.

1900/1/1 0:00:00
7.3午間行情:遇阻回落 下方強支撐在這_SWAP

文章系金色財經專欄作者牛七的區塊鏈分析記供稿,發表言論僅代表其個人觀點,僅供學習交流!金色盤面不會主動提供任何交易指導,亦不會收取任何費用指導交易,請讀者仔細甄別,謹防上當.

1900/1/1 0:00:00
ads