比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > Bitcoin > Info

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

Author:

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

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

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

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

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

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

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

Public - 可被所有人調用

LBANK藍貝殼于3月22日18:00首發 DORA,開放USDT交易:據官方公告,3月22日18:00,LBANK藍貝殼首發DORA(Dora Factory),開放USDT交易,現已開放充值。

資料顯示,Dora Factory 是基于波卡的 DAO 即服務基礎設施,基于 Substrate 的開放、可編程的鏈上治理協議平臺,為新一代去中心化組織和開發者提供二次方投票、曲線拍賣、Bounty 激勵、跨鏈資產管理等可插拔的治理功能。同時,開發者可以向這個 DAO 即服務平臺提交新的治理模塊,并獲得持續的激勵。[2021/3/22 19:07:06]

External - 只可被外部所調用

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

Private - 只可被合約本身調用

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

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

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

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

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

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

首發 | DVP: Bitstamp交易所存在漏洞 可導致大量KYC等信息被泄露:金色財經訊,近日,DVP收到安全人員提交的全球知名交易所Bitstamp的漏洞,攻擊者可以利用該漏洞查看大量用戶ID、銀行卡等敏感信息,嚴重威脅用戶信息安全。為避免發生KYC泄露的惡性事件,DVP安全團隊在收到該漏洞后,第一時間通知該平臺進行修復,但未收到回應。DVP提醒相關用戶關注個人信息安全,以免造成損失。[2019/8/13]

0xc8021b971e69e60c5deede19528b33dcd52cdbd8,

0x14fa61fd261ab950b9ce07685180a9555ab5d665

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

0x052ede4c2a04670be329db369c4563283391a3ea

arden43y@gmail.com

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

首發 | 《一起來捉妖》中玩家達到22級將會接觸到專屬貓的玩法 ?:今日騰訊上線首款區塊鏈游戲《一起來捉妖》,經金色財經查證,游戲中玩家達到22級將會接觸到專屬貓的玩法,而非此前官方對外宣稱的15級。除了誘貓鈴鐺召喚出的0代貓以及部分通過運營活動獎勵的專屬貓以外,游戲中所有的貓默認都是未上鏈狀態。未上鏈的貓不能出售,也無法進入市場與其他玩家配對;但是你可以使用這些貓與你的QQ/微信好友進行配對,產出新的小貓。使用道具“天書筆”可以將你的貓記錄到區塊鏈。當貓被記錄到區塊鏈以后,這些貓就可以進入市場,通過配對賺取點券,或者出售賺取點券。專屬貓是否上鏈,并不影響它的增益效果。但只有上鏈后,它才能面對全服務器所有的玩家進行繁殖、交易。

?

《一起來捉妖》中的專屬貓玩法,基于騰訊區塊鏈技術,游戲中的虛擬數字資產得到有效保護。此外,基于騰訊區塊鏈技術,貓也可以自由繁殖,并且運用區塊鏈技術存儲、永不消失。[2019/4/11]

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

公告 | 火幣全球站6月29日16:00全球首發 Project PAI:火幣全球站定于新加坡時間6月29日16:00 Project PAI (PAI) 充值業務。7月2日16:00在創新區開放PAI/BTC, PAI/ETH交易。7月6日16:00開放 PAI提現業務。[2018/6/29]

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:BANANCBancorACTbig-bang-game-coinAvalancheBancor Governance TokenTransaction Service fee

Bitcoin
比特幣未能突破1萬美元阻力位的3個原因_GER

在過去的幾個小時內,比特幣(BTC)在BitMEX的價格上漲至10,180美元,隨后迅速回落至9,600美元。快速拒絕意味著比特幣價格在30天內第三次拒絕10,000美元的阻力位.

1900/1/1 0:00:00
誰在為比特幣發展提供資金?_BSP

摘要:我們編制了一份名單,列出了資助開源比特幣和閃電網絡( Lightning)的主要組織和個人.

1900/1/1 0:00:00
5.31午間行情:短期拉升幅度大 需震蕩調整_BRI

比特幣連續拉升,走的非常強勢,一根大陽線拉到9738之后雖然遇阻回落,目前在9500附近獲得支撐.

1900/1/1 0:00:00
簡析時下最熱的加密貨幣無限「流動性黑洞」循環_GVC

由于加密貨幣市場存在基于代幣的自動化做市商(AMM),他們設計的業務運營模式可能會造成流動性「黑洞」,這個「黑洞」能從四面八方吸收資產,比如中心化交易所、去中心化交易所、冷存儲庫等等.

1900/1/1 0:00:00
金色前哨 | 富達報告:2020年購買加密貨幣期貨的美國機構數量翻倍_加密貨幣

富達旗下數字資產子公司(Fidelity Digital Assets)發現,2020年,購買加密貨幣衍生品的美國機構投資者數量大幅增加。富達表示,與加密貨幣相關的機構情緒正在改善.

1900/1/1 0:00:00
穩定幣正在成為以太坊生態的護城河_USD

近三十日,以太坊上的穩定幣交易手續費可以占到全網手續費的35%左右,而在高位甚至可以接近以太坊全網交易費的50%.

1900/1/1 0:00:00
ads