Damocles:BigTime 遊戲分析報告

Damocles Labs
2023-11-10 12:43:33
收藏
針對 BigTime 進行一系列的安全分析與測試,其中包括針對遊戲客戶端屬性篡改, GameRPC惡意調用測試,代幣合約審計等。

作者:Damocles


一、 概要

BigTime 於2023年10.10號上線代幣後引起了GameFi的熱潮,團隊從9月份開始關注BigTime但是苦於沒有資格一直未進行分析,在最近降低註冊門檻以後,我們開始針對BigTime進行一系列的安全分析與測試,其中包括針對遊戲客戶端屬性篡改,GameRPC惡意調用測試,代幣合約審計等。通過對遊戲的整體評估,我們發現該遊戲的安全性較差,對於惡意玩家來看,其作弊成本低。並且遊戲的分析難度低。如果項目方想持續運營遊戲,提升遊戲的安全性與公平性應該放在後期運營首位。

二、 遊戲背景

進行評估的遊戲版本:v0.28-CL#78459

遊戲類型\&遊戲引擎:MMORPG,UE4.27

遊戲玩法可能存在的問題:

1.非法移動(通過RPC進行惡意封包進行瞬移,加速等操作)

2.加速(遊戲內大世界時間, UE框架下的時間函數)

3.一鍵連段/一鍵技能循環

4.NFT鍛造加速

5.NFT隨機數操縱

6.副本結束後的多重結算

三、 遊戲安全性分析

遊戲代碼保護:

分析過程:

  1. 由於不同的引擎有不同的分析模式,所以在獲取到遊戲EXE後首先需要確定遊戲使用的引擎,通過對遊戲基礎信息識別我們可以確定該遊戲是使用UE27.2進行開發。

  1. 將遊戲導入IDA,發現遊戲代碼未進行加固,並且通過UE27的特徵碼搜索可以快速定位到GWorld變量

並且可以發現,字符串同樣是沒有加密。

因此在確定可以通過特徵碼定位到Gworld,並且遊戲沒有加密以後,可以通過提取NamePool特徵碼通過一些SDK Dump工具進行dump。

在獲取到遊戲SDK後可以加速分析。

分析結論:

BigTime在遊戲代碼保護方面得分為0,毫無保護。在傳統遊戲中,往往會採用定制加密,加殼等方式對源碼進行保護。由於BigTime並沒有健全的遊戲基礎代碼保護,導致惡意玩家分析代碼的門檻與成本都很低,如果有外掛出現,對正常玩家來說是不公平的,且有一定可能會對遊戲的經濟模型造成影響。

遊戲基礎反作弊:

分析過程:

  1. 在基礎反作弊檢測方面,我們主要從兩個方面進行測試,一個是遊戲是否存在反調試,另一個是遊戲是否存在讀寫保護。
  2. 在遊戲打開狀態下使用CE進行附加,並且對通用函數進行下斷點,發現遊戲並沒有退出,或者提示

  1. 通過CE對修改遊戲內的Health進行修改,發現可以生效並且遊戲並沒有進行彈窗或者提示。(修改Health僅是為了更直觀的顯示,該字段一般來說都是存儲在伺服器,本地修改時是並沒有任何效果的)

分析結論:
  1. BigTime在反作弊能力方面得分為0,如果存在惡意用戶可以任意作弊。
  2. 只測試反調試和讀寫保護兩個方面的原因是對於一塊外掛來說,找數據與實現功能只需要通過調試和讀寫就可以實現。如果最基礎的兩個保護能力都缺失的話,那麼一些注入、hook等檢測也毫無意義。

遊戲邏輯問題

分析過程:

對於基於UE開發的MMO類型的遊戲來說,篡改本地數據的收益很低,原因是UE有成熟的同步機制,用於各個Actor和其他屬之間的同步以及伺服器校驗,但是通過分析遊戲源碼來看,很明顯BigTime並沒有將屬性同步機制合理運用,還是有部分數據落地,例如Comboindex功能,通過對combo Index設置寫入斷點,可以找到寫入函數,之後便可以對combo功能進行調試。(具體操作會影響公平性,不做演示)

分析結論:

  1. BigTime的整體遊戲邏輯安全問題並不是很突出,但是還是存在一定的安全風險,因此邏輯安全評分為4分。
  2. 針對某些敏感屬性缺少同步機制,更多的應該放到伺服器加密。

遊戲RPC分析

由於RPC問題較為敏感,再缺少項目方授權下暫不展開分析。目前BigTime RPC安全 防護為0 ,並且 對於某些RPC包經測試後發現,伺服器都會認可,其安全評分為0 建議項目方針對RPC整體安全進行詳細審計。下圖為部分RPC信息。

WEB3安全分析:

概要:

Bigtime作為一款鏈遊,在Web3設計上可以分為兩部分,分別是:基礎bigtime代幣部分,以及遊戲內的WEB3經濟系統部分。該部分設計相對其他遊戲相對分離,遊戲內負責產出代幣與鍛造NFT,同時在ETH上部署一個固定流通的代幣合約。

代幣合約安全:

代幣基礎信息如下:

BigTime代幣合約採用向多簽名錢包Mint代幣,然後採用固定供應量的方式進行部署。因為當前代幣合約功能簡單,所以合約的基礎安全性是足夠的。通過觀察Owner錢包的Tx信息,可以看到Owner錢包在獲取到代幣以後向幾個錢包分別轉帳了部分代幣。

這些錢包大部分都是使用Safe的多簽錢包。基於此可以發現當前與代幣相關的整體安全風險主要來源於私鑰洩露,以及項目方是否存在特權賬戶。雖然使用了多簽,但是如果存在特權賬戶私鑰洩露的話,還是會存在一定的盜幣風險。

遊戲內經濟系統安全:

在BigTime中玩家可以進入時空守衛的空間進行鍛造時間沙漏,時間沙漏充能等操作,這部分可以直接影響市場平衡的功能有部分代碼是存放在本地執行的,雖然不清楚GS是如何設計的,但是這種行為屬於高危行為。如下

類似這種RPC函數有很多,考慮到測試成本較高,我們暫時不做任何的安全測試,希望項目方能對這部分內容在伺服器做好嚴格判斷。

關於Damocles

Damocles labs 是成立於2023年的安全團隊,專注於Web3行業的安全,業務內容包括:合約代碼審計,業務代碼審計,滲透測試,GameFi代碼審計,GameFi漏洞挖掘,GameFi外掛分析,GameFi反作弊。

我們會在Web3安全行業持續發力,並且盡可能多的輸出分析報告,提升項目方和用戶對GameFi安全的感知度,以及促進行業的安全發展。

鏈捕手ChainCatcher提醒,請廣大讀者理性看待區塊鏈,切實提高風險意識,警惕各類虛擬代幣發行與炒作,站內所有內容僅係市場信息或相關方觀點,不構成任何形式投資建議。如發現站內內容含敏感信息,可點擊“舉報”,我們會及時處理。
ChainCatcher 與創新者共建Web3世界