中文站

小游戏的安全风险有哪些?如何提升小游戏进行安全保护?

受全球疫情影响,从2020年春节开始,小游戏用户开始暴增。除了微信小程序之外,快手、抖音、百度等平台相继上线小游戏。

小游戏满足了用户打发碎片化时间的需求,也可以对产品的社交关系进行反哺。因此,与大体积的手游相比,小游戏小巧玲珑,不过多占用手机资源,具有快速“安装”或无需安装的特点。其玩法简单,通常以休闲益智类主题为主,深受用户喜欢。当然,小游戏不仅是指以小程序形式加载的游戏,也包括安装包体积很小的游戏,例如白鹭、cocos2djs引擎编写的游戏。

在商业变现可观的背景下,原创小游戏被很多不怀好意的不法分子盯上,或被友商窃取了部分代码资源,或被插入一些广告恶意链接。本文将解答小游戏的风险藏在哪里?如何开展针对性的治理,确保小游戏的底层安全?

01 小游戏暗藏风险

代码被篡改将引发一系列问题,最常见的情况是游戏被盗版、广告泛滥,甚至给玩家带来隐私风险与经济损失。

1.1 盗版层出不穷

客户端研发人员对盗版行为深恶痛绝。一般情况下,不法分子通过获取.wxapkg文件,使用网上成熟的反编译工具进行解包,接着修改代码加之“换皮”,对部分的图片资源进行替换,轻松抄袭原创小游戏。

以曾经风靡一时的“合成大西瓜”为例,如果在微信上搜索对应的小程序,大量名称相似的同类型小游戏映入眼帘,大致如下:


此外,在3dmgame上进行搜索,以cocos2d打包安装包形式呈现的“合成大西瓜”对应版本不时出现,许多被修改为XX版:


由此可见,小游戏存在严重的盗版风险。最大的风险来自于对一些“原始的游戏”进行“二次改包”,快速打包形成新的安装包,意图空手套白狼,也不乏在其中加入一些恶意代码的行为。

总的来说,资源盗版一直以来是部分游戏的痛点,由于小程序结构的简单性,攻击者可以在不修改任何代码的情况下,直接在解包出来的文件中对资源进行窃取,继而重新打包进行发布。诸如此类的违法操作在行业中已是屡见不鲜。

1.2 广告无所不包

我们打开一款火爆的小游戏,总会在几秒内看到一个跳转的广告链接,大多以推广其他游戏为目的。

目前,一个小游戏中往往接入了形形色色的广告,有的是推广广告,有的是恶意广告,或者是修改正版的广告为自己的广告。玩家并不清楚广告的真正来源。除此之外,整个游戏过程中,一些诱导性的广告和分享行为相继出现,使得用户没有办法判断此广告的真正目的。由此看见,小游戏防篡改迫在眉睫。

02 小游戏安全解决方案

为了化解上述风险,易盾提供全新的小游戏解决方案。这里小游戏不仅仅指的是小程序端的安全问题,也包括在不同平台上发行的APK小游戏包,进行全面的安全保护。

2.1 代码保护

盗版的出现以及恶意链接与广告的植入,多是由于第三方获取了客户端代码逻辑,并在代码中修改与增加恶意内容。易盾为代码提供JS的保护,增加代码被分析的门槛,功能包括对于JS中关键代码的控制流混淆,变量名混淆,字符串加密,动态反调试,反格式化等功能,并通过不同的加固组合兼顾到性能,以下是代码保护前后的比较:

保护前:


保护后:


2.2 资源加密

小游戏apk资源

我们可以对apk里面的资源进行加密保护,包括png,.jpg,.js,.html,.json等资源文件,防止资源被盗取。此外,我们对于白鹭和cocos2djs引擎中的资源进行加密处理,并可以通过黑白名单兼顾灵活性。

小程序资源

由于小程序结构特殊,该类型游戏资源可以采用动态分包下发的方式增强安全性,即对于小程序中的资源进行加密,并使用自己唯一的特征进行解密,比如appid等。另一种方式是在图片中植入自己的水印特征,防止有意的攻击者进行改包。

数据保护

数据直接呈现给用户,尤其是用户的重要数据,保护数据是防盗的关键点之一。小程序可以通过随机更新版本,来迭代更新密钥,安全地设计密钥所在的位置,密钥随机多态地更新,以增加盗版者的破解成本。这种方式让盗版分子不能获得正确的数据,及时动态防范。点击免费试用易盾小游戏智能反外挂