目录
前言
有些游戏刚上线一小时,外挂就满天飞了,各种代打秒通关....
这些代打商家怎么做到的呢?
问题
玩过很多网页小游戏了,以微信小程序小游戏为例,本质上还是web网页,可以在PC端调试,或者下载源代码审计,主要存在的安全问题:
-
源代码未混淆,注释、加密密钥泄露
-
服务端未校验,参数绕过,比如 跳关
-
服务端信息泄露,比如 直接返回关卡答案
-
重放攻击,比如 奖励重复领取
-
异地登录,比如代打、盗号
-
弱算法,以下为某款脱机外挂:
方案
客户端代码混淆
现在很多游戏直接引用 cryto js 加密库,根据该加密库特征很容易找到请求算法关键点,应尽可能引入需要的函数,在混淆时一起混淆
客户端关键字符串加密
域名url,AES key等关键字符串应在源代码层面加密,使用时动态解密,防止直接通过抓包定位关键点
服务端严格校验
- 服务端返回值尽可能返回少的信息,防范严重的信息泄露;
- 服务端、数据库二次校验,防范重复领取奖励等漏洞;
服务端加强校验算法
服务端应尽可能校验客户端参数以防范脱机外挂,比如校验屏幕点击位置、时间,而不只是校验客户端运行环境
延迟校验
及时的反馈信息使黑产团队轻易发现算法薄弱、校验点,可以使用延迟校验的方式提升黑产攻击成本
账号冻结、黑名单
代打、黑产一般会有大量账号在同一地区、同一IP、甚至同一设备登录的情况,采用异地、异设备登录二次校验的方式减少盗号风险;
账号冻结、IP封禁、设备封禁、大数据分析等常用反黑灰产措施也不能少;
总结
攻防互相学习、升级,上线前严格的安全测试必不可少!