游戏安全与反外挂:加固工具介绍

游戏外挂,是个人都烦

大家还记得“贪玩蓝月”吗?

“我是渣渣辉,是兄弟就砍我!”

我一度以为这游戏没什么人玩,可是实际上贪玩蓝月在2017年的年流水收入就已经超过了 10 亿,吸金速度堪比印钞。

游戏行业的有个很让开发者厌烦的点,那就是“外挂”。流量越大的平台,越是担心外挂的问题。就连贪玩蓝月也不例外。

公开数据显示,自2014年以来,流量攻击持续走高。游戏外挂、账号被盗也深深地危害到用户的数据安全。

据统计,有65%的用户在游戏体验过程中遭受过游戏账号被盗、数据泄露、游戏安全漏洞、外挂等网络安全问题。调研中超4成的游戏用户认为国内游戏产品在网络数据安全层面的保障令人堪忧。

游戏App可能面临的各种攻击风险

正如上面所说,游戏外挂的存在,让App面临各种攻击风险:

代码可逆向:客户端App的逻辑能够被轻易获取和逆向,得到代码和程序中的敏感数据。

可调式:客户端App能被调试,动态的提取、修改运行时的程序数据和逻辑。

调试信息泄露:客户端App将开发时帮助调试的信息打印出来,这些信息通常包含一些敏感的参数、消息的明文。

钓鱼攻击:通过伪造合法的站点来试图欺骗用户盗取私人信息。

敏感信息泄露:客户端App代码中泄露敏感信息,如认证使用的共享秘钥等。

环境异常:安装改机工具、模拟器等黑产作弊工具。

重放攻击:黑产发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。

接口暴露:攻击者拦截请求包,模拟用户行为攻击服务端,接口数据被篡改和重复调用。

代码反编译:通过对可执行程序进行“逆向分析、研究”工作,以推导出软件产品所用的结构、算法、处理过程或推导出源代码。

恶意代码注入:攻击者恶意篡改代码及资源文件,进行盗版或植入广告等二次打包和重签名行为。

加固可以从哪些角度为游戏App保驾护航

所谓App加固 ,简单说来就是对App代码逻辑的一种保护。原理是将应用文件进行某种形式的转换,包括不限于隐藏,混淆,加密等操作,进一步保护软件的利益不受损坏。iOS 和 Android 的实现有所区别,但是核心逻辑和思路,大体是一致的。总之先了解破解的实现原理,再有针对性地加固APP,才能够在一定程度上保证不被分析、破解。

针对游戏行业的破解外挂问题,可以从以下几方面入手:

1、字符串加密:将App的源代码中敏感字符串做随机加密处理。在运行时进行对字符串动态解密,这样就可以避免攻击者,通过利用工具进行静态逆向分析发现关键字符串信息,从而快速定位到应用中的业务代码。

2、控制流平坦化:将so文件中C\C++代码中的执行控制逻辑变换为平坦的控制逻辑,从抽象语法树层面进行深度混淆,使得其在常用反编译工具中,极大的降低反编译逆向代码的可读性,增加逆向代码的分析难度。

3、符号混淆:对App应用中的类名称、函数名称进行混淆操作,增大直接用工具分析难度,让反编译逆向工具,无法直接通过类名称、函数名称进行快速定位App的核心代码。

4、防动态调试:对App应用进行防调试保护、检测到配置防动态调试功能的类、方法、函数被IDA逆向工具进行动态调试时候,App应用进行自动退出运行操作,有利于保护App应用直接被动态调试,从而提高攻防对抗的门槛。

5、防动态注入:对App应用进行防动态注入保护,当利用zygote或ptrace技术进行App应用的注入操作时,App应用进行自动退出运行操作,以此进行防御攻击方对App应用的非法操作,避免动态分析执行代码,从而达到动态保护App应用安全。

6、HOOK检测:对App进行防HOOK保护,检测到配置防hook保护功能的类名、方法名、函数名在被frida、xposed等工具动态hook时候,App进行自动退出操作,以此进行提高防御App安全性,保护App不被注入攻击,抵御恶意侵入。

7、代码段检验:对App应用中的代码段进行完整性校验,发现代码段被篡改,App应用进行自动退出运行,防止App应用中的代码逻辑被篡改,以此进行动态保护App的源代码安全性。

通过游戏App加固技术不仅可以提高对逆向后的代码阅读难度、而且有利于降低游戏被破解、插入病毒、木马、后门程序等恶意代码的风险,同时也能增强用户隐私数据、交易数据的安全性。并且,通过加固技术,能够帮助游戏开发者更好应对国家对游戏安全合规监管检测的标准。

你可能感兴趣的:(加固工具,安全,游戏,web安全)