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

首發 | Bancor智能合約為何會出現漏洞?該如何避免?_EOS:EOS柚子幣官網

Author:

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

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

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

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

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

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

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

Public - 可被所有人調用

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

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

External - 只可被外部所調用

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

Private - 只可被合約本身調用

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

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

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

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

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

首發 | 螞蟻礦機S17性能曝光 采用全新散熱技術及全局優化定制方案:金色財經訊,日前,比特大陸即將發布的螞蟻礦機S17性能曝光。據螞蟻礦機S17產品經理朋友圈稱,新品將采用新一代散熱技術及全局優化定制方案。據了解,該散熱技術可能是指芯片的封裝技術,也有可能是機器的散熱結構設計。至于S17產品“全局優化定制”方案未有細節透露。有聲音評價,這或許是為決戰豐水期做出的準備。[2019/3/22]

0xc8021b971e69e60c5deede19528b33dcd52cdbd8,

0x14fa61fd261ab950b9ce07685180a9555ab5d665

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

0x052ede4c2a04670be329db369c4563283391a3ea

arden43y@gmail.com

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

金色首發 EOS超級節點競選投票率達6.49%:金色財經數據播報,截止北京時間6月13日15:50,EOS投票率達6.49%。EOS引力區和EOS佳能作為兩個來自中國的超級節點競選團隊暫居第五和第六名。其中EOS引力區的得票總數為903萬,占比2.96%;EOS佳能的得票總數為877萬,占比2.87%。此前異軍突起的EOSflytomars暫居第17位,得票總數為630萬,占比2.07%。目前躋身前30名的超級節點競選團隊中,有八個團隊來自中國。[2018/6/13]

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

0x854B21385544c44121f912AEdF4419335004F8ec,

0x1ad1099487b11879e6116ca1ceee486d1efa7b00

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

IMEOS首發 EOS Go公布新增兩條復選條件 :據金色財經合作伙伴IMEOS報道:今日,EOS Go在 steemit上公布新增的兩條復選條件為:

1. 保證安全的計劃:候選節點是否在steemit上發布文章介紹該節點的安全方法和計劃,“安全方法”標準是向EOS選民展示安全最佳實踐知識和組織實施計劃的機會;

2. 立場:描述該節點分享通脹獎勵和/或向EOS代幣持有人派發股息的立場(候選節點在steemit發布)。主要闡述以下兩個問題:

該組織是否會出于任何原因向EOS令牌選民提供支付,包括BP選舉和社區建議?

該組織是否有書面的無票付款政策?如果是這樣,請提供一個鏈接。[2018/4/27]

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:BANEOSANCBancorTBANK幣EOS柚子幣官網ShibaInu FinanceBancor Governance Token

火必交易所
案例解讀:BTC礦機買了能退嗎?_PLE:央行數字貨幣是加密貨幣嗎

2018年1月4日,原告陳某在某礦機公司經營的網站購買比特幣礦機,訂單總額612000元,并對發貨時間和配送方式予以約定。次日,陳某向某礦機公司全額支付商品價款.

1900/1/1 0:00:00
這兩個比特幣鏈上指標表明減半后跌勢已經結束_NBS:BSP

區塊鏈分析公司CryptoQuant的鏈上數據表明,礦工目前正在持有其挖出的BTC,這一跡象可能表明,鑒于大型礦工不存在拋售壓力,BTC價格將繼續回升.

1900/1/1 0:00:00
金色趨勢丨指標線持續粘合 BTC變盤即將到來_BTC:BTCV幣

前面連續3日的調整,整體回調量能一般,大幅下跌意愿不強烈,前期日線區間整理的支撐平臺9400美金也未跌破,并且下方還有20日與30日均線雙重支撐,觸碰后凌晨價格快速拉起.

1900/1/1 0:00:00
簡單讀懂Opyn:為DeFi提供社會可擴展性_ETH:Opyn

DeFi早期就像是西部淘金探險,充滿機遇,也充滿風險。其中最大的風險是智能合約的被黑風險,可能會導致用戶資產全部損失;還有抵押資產(如ETH)的黑天鵝風險,會導致用戶損失慘重.

1900/1/1 0:00:00
ECOC官方聲明:“GCTChain”非法剽竊ECOChain技術成果與資料_GCT:COC

經過深度挖掘發現,GCTC完全無技術底蘊,完全靠著剽竊ECOC內容,以包裝自己的三無區塊鏈產品.

1900/1/1 0:00:00
金色前哨 | 愛沙尼亞今年已吊銷500家加密貨幣公司牌照_加密貨幣:Humanoid AI

金色財經訊,作為歐元區成員國的數字經濟發展先驅,愛沙尼亞被指通過丹麥最大的銀行丹斯克銀行的本地部門進行非法現金轉移后,愛沙尼亞加大了金融犯罪監管力度.

1900/1/1 0:00:00
ads