游戏中常见的漏洞和预防措施

下面介绍游戏中一些常见的漏洞和预防措施。

1.中间人攻击
任何使用不安全的或者公共无线网络的计算机都可能被该网络中的另一台计算机读取数据包信息,这可能是网关计算机在嗅探数据包。打击中间人的常用方法是加密所有传输的数据。
常用的加密算法有公钥加密是算法,例如Alice和Bob通信,他们首次握手成功时,他们交换公钥。当Alice给Bob发送一条消息时,她将使用Bob的公钥加密该信息,这条信息只有使用Bob的私钥才能解密。所以这意味着Alice发送的信息只有Bob才能看到。

2.主机上的数据包嗅探
任何平台上的的游戏可执行文件都可以被破解,所以即使加密了数据,也可能被解密。所以如果游戏定期改变数据包格式,那么即使玩家破解了之前的数据包,也不能继续使用了,这样玩家又需要花费时间去破解,增加了作弊成本。
服务器应该尽量少的向客户端发送数据,你应该假设发送给每个主机的任何数据都可以被试图作弊的玩家检查,如果游戏保证只发送与每个主机相关的重要信息,那么作弊的可能就会最小化。

3.输入验证
输入验证是努力保证没有玩家执行的操作是无效的,即游戏不应该盲目地执行来自网络数据包中的操作。因为客户端可能通过抓包,伪造数据包来伪造操作。

4.软件作弊检测
游戏进程或者游戏外的软件,主动监测游戏的完整性,作弊的大多数方法都会在游戏的那台机器上运行作弊软件。一些作弊软件嵌入到游戏进程中,其他一些游戏作弊软件会重写游戏进程的内存。还有一些软件是用于自动化的第三方应用程序(外挂),甚至一些作弊软件会修改游戏使用的数据文件。
例如战场中的迷雾本地渲染出来的,没有经过同步,所以可以编写作弊程序删除迷雾,这种类型的作弊通常被称为地图黑客。但这些都可以通过软件作弊检测检测出来。
软件作弊检测系统有维尔福反作弊系统(VAC)和典狱长反作弊系统(Warden)。VAC通过扫描已知的作弊程序来检测运行时作弊。还有一个反作弊方法是服务器已经预知客户端上存在的所有文件的校验和。在游戏加入时客户端必须给服务器发送它的文件校验和,如果不匹配,客户端被踢掉。
一般服务器检测到某个用户作弊不会立即禁止,因为立即禁止表示这一作弊方式不能再被安全使用了。通常会把这一用户加入到列表中,将来的某一时刻统一禁止。

5.DDoS攻击
分布式拒绝服务攻击(DDoS)的目的是让服务器不能成功的完成请求,最终导致服务器不可达或者合法用户不可用。

6.坏数据
应该考虑到恶意用户可能会尝试给服务器发送格式不正确货不合适的数据包,目的是让服务器崩溃。保护你的游戏不受坏数据攻击的最好的方法是使用称为模糊测试的一种自动检测方法。可以使用模糊测试给服务器发送大量的非结构化数据,测试服务器是否崩溃,并修复这一过程中发现的错误。

7.入侵
恶意用户试图侵入服务器,窃取用户数据、用户信息、密码等,或者删库跑路。
预防措施:保持服务器软件的更新有助于预防入侵,因为新的软件可能已经修复了一些已知的漏洞。限制服务器上服务的数量将减少潜在入侵点的数量。许多入侵的常见途径是通过一个有权限访问主机的机器作为跳板机进入服务器,所以应该极大的限制个人机器访问服务器和数据库的方式。加密服务器上任何敏感信息的数据。

你可能感兴趣的:(游戏中常见的漏洞和预防措施)