以太坊價格 以太坊價格
Ctrl+D 以太坊價格
ads
首頁 > AAVE > Info

Bancor:首發 | Bancor智能合約為何會出現漏洞?該如何避免?

Author:

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

6.18期間正愁”千手觀音“還不夠剁,如果一覺醒來,突然發現爸媽的賬戶可以隨便用了,前男友的錢因為權限設置錯誤而對你以及他所有前女友開放了。不是天上掉餡餅,而是老天可能漏了個洞。

我的是我的,你的還是我的。

這種漏洞恰好于6月18日發生在了Bancor部署的智能合約上。

Bancor 在6月16號部署了他們的 BancorNetwork v0.6的智能合約, 緊接著兩天后合約被發現存在嚴重的安全漏洞。攻擊者可利用此漏洞轉走合約里的錢。

智能合約可能產生的漏洞有很多種,而本次Bancor智能合約所產生的漏洞與函數有關。

先科普一下,在智能合約里,函數有4種訪問權限:

Public - 可被所有人調用

LBank藍貝殼于4月10日01:00首發 BOSON,開放USDT交易:據官方公告,4月10日01:00,LBank藍貝殼首發BOSON(Boson Protocol),開放USDT交易,4月9日23:00開放充值,4月12日16:00開放提現。上線同一時間開啟充值交易BOSON瓜分10,000 USDT。

LBank藍貝殼于4月10日01:00開啟充值交易BOSON瓜分10,000 USDT。用戶凈充值數量不少于1枚BOSON ,可按凈充值量獲得等值1%的BOSON的USDT獎勵;交易賽將根據用戶的BOSON交易量進行排名,前30名可按個人交易量占比瓜分USDT。詳情請點擊官方公告。[2021/4/7 19:54:33]

External - 只可被外部所調用

Internal - 只可被合約本身以及繼承合約調用

Private - 只可被合約本身調用

這里強調一下,當函數權限被設置為public時,任何人都可以調用這個函數,從而把合約里的錢轉走。也就是說,當你的前男友不小心把他的錢包權限設置成了公開,那么包括他的現任、前任、前前任在內的世界上的任何人,都可以輕而易舉地把他的錢轉移走。此刻他一定非常心塞。

首發 | imKey正式支持Filecoin,成為首批Filecoin硬件錢包:12月1日,隨著imToken2.7.2版本上線,imKey同步支持Filecoin,成為業內首批正式支持FIL的硬件錢包。Filecoin作為imKey多鏈支持的優先級項目之一,成為繼BTC、ETH、EOS和COSMOS四條公鏈后的第五條公鏈。

據悉,imKey團隊已在Q4全面啟動多鏈支持計劃,計劃實現imToken已經支持的所有公鏈項目,本次imKey升級更新,無需更換硬件,不涉及固件升級,通過應用(Applet)自動升級,即可實現imKey對Filecoin的支持及FIL的代幣管理。[2020/12/2 22:52:32]

下面我們來看一下此次Bancor漏洞的代碼:

在漏洞合約的第45行我們看到safeTransferFrom函數,這個函數的功能是從一個地址往另一個地址轉賬,注意到此函數的權限被設置為public。

首發 | 歐科云鏈推出“天眼方案”推動鏈上安全系統再升級:8月28日,區塊鏈產業集團歐科云鏈宣布推出區塊鏈“天眼方案”,主要通過鏈上數據追蹤系統研發、對外技術支持、凝聚企業眾力等途徑,全面助力區塊鏈安全提升和產業平穩健康發展。

據了解,在“天眼方案”下,歐科云鏈集團將打造鏈上數據追蹤系統,通過溯源數字資產、監控非法交易等手段,全力遏制洗錢等非法行為;協助執法機關辦案,并為打造法務等區塊鏈系統提供技術支持;為聯盟鏈和基于各類業務的鏈上數據提供區塊鏈+大數據的解決方案。[2020/8/28]

有趣的是,CertiK團隊通過進一步的調查發現,在有漏洞的合約部署的兩天后,Bancor團隊用了以下兩個錢包地址去通過漏洞提取合約中的資金,來清空合約里的資金,防止被黑客盜取,也算是彌補漏洞的精明之舉: 

0xc8021b971e69e60c5deede19528b33dcd52cdbd8,

0x14fa61fd261ab950b9ce07685180a9555ab5d665

幾乎同時,兩個第三方人員也開始利用這個漏洞提取資金,其中一位利用漏洞進行了16次取款交易,總共取出了131,889.34美元。這個第三方人員的ETH地址和郵箱分別是:

首發 | 火幣集團全球業務副總裁:監管將決定區塊鏈技術和加密貨幣的落地速度:1月21日,火幣集團全球業務副總裁Ciara Sun在達沃斯世界經濟論壇上表示,對區塊鏈和數字貨幣的監管態度,2019年是重要的一年。在美國,到2019年底,針對加密貨幣和區塊鏈政策有21項法案,這些法案包括稅收問題,監管結構,跟蹤功能和ETF批準,哪些聯邦機構監管數字資產等。歐盟(EU)在2020年1月10日實施了一項新法律,要求加密貨幣平臺采取更嚴格的反洗錢做法。瑞士,日本,立陶宛,馬耳他和墨西哥通過法律,要求交易所必須根據KYC和AML準則獲得許可。中國,土耳其,泰國等國家正在計劃自己的中央銀行數字貨幣(CBDC)。而監管將決定區塊鏈技術和加密貨幣的落地速度。[2020/1/22]

0x052ede4c2a04670be329db369c4563283391a3ea

arden43y@gmail.com

此人稱這個地址的背后是一個自動運行的交易系統,可能會無意利用人為的失誤和合約的漏洞獲取資金。如果能夠證明這個地址通過漏洞得到了錢,他可以把錢歸還。

IMEOS首發 BM表示EOS合約具有整數溢出保護:據金色財經合作媒體IMEOS報道:近日ETH出現多個ERC20智能合約的處理溢出錯誤,BM在推特上發表評論:新的ETH契約Bug可能會破壞整個Token的供應,讓持有者留下無價值Token.這就算為什么代碼不能成為法律,隨即表示EOS erc合約不容易受到這種攻擊。而EOS官方群也有人表示擔憂EOS是否具有整數溢出保護?BM回應:有很多C ++模板類可以封裝類型并檢查溢出。[2018/4/25]

而另一位的地址是以下兩個: 

0x854B21385544c44121f912AEdF4419335004F8ec,

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

他總共進行了四筆取款交易,共提取了3340美元。(折合人民幣2萬3千元左右,可以足足吃上2000多頓小龍蝦。)

Bancor對此事件進行了官方回應(詳情請見文末“其他參考鏈接”第一條): 

其中有一段提到他們利用這個漏洞把合約里的$455,349的余額轉移到另一個錢包里了。

另一段稱已與兩位第三方人員取得聯系,請求他們退回利用合約漏洞而轉走的資金。

Bancor隨后更新了有漏洞的合約。

可以明顯看出public被改為了internal。

造成此嚴重漏洞的原因是開發人員在設置函數權限的時候犯了錯誤。在智能合約里,僅僅一個參數使用錯誤,就可導致合約里所有人的錢都處于危險之中。

值得慶幸的是,此次漏洞并沒有被黑客利用,不然用戶的錢將永遠無法追溯。

智能合約類似于函數調用錯誤的漏洞還包括但不限于DOS、邏輯錯誤、越權訪問、重入及整數溢出等一千種可能。這一千種可能里面任意的一種可能,都會給公司及用戶帶來巨大的財產損失,而且合約具有一旦部署就不可更改的屬性。

因此,保證智能合約沒有漏洞,是非常重要的。合約在部署前,交給專業的安全公司進行安全審計是不可或缺的環節。

CertiK會使用形式化通過數學層面的驗證去證明智能合約的正確性。以上則是CertiK安全審計的部分內容。

程序測試可以證明漏洞的存在,但永遠不能說明漏洞不存在。

而CertiK的存在,就是為了讓漏洞不存在。

我們絕不僅僅是尋找漏洞,而是要消除哪怕只有0.00000001%被攻擊的可能性。

文中所提及智能合約及地址鏈接如下:

存在漏洞的智能合約: 

https://github.com/bancorprotocol/contracts-solidity/blob/4394c0e1d1785a71044101b1d6df57e332b73ba9/solidity/contracts/utility/TokenHandler.sol

漏洞合約部署的地址:

0x8dFEB86C7C962577deD19AB2050AC78654feA9F7

0x5f58058C0eC971492166763c8C22632B583F667f

0x923cAb01E6a4639664aa64B76396Eec0ea7d3a5f

修改后的智能合約:

https://github.com/bancorprotocol/contracts-solidity/blob/master/solidity/contracts/utility/TokenHandler.sol

其他參考鏈接:

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

https://github.com/bancorprotocol/contracts-solidity/blob/4394c0e1d1785a71044101b1d6df57e332b73ba9/solidity/contracts/utility/TokenHandler.sol#L45

https://explore.duneanalytics.com/public/dashboards/mEUEd9rQCPjeMkryEIgbtC0YUZwOXESQPTkkqdPX

Tags:BANANCBancorSOLlbank張華NUTS FinanceBancor Governance TokenSolaris

AAVE
比特幣:比特幣在華爾街的頭號敵人 如今也拜倒在其“石榴裙”下

按資產計算來說,作為美國最大的銀行摩根大通(JP Morgan)與比特幣和加密貨幣進行了許久的“口水戰”.

1900/1/1 0:00:00
ECH:金融科技服務實體經濟“鏈上海南”

6月1日,《海南自由貿易港建設總體方案》(以下簡稱《方案》)新鮮出爐。《方案》預示著后續海南自貿港建設或將加速,在此過程中金融機構大有可為,包括試點改革跨境證券投融資政策、加快金融業對內對外開放.

1900/1/1 0:00:00
USD:金色前哨 | FUBT官方聲明:擬實施“債務清償”方案

FUBT發布官方公告,因平臺資產流入、流出嚴重失衡,擬實施“債務清償”方案。方案如下: 尊敬的FUBT用戶: 鑒于當前平臺資產流入、流出嚴重失衡,且存在進一步惡化狀況情形,如未能及時進入大額外部.

1900/1/1 0:00:00
比特幣:資金增量和存量 將決定未來各幣種走勢

狂人說 幣圈這一兩年興起的幾萬家交易所正在批量倒閉,最重要的原因就是狼多肉少,同樣受影響的還有眾多項目方,因為市場長期不具備賺錢效應,并且進入門檻很高,因此存量韭菜越來越精.

1900/1/1 0:00:00
COI:比特幣現金擁護者Roger Ver有意購買Bitcoin.org 被眼鏡蛇拒絕?

2008年8月,被認為是比特幣創造者的中本聰(Satoshi Nakamoto)通過匿名域名注冊商購買了Bitcoin.org。當中本聰離開社區時,他將網站的控制權交給了一些公正的人.

1900/1/1 0:00:00
Uniswap:金色硬核 | 去中心化交易所現狀:為何DEX將贏得交易所之戰

金色財經近期推出金色硬核(Hardcore)欄目,為讀者提供熱門項目介紹或者深度解讀。與中心化交易所相比,去中心化交易所(DEX)的交易量越來越大,并且發展很迅速.

1900/1/1 0:00:00
ads