加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads
首頁 > DOT > Info

道高一尺魔高一丈的隨機數攻擊 | EOS偽隨機數漏洞_EOS:DEF

Author:

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

針對區塊鏈安全問題,Beosin團隊每一周都將出智能合約安全漏洞解析連載,希望能幫助程序員寫出更加安全牢固的合約,防患于未然。引子:“道高一尺,魔高一丈,愈進愈阻,永無止息。”——清·譚嗣同《仁學》四三前情提要

上回說到,官方標準用心良苦,編寫合規不容小覷。我們用十五期內容結束了對以太坊智能合約常規漏洞、高危漏洞的分析和總結。縱觀整個以太坊安全生態發展歷史,有太多的教訓和痛楚值得我們銘記。有相關統計,區塊鏈產業導致財產損失的安全事件中有30%是由智能合約漏洞引起的。所以按照以太坊開發語言的使用規范,正確書寫每一行合約代碼,是保障合約安全的基本要求。倡導上鏈前的合約審計,確保項目安全啟航,是我們對開發者和項目方真誠建議。本期話題

EOS游戲屢遭手,隨機數漏洞屢禁不絕。除了以太坊,EOS也是目前比較流行的區塊鏈平臺。EOS同樣是基于智能合約和區塊鏈搭建而成,而在游戲和DApp領域,由于沒有交易費和處理能力強等特性,EOS在技術和設計理念上占有先天的優勢。但是,無獨有偶,EOS智能合約的安全問題也層出不窮。本期我們就借用最近發生的EOS游戲被攻擊事件展開對EOS智能合約漏洞的分析。攻擊事件歷史

外媒:超1/3美國國會成員獲得過SBF或FTX其他高管的資助:金色財經報道,在美國國會535名參議員中,超過三分之一獲得過SBF的資助,目前至少已經確認的數字是196人,這些人均從SBF或FTX其他高級管理人員那里獲得過現金競選支持。大多數國會成員表示已經將資助交給了慈善機構以消除SBF的“捐款污點”,還有部分人員與美國司法部進行了接觸將會補償FTX受害者。[2023/1/17 11:17:10]

EOSDice第一次被攻擊2018年11月4日上午3:15開始EOSDice合約被賬戶jk2uslllkjfd攻擊,攻擊者盜取了2500左右EOS并充值入火幣。EOSDice第二次被攻擊:11月10日上午11:19開始,coinbasewa11賬戶再次攻擊了EOSDice游戲,盜取4900EOS轉入bitfinex交易所,這個賬戶對游戲合約進行了95次攻擊,攻擊過程可以檢索到。隨機數生成問題

我們在第六期游戲合約漏洞提到過,截止至目前,以太坊和EOS官方均未提供隨機數接口,這對游戲開發確實是一個不利的影響,比如抽獎模塊的開發。為了實現類似的功能,游戲開發者需要自己編寫隨機數生成函數,這些函數往往利用區塊信息作為參數,然后進行一系列運算,獲得一個“隨機數”。但是,由于使用區塊信息作為參數,這將導致在同一個區塊上,使用相同算法的隨機數函數將會得到相同的值,攻擊者可以利用這點,部署中間合約,然后不停的嘗試生成隨機數,當生成滿意的隨機數時,再利用中間合約參與游戲,影響游戲的公平性。我們把這類隨機數問題統稱為“偽隨機數漏洞”。EOSDice偽隨機數漏洞分析

分析:2023年全球經濟衰退的高風險可能會影響加密市場:1月17日消息,根據世界經濟論壇(WEF)1月16日發布的一份報告,國際貨幣基金組織(IMF)預計,全球約三分之一的經濟將在2023年陷入衰退,全球增長前景依然疲弱,全球衰退風險很高。該報告補充說,到2023年初,企業將面臨“三重挑戰”。關鍵投入價格高企,貨幣政策收緊,需求疲軟,這些都將抑制經濟復蘇。

首席經濟學家還認為,員工短缺、人才可用性和大幅削減成本也是因素之一。這一切都對底層的零售消費者產生了涓滴效應。此外,美國儲蓄率已降至歷史最低水平2.3%左右(該指標是用來衡量一個人從可支配收入中扣除用于投資的金額)。

分析稱,這可能會對通常被認為高風險的加密資產產生重大影響。如果可支配收入減少,加密貨幣等風險資產的投資者就會減少。經濟衰退可能會進一步影響這一點,因為可能只有富人才有能力涉足高風險的加密投資。(Crypto Potato)[2023/1/17 11:16:43]

由于EOSDice在第一次被攻擊后提高了警惕,并且修改了隨機數生成的算法,所以我們分兩次進行分析。第一次攻擊分析:由于EOSDice合約開源,我們主要看一下該合約的random函數,該合約抄襲了另一個EOS合約的random函數實現。該隨機函數中使用的隨機因子主要為:1.tapos_block_prefix()該交易refer區塊信息2.tapos_block_num()該交易refer區塊信息3.name(user賬戶名)4.game_id5.current_time()6.pool_ol_eos.amount其隨機性主要依賴于refer區塊(referblock)信息及當前時間、合約余額信息。在該游戲中,開獎時間是可以根據delay時間推算得到,余額信息在只有一個用戶訪問時也可以根據計算得到;那么唯一不確定的因子只剩下referblock的信息了。在實際游戲執行邏輯中開獎的revealaction是由下注的action衍生出來的deferredaction,該action的referblock信息并不是由用戶指定的,而是由eos鏈來指定的,代碼詳見:https://github.com/EOSIO/eos/blob/master/libraries/chain/apply_context.cpp#L251經過實際測試,deferredaction的referblock信息為執行當前action的前一個區塊信息,示意如下圖:所以,其實開獎時的使用的tapos_block_prefix()其實在下注前就已經產生,那么再結合對時間和余額的預測,就可以提前預測開獎結果;根據交易情況分析,eosdice第一次被攻擊很可能就是使用的此種攻擊方式。第二次攻擊分析:這里要先介紹一個EOS的小知識:當EOS轉賬時,EOSIO.Token會同時通知到from和to賬戶,但是是先執行對from賬戶的通知,如下圖所示:EOS在第一次攻擊事件發生后,修改了隨機數生成算法,我們來看一下修改后的隨機數是否真的隨機。隨機數計算公式如圖所示:利用上面提到的轉賬通知知識,游戲合約收到向自己的轉賬通知時開始執行下注邏輯,觸發deferredaction:reveal1,reveal1觸發deferredaction:reveal進行開獎發獎;那么在開獎時取的referblock信息是下注轉賬action所在的區塊信息,不可以預測;但是在EOSDice對隨機函數random進行了修改后,這個函數還使用到了賬戶余額這個隨機因子。攻擊者可以在轉賬后自己也接收EOS轉賬通知,并且自己模擬出跟EOSDice相同的deferedaction:defered2,然后defered2觸發deferedaction:defered;經此一番操作,此時攻擊者的defered和游戲合約的reveal是處在同一個區塊中運行。那么就可以在defered中通過修改隨機因子中的余額amount計算random(amount+x)的值,使其滿足自己的下注條件。需要注意的是,計算這個值需要進行碰撞試驗才能猜準。攻擊者隨后向隨機因子賬戶中轉入amount為x的eos;那么當運行到reveal開獎的時候,就可以使自己必定中獎。整個攻擊流程可以總結為下面這個圖:加上之前經過對攻擊交易分析,可以確定此次攻擊者利用的攻擊方式是控制隨機因子中的余額;漏洞修復

美國法院批準Celsius用戶提交破產索賠的截止日期:金色財經報道,美國一家法院已批準加密貨幣貸方 Celsius 的請求,該請求為客戶在正在進行的破產程序中提交索賠證明設定了最后期限。

今日早間消息,Celsius用戶提出破產索賠的截止日期定為明年1月3日,這是債權人可以向Celsius提交索賠的最后一天,在此日期之后,未提出索賠的債權人可能將失去獲得索賠的資格。(CoinDesk)[2022/11/21 7:52:21]

使用與tapos_block_num類似的參數都可能會引發偽隨機數漏洞,包括EOS余額和head_block_id,這些參數的特點就是具有一定可控性。如果非要使用tapos_block_preifx作為隨機數因子,可以在開獎reveal執行之前多執行一次deferedaction跳轉,保證開獎時獲取到的block信息在下注之后生成,這樣tapos_block_prefix才是不可預測的。偽隨機,真漏洞

MetaMask將支持通過Snap擴展功能直接托管BTC:11月8日消息,據外媒報道,BTCSnap正利用MetaMask Snap擴展功能允許用戶在MetaMask界面中直接管理自己的BTC。由于BTC不是ERC-20Token,因此此前無法被添加到MetaMask上,只能使用封裝比特幣wBTC或Binance掛鉤的比特幣BTCB進行交易。

據BTC Snap背后開發公司Just Snap透露,BTC Snap擴展已正式發布主網版本,不過由于MetaMask的Snap擴展功能屬于預發布軟件,所以現階段Bitcoin Snap僅在開發人員訪問的金絲雀發行版Metamask Flask上運行。新用戶應等待MetaMask的公告和完全集成,以避免任何潛在的問題或欺詐。(Influencive)[2022/11/8 12:31:11]

EOS與以太坊采用了不同的技術和設計理念,比如:1.以太坊被設計為對于所有可能建立在其基礎上的應用中立的平臺,而EOS則提供了一些功能例如加密的實現和區塊鏈工具的應用,對應用開發者比較友好。2.兩者的共識機制不同,相較于以太坊采用的PoW,EOS的DPoS機制類似于董事會機制。3.以太坊受到CPU單線程性能限制,其網絡交易速度大約只有10次/秒,而且每次交易還需要提供手續費。EOS的并行技術解決了交易速度的問題,并且移除了手續費。EOS的特性,尤其是第三點特性決定了在其基礎上的游戲能夠滿足延遲低,交互流暢的需求,同時能夠處理商業級的應用需求。這也是EOS在游戲方面應用較多的原因。但是與以太坊一樣,EOS官方并沒有提供相應的隨機數生成功能。以太坊官方已經推薦用戶使用鏈外的Oraclize庫生成隨機數。EOS的隨機數問題依然是一個令開發者頭疼的問題,11月還未結束,EOSDApp已經出現了三次針對隨機數的漏洞攻擊事件,說明在隨機數問題的解決上,亟需一個可靠的解決方案。希望廣大DApp開發者在目前沒有可靠方案的時候,依靠現有的經驗和安全審計,做到將合約內的“偽”隨機修復為“真”隨機,讓EOSDApp有趣、公平、可靠。引用::EOS與以太坊有哪些區別:https://blog.csdn.net/qq_42204339/article/details/80463686:玩EOS上擲骰子的游戲:https://www.jianshu.com/p/b72c71cd3614:游戲skr而止,漏洞周而復始|成都鏈安漏洞分析連載第六期——游戲合約漏洞全面匯總:https://mp.weixin.qq.com/s/e7m79tk_7jMI_3jlVRMVpQ

Web3孵化器PANONY以1億美元估值完成A輪融資,NGC Ventures等參投:9月6日消息,Web3孵化器PANONY以1億美元估值完成A輪融資,融資金額未披露,NGC Ventures等參投。融資用于向其他司法管轄區擴張,推出新的服務產品并擴大其網絡能力。首席執行官的Tsai將NFT、DAO和DeFi確定為有前景的創新。[2022/9/6 13:11:02]

Tags:EOSFERBLODEFeos幣還有希望嗎Buffer FinancebloomtokenDEFI S

DOT
以太坊硬分叉升級測試失敗,主要是沒多少礦工在周末作業?_以太坊:PST

以太坊升級再遇阻。據Cointelegraph報道,以太坊進行硬分叉失敗的原因或許在于網絡節點出現“共識”失敗.

1900/1/1 0:00:00
去海南淘金還來得及嗎?海南區塊鏈試驗區探訪實錄_區塊鏈:ODA

向海龍的助理頭天晚上跑遍了澄邁縣城,為了給他選一件正式的長袖襯衣,以便出席第二天一個重要的簽約儀式.

1900/1/1 0:00:00
微軟將開發兩款新產品,想用區塊鏈將個人信息數據控制權歸還用戶_區塊鏈:IND

據CoinDesk報道,在近日一份白皮書中,微軟對外表示,為了讓消費者更好地控制自己的個人數據,微軟將開發兩種產品,一種是“身份中心”,另一種是一款“類似錢包的應用程序”.

1900/1/1 0:00:00
深圳市區塊鏈技術規范公開征求意見,各地政府扶持措施競逐提速_區塊鏈:Pitquidity Capital

近日,深圳市金融辦官網發布公告,就深圳市地方標準《金融行業區塊鏈平臺技術規范》公開征求意見,有關單位和各界人士可在2018年11月8日前反饋相關意見.

1900/1/1 0:00:00
一文看懂智能合約的現狀與未來_區塊鏈:DRAC幣

本文來自:infoQ,作者:HarryPapacharissiou,星球日報經授權轉發。導讀:毫無疑問,智能合約可謂是分布式賬本技術帶來的最具革命性的創新.

1900/1/1 0:00:00
除了創造比特幣,中本聰還教了我們如何保護賬號安全_比特幣:DEF

本文來自區塊鏈大本營,作者JackDossman,譯者李曉泉,編輯波波,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
ads