游戏安全性测试总结

手机游戏安全性日显重要,在上线之前已成为一个不可忽视的测试指标。

但是有关手机游戏安全性测试又任重道远……

上线之后,依然出现各种问题,这里只单独讲下游戏安全这一块这些年的一些总结。

具体分析见后续单独的文章分析。

安全性分类:

一、安装包及本地数据存储

1.安装包是否很容易被反编译,被拿到代码和资源。需要做代码混淆等处理。

2.本地数据是否没有加密处理,以及容易被木马获取和修改等。

3.SDK的安全性,充值回调接口安全性。

二、客户端数据安全性。

1.目前现在必然有游戏把数据会放在客户端,而且一大把。所以客户端数据安全性成为重中之重。

那么有哪些数据会存储在客户端呢?

根据游戏类型不同,所存数据也各不相同。

例如:

角色数据(属性信息、公会信息等)

地图数据

怪物数据

等等。

2.数据存储在内存中

在玩家登录、打开某个模块时,服务器会下行把这些数据给玩家,存在内存中。然后玩家会使用这些数据与服务器进行交互。

那么玩家就可以非法修改这些存储的数据,以达到一些目的。

两种修改方法。(下行过程中修改,在内存中修改)

a.拦截下行协议,然后修改下行协议中的数据。就是所谓的封包,拦截——修改。可通过WPE的滤镜功能实现。

b.服务器下行数据存在内存中后,再进行修改。修改内存的数据就很多了:PC端的OD/CE。手机上各种烧饼修改器、八门修改器等等。

3.防范与破解

有矛就有盾。

一般的防护也无飞就是增加一些加密、混淆之类的。外加服务器对数据进行检测验证。

如果没有对内存数据进行加密混淆处理是万万不行的,至于加密之后,在对其危害性进行评定。

4.数据存在服务端

尽量把数据都存在服务端,或服务端对数据的校验很严谨。

三、服务器逻辑安全性

1.协议

客户端和服务端的通信是基于协定的协议进行通信,客户端的请求参数和服务端的接收参数相对应,同时,服务端的下发协议需要客户端来进行解析,处理,然后显示。

A.检查协议的正确性,程序对于错误的协议请求有好的容错处理。

B.检查协议参数的正确性。协议参数也是服务端程序员在处理非常容易出问题的地方。

参数类型——类型的转换,是否存在转换出错。如数据类型的强转,可能溢出而出错。需要传入其他类型进行测试。

参数类型的值——边界处理。需要传入相应类型的边界值进行测试。

参数的数量——探索未知的、未公开的协议。

C.协议的发送次序

改变协议的发送次序,可能导致未知的bug

2.程序逻辑判定

没什么好说的,常见游戏普遍的bug,背包格子判定,商店、传送点距离判定、技能学习、使用的职业判定==。

3.数据库安全

主要是数据类型的测试,其他的问题不大,要么就出大问题。

四、运营后台安全性

运营平台多了,运营平台权限管理必须严谨,发道具、发卡权限必须进行严格管理。

一些特殊权限必须限IP、账户。

游戏的安全性大概分为这几块,具体关于这几块,在后面的博文中我会把这些年见过的bug一一分享出来。

写得匆忙,还有很多的不足,以后再进行总结。


你可能感兴趣的:(游戏安全测试)