概要

cradles于11.15日开放下载,Damocles团队于11.16日对该游戏进行深入的安全分析,通过分析发现该游戏有大量Debug信息未删去,从Debug日志推断该游戏开发团队为中国团队。并且在测试过程中发现,该游戏并未进行任何的安全保护,且游戏通信协议部分使用开源引擎,并且对于有些逻辑判断过于不严谨,不推荐用户去游玩体体验。

安全评分

游戏背景

Ø  进行评估的游戏版本:20231115

Ø  游戏类型&游戏引擎:MMORPG,Unity2021.3.x

Ø  游戏玩法可能存在的问题:

  • 非法移动(通过RPC进行恶意封包进行瞬移,加速等操作)

  • 加速(游戏内大世界时间, UE框架下的时间函数)

  • 自瞄/自动锁定

  • 无敌

  • 无限体力

  • 挖矿加速

游戏安全性分析

游戏代码保护

1.    由于不同的引擎有不同的分析模式,所以在获取到游戏EXE后首先需要确定游戏使用的引擎,通过对游戏基础信息识别我们可以确定该游戏是使用Unity21.3.x进行开发。

2.    通过浏览游戏释放的文件,可以确定游戏采用Mono机制,并不是采用iL2Cpp的模式进行开发。采用这种方式开发的游戏,整体的安全性会更差,分析更简单。

并且该游戏使用的协议框架是KBEngine。

因此可以通过Github等开源库获取到KBEngine的源码,以及一些公开的资料,之后便可以加快游戏分析的速度。

分析结论

       Cradles在游戏代码保护方面得分为0,毫无保护。在传统游戏中,往往会采用定制加密,加壳等方式对源码进行保护,并且传统游戏也很少会采用mono模式进行编译。由于Cradles并没有健全的游戏基础代码保护并且采用过时的编译技术,导致恶意玩家分析代码的门槛与成本都很低,如果有外挂出现,对正常玩家来是极度不公平,在玩家可以自由决斗的区域,作恶玩家更容易打败对手。

游戏基础反作弊:

1.      在基础反作弊检测方面,我们主要从两个方面进行测试,一个是游戏是否存在反调试,另一个是游戏是否存在读写保护。

2.      在游戏打开状态下使用CE进行附加,并且对通用函数进行下断点,发现游戏并没有退出,或者提示

3.      通过CE对修改游戏内的stamina和HP进行修改,发现可以生效并且游戏并没有进行弹窗或者提示。(修改stamina是实现无线体力/蓝量,HP锁定可以在10s以内有效)

分析结论:

1.      Cradles在反作弊能力方面得分为0,如果存在恶意用户可以任意作弊。

2.      只测试反调试和读写保护两个方面的原因是对于一块外挂来说,找数据与实现功能只需要通过调试和读写就可以实现。如果最基础的两个保护能力都缺失的话,那么一些注入、hook等检测也毫无意义。

游戏逻辑问题

对于采用mono方式编译的MMORPG游戏来说,直接修改数据原则上是收益很低,但是在我们测试中发现,对于一些数据,如血量、体力等修改是可以生效的,其中血量修改后在9s内有效,超过时间则会无法攻击怪物,猜测该点在服务器有伤害时间限制。体力修改则可以长时间生效,猜测该点在服务器并未做任何判断,理由是:在本地角色体力耗尽时,可以通过暂停运动进行体力恢复操作,如果本地可以恢复,那么对于游戏来说则可以省去服务器校验的步骤。

体力更新逻辑:

血量更新逻辑:

并且在Avatar类中有很多与人物相关的属性,这部分属性中应该还存在其他可以操作的点。并且在Avatar类中有很多与人物相关的属性,这部分属性中应该还存在其他可以操作的点。

分析结论:

1.      Cradles的整体游戏逻辑安全问题很严重,尤其是该游戏是涉及强制PVP模式的,外挂研发门槛低,收益高,在研发出成型外挂后,完全可以实现单方面虐杀。

2.      缺乏对游戏数据的感知,以及对游戏内其他易受攻击的点的检测,同时由于使用的是开源引擎,其协议属于完全开放状态,对于存在挖矿的游戏来说,这种行为的风险性极高。

游戏协议分析

Cradles采用的是KBEngine引擎作为协议基础,关于该引擎网络上有现成的资料可供参考。

参考资料:

1、 KBEngine技术总览 :https://imgamer.gitbooks.io/kbengine-overview/content/content/6_3ServerComponents.html

2、 KBEngine MMORPG Demo https://github.com/kbengine/kbengine_ue4_demo

3、 KBEngine unity3d plugins   https://github.com/kbengine/kbengine_unity3d_plugins/tree/master

WEB3安全分析:

由于目前Cradles的代币并未上线,所以WEB3方面的分析暂缓,并且由于挖矿相关的协议完全暴露,用户挖矿数量对于游戏来说只是暂存的数字而已该行为过于中心化,所以该部分并不展开分析

关于Damocles

Damocles labs 是成立于2023年的安全团队,专注于Web3行业的安全,业务内容包括:GameFi代码审计,GameFi漏洞挖掘,GameFi外挂分析,GameFi反作弊,合约代码审计,业务代码审计,渗透测试等。

我们会在Web3安全行业持续发力,并且尽可能多的输出分析报告,提升项目方和用户对GameFi安全的感知度,以及促进行业的安全发展。
Twitter: https://twitter.com/DamoclesLabs
Discord: https://discord.gg/xd6H6eqFHz