以太幣交易所 以太幣交易所
Ctrl+D 以太幣交易所
ads

成都鏈安:Bancor Network漏洞事件分析_ANC

Author:

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

一、事件簡述

2020-06-18(文中所提及時間均為UTC時間),以太坊上的智能合約BancorNetwork被爆出存在嚴重漏洞。該漏洞由BancorNetwork團隊和白帽最先發現,并第一時間對存在被盜風險的資金進行了轉移,涉及資金50W余美元。此次事件中,存在漏洞的合約地址主要有如下三個:0x923cab01e6a4639664aa64b76396eec0ea7d3a5f0x8dfeb86c7c962577ded19ab2050ac78654fea9f70x5f58058c0ec971492166763c8c22632b583f667f2020-06-183:06:48,BancorNetwork團隊利用此漏洞對存在被盜風險的用戶資金進行轉移,截至2020-06-186:56,BancorNetwork團隊共計轉移資金約合$409,656。另外兩個公開郵箱信息的地址:0x052ede4c2a04670be329db369c4563283391a3ea0x1ad1099487b11879e6116ca1ceee486d1efa7b00也于同一時間利用此漏洞對用戶資金進行轉移,分別轉出資金$131,889和$2346。到目前為止:EtherScan已經將存在此漏洞的合約進行標注,如下圖所示

成都鏈安:whaleswap.finance項目遭受攻擊,至少損失5,946 個BUSD和5964個USDT:6月21日消息,據成都鏈安“鏈必應-區塊鏈安全態勢感知平臺”安全輿情監控數據顯示,whaleswap.finance項目遭受攻擊,成都鏈安技術團隊分析發現原因可能是因為whaleswap.finance Pair合約的K值校驗存在問題。每當用戶在進行交換時,K值校驗中傳入的參數量級存在問題,造成K值校驗失效。攻擊者先通過閃電貸借一筆BSC-USD,之后歸還閃電貸時K值校驗參數量級為10000^4。而K值校驗時采取的參數校驗量級為10000^2,導致K校驗失效。[2022/6/21 4:41:57]

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

成都鏈安:GYM Network 項目的GymSinglePool遭受攻擊:6月8日消息,據成都鏈安安全輿情監控數據顯示,GYM Network 項目的GymSinglePool遭受了攻擊。因為_autoDeposit函數未轉入抵押的代幣,攻擊者惡意調用了depositFromOtherContract函數記賬,并憑空提取了GYM token,目前2000BNB已進了Tornado Cash,3000BNB存放在攻擊賬戶中,價值70W美元的ETH轉入了以太坊。[2022/6/8 4:10:43]

詳情見,并于UTC時間2020-06-1721:35:53部署了新的BancorNetwork合約,合約地址為0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0二、原理分析

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

成都鏈安:BAYC項目具有被無限鑄幣的風險:據成都鏈安安全輿情監控數據顯示,BAYC項目具有被無限鑄幣的風險。成都鏈安安全團隊分析發現,合約的擁有者并非多簽錢包,合約擁有者可以任意調用reserveApes()函數進行鑄幣,每次調用函數可以直接鑄造30枚無聊猿NFT,如果合約所有者遭到釣魚攻擊或私鑰泄露等,可能會導致大量無聊猿NFT被鑄造并售賣。后面成都鏈安會持續監控該合約擁有者的動向。[2022/6/6 4:04:55]

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

動態 | 成都鏈安推出Beosin-AML虛擬資產調查取證和反洗錢合規系統:為幫助虛擬資產服務商(VASP)監測交易風險、執行反洗錢合規程序,幫助監管部門監督VASP合規流程執行情況,幫助執法部門快速收集虛擬資產犯罪案件證據,為受害者提供技術協助,成都鏈安科技推出可視化的虛擬資產合規監測和調查取證分析系統Beosin-AML。系統上線技術援助服務,受害者被盜幣或不慎參與了跑路盤、資金盤等非法項目后,可在網站提交相關信息,平臺開展調查、分析和追蹤等取證服務。成都鏈安Beosin-AML虛擬資產調查取證和反洗錢合規系統,采集鏈上交易數據,分析加密貨幣犯罪和安全事件,結合機器學習模型綜合分析鏈上交易的合規和安全風險。幫助區塊鏈行業建立合法、合規的應用生態。[2019/12/10]

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

動態 | 成都鏈安面向聯盟鏈推出“一站式”安全平臺:據官方消息,成都鏈安面向聯盟鏈安全需求推出“一站式”安全解決方案,為聯盟鏈生態提供從安全設計、開發、安全檢測到運行時安全監控和管理等全方位的安全服務與支持。

?

“一站式”安全平臺主要包括:支持FISCO-BCOS、Fabric、以太坊、EOS等多個平臺的“一鍵式”智能合約自動形式化驗證工具Beosin-VaaS;Beosin-IDE智能合約開發工具;Beosin-Eagle Eye安全態勢感知系統;Beosin-Firewall防火墻;Beosin-OSINT 威脅情報系統;安全審計與檢測;安全顧問等服務。

?

成都鏈安作為最早專門從事區塊鏈安全的公司之一,核心團隊在安全領域深耕18年,申請區塊鏈安全相關軟件發明專利和著作權15項。平臺推出以來,已為微眾銀行區塊鏈、布比、云象、益鏈等多個聯盟鏈平臺提供了全套的“一站式”安全解決方案和安全防護。[2019/11/28]

圖四以上就是本次事件漏洞的原理分析,該漏洞的原理十分簡單,是因為函數的調用權限設置錯誤,將本應該只有合約本身調用的函數,設置成了任何人都可以調用。而當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:ANCTWONETORKRake GovernancevolumenetworkPegNetRealis Network

火幣下載
幣圈七年:無限可能,欲罷不能_比特幣

編者按:本文來自交易門,作者:春曉,Odaily星球日報經授權轉載。傾閱不止一次告訴我,身處數字資產這一行,最讓自己興奮的就是職業路徑的“無限可能性”.

1900/1/1 0:00:00
主流幣的“馬太效應”也在集聚,現階段以BTC和ETH為主_BTC

近期有小伙伴問:主流幣現階段能否布局?前天的文章,從利好消息、增量資金和用戶、推廣宣傳、加密衍生品等方向分析了加密市場的“馬太效應”,指出今年的重頭戲只在BTC和ETH上面.

1900/1/1 0:00:00
以太坊網絡的用戶主要在為什么付費?_以太坊

編者按:本文來自鏈聞ChainNews,撰文:LeftOfCenter,星球日報經授權發布。鏈上數據分析服務Glassnode發布一份報告,針對以太坊網絡中不同交易類別產生的費用進行分析發現,從.

1900/1/1 0:00:00
區塊客周刊:ETH稀缺性將媲美黃金;知名DeFi產品Balancer被攻擊_區塊鏈

2020.6.29第27期本期關鍵字:Balancer閃電貸攻擊、DeFi五大風險、PayPal提供加密貨幣服務、Telegram償還超12億美元、Filecoin預計8月上線、DeFi鎖倉超1.

1900/1/1 0:00:00
比特大陸昨天發生了什么系列7(切斷芯片供應)_比特幣

20日凌晨詹克團在個人官微發布聲明,內容主要是稱個人公章唯一有效,指責對方冒用公章,隨后吳忌寒方面在官網發布聲明,透露幾個新的細節:第一:針對詹親屬控制深圳供應鏈,香港比特控制了芯片采購與供應.

1900/1/1 0:00:00
觀點:比特幣錨定幣將增加系統攻擊風險_BTC

把比特幣引入以太坊生態是長期的主線,值得長期關注。當然把比特幣引入其他生態也是其他生態的長期主線,如果你看好那個生態,同樣值得關注.

1900/1/1 0:00:00
ads