比特幣價格 比特幣價格
Ctrl+D 比特幣價格
ads
首頁 > 比特幣 > Info

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

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

瑞士銀行SEBA Bank宣布支持使用BCH和USDC:獲得FINMA認證的瑞士銀行SEBA Bank已經開始接受兩種新的數字貨幣進入其數字生態系統,分別是Bitcoin Cash和USD Coin。SEBA Bank客戶可以在所有服務中使用這些代幣,包括交易、數字托管、針對BCH抵押品的法幣貸款以及從USDC賺取利息。

SEBA Bank不斷增加新貨幣,目前支持的法定貨幣包括瑞士法郎、美元、英鎊、歐元、港幣、新加坡元和波蘭茲羅提,支持的加密貨幣包括BTC、ETH、LTC、XLM、BCH和USDC。(The Paypers)[2020/11/20 21:30:43]

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

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

到目前為止:

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

LBank將啟動AVAX專場售賣,等值2萬USDT的AVAX待售:據悉,LBank將于7月24日16:00(UTC+8)開啟LBK Solar AVAX(Avalanche)專場售賣,共有23,529.4 AVAX獨家待售,總價值等值2萬USDT。本場售賣的AVAX均來自AVAX官方售賣渠道的option B,單價0.85USDT,不鎖倉額度。

本次認購采用加權均分的售賣模式,認購幣種為USDT,用戶通過KYC認證,并持有相應的LBK即可參與售賣。所有用于本次售賣的USDT均將用于回購銷毀LBK。AVAX/USDT交易對將于7月24日20:00上線。更多詳情請關注LBank官網。[2020/7/22]

圖一

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

詳情見

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

加密友好銀行Signature Bank Q1凈收入下降30%:4月24日消息,加密友好銀行Signature Bank發布報告稱,與2019年第一季度相比,其2020年第一季度凈收入下降了30%。凈利潤下降的原因是,由于冠狀病疫情,信貸損失準備金增加了6050萬美元。(The Block)[2020/4/24]

0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0

二、原理分析

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

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

加密貨幣友好銀行Silvergate Bank電匯出現故障:金色財經報道,據多個消息人士透露,加密貨幣友好銀行Silvergate Bank的客戶向該公司報告了一些電匯問題。該銀行總部位于硅谷,為加密貨幣公司提供服務。Silvergate首席執行官Alan Lanehu回應稱,電匯問題與付款處理器Finastra發生故障有關。根據橫跨加密交易所和交易公司的多個行業消息來源,該銀行的客戶一直無法向該銀行匯款。一位消息人士稱,Silvergate目前正在手動處理訂單。[2020/3/21]

圖二

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

圖三

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

動態 | Bigbang前成員李勝利所代言虛擬貨幣企業被起訴:據韓媒報道,以組合Bigbang前成員勝利代言為由,虛擬貨幣企業Nupay代表因無法返還投資資金涉嫌詐騙而被起訴。據悉,2018年年11月Nupay與勝利簽訂了廣告代言合同,以今年3月上市為目標,在YG娛樂的支持下完成了廣告拍攝。而后,勝利因“Burning Sun”事件受到牽連,因此Nupay方面要求前所屬公司YG娛樂全額退還合約金,并達成了部分協議。[2019/6/13]

圖四

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

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

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:BANANCWORCORNLBank公司Quoll FinanceSMARTWORTHChaincorn

比特幣
EFI:通過DeFi治理賺錢的群體,一文了解協議家的秘密_DEFI

DeFi協議家是做什么的?這些有影響力的參與者將如何演變?你應該成為其中之一嗎?今天讓我們和Cooper一起深入DeFi的治理新世界,讓我們了解協議家的生活.

1900/1/1 0:00:00
STA:以太坊擴容引擎 StarkEx 新推出的混合數據解決方案 Volition 是什么?為什么值得關注?_STARK幣

撰文:日曜 來源:鏈聞 Vitalik等人根據StarkEx所采用的數據可用性解決方案認為其不屬于Rollups,而是Validium.

1900/1/1 0:00:00
BTC:一文讀懂永續合約背后的神秘調料「資金費率」_ALICE

撰文:AdityaPalepu,衍生品合約去中心化交易所DerivaDEX聯合創始人兼CEO,高頻交易商DRW前算法交易員編譯:PerryWang資金費率是加密世界當前最走紅的交易產品——永續合.

1900/1/1 0:00:00
加密貨幣:吳說獨家:四川礦場水電消納全年預計50億度 明年還將翻倍_FTX

吳說區塊鏈獲悉,四川電力交易中心有限公司表示,目前2020年四川年度電量交易完成,其中,水電消納產業示范區交易目前成交電量約13.71億千瓦時.

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

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

1900/1/1 0:00:00
NFT:面向高端人士的比特幣銀行River Financial完成570萬美元種子輪融資_EAPEX幣

據TheBlock報道,成立于2019年的比特幣銀行RiverFinancial于6月17日宣布,獲得了570萬美元融資.

1900/1/1 0:00:00
ads