网游密码保护装置和方法制造方法及图纸

技术编号:4166602 阅读:254 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及计算机网络安全领域,尤其涉及一种对网游密码进行保护的装置和方法。网游密码保护装置,包括NtProtectVirtualMemory函数拦截模块,将调用系统原始NtProtectVirtualMemory函数的操作拦截;特征匹配模块,查找修改内存可写属性的文件所patch到的内存空间位置,查看该位置附近指定区域空间内是否有预先设定好的特征指令;内存属性修改要求重置模块,将原来要求修改内存属性为“可写”改为要求修改内存属性为“不可写”。本发明专利技术装置和方法可以有效保护网游密码。

Password protection device and method for online games

The invention relates to the field of computer network security, in particular to a device and a method for protecting the password of the online game. Online password protection device, including NtProtectVirtualMemory function interception module, system will call the original NtProtectVirtualMemory function interception operation; feature matching module, modify the memory write attribute lookup files to the patch memory space position, view the position near the instruction specifies whether a predefined area of memory space; modify the properties required to reset module the original requirements, modify the memory attribute to \write\ to modify the memory properties for the requested \do not write\. The device and the method of the invention can effectively protect the password of the online game.

【技术实现步骤摘要】

本专利技术涉及计算机网络安全领域,尤其涉及一种对网游密码进行保护的装置和方法。
技术介绍
目前网络游戏盗号的严重,很多网游公司成立了自己的安全部门,但收效甚微,使 网游公司力不从心。目前盗取网游的盗号木马要盗取对应网游的游戏帐号信息的话,必须 注入到网游进程的进程空间内,进行特征匹配查找到要修改码(patch)的位置或根据其指 定的位置进行patch。这里patch的位置就是网游在登陆时向网游服务端发送数据过程中 的一段,或验证用户输入的游戏帐号名或密码格式是否有效。盗号木马通过分析网游找到 要patch的位置,使用inline hook技术跳转至盗号木马自身程序的处理函数获取游戏帐 号名和密码。需要指出的是盗号木马会作多个inline hook来盗取网游里的多个信息,如 帐号、密码、人物名称、等级等等。本专利技术中主要讨论的是关于盗取密码的操作,因为,如果 能够防止密码被盗取,那么账户也就不会被盗取,关于该账户的信息也就得到了保障。下面 结合附图l解释一下上面所述的盗号木马盗取网游密码的原理。假设网游的正常工作流程 是第一、输入密码;第二、验证密码;第三、密码发送至游戏服务器。盗号木马会在用户输入 完密码后使进程跳转到盗号木马程序,在该盗号木马程序中保存改密码,然后再跳转到网 游的流程中(即第二步、第三步)。该过程所对应的内存进程空间的指令代码如图1中左侧 框中所示,其中5 6 7 8代码段即为盗号木马要path的位置,path到该位置后,盗号木 马以一个跳转指令取代该段代码,跳转到木马程序的进程(图1中的右侧框),先执行B B B B段代码,盗取密码,然后在执行原来的5 6 7 8代码段,返回网游主流程。盗号木马 盗取其他网游信息的原理与此基本相似。 目前其它产品针对盗号木马作得防御有两种(特征和加载) 1、获取盗号木马文件,提取文件特征用于传统杀毒软件查杀。但如果盗号木马如 针对性的作加花指令、加壳、源代码级修改这些操作的话,可轻易躲避杀毒软件的查杀。网 络上有专门的工具,新手可轻松上手。这步只可以做到我有、我杀,我无、你过。 2、拒绝某些系统加载项的写入,如即pinit—dlls。但现在有盗号木马是通过感染 系统文件或替换系统文件实现加载的。做到不需要任何注册表项达到自加载的目的。 以上两种防御方式只要被过,盗号木马就有机会盗取网游的信息。 盗号木马要使用inline hook修改网游流程至木马程序必须修改内存的 属性,使其要patch位置处的内存属性为可写状态,而设置内存可写属性必须调用 VIrtualProtectEx函数。因此,简单说木马盗取网游密码的流程是,参见图2, Sl,盗号木马 注入网游主程序;S2,调用VIrtualProtectEx函数设置内存可写属性,S3, Inline hook修 改网游流程值木马处理函数盗取网游数据,S4,盗号木马盗取密码成功。本专利技术网游密码保 护装置和方法将根据盗号木马的盗号流程和原理提供有效的网游密码保护。
技术实现思路
本专利技术的第一目的是克服现有技术中的不足,提供一种可有效保护网游密码的网 游密码保护装置。 本专利技术的第二目的是提供一种可有效保护网游密码的网游密码保护方法。为了实现上述第一 目的,采用以下技术方案网游密码保护装置,包括NtProtectVirtualMemory函数拦截模块,将调用系统原始NtProtectVirtualMemory函数的操作拦截;特征匹配模块,查找修改内存可写属性的文件所patch到的内存空间位置,查看该位置附近指定区域空间内是否有预先设定好的特征指令;内存属性修改要求重置模块,将原来要求修改内存属性为可写改为要求修改内存属性为不可写。 为了实现上述第二目的,采用以下技术方案网游密码保护方法,拦截调用系统原始NtProtectVirtualMemory函数的操作,查找修改内存可写属性的文件所patch到的内存空间位置,查看该位置附近指定区域空间内是否有预先设定好的特征指令;如果找到该特征指令,将原来要求修改内存属性为可写改为要求修改内存属性为不可写。 上述网游密码保护方法的原理是,①木马要盗号必须通过调用VirtualProtectEx设置内存属性为可写,而要设置内存属性必须调用系统原始NtProtectVirtualMemory函数,所以本方法要拦截调用系统原始NtProtectVirtualMemory函数的操作,筛选出修改内存可写属性的操作。②木马要修改可写属性处的内存空间(即要插入跳转指令处)附近都有一段固定的特征代码,如果找到该特征代码,也就说明木马要修改可写属性处的内存空间是密码处理代码区域,而只有盗号木马才会需要在此段内存空间内执行可写操作,从而判断该操作是木马程序执行的。③木马程序本来是想修改这段内存的属性为可写,本专利技术装置将木马程序的请求做了修改,使其修改内存属性为可写的请求改为修改内存属性为可读或者可执行等不可写请求,然后再按照正常的顺序调用系统原始NtProtectVirtualMemory函数,执行修改内存属性操作。其最终结果是将该段内存的属性设置为可读或者可执行,那么接下来木马采用inline hook技术插入跳转代码就会失败(因为此时内存属性为不可写)。综上,本专利技术装置和方法可以有效保护网游密码。附图说明 图1是盗号木马修改内存进程空间指令代码的示意图; 图2是盗号木马进行盗取密码操作的流程图; 图3是本专利技术网游密码保护装置在盗号木马盗取密码流程中的执行流程图; 图4是本专利技术密码保护方法的流程简图。 下面结合附图和实施例具体介绍本专利技术。 具体实施例方式本专利技术网游密码保护装置主要包括以下模块 NtProtectVirtualMemory函数拦截模块,其负责将所有调用系统原始 NtProtectVirtualMemory函数的操作拦截并启动网游密码保护装置中的各个模块; 内存修改属性过滤模块,其负责过滤内存修改属性的要求,对于要求修改内存可 写属性的指令则进入到网游密码保护装置中的下一模块处理,对于要求修改内存其他属性5的指令则放行并直接允许调用系统原始NtProtectVirtualMemory函数; 网游密码保护程序列表,其内部存储有所有需启动网游密码保护装置进行密码保护的网游程序表; 网游程序过滤模块,其判断欲修改内存属性处的内存指令所对应的程序是否为网游密码保护程序列表中的网游程序,如果是则进入到网游密码保护装置中的下一模块处理,如果不是则放行并直接允许调用系统原始NtProtectVirtualMemory函数; 栈回溯操作模块,其负责得到调用VirtualProtectEx设置内存可写属性的文件名及文件路径; 特征匹配模块,查找修改内存可写属性的文件所patch到的内存空间位置,查看该位置附近指定区域空间内是否有预先设定好的特征指令,如果有则判断所述修改内存可写属性的文件为木马,并进一步执行下述内存属性修改要求重置模块,如果没有则放行并直接允许调用系统原始NtProtectVirtualMemory函数;所述特征指令为在每次执行网游程序登陆流程时,存在于该流程中的一段固定不变的内存指令; 内存属性修改要求重置模块,将原来要求修改内存属性为可写改为要求修本文档来自技高网
...

【技术保护点】
网游密码保护装置,其特征在于,包括:    NtProtectVirtualMemory函数拦截模块,将调用系统原始NtProtectVirtualMemory函数的操作拦截;特征匹配模块,查找修改内存可写属性的文件所patch到的内存空间位置,查看该位置附近指定区域空间内是否有预先设定好的特征指令;内存属性修改要求重置模块,将原来要求修改内存属性为“可写”改为要求修改内存属性为“不可写”。

【技术特征摘要】
网游密码保护装置,其特征在于,包括NtProtectVirtualMemory函数拦截模块,将调用系统原始NtProtectVirtualMemory函数的操作拦截;特征匹配模块,查找修改内存可写属性的文件所patch到的内存空间位置,查看该位置附近指定区域空间内是否有预先设定好的特征指令;内存属性修改要求重置模块,将原来要求修改内存属性为“可写”改为要求修改内存属性为“不可写”。2. 根据权利要求1所述的网游密码保护装置,其特征在于,还包括 过滤模块,保留修改内存可写属性的指令,过滤其他指令。3. 根据权利要求1或2所述的网游密码保护装置,其特征在于,还包括 栈回溯操作模块,其负责得到调用VirtualProtectEx设置内存可写属性的文件名及文件路径。4. 根据权利要求3所述的网游密码保护装置,其特征在于,还包括 网游密码保护程序列表,其内部存储有所有需启动网游密码保护装置进行密码保护的网游程序表;网游程序过滤模块,其判断欲修改内存属性处的内存指令所对应的程序是否为网游密 码保护程序列表中的网游程序。5. 根据权利要求4所述的网游密码保护装置,其特征在于,所述特征指令为在每次执行网游程序登陆流程时,存在于该流程中的一段固定不变的 内存指令。6. 根据权利要求5所述的网游密码保护装置,其特征在于,所述指定区域是指修改内存可写属性的文件所patch到的内存空间位置前后各512字 节区域内。7. 根据权利要求6所述的网游密码保护装置,其特征在于,将原来要求修改内存属性为可写改为要求修改内存属性为不可写可以具体表现 为,将原来要求修改内存属性为可写改为要求修改内存属性为可读或者可执行。8. 根据权利要求7所述的网游密码保护装置,其特征在于,还包括 木马信息传送模块,其负责将特征匹配模块判断为木马文件的文件名及文件路径发送给计算机上的杀毒软件。9. 网游密码保护方法,其特征在于,拦截调用系统原始NtProtectVirtualMemory函数的操作,查找修改内存可写属性的 文件所patch到的内存空间位置,查看该位置附近指定区域空间内是否有预先设定好的特 征指令;如果找到该特征指令,将原来要求修改内存属性为可写改为要求修改内存属性 为不可写。10. 根据权利要求9...

【专利技术属性】
技术研发人员:程虎苏文杰
申请(专利权)人:珠海金山软件股份有限公司
类型:发明
国别省市:44[中国|广东]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1