買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > 比特幣 > Info

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

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

Signature Bank與Silvergate向美國聯邦住房貸款銀行貸款總額超100億美元:金色財經報道,Signature Bank 在 2022 年第四季度向當地住房貸款銀行貸款近 100 億美元,Silvergate Capital 也向住房貸款銀行貸款至少 36 億美元。美國聯邦住房貸款銀行是美國根據《1932 年住房貸款銀行法》建立的住房金融機構。全美共有 12 家。該銀行目前正在將資金注入銀行系統,使銀行通過政府的隱性支持獲得低利率貸款。[2023/1/22 11:25:41]

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

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

到目前為止:

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

圖一

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

LBank藍貝殼于6月1日21:00上線PEG:據官方公告,6月1日21:00,LBank藍貝殼上線PEG(Pegazus),開放USDT交易,5月31日21:00開放充值,6月2日21:00開放提現。資料顯示,Pegazus是面向慈善的代幣。 最近有很多RFI類型的項目, 我們的方案是制作一個代幣,該代幣不僅將收取6%的刻錄費和1%的再分配費,而且還將每筆交易中的1%代幣交換到BNB并將其發送到Binance慈善捐贈錢包。[2021/5/27 22:49:44]

詳情見

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

0x2f9ec37d6ccfff1cab21733bdadede11c823ccb0

二、原理分析

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

去中心化交易所Loopring宣布整合Band Protocol跨鏈預言機:去中心化交易所Loopring今天宣布整合Band Protocol跨鏈預言機,為Loopring交易所支持的所有加密資產提供價格數據。(Decrypt)[2020/9/2]

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

圖二

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

圖三

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

Upbit與韓國互聯網銀行KBANK合作以支持韓元充值:據官方公告,韓國加密交易所Upbit已與韓國互聯網銀行KBANK合作,從23日起支持韓元充值服務。Upbit交易所將于19日起接受預約申請。此前Upbit通過主要開戶合作銀行“韓國企業銀行”開放實名賬戶并支持韓元充提服務,但已于2018日1月1日停止該服務。[2020/6/19]

圖四

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

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

1.?為什么BancorNetwork合約的safeTransferFrom函數會將權限設置成public。

動態 | Bitbank實現“365天24小時”日元轉賬:Coinpost報道稱,日本虛擬貨幣交易所bitbank今日宣布,從10月9日開始,日本一般銀行公司全國銀行資金結算網(簡稱“全銀網”)的金融機構將實現365天24小時全天候實時轉賬。全銀網不僅包括銀行,還囊括已加盟的信用金庫及國內幾乎所有的民間金融機構。轉賬、提款申請的時間是周一至周五(公眾假期除外)15點以前,資金會在一個工作日內到賬。Bitbank表示,該措施將大力提升便利性,此后用戶可在一年365天24小時內的任何時間進行實時轉賬。[2018/10/9]

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:BANANCORNCORNTBANKVn.FinanceTORN價格Acorn Protocol

比特幣
JOB:億邦國際美股上市,礦機企業資本救贖仍難尋_JobCash

美國東部時間6月26日,億邦國際正式在美國納斯達克交易所掛牌上市,成為全球第二家上市的礦機制造商.

1900/1/1 0:00:00
UND:程序員秘籍丨如果使用611193為DeFi協議Compound供應資產?_CETH

前言:本文適用于對JavaScript,Web3和以太坊智能合約有基本了解的開發者。DeFi已成為以太坊生態系統非常流行的用例。在撰寫本文時,DeFi協議已鎖定價值超過10億美元.

1900/1/1 0:00:00
UND:一文總結六月份DeFi的重大進展_Ki Foundation

撰文:Jaden、Jill、Gisele312之前,DeFi鎖定的資產價值最高達約12.5億美元,經過3個月的恢復,最終在6月初回到了312之前的水平.

1900/1/1 0:00:00
COM:孟巖:對 COMP 通證經濟模型的一般性評價_OMP

說明:本文對Compound最近發行的COMP治理通證的經濟模型進行一般性評價。特意指出是“一般性”,是因為沒有使用專業的分析方法,比如通證流量表和仿真模型.

1900/1/1 0:00:00
人工智能:國內首個隱私計算盛會閉幕,區塊鏈與隱私碰撞,數據流動價值未來可期_人工智能幣是真實嗎

7月5日,國內首個隱私計算產業論壇在杭州區塊鏈國際周上強勢登場。活動匯聚了AI、區塊鏈、大數據、物聯網等眾多技術方向的頂級主流機構代表與專家,聚焦“密碼學”“多方安全計算”“安全”“聯邦學習”等.

1900/1/1 0:00:00
LYG:一文讀懂區塊鏈賬戶體系_0XENCRYPT

賬戶是經濟社會的必然產物,作為人們存、貸、資金收付活動的基礎,亦是社會資金流轉的起點和終點。近年來,隨著金融科技在全球范圍內迅速興起,以區塊鏈為代表的分布式賬戶被認為是最有發展潛力的金融科技技術.

1900/1/1 0:00:00
ads