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

探究隨機數漏洞背后的技術原理:EOS.WIN競猜游戲是如何被攻破的?_BLO

Author:

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

近一個月內,區塊鏈安全公司PeckShield已經發現并披露了EOSBet、EOSCast、FFgame、EOSDice、EOSWin、MyEosVegas、LuckyGo、EOSLelego等超8款EOS競猜類游戲遭到了黑客攻擊,黑客總共獲利170,503.5個EOS,以此前行情均價35元/個估算,黑客已從此類游戲上獲利超5,967,662.5元,已嚴重威脅到正常的EOS生態秩序。PeckShield安全人員通過對多款游戲的攻擊特征進行提取,初步發現:1、攻擊者背后有不同黑客團伙在實施有組織且針對性的攻擊;2、大部分成功攻擊的原因都和隨機數漏洞有關;3、類似的攻擊有可能愈加頻繁,且他們的攻擊效率有逐漸提升的跡象。由于絕大部分EOS競猜類游戲尚未開源,為了厘清隨機數漏洞背后的技術原理,摸清楚黑客屢屢攻擊得手的原因。PeckShield安全團隊以較為典型的EOS.WIN游戲為樣本進行了黑客視角還原,帶大家領略下隨機數漏洞攻擊背后的奧秘。11月12日,據PeckShield態勢感知平臺數據顯示:上午08:59至09:00,不到一分鐘時間,黑客共計向EOS.WIN游戲合約發起10次攻擊,獲利超9,180個EOS。PeckShield安全人員跟蹤分析發現,黑客先是于昨晚22:46實施小額測試攻擊,在攻擊165次掌握攻擊方法后,選擇于次日9時許采用多個關聯賬號實施快速攻擊。盡管該款游戲也采用了較為穩妥的兩次延遲交易的信息作為隨機數的組成部分,但是黑客仍然巧妙地繞過了這些限制,成功地實施了攻擊。黑客攻擊原理及開獎過程:EOS.WIN主要是由猜數字和21點兩個游戲組成,猜數字游戲玩法,用戶可以任意選取一個數字,系統會根據用戶所選大小給出相應賠率,然后系統會隨機給出一個數字,如果結果和用戶的大小選擇匹配則視為中獎,獲得金額為投入金額乘以賠率。該游戲的開獎過程為:游戲合約收到玩家的交易請求,延遲1.5秒后執行開獎方法,并在開獎方法中使用開獎序號參與隨機數生成,同時通過內聯調用方式將開獎結果信息通知給玩家,再將開獎序號加1并保存。開獎流程如下圖所示:

歐洲議會議員:我不認為我們會重啟加密監管談判:金色財經報道,歐洲議會議員Tinagli:我不認為我們會重啟加密監管談判。歐盟加密(貨幣)監管工具原則上是好的,需要防止加密貨幣產生系統性影響。(金十)[2022/11/29 21:09:52]

PeckShield安全人員分析發現,該合約的隨機數是通過get_random函數獲得,影響該隨機數生成的因素有:txid為交易哈希ID,tapos_block_num成交塊高度,tapos_block_prefix區塊ID前綴,bet_id全局開獎序號等。為了進一步深入了解,先得科普幾個背景知識:1、延遲交易與tapos_block_prefix:常見的隨機數生成方法中,大多使用tapos_block_num和tapos_block_prefix作為重要的組成部分,在交易中指定未來某個區塊的信息,來保證不可預測性。如果合約中使用了延遲交易的方式,也就是說在交易時指定了延遲的間隔,看似是使用未來信息,其實在發出這個交易時,系統就已經指定使用當前同步到的最新塊信息,進而tapos_block_num和tapos_block_prefix也是確定的。2、交易狀態信息回滾:在EOS的交易中,如果一個交易中的某個動作執行異常,會導致整個交易狀態的回滾。例如在自己的帳號中部署合約,在每次收到轉賬通知時拋異常,可以導致整個轉賬過程失敗,所有的狀態信息,包括余額等都保持原樣。3、計算交易哈希ID:一個交易中可以包含多個action,如果所有action參數信息都確定,那么再結合前面提到的tapos_block_prefix信息,就能自己計算出交易哈希ID。簡而言之,攻擊者利用了開獎序號參與隨機數生成和內聯調用失敗可導致狀態信息回滾的特性,在同一時間控制多個合約帳號同時發送交易請求,來盡量保證最后請求的帳號能夠獲得期望的開獎序號參與生成隨機數,以贏得獎勵。以EOS.WIN為例,攻擊者先是用5個賬號佯攻實施小金額投注,在掌握更高概率后,用最后1個金額最大的賬號主攻投注,從而以更高概率斬獲獎金。具體攻擊過程如下:一、攻擊者部署了6個攻擊合約,調用攻擊方法時,在攻擊合約中同時讓這6個帳號發送交易請求,這樣這些請求將會在同一個塊中開獎,由于過程一致,開獎交易中的tapos_block_num和tapos_block_prefix是一樣的,只有bet_id可能不同。二、攻擊者的前5個攻擊合約,在收到開獎通知時,能夠獲取到當前的bet_id,并判斷此id能否讓最后的帳號中獎。1)如果計算得知最后的帳號不能中獎,則該帳號的開獎通知正常執行,使得后面的帳號使用新的開獎序號來計算隨機數;2)如果計算得知最后的帳號能中獎,則使該帳號的開獎通知失敗,那么這個開獎序號被保留下來,直到最后的帳號中獎;

Mask Network公布首批Mask Grant 18個獲選項目:11月25日消息,Mask Network公布首批Mask Grant 18個獲選項目,并向每個入選項目捐贈1萬美元等值MASK代幣。獲選項目主要分布在DID錢包、feed協議、數據分析工具、平臺、Web3身份等領域,包括支持ERC-4337的智能合約錢包SoulWallet、社交feed流應用Interface、加密原生社交媒體Bfrenz、TwitterScan和NNS合作的跨鏈域名服務網絡、旨在構建用戶貢獻數據的基礎設施和社區數據平臺Superfans、Web3社交洞察入口Port3、Jolocom、數字身份項目Aspecta等。[2022/11/25 20:44:50]

獲獎概率:從上述的開獎和攻擊過程可知,每增加一個佯攻的帳號,就多了一次提前計算最后主攻帳號能否獲獎的機會。按猜數選擇20來算賠率為5倍,6個帳號會提高中獎概率至大約74%,雖然仍無法保證每次攻擊必中獎,但攻擊者10次攻擊能中獎6次,已經是超高且擾亂正常游戲的秩序的獲獎概率。安全建議:在諸如此類EOS.Win的游戲中隨機數受到攻擊者可控制的變量即游戲開獎序號的影響,因此PeckShield在此建議開發者,在DApp的隨機數生成上,需要去除攻擊者可控制的變量如游戲開獎序號等影響,同時避免開獎動作和通知動作在同一個交易中,從而避免交易狀態的回滾,進而阻止來自黑客的攻擊。

派盾:疑似約3億美元從Arrakis Finance的TVL中撤出:金色財經報道,派盾監測顯示,疑似約3億美元已經從Gelato Network內部DeFi用例Arrakis Finance的TVL中撤出。[2022/10/13 14:26:35]

以太坊L2網絡總鎖倉量回落至51.7億美元:金色財經報道,L2BEAT數據顯示,截至目前,以太坊Layer2上總鎖倉量為51.7億美元。近7日跌4.12%,其中鎖倉量最高的為擴容方案Arbitrum,約25.6億美元,占比49.6%。其次是Optimism,鎖倉量15.5億美元,占比30.1%。dYdX占據第三,鎖倉量5.05億美元,占比9.76%。[2022/8/27 12:52:32]

Tags:EOSLOCBLOBLOCEOS Se7ensBLOC幣BLOGGER價格MediBlocX

FIL
“泡菜溢價”屢禁不絕,韓國數字貨幣交易所們正在拓展海外版圖_ONE

韓國的“泡菜溢價”全球聞名,投資者用它來描述比特幣在韓國市場價格與全球平均價格之間的價差。這一現象吸引了諸多套利者,但是隨著政府監管趨嚴,這一價差開始不斷收窄,以至于該國的數字貨幣交易所有了一個.

1900/1/1 0:00:00
鏈塔智庫聯合工信部賽迪區塊鏈研究院發布2018中國區塊鏈優秀企業名錄_加密貨幣

來源:鏈塔智庫前言2018年以來,隨著區塊鏈行業升溫,國內各省市開始加強對區塊鏈行業引導,紛紛出臺相應扶持政策,區塊鏈行業得到快速發展.

1900/1/1 0:00:00
以太坊經典和比特幣現金是如何產生的?| 區塊鏈課堂第76問_POS

編者按:本文來自哈希派,作者:LucyCheng,星球日報經授權發布。在數字貨幣及區塊鏈領域內,當社區內開發者對“升級”存在意見分歧時,便有出現分叉,即區塊鏈分裂的可能.

1900/1/1 0:00:00
空頭頭寸已是多頭兩倍,BCH分叉后價格會暴跌?_加密貨幣

11月15日注定將成為加密貨幣社區在今年底最值得關注的一天,因為比特幣現金將會在這一天硬分叉。目前,BitcoinSV和BitcoinABC兩大陣營、以及礦工之間競爭已經白熱化,但另一個群體——.

1900/1/1 0:00:00
美國地區法官對暗網非法交易者判處20年徒刑_加密貨幣

近日,美國法官羅伯特·斯科拉對在暗網中心夢幻市場進行交易的GalVallerius判處20年有期徒刑,罪行是洗錢和販運罪,并將在佛羅里達州南部開始服刑.

1900/1/1 0:00:00
2018年第43周(2018年10月21日-2018年10月27日)區塊鏈二級市場報告_SDT

本期報告重點內容: 本周大盤走勢:橫盤窄幅震蕩,盤面陷入死寂八大交易所成交量:主流交易所總成交量萎縮27.8%,頭部交易所總成交量明顯下降數字資產換手率:下降7.5個百分點.

1900/1/1 0:00:00
ads