Seraph: In The Darkness(暗黑)安全評估與分析

Damocles Labs
2023-12-01 11:29:14
收藏
Damocles於11.24日,對Seraph進行深度的安全評估與分析,其結果較差。

一、概要(遊戲安全性評分)

Seraph於2023年11月22日開放三測。Damocles團隊於11.24號針對該遊戲進行了安全分析與評估,但是評估結果不盡如人意。首先是項目方在代碼中留存大量Log信息,並且可以從Log信息推斷出項目方並非韓國團隊,而是中國團隊,且該遊戲採用Unity加載lua的方式,並未對Lua代碼進行保護,或者使用lua jit等提升逆向難度的手段進行源碼保護,這就導致源碼完全暴露,只需要hook load函數即可從內存中dump出遊戲源碼。但是該遊戲屬於ARPG遊戲,該類遊戲有天然的防作弊優勢,即大部分數據均通過服務器同步,所以又在一定程度上緩解了遊戲的安全問題。

二、遊戲背景

Ø 進行評估的遊戲版本:v0.0.0.6

Ø 遊戲類型\&遊戲引擎:ARPG,Unity

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

n 瞬移

n 加速(加速移動,加速釋放技能)

n 自動掛機

n 倍率修改

n 無敵

n Buff修改(讓角色可以持續存在增加靈魂晶石產出的buff或其它)

三、 遊戲安全性分析

遊戲代碼保護

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

  1. 通過遊戲目錄中的GameAssembly.dll以及global-metadata.dat可以確定遊戲採用的是il2cpp的編譯模式,於是通過iL2Cppdumper進行源碼還原。

但是在dump.cs文件中並沒有發現跟遊戲相關性比較強的代碼邏輯,於是猜測該遊戲並不是用C#進行開發,而是通過lua進行加載的,於是通過代碼Hook遊戲loadbuff相關的函數,獲取到了遊戲真正的源碼。

並且在遊戲源碼中發現一些有意思的註釋:

分析結論:

Seraph在遊戲代碼保護方面得分為0,毫無保護。在採用Lua開發的傳統遊戲中,往往會採用定制lua解釋器,使用LuaJit進行一定程度的代碼保護。由於Seraph並沒有健全代碼保護機制,導致惡意玩家分析代碼的門檻與成本都很低,如果有外掛出現,對正常玩家來說是不公平的,且有一定可能會對遊戲的經濟模型造成影響。

遊戲基礎反作弊:

分析過程:
  1. 在基礎反作弊檢測方面,我們主要是通過替換Lua文件看遊戲是否加載與執行外部邏輯進行判斷。

  2. 通過CE注入工具DLL後,查看遊戲的Log文件下,是否將三方Log打印。

  1. 通過修改lua邏輯對修改遊戲內的暴擊率等數據進行修改,發現可以生效並且遊戲並不存在檢查。(修改屬性數據僅是為了更直觀的顯示,該字段一般來說都是存儲在服務器,本地修改時是並沒有任何效果的)
分析結論:
  1. Seraph在反作弊能力方面得分為0,如果存在惡意用戶可以任意作弊。

  2. 只測試將Lua重新加載到遊戲的主要原始就是:該行為是進行Lua類遊戲作弊的基礎,如果該點都無法做好的話,其他方面的反作弊只會更差。

遊戲邏輯問題

分析過程:

由於目前已經獲取到遊戲的源碼,所以在分析過程中針對邏輯層我們進行了安全分析,並沒有對協議層進行分析,在邏輯層方面我們主要是針對以下幾點進行了安全測試,

分別是角色初始化時的屬性篡改:(發現該部分的敏感屬性並不多,並不能提升收益)

其次是主動攻擊時的一些技能相關的篡改:(發現該部分只做展示並沒有實際參與傷害校驗)

最後是怪物被攻擊時的邏輯修改(發現該點修改後並沒有實際的意義,猜測該模塊開發時的主要目的是觸發事件做記錄並不存在實際的計算參與)

分析結論:
  1. Seraph在我們隨機篡改的三點上均未生效,證明其傷害計算與展示是分離進行,或者是由服務器進行計算其安全性還是有一定保障的,評分3分0。

  2. 但是其部分傷害判定存放在本地,作弊空間還是存在的。

遊戲RPC分析

該遊戲採用protolbuf進行協議交互,其中Web3相關的交互也是使用使用該方案,目前針對該部分還未進行細緻的測試,後期可能會對ProtoBuf部分進行細緻測試。

WEB3安全分析:

概要:

目前Seraph並未發行代幣,Mint合約為使用代理合約的常規NFT721合約總供應量3225,並且不管是Mint還是跨鏈,均有Role控制,鏈上安全性可控。

遊戲內經濟系統安全:

目前Seraph打金主要方式還是以靈魂晶石為主,不管是打造靈魂之匣還是開起均由服務端進行判定,客戶端僅做請求發起,安全性主要由服務端做控制,故其安全性評估不在客戶端安全評估範圍內,後期Damocles可能會對所有請求進行梳理並黑盒測試。

關於Damocles

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

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

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