主动反外挂的网络游戏系统及网络游戏系统反外挂方法

文档序号:7895957阅读:293来源:国知局
专利名称:主动反外挂的网络游戏系统及网络游戏系统反外挂方法
技术领域
本发明涉及网络游戏技术领域,尤其是涉及一种主动反外挂的网络游戏系统及网络游戏系统反外挂的方法。
背景技术
中国网络游戏产业在经历了将近10年的探索后,已成功实现从依靠代理进口游戏到自主研发的民族网络游戏为主的逆转,进入了一个高速稳定发展的新阶段。与此同时, 网络游戏也面临着严重的安全问题,而外挂是其中影响最为广泛的安全隐患。外挂是指专门针对一款或多款网络游戏,制作的作弊程序。用户利用外挂可以轻易得到其他正常用户无法得到、或必须通过长期运行程序才能得到的游戏效果。外挂的危害主要体现在以下三个方面(1)严重干扰了网络游戏的正常运行和游戏的公平性,使得正常玩家大量流失;极大的增加了网络服务器的数据流量负载,从而导致运营商的运营成本急剧升高,大大缩短游戏的生命周期,直接影响到经济收入和声誉,有些游戏甚至在正式运营前就因为外挂而夭折;(3)游戏中的虚拟货币实际上是通过银行真实电子货币转账购买的,因而容易滋生木马盗号等安全问题。依据是否依赖官方发布的游戏客户端程序,可将外挂分为脱机式外挂和挂机式外挂两大类,前者技术上是完全独立的,通过模拟正常玩家与游戏服务器之间的通讯来达到作弊目的;后者利用游戏在设计和实现上的漏洞,分别在客户端的驱动层、RING3层和游戏数据包通讯三个层面,通过模拟键盘、鼠标消息、截获、修改内存、文件及通讯数据来实现外挂。其中,脱机外挂对网络游戏平衡性的破坏力最强;通过篡改通讯数据来实现的外挂占据市面上外挂的90%。针对外挂泛滥的现象,也出现了很多反外挂的方法。常见的反外挂方法从技术方面可以分为以下几种①游戏数据安全通讯网络游戏所处的互联网网络是一个开放的系统环境,网络游戏过程中客户端与服务器之间的通讯数据包也可轻而易举地被外挂制作者截获并加以分析和篡改伪造。对通讯数据包进行加密后再在网络上传输,增加数据包分析伪造的难度,这是实现游戏数据安全通讯的基本保护措施。该方法可以有效防御脱机外挂和修改游戏封包的这类外挂。②游戏客户端进程的完整性保护该方法针对破坏游戏客户端进程完整性的具体外挂技术来实现防御,但是游戏玩家是外挂的主动使用者,因而仅从系统层面来防御外挂,安全性不高;③玩家人工认证通过在游戏过程中随机弹出难以用程序自动回答的问题,如图像识别,要求玩家在限定时间内给出正确的答案,以识别玩家是否在电脑旁。这种方法能有效防御脱机外挂和有全自动练级功能的这类外挂,但是该方法会干扰玩家的正常游戏,影响游戏的连贯性;需投入大量人力物力去维护更新答题系统; 而且还可能存在由于正常玩家一时疏忽给出的错误答案而导致误判的可能。虽然图片识别等方式的玩家人工认证的方法在目前的网络游戏的反外挂产品和专利中广泛使用,但是由于其自身存在的诸多弊端,因而仅能作为目前缺乏有效反外挂产品的现状下的一个防御外挂的过渡方法。④利用游戏逻辑通常将游戏逻辑复杂化或利用异常逻辑检测来实现反外挂。游戏逻辑复杂化是从游戏代码上使部分逻辑、数据难于分析和理解,甚至在游戏逻辑中添加各种信息、密码的校验,使得游戏的逻辑部分难以被伪造或篡改。该类方法主要针对脱机外挂和部分篡改游戏的这类外挂有效,其缺点是实现非常麻烦,且需投入较大的人力进行后期的维护开发。异常逻辑检测,是游戏服务器通过检查一些已知的逻辑上的漏洞以识别外挂。该类方法仅针对破坏了游戏规则的这类外挂有效,且极容易出现正常游戏玩家因网络延时等出现错误的游戏逻辑而被误判为外挂使用者的情况。目前
游戏数据安全通讯技术从通讯数据的安全性角度来遏制外挂。为了减少游戏服务器负载,保障游戏运行流畅性,数据加密方法不宜采用高安全性能的复杂加密技术。如何兼顾高效性和安全性,选择合理的加密算法是其中的关键。目前采用的加密算法有三种① 《金庸群侠传》等网络游戏中采用逐位异或算法对游戏通讯数据进行加密,该种方式下加密和解密所采用的密钥是相同的,且客户端和游戏服务器的密钥都由程序产生,不经过网络传输。但是,存在以下缺点第一,仅使用异或算法来实现加密,其安全性难以得到保证;第二,即使采用多层加密也并不能增加加密强度;②胡阳在2004年申请的专利《采用密码技术来防止网络游戏外挂的方法》(申请号200410001138.X)中提出采用公开的对称加密算法,并定期对算法进行更新,各客户机拥有一套互不相同的子密钥祖,对称加密算法的密钥通过用户号、时间戳和随机码控制对用户的子密钥组进行随机、实时组合选取,基本可以达到一次一密。但是,一次一密的方式无疑会带来较大的加解密开销,并且增加了游戏运行的负担;③华为公司在2007年申请专利《一种防范网络游戏外挂的方法、系统、服务器及终端设备》(申请号=200710002715. 0)中将通讯数据包依据不同的重要性选择加密的算法进行分级加密,以达到既防止加密数据被破解,又不会过于影响运营成本及用户体验的目的。但是,将通讯数据包的重要性量化定级本身是一个难点。游戏客户端进程的完整性保护技术在游戏客户端系统层面遏制外挂,比较典型的有INCA公司的nProtect GameGuarcU安博士研究所的AhnLab HackShielcU金山游盾和盛大的GPK。它们都是利用系统层面的技术来实现反外挂,如,通过加载设备驱动进入Ring 0 级获得系统的控制权并在所有进程中注入监测模块以监测系统API被非法进程调用,利用类似于病毒扫描的特征码来识别非法进程和模块,采用服务端认证来检测反外挂模块是否正常工作并检查客户端程序的完整性等。但是这类产品存在一些内在的缺陷,不能从根本上遏制外挂技术。①设计思路是阻止外挂侵害客户端,仅着眼于对游戏客户端进程的保护, 完全不能防御不依赖于客户端存在的脱机外挂。②对所有进程都接管监控,软件兼容性差; ③过多地使用底层技术抢占系统控制权,会影响系统稳定性;④依赖于系统底层技术来防御外挂技术的反外挂产品,实际上是在与外挂制作者较量谁能够最终控制系统。但是游戏玩家是主动的外挂使用者,而不是被动的受害者,因而外挂程序在用户的系统中拥有和反外挂程序同样的控制权限。反外挂产品在系统控制权的争夺上并没有明显优势。用户可能会根据外挂的使用说明,严格地按步骤操作,甚至会按外挂的要求安装新的操作系统;⑤外挂与病毒和木马有完全不同的目的和代码特征,而且在利益的驱动下,外挂的变形更新能力远高于病毒和木马,因此基于特征码识别的技术很难取得明显的效果。金山公司在2003 年12月推出的金山游盾就是最好的例证;⑥过多地使用底层技术,也不利于反外挂产品的快速更新以应对层出不穷的外挂技术;⑦更多地是在操作系统层面与游戏客户端绑定,与游戏过程本身的关联很弱,因而反外挂系统可能在系统层面被成功剥离,且由于底层机制的更新困难,这种剥离基本上只需要做一次。从以上分析也可以看出,单一地使用这两类技术,还有很多缺陷,不能从根本上解决外挂问题。游戏数据安全通讯技术和客户端保护技术分别从不同层面来防御外挂,将这两类技术结合的方式,逐渐成为反外挂的主流发展趋势。国内越来越多的网络游戏反外挂的相关发明专利中使用这种方式,如何将这两者有机结合,以实现对外挂技术的有效防御,成为现在该领域研究的主流方向。现有的专利主要是在游戏服务器对来自客户端的外挂特征码扫描结果 进行判断,以识别客户端是否使用外挂。其中,客户端的外挂特征码扫描结果的真实性也通过加密算法的安全性来得到保障。客户端的外挂特征码扫描结果可以通过附加到游戏通讯数据后再加密,或者直接加密后提交到游戏服务器。但是一旦加密算法被破解,就可以成功篡改客户端的外挂特征码扫描结果,从而达到欺骗游戏服务器的目的,因而安全性不高。综上所述,现有的反外挂系统主要存在以下问题①缺乏安全有效的反外挂框架 如何真正有效、有机结合数据安全通讯技术和客户端保护技术,是首要要解决的问题;② 处于被动的反外挂游戏玩家是外挂的主动使用者;与游戏过程脱离,针对具体外挂来防御,疲于应付不断出现新外挂;③兼容性差与外挂争夺系统控制权的攻防斗争中,使用了过多底层技术,必然会引发一系列兼容性问题;④有效的反外挂系统缺乏的现状下采用过渡方案,如人工认证、针对具体的网络游戏开发反外挂系统,但是不利于游戏厂商专注开发高质量的游戏。

发明内容
本发明的主要目的在于提供一种适用于各类网络游戏的主动反外挂方法及系统, 以高效安全地防御各类外挂技术。一种主动反外挂的网络游戏系统,包括游戏服务器和游戏客户端,游戏客户端和游戏服务器之间通过通信网络进行数据交互,所述游戏客户端为游戏玩家所操纵,其特征在于所述游戏客户端安装有网络游戏运行时加载的反外挂组件,所述游戏客户端成功登录后与游戏服务器进行安全协商数据通讯使用的种子密钥、对称加密算法和消息认证码生成算法,所述反外挂组件负责主动监测网络游戏客户端,并将监测结果通过安全协商后的对称加密算法加密后发送给游戏服务器;所述游戏服务器安装有服务端反外挂系统,根据安全协商后的相关密码算法解密验证来自游戏客户端的监测结果,对游戏客户端的监测结果进行查询匹配以识别客户端是否在使用外挂。优选的,所述反外挂组件包括客户端通讯模块、客户端加/解密及校验模块、游戏客户端进程保护模块、监测模块,所述反外挂组件负责保护游戏客户端进程不被简单外挂注入,以减少外挂的误报率;负责主动监测游戏客户端游戏进程、反外挂组件以及系统运行环境的安全性,并将监测结果加密后发送给游戏服务器。优选的,所述游戏服务器包括服务器端通讯模块、服务器端加/解密及校验模块、 外挂查询模块、数据库和数据库管理模块;所述游戏服务器通过服务器端加/解密及校验模块对监测结果解密后进行验证、并查询匹配以识别游戏客户端是否在使用外挂;接收来自反外挂组件的未知模块样本信息,并存储到数据库中。 本发明还提供了一种网络游戏系统反外挂方法,其特征在于所述方法包括以下步骤
(1)启动游戏客户端并登录到游戏服务器,在成功登陆后与游戏服务器安全协商种子密钥、对称加密算法和消息认证码生成算法;
(2)游戏客户端启动反外挂组件保护游戏客户端进程不被简单外挂注入,且定时监测游戏客户端进程和系统运行环境的安全性,并将监测结果经过安全处理后发给游戏服务器;
(3)游戏服务器接收来自游戏客户端的监测结果,进行解密后再对消息认证码进行验证,并标本信息进行匹配比较来判断游戏客户端是否使用外挂。优选的,所述方法步骤(2)中所述反外挂组件通过获取游戏客户端进程在内存中装载的模块代码的hash校验值来监测游戏客户端进程。优选的,所述方法步骤(2)中所述反外挂组件通过获取系统加载的驱动模块信息、 常用外挂程序的HOOK关键点和游戏客户端的预设HOOK点的驱动模块列表信息来监测系统运行环境。优选的,所述方法步骤(2)中所述反外挂组件通过在监测结果之后附上其消息认证码,并进行加密来实现对监测结果的安全处理。优选的,所述方法步骤(3)中若连续3次以上消息认证码验证都不通过,则判断游戏客户端在使用外挂;若消息认证码验证通过,则将解密后的监测结果与游戏服务器的标本信息进行匹配比较,继续判断客户端是否在使用外挂。优选的,所述方法还包括游戏服务器在固定时间间隔内未收到游戏客户端发送的监测结果,则视为监测超时,并断开游戏客户端与游戏服务器的连接,让游戏玩家重新登录;若连续超时3次以上,则视为游戏客户端在使用外挂。优选的,所述方法游戏服务器与游戏客户端进行通信时,采用包含时变参数的挑战-应答形式。本发明的适用于各类网络游戏的主动反外挂方法,有机结合数据安全通讯技术和客户端保护技术,并与游戏过程绑定。所述反外挂方法中,所述游戏客户端与所述游戏服务器之间利用数据安全通讯技术来保障通讯数据的安全性,其中所涉及到的安全相关参数和算法在游戏客户端成功登录后与游戏服务器安全协商。所述反外挂组件安装在游戏玩家所操纵的游戏客户端,在游戏客户端软件运行时被加载。所述反外挂组件负责保护游戏客户端进程不被简单外挂注入,以减少外挂的误报率;负责主动监测游戏客户端游戏进程、反外挂组件以及系统运行环境的安全性,并将监测结果加密后发送给游戏服务器。所述游戏服务器对解密后的监测结果进行验证以识别游戏客户端是否在使用外挂。所述全局服务器接收来自游戏服务器的安全查询请求,并反馈查询结果;接收来自反外挂组件的未知模块样本信息,并存储到数据库中。相对于现有技术中的方案,本发明的优点是
本发明与游戏过程绑定,并有机结合数据安全通讯技术和客户端保护技术,能高效安全地防御各类外挂技术;本发明主动监测游戏进程及系统环境,把该监测结果作为是否使用外挂的判断依据。本发明在游戏服务器验证识别游戏客户端是否使用外挂,因此游戏客户端的外挂程序无法干预这一判断过程。从而进一步保证反外挂程序的安全性和可靠性; 本发明采用以监测为主、防堵为辅的策略,避免使用过多底层技术,因而系统稳定、软件兼容性好。


下面结合附图及实施例对本发明作进一步描述
图1为本发明实施例主动反外挂的网络游戏系统的结构图; 图2为本发明实施例网络游戏系统主动反外挂方法的工作流程图。
具体实施例方式以下结合具体实施例对上述方案做进一步说明。应理解,这些实施例是用于说明本发明而不限于限制本发明的范围。实施例中采用的实施条件可以根据具体厂家的条件做进一步调整,未注明的实施条件通常为常规实验中的条件。
实施例本实施例的适用于各类网络游戏的主动反外挂系统,如图1所示,包括游戏客户端和游戏服务器,所述游戏客户端和所述游戏服务器之间通过通信网络进行数据交互。所述游戏客户端为游戏玩家所操纵,其特征在于所述游戏客户端安装有网络游戏运行时加载的反外挂组件,所述游戏客户端成功登录后与游戏服务器进行安全协商数据通讯使用的种子密钥、对称加密算法和消息认证码生成算法,所述反外挂组件负责主动监测网络游戏客户端,并将监测结果通过安全协商后的对称加密算法加密后发送给游戏服务器;所述游戏服务器安装有服务端反外挂系统,根据安全协商后的相关密码算法解密验证来自游戏客户端的监测结果,对游戏客户端的监测结果进行查询匹配以识别客户端是否在使用外挂。所述反外挂组件包括客户端通讯模块、客户端加/解密及校验模块、游戏客户端进程保护模块、监测模块,所述反外挂组件负责保护游戏客户端进程不被简单外挂注入,以减少外挂的误报率;负责主动监测游戏客户端游戏进程、反外挂组件以及系统运行环境的安全性,并将监测结果加密后发送给游戏服务器。所述游戏服务器包括服务器端通讯模块、服务器端加/解密及校验模块、外挂查询模块、数据库和数据库管理模块;所述游戏服务器通过服务器端加/解密及校验模块对监测结果解密后进行验证、并查询匹配以识别游戏客户端是否在使用外挂;接收来自反外挂组件的未知模块样本信息,并存储到数据库中。所述反外挂组件中
所述游戏客户端进程保护模块用于保护游戏客户端进程不被简单外挂注入。所述游戏客户端进程保护模块通过开发Windows驱动程序的方式获得RingO级权限实现对游戏客户端进程的保护,具体包括进程句柄访问保护、内存读写保护、窗口句柄保护、消息保护、系统消息钩子保护、远程线程注入保护、dll劫持保护、自dump句柄保护、app_init注入保护等。所述监测模块负责主动监测客户端游戏进程、反外挂组件本身以及系统运行环境的安全性,具体包括游戏客户端进程在内存中装载的模块代码的hash校验值、系统加载的驱动模块信息、Hook关键点及其相应的驱动模块列表信息。所述关键点指外挂常用的 Hook关键点和反外挂组件中使用的Hook点。所述驱动模块列表信息指若干个驱动模块,其中所述驱动模块信息用模块的MD5,大小,文件名来描述,可通过模块的MD5和大小来唯一标识。所述客户端加/解密及校验模块在监测结果之后附上其消息认证码,并进行加密;对外挂查询结果进行解密,完整性验证。所述加/解密及校验模块负责保障反外挂组件与游戏服务器之间的安全通信,其安全性主要通过密钥种子的安全协商来保障。其中所述加/解密指采用对称加/解密算法;所述消息认证码指利用对称加密算法加密消息的摘要后得到的结果,可用来认证消息是否被篡改过;所述对称加/解密过程和消息码生成过程中所使用的密钥是通过种子密钥分别衍生而来。所述加/解算法和消息认证码生成算法、 种子密钥可在游戏客户端登录到服务器后使用简化的SSL协议进行安全协商。所述种子密钥在一次游戏连接中至少更新一次。所述客户端通讯模块定时调用监测模块和加/解密及校验模块,并将加密后的监测结果发送给游戏服务器;接收来自游戏服务器的外挂查询结果,调用加/解密及校验模块进行解密和完整性校验,根据解密后的外挂查询结果将未知的模块样本信息上传到全局服务器。所述未知的模块样本信息包括模块MD5、模块样本、样本文件长度、在本地的存储路径、是否有签名等;
所述游戏服务器中
所述服务器端通讯模块接收来自反外挂组件的监测结果,调用加/解密及校验模块进行解密和完整性校验后,调用外挂查询模块,对解密后的监测结果进行外挂查询;调用加/ 解密及校验模块,将加密后的外挂查询结果反馈给反外挂组件;接收来自反外挂组件的未知模块样本信息。所述服务器端加/解密及校验模块对监测结果进行解密,完整性验证;在外挂查询结果之后附上其消息认证码,并进行加密。所述外挂查询模块将解密后的监测结果解析为多个驱动模块信息和关键点信息,并将安全查询请求发送给数据库管理模块;并依据反馈回的查询结果,计算出游戏客户端是否在使用外挂。所述游戏客户端是否在使用外挂的查询结果包括三种1)未使用外挂 游戏客户端监测结果中所有模块和关键点都是安全的;2)在使用外挂游戏客户端监测结果中至少有一个模块和关键点是不安全的;3)可能在使用外挂游戏客户端监测结果中除了有若干个模块和关键点的信息是未知的,其他所有模块和关键点都是安全的,此时需要求游戏客户端上传未知模块的相关信息以便进行进一步的判断。所述数据库,包含两个表格,分别用于存放驱动模块信息和关键点信息。驱动模块信息表中存储系统加载的驱动模块的MD5,大小和文件名,安全与否;关键点信息表中存储关键点的索引号,驱动模块的MD5,大小,文件名,安全与否。所述数据库管理模块根据来自外挂查询模块的安全查询请求,与数据库中的信息进行匹配,判断是否使用了外挂;将反外挂组件上传的未知模块信息添加到数据库中。该实施例的主动反外挂方法适用于各类网络游戏,该方法有机结合数据安全通讯技术和客户端保护技术,并与游戏过程绑定。所述反外挂方法中,网络游戏分为游戏客户端和游戏服务器两个部分,游戏客户端和游戏服务器之间通过通信网络进行数据交互。
所述游戏客户端与所述游戏服务器之间利用数据安全通讯技术来保障通讯数据的安全性,其中所涉及到的安全相关参数和算法在游戏客户端成功登录后与游戏服务器安全协商。所述游戏客户端游戏运行后可保护游戏客户端进程不被简单外挂注入,且定时监测游戏客户端进程和系统运行环境的安全性并发给游戏服务器;所述游戏服务器验证游戏客户端的监测结果以识别游戏客户端是否在使用外挂。如图2所示,适用于各类网络游戏的主动反外挂方法,包括如下步骤
步骤一启动游戏客户端游戏并登录到服务器,在成功登陆后与游戏服务器安全协商种子密钥、对称加密算法和消息认证码生成算法;
上述步骤一中,所述游戏客户端与游戏服务器的安全协商,是保障整个反外挂系统通信层面安全有效的核心部分,其重点是安全协商种子密钥。步骤二游戏客户端保护游戏客户端进程不被简单外挂注入;且定时监测游戏客户端进程和系统运行环境的安全性,并将监测结果经过安全处理后发给游戏服务器;
上述步骤二中,所述监测游戏客户端进程的安全性是指获取游戏客户端进程在内存中装载的模块代码的hash校验值。上述步骤二中,所述监测系统运行环境的安全性是指获取系统加载的驱动模块信息、关键点所Hook的驱动模块列表信息。所述关键点,包括外挂程序常用的Hook关键点和游戏客户端保护自身进程不被简单外挂注入时所使用的Hook点。上述步骤二中,所述安全处理是指利用步骤一中的消息认证码生成算法对指定的消息生成其消息认证码并附在原始消息之后,然后利用步骤一中的对称加密算法进行加密处理,再发给游戏服务器;
步骤三游戏服务器接收来自游戏客户端的监测结果,进行解密后再对消息认证码进行验证。若连续3次以上消息认证码验证都不通过,则认为游戏客户端在使用外挂;若消息认证码验证通过,则将解密后的监测结果与游戏服务器的标本信息进行匹配比较,从而判断游戏客户端是否在使用外挂;
上述步骤三中,所述游戏服务器的标本信息,包括各种正常和异常的游戏客户端进程在内存中装载的模块代码的hash校验值、驱动模块的信息、关键点所Hook的驱动模块列表 fn息ο步骤四游戏服务器将该外挂查询结果经过安全处理后,再反馈给游戏客户端; 上述步骤四中,所述安全处理是指利用步骤一中的消息认证码生成算法对指定的消
息生成其消息认证码并附在原始消息之后,然后利用步骤一中的对称加密算法进行加密处理,再发给游戏客户端;
若游戏服务器在固定时间间隔内未收到游戏客户端发送的监测结果,则视为监测超时,并断开游戏客户端与游戏服务器的连接,让游戏玩家重新登录。若连续超时3次以上, 则视为游戏客户端在使用外挂;
若游戏客户端在使用外挂,则游戏服务器需记录当前的游戏用户ID和外挂监测时间。进一步地,为了防止游戏客户端伪造通讯包,在游戏服务器与游戏客户端进行通信时,可采用包含时变参数的挑战-应答形式。上述步骤一中游戏服务器与游戏客户端进行通信时,可在发给游戏客户端的数据包中增加Token ;游戏客户端进行应答时,需要带上相应的Token的hash校验值;服务端通过验证接收到的数据包中Token的hash校验值来判断该数据包是否存在伪造。在上述步骤二中,游戏客户端向游戏服务端发送监测结果时, 需带上Token的hash校验值;在上述步骤三中,服务端在解密监测结果之后验证消息认证码前,需验证Token是否和预期的一致,若不一致,则认为游戏客户端在使用外挂。
上述实例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人是能够了解本发明的内容并据以实施,并不能以此限制本发 明的保护范围。凡根据本发明精神实质所做的等效变换或修饰,都应涵盖在本发明的保护范围之内。
权利要求
1.一种主动反外挂的网络游戏系统,包括游戏服务器和游戏客户端,游戏客户端和游戏服务器之间通过通信网络进行数据交互,所述游戏客户端为游戏玩家所操纵,其特征在于所述游戏客户端安装有网络游戏运行时加载的反外挂组件,所述游戏客户端成功登录后与游戏服务器进行安全协商数据通讯使用的种子密钥、对称加密算法和消息认证码生成算法,所述反外挂组件负责主动监测网络游戏客户端,并将监测结果通过安全协商后的对称加密算法加密后发送给游戏服务器;所述游戏服务器安装有服务端反外挂系统,根据安全协商后的相关密码算法解密验证来自游戏客户端的监测结果,对游戏客户端的监测结果进行查询匹配以识别客户端是否在使用外挂。
2.根据权利要求1所述的主动反外挂的网络游戏系统,其特征在于所述反外挂组件包括客户端通讯模块、客户端加/解密及校验模块、游戏客户端进程保护模块、监测模块,所述反外挂组件负责保护游戏客户端进程不被简单外挂注入;负责主动监测游戏客户端游戏进程、反外挂组件以及系统运行环境的安全性,并将监测结果加密后发送给游戏服务器。
3.根据权利要求1所述的主动反外挂的网络游戏系统,其特征在于所述游戏服务器包括服务器端通讯模块、服务器端加/解密及校验模块、外挂查询模块、数据库和数据库管理模块;所述游戏服务器通过服务器端加/解密及校验模块对监测结果解密后进行验证、并查询匹配以识别游戏客户端是否在使用外挂;接收来自反外挂组件的未知模块样本信息, 并存储到数据库中。
4.一种网络游戏系统反外挂方法,其特征在于所述方法包括以下步骤(1)启动游戏客户端并登录到游戏服务器,在成功登陆后与游戏服务器安全协商种子密钥、对称加密算法和消息认证码生成算法;(2)游戏客户端启动反外挂组件保护游戏客户端进程不被简单外挂注入,且定时监测游戏客户端进程和系统运行环境的安全性,并将监测结果经过安全处理后发给游戏服务器;(3)游戏服务器接收来自游戏客户端的监测结果,进行解密后再对消息认证码进行验证,并标本信息进行匹配比较来判断游戏客户端是否使用外挂。
5.根据权利要求4所述的方法,其特征在于所述方法步骤(2)中所述反外挂组件通过获取游戏客户端进程在内存中装载的模块代码的hash校验值来监测游戏客户端进程。
6.根据权利要求4所述的方法,其特征在于所述方法步骤(2)中所述反外挂组件通过获取系统加载的驱动模块信息、常用外挂程序的HOOK关键点和游戏客户端的预设HOOK点的驱动模块列表信息来监测系统运行环境。
7.根据权利要求4所述的方法,其特征在于所述方法步骤(2)中所述反外挂组件通过在监测结果之后附上其消息认证码,并进行加密来实现对监测结果的安全处理。
8.根据权利要求4所述的方法,其特征在于所述方法步骤(3)中若连续3次以上消息认证码验证都不通过,则判断游戏客户端在使用外挂;若消息认证码验证通过,则将解密后的监测结果与游戏服务器的标本信息进行匹配比较,继续判断客户端是否在使用外挂。
9.根据权利要求4所述的方法,其特征在于所述方法还包括游戏服务器在固定时间间隔内未收到游戏客户端发送的监测结果,则视为监测超时,并断开游戏客户端与游戏服务器的连接,让游戏玩家重新登录;若连续超时3次以上,则视为游戏客户端在使用外挂。
10.根据权利要求4所述的方法,其特征在于所述方法游戏服务器与游戏客户端进行通信时,采用包含时变参数的挑战-应答形式。
全文摘要
本发明公开了一种主动反外挂的网络游戏系统及其方法,所述系统包括游戏服务器和游戏客户端,游戏客户端和游戏服务器之间通过通信网络进行数据交互,所述游戏客户端为游戏玩家所操纵,其特征在于所述游戏客户端安装有网络游戏运行时加载的反外挂组件,所述游戏客户端成功登录后与游戏服务器进行安全协商数据通讯使用的种子密钥、对称加密算法和消息认证码生成算法,所述反外挂组件负责主动监测网络游戏客户端,并将监测结果通过安全协商后的对称加密算法加密后发送给游戏服务器;所述游戏服务器安装有服务端反外挂系统,根据安全协商后的相关密码算法解密验证来自游戏客户端的监测结果,对游戏客户端的监测结果进行查询匹配以识别客户端是否在使用外挂。该发明与游戏过程绑定,并有机结合数据安全通讯技术和客户端保护技术,能高效安全地防御各类外挂技术。
文档编号H04L29/06GK102158367SQ20101059386
公开日2011年8月17日 申请日期2010年12月17日 优先权日2010年12月17日
发明者余艳玮, 周学海, 席菁, 李曦, 陈博 申请人:中国科学技术大学苏州研究院
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1