買比特幣 買比特幣
Ctrl+D 買比特幣
ads
首頁 > BNB > Info

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

Author:

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

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

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

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

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

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

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

Public - 可被所有人調用

首發 | 百度財報體現區塊鏈 BaaS平臺成為新戰略重點:金色財經報道,2020年2月28日,百度(股票代碼BAIDU)公布財報,其中將區塊鏈BaaS平臺相關的進展進行了單獨敘述,依托于百度智能云的區塊鏈平臺有望成為技術創新方向的新增長引擎。在AI服務上,百度與上海浦東發展銀行達成合作,共建區塊鏈聯盟,在百度區塊鏈服務(BaaS)平臺上實現跨行信息驗證。[2020/2/28]

External - 只可被外部所調用

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

Private - 只可被合約本身調用

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

首發 | Bithumb將推出與Bithumb Global之間的加密資產轉賬服務:Bithumb內部人士對金色財經透露,Bithumb推出和Bithumb Global之間的加密貨幣資產免手續費快速轉賬服務,每日加密貨幣資產轉賬限額為2枚BTC。此消息將于今日晚間對外公布。據悉,目前僅支持BTC和ETH資產轉賬。[2020/2/26]

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

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

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

0xc8021b971e69e60c5deede19528b33dcd52cdbd8,

首發 | 嘉楠耘智宣布與Northern Data在AI、區塊鏈等高性能計算領域達成戰略合作:據官方消息,2020年2月17日,嘉楠耘智宣布與區塊鏈解決方案及數據中心服務提供商Northern Data AG達成戰略合作。本次合作的內容涵蓋AI、區塊鏈及數據中心運維等高性能計算領域。

嘉楠耘智擁有豐富的高性能計算專用ASIC芯片研發經驗。Northern Data AG則專注于區塊鏈和數據中心等高性能計算基礎設施的建設。通過本次戰略合作,雙方將在AI、區塊鏈等新興領域進一步釋放增長潛能。[2020/2/19]

0x14fa61fd261ab950b9ce07685180a9555ab5d665

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

0x052ede4c2a04670be329db369c4563283391a3ea

arden43y@gmail.com

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

動態 | 可信教育數字身份在廣州白云區首發 采用區塊鏈等技術:12月25日,可信教育數字身份(教育卡)廣東省應用試點首發儀式與應用研討在廣州市白云區舉行。

據介紹,可信教育數字身份融合采用國產密碼、區塊鏈等核心技術,創新簽發“云計算、邊緣計算、移動計算”網絡環境下的一體化數字身份,實現一體化密鑰管理,構建“可信教育身份鏈”。(中國新聞網)[2019/12/25]

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

0x854B21385544c44121f912AEdF4419335004F8ec,

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

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

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

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:BANANCBancor區塊鏈TBANKY-5 FinanceBancor Governance Token區塊鏈卡鏈是什么意思

BNB
DIT:Eth2 最新進展:測試網Altona將使用新的存款合同_NBS價格

與往常一樣,在 eth2 前線繼續發生著許多事情。除了撰寫的進展更新和其他公開的總結外,各客戶端團隊、貢獻者和社區成員/預期驗證者們都很忙!今天,本文將涵蓋一些重大的存款合約 (dep.

1900/1/1 0:00:00
區塊鏈:6.24午間行情:震蕩過后 有望繼續_BTC

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

1900/1/1 0:00:00
ETH:6.10早間行情:BTC頻繁插針 注意這個支撐_REV

夜間行情依然維持震蕩走勢,9800美元暫時就像天塹一樣難以站穩,若是何時能站穩9800美元不論是否維持震蕩,都至少意味著擺脫了近段時間的震蕩范圍,而若是站上9880,則又是一個新的開始.

1900/1/1 0:00:00
ALICE:深度解析NEAR的私密交易功能_OUT

就在不久前,NEAR宣布與ZeroPool建立合作關系,后者將在NEAR協議中增加對私密交易功能的支持。目前,在NEAR的平臺上,所有交易都和比特幣和以太坊一樣,全部公開可查.

1900/1/1 0:00:00
比特幣:美股閃崩 帶領比特幣二次假摔_Pie Share

美股毫無征兆的崩盤了,于是帶崩了比特幣,按說最近幣圈和美股并沒有太強的聯動效應,但美股這種史詩級的崩盤,一定會帶動各風險資產的避險情緒,比如歐洲和亞洲股市也崩了,比如原油崩了.

1900/1/1 0:00:00
加密貨幣:嘉楠股票獲富達、文藝復興增持 看好加密行業_SOS

吳說區塊鏈獨家獲悉,世界最大的投資管理公司之一富達正在增持嘉楠科技的股票。截止到3月31日,富達增持了2338558股嘉楠科技的股票,持有嘉楠1.49%的股票,并且很有可能還在繼續增持中.

1900/1/1 0:00:00
ads