買以太坊 買以太坊
Ctrl+D 買以太坊
ads

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

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

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

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

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

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

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

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

0xc8021b971e69e60c5deede19528b33dcd52cdbd8,

首發 | 劉堯:百度區塊鏈推出天鏈平臺賦能鏈上業務:12月20日,由CSDN主辦的“2019中國區塊鏈開發者大會”12月20日在北京舉行。百度智能云區塊鏈產品負責人劉堯以《企業區塊鏈賦能產業創新落地》為主題進行了演講,他指出:2020年將是區塊鏈企業落地的元年,為了支持中國區塊鏈的產業落地,百度將區塊鏈進行平臺化戰略升級,依托百度智能云推出天鏈平臺,就是要賦能360行的鏈上業務創新落地。[2019/12/20]

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多頓小龍蝦。)

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區塊鏈dapp開發例子lbank交易所提現不出REALNANCEBancor Governance Token

幣安交易所app下載
NFT:區塊鏈賽車游戲ForceForFast即將登陸MXC抹茶SpaceM第三期 開辟NFT資產賽道_區塊鏈證據保全怎么操作

近期,由MixMarvel孵化和發行的區塊鏈賽車游戲數字通證ForceForFast(FFF)將登陸MXC抹茶SpaceM第三期,啟動游戲NFT資產的線上專場營銷通道,開辟NFT資產賽道.

1900/1/1 0:00:00
TEL:金色觀察丨TON失敗卻因禍得福? 俄羅斯解禁Telegram_GRAM

金色財經 區塊鏈6月18日訊  經過多年努力之后,加密隱私即時通訊應用Telegram終于在俄羅斯解禁了.

1900/1/1 0:00:00
MAKE:打造精品合約交易 MXC抹茶新版合約系統重磅上線_Moon Maker Protocol

一直以用戶為中心的MXC抹茶,本次發力于“精品合約”。新版合約系統,不僅著力于功能、性能、風控和品的全方位升級,還針對產品細節進行多處優化和改良.

1900/1/1 0:00:00
比特幣:金色觀察 | 比特幣再現“過山車”行情 分析師們都怎么看?_BTC

6月2日比特幣經歷“過山車”行情,早間突破10000USDT大關;晚間其價格在短短三分鐘內暴跌1500美元。與此同時,過去24小時合約市場爆倉超3.62億美,BTC合約爆倉3.43億美元.

1900/1/1 0:00:00
DEFI:6.5午間行情: 震蕩為主有短線機會_PINETWORKDEFI

行情變化不大,比特幣繼續平穩運動,在9900美金附近遇阻,市場本就是這樣,不然連續不斷的上下收割是個人都跑了,割一波震蕩幾天大家就又都忘了.

1900/1/1 0:00:00
區塊鏈:五大跡象顯示BTC正重新走向牛市 比特幣ETF、灰度正順水推舟_比特幣匯率兌換人民幣

自5月12日減半以來,比特幣價格已處于橫盤狀態一個多月。這很容易讓人聯想到2017年初比特幣第二次達到1180美金之后出現災難性拋壓,導致排名前幾的加密貨幣一天之內下跌近40%,當時比特幣被宣布.

1900/1/1 0:00:00
ads