CN110368695A - 一种基于http流量uri特征的游戏外挂检测方法 - Google Patents

一种基于http流量uri特征的游戏外挂检测方法 Download PDF

Info

Publication number
CN110368695A
CN110368695A CN201910765992.XA CN201910765992A CN110368695A CN 110368695 A CN110368695 A CN 110368695A CN 201910765992 A CN201910765992 A CN 201910765992A CN 110368695 A CN110368695 A CN 110368695A
Authority
CN
China
Prior art keywords
uri
layer
plug
character string
blacklist
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
CN201910765992.XA
Other languages
English (en)
Inventor
刘德建
任佳伟
陈宏展
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujian Tianqing Online Interactive Technology Co Ltd
Original Assignee
Fujian Tianqing Online Interactive Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujian Tianqing Online Interactive Technology Co Ltd filed Critical Fujian Tianqing Online Interactive Technology Co Ltd
Priority to CN201910765992.XA priority Critical patent/CN110368695A/zh
Publication of CN110368695A publication Critical patent/CN110368695A/zh
Withdrawn legal-status Critical Current

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/75Enforcing rules, e.g. detecting foul play or generating lists of cheating players

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Computer And Data Communications (AREA)

Abstract

本发明提供了一种基于HTTP流量URI特征的游戏外挂检测方法,所述方法包括:步骤S1、Windows系统应用层的客户端在驱动层创建网络过滤驱动;步骤S2、建立一URI黑名单;步骤S3、网络过滤驱动在数据流层捕获所有TCP数据包,从TCP数据包中提取出URI参数字符串,然后遍历URI黑名单,将URI参数字符串和URI黑名单的每一个黑名单项进行字符串比对,如果从TCP数据包中提取出URI参数字符串与URI黑名单中任意一黑名单项相同,则判定游戏玩家有外挂使用行为;步骤S4、从Windows系统数据流建立层传至数据流层的上下文数据流中获取此外挂进程的进程ID信息、进程路径信息,并将这些信息写入到外挂检测日志文件中;本发明可以高效地检测已知HTTP流量特征的外挂的使用行为,并收集外挂信息。

Description

一种基于HTTP流量URI特征的游戏外挂检测方法
技术领域
本发明涉及计算机系统通信技术领域、软件安全、游戏外挂检测领域,尤其是一种基于HTTP流量URI特征的游戏外挂检测以及外挂信息收集的手段,特别是一种基于HTTP流量URI特征的游戏外挂检测方法。
背景技术
现有的外挂行为监控模块通常使用基于进程内存扫描的检测方法,如扫描进程的内存空间判断是否包含外挂特征码等,暂无公开的基于HTTP流量URI特征的,现有的外挂检测块通常使用基于进程内存扫描的检测方法,如扫描进程的内存空间判断是否包含外挂特征码等。
上述现有的游戏外挂行为监控方案可能被外挂使用进程隐藏技术、内存多态化等方法绕过检测。本专利描述的方案可以监控到此类外挂的使用行为。另外本专利在应用于检测具备HTTP流量URI特征的外挂场景中表现得准确高效。
专业术语解释:
微软提供的WFP过滤框架在网络数据包传输过程中划定了许多层,如:FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层(即数据流建立层)、FWPM_LAYER_STREAM_V4层(即数据流层)和FWPM_LAYER_DATAGRAM_DATA_V4层(即数据流层);由于数据包在系统底层需要根据不同的网络协议进行封装,因此不同层捕获到的数据内容有所不同。本专利方案提到FWPM_LAYER_STREAM_V4层(即数据流层)可以捕获到所有不含IP头的TCP数据包;FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层(即数据流建立层),FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层可以捕获到进程发送的授权连接请求,在这一层可以获得数据包的收发进程信息、收发IP信息、收发端口信息。
WFP(Windows Filter Platform),计算机术语,是一种Windows过滤平台,用于过滤网络数据包。
基本过滤引擎BFE是一个Windows操作系统自带的用户模式服务,协调WFP组件,基本过滤引擎BFE执行的主要任务是向系统中添加或移除过滤器、存储过滤器配置以及强化WFP配置安全性。应用程序与基本过滤引擎BFE的通讯通过FwpmEngineOpen等WFP管理函数进行。
URI,通一资源标志符(Universal Resource Identifier,URI),表示的是web上每一种可用的资源,如HTML文档、图像、视频片段、程序等都由一个URI进行定位的。
发明内容
为克服上述问题,本发明的目的是提供一种基于HTTP流量URI特征的游戏外挂检测方法,是一种隐蔽的外挂行为监控手段,能高效地检测已知HTTP流量特征的外挂的使用行为,并对外挂信息进行收集。
本发明采用以下方案实现:一种基于HTTP流量URI特征的游戏外挂检测方法,所述方法包括如下步骤:步骤S1、Windows系统应用层的客户端在驱动层创建网络过滤驱动;
步骤S2、建立一URI黑名单,所述URI黑名单存储外挂发出的HTTP包所包含的URI字符串;
步骤S3、网络过滤驱动在数据流层捕获所有TCP数据包,从TCP数据包中提取出URI参数字符串,然后遍历URI黑名单,将URI参数字符串和URI黑名单的每一个黑名单项进行字符串比对,如果从TCP数据包中提取出URI参数字符串与URI黑名单中任意一黑名单项相同,则判定游戏玩家有外挂使用行为;
步骤S4、从Windows系统数据流建立层传至数据流层的上下文数据流中获取此外挂进程的进程ID信息、进程路径信息,并将这些信息写入到外挂检测日志文件中。
进一步的,所述步骤S2进一步具体为:创建网络过滤驱动的过程中,将外挂进行网络交互过程中会访问的URI写入到网络过滤驱动的文件中,Windows系统应用程序加载并开启网络过滤驱动;网络过滤驱动开启成功后,初始化URI黑名单,在初始化黑名单的过程中,网络过滤驱动将写入文件中的所有URI插入到URI黑名单中。
进一步的,所述步骤S2和步骤S3之间还包括:步骤S21、网络过滤驱动使用FwpmEngineOpen函数获取基本过滤引擎BFE句柄,作为后续操作的参数;
步骤S22、网络过滤驱动使用FwpsCalloutRegister函数注册在数据流层、数据流建立层监控数据的回调函数;
步骤S23、网络过滤驱动使用FwpmCalloutAdd函数向基本过滤引擎BFE申请添加之前注册的回调函数;
步骤S24、网络过滤驱动使用FwpmSubLayerAdd函数,在数据流层、数据流建立层创建子层,用于捕获数据;
步骤S25、网络过滤驱动使用FwpmFilterAdd函数,通过基本过滤引擎BFE在数据流层、数据流建立层创建过滤器,并将回调函数与子层关联;完成关联后,当子层捕获到网络数据包时,系统会调用子层对应的回调函数处理网络数据包;所述数据流层的回调函数用于处理TCP数据包;数据流建立层的回调函数用于提取数据包的收发进程ID信息、进程路径信息;
步骤S26、数据流建立层的回调函数在被系统调用时,先解析网络数据包的进程路径、进程ID信息,并将这些信息保存至上下文数据流中,然后使用FwpsFlowAssociateContext函数将上下文数据流与数据流层关联绑定;过滤器会将上下文数据流跨层传输至数据流层。。
进一步的,所述步骤S3进一步具体为:步骤S31、数据流层的回调函数被调用时,回调函数判断数据包的远端端口是否为80,是则,数据包是一个HTTP协议的TCP数据包并进入步骤S32;否则回调函数执行结束;
步骤S32、数据流层的回调函数按照HTTP报文格式解析数据包内容,从HTTP协议的TCP数据包中提取出URI参数字符串,然后遍历URI黑名单,将URI参数字符串和URI黑名单中每一个黑名单项进行字符串比对,若存在黑名单项与TCP数据包中提取的URI参数字符串相同,则判定玩家有外挂使用行为。
进一步的,所述步骤S4进一步具体为:从Windows系统数据流建立层传至数据流层的上下文数据流时,数据流建立层的回调函数提取上下文数据流中的进程路径、进程ID信息,然后使用ZwWirteFile函数将远端IP、远端端口、进程ID、进程路径这些信息写入到外挂检测日志文件中。
进一步的,所述回调函数按照HTTP报文格式解析数据包内容,从HTTP协议的TCP数据包中提取出URI参数字符串具体包括如下步骤:
步骤1、使用字符串匹配算法,查找HTTP协议的TCP数据包中是否包含字符串“HTTP/”,若不包含,则本流程结束;若包含字符串“HTTP/”,则记录第一次出现字符串“HTTP/”的内存地址,设置这个内存地址为Tmp;
步骤2、判断Tmp相对于HTTP协议的TCP数据包的起始地址的偏移是否大于4,以及HTTP协议的TCP数据包的结束地址相对于Tmp的偏移是否大于8,若上述条件还不能同时满足,则判定为异常数据包,流程结束;否则进入步骤3;
步骤3、判断比Tmp地址大8字节的内存地址存储的数据是不是‘\0d’,若不是则判定异常数据包,流程结束;否则进入步骤4;
步骤4、判断比Tmp地址大9字节的内存地址存储的数据是不是‘\0a’,若不是则判定异常数据包,流程结束;否则进入步骤5;
步骤5、判断比Tmp地址小1字节的内存地址存储的数据是不是‘\20’,若不是则判定异常数据包,流程结束;否则进入步骤6;
步骤6、将‘\20’内存地址前一字节定义为URI字符串的末尾,设置名称为End,以End为起始地址,以数据包起始地址为终止地址,由大到小逆序遍历内存,使用字符比较的方式查找字符串“\20\2f”,当查找到字符串“\20\2f”时,将存储字符‘\2f’的地址设定为需要提取的URI字符串的起点Begin,并进入步骤7;若查找失败,则判定异常数据包,流程结束;
步骤7、Begin到End中间存储的数据就是需要提取的URI字符串。
本发明的有益效果在于:1.使用行为黑名单机制,可以高效地监控已知HTTP流量特征的外挂的使用行为,并收集外挂信息。
2.使用内核层的网络过滤技术,外挂无法通过传统的应用层API挂钩技术绕过此检测,大大增加外挂的反检测和反监控难度。
3.大部分外挂都是收费的,包含登录模块,因此本方案应用面极广,可以应用于大量外挂的检测。
4.本专利的游戏外挂行为监控方法是一种隐蔽的外挂行为监控手段,提高了检测能力。
5.本发明提供了一种在内核层从HTTP数据包中提取URI的技术方案,提高了检测的准确性。
附图说明
图1是本发明的方法流程示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1所示,本发明的一种基于HTTP流量URI特征的游戏外挂检测方法,所述方法包括如下步骤:步骤S1、Windows系统应用层的客户端在驱动层创建网络过滤驱动;
步骤S2、建立一URI黑名单,所述URI黑名单存储外挂发出的HTTP包所包含的URI字符串;所述步骤S2进一步具体为:创建网络过滤驱动的过程中,将外挂进行网络交互过程中会访问的URI写入到网络过滤驱动的文件中,Windows系统应用程序加载并开启网络过滤驱动;网络过滤驱动开启成功后,初始化URI黑名单,在初始化黑名单的过程中,网络过滤驱动将写入文件中的所有URI插入到URI黑名单中。另外,黑名单中存储的黑名单项必须是外挂特有的特征,即除了此外挂其余的程序均不会有此网络访问行为,或者几率极低,否则存在误报风险。
步骤S3、网络过滤驱动在数据流层(即FWPM_LAYER_STREAM_V4层)捕获所有TCP数据包,从TCP数据包中提取出URI参数字符串,然后遍历URI黑名单,将URI参数字符串和URI黑名单的每一个黑名单项进行字符串比对,如果从TCP数据包中提取出URI参数字符串与URI黑名单中任意一黑名单项相同,则判定游戏玩家有外挂使用行为。
步骤S4、从Windows系统数据流建立层传至数据流层的上下文数据流中获取此外挂进程的进程ID信息、进程路径信息,并将这些信息写入到外挂检测日志文件中。
进一步的,所述步骤S2和步骤S3之间还包括:
步骤S21、网络过滤驱动使用FwpmEngineOpen函数获取基本过滤引擎BFE句柄,作为后续操作的参数;
步骤S22、网络过滤驱动使用FwpsCalloutRegister函数注册在数据流层、数据流建立层监控数据的回调函数;
步骤S23、网络过滤驱动使用FwpmCalloutAdd函数向基本过滤引擎BFE申请添加之前注册的回调函数;
步骤S24、网络过滤驱动使用FwpmSubLayerAdd函数,在FWPM_LAYER_STREAM_V4(数据流层)、FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层(数据流建立层)创建子层,用于捕获数据;
步骤S25、网络过滤驱动使用FwpmFilterAdd函数,通过基本过滤引擎BFE在数据流层、数据流建立层创建过滤器,并将回调函数与子层关联;完成关联后,当子层过滤器捕获到网络数据包时,系统会调用子层对应的回调函数处理网络数据包;所述数据流层的回调函数用于处理TCP数据包;数据流建立层的回调函数用于提取数据包的收发进程ID信息、进程路径信息;
步骤S26、数据流建立层的回调函数在被系统调用时,先解析网络数据包的进程路径、进程ID信息,并将这些信息保存至上下文数据流中,然后使用FwpsFlowAssociateContext函数将上下文数据流与数据流层关联绑定;过滤器会将上下文数据流跨层传输至数据流层。其中,在FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层(数据流建立层)的回调函数处理子层捕获的数据包时,可以通过解析上下文数据流获取此数据包的进程路径、进程ID信息。
其中,所述步骤S3进一步具体为:步骤S31、数据流层的回调函数被调用时,回调函数判断数据包的远端端口是否为80,是则,数据包是一个HTTP协议的TCP数据包并进入步骤S32;否则回调函数执行结束;
步骤S32、数据流层的回调函数按照HTTP报文格式解析数据包内容,从HTTP协议的TCP数据包中提取出URI参数字符串,然后遍历URI黑名单,将URI参数字符串和URI黑名单中每一个黑名单项进行字符串比对,若存在黑名单项与TCP数据包中提取的URI参数字符串相同,则判定玩家有外挂使用行为。
所述步骤S4进一步具体为:从Windows系统数据流建立层传至数据流层的上下文数据流时,数据流建立层(FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层)的回调函数提取上下文数据流中的进程路径、进程ID信息,然后使用ZwWirteFile函数将远端IP、远端端口、进程ID、进程路径这些信息写入到外挂检测日志文件中。
所述回调函数按照HTTP报文格式解析数据包内容,从HTTP协议的TCP数据包中提取出URI参数字符串具体包括如下步骤:
步骤1、使用字符串匹配算法,查找HTTP协议的TCP数据包中是否包含字符串“HTTP/”,若不包含,则本流程结束;若包含字符串“HTTP/”,则记录第一次出现字符串“HTTP/”的内存地址,设置这个内存地址为Tmp;
步骤2、判断Tmp相对于HTTP协议的TCP数据包的起始地址的偏移是否大于4,以及HTTP协议的TCP数据包的结束地址相对于Tmp的偏移是否大于8,若上述条件还不能同时满足,则判定为异常数据包,流程结束;否则进入步骤3;
步骤3、判断比Tmp地址大8字节的内存地址存储的数据是不是‘\0d’,若不是则判定异常数据包,流程结束;否则进入步骤4;
步骤4、判断比Tmp地址大9字节的内存地址存储的数据是不是‘\0a’,若不是则判定异常数据包,流程结束;否则进入步骤5;
步骤5、判断比Tmp地址小1字节的内存地址存储的数据是不是‘\20’,若不是则判定异常数据包,流程结束;否则进入步骤6;
步骤6、将‘\20’内存地址前一字节定义为URI字符串的末尾,设置名称为End,以End为起始地址,以数据包起始地址为终止地址,由(从后到前)大到小逆序遍历内存,使用字符比较的方式查找字符串“\20\2f”,当查找到字符串“\20\2f”时,将存储字符‘\2f’的地址设定为需要提取的URI字符串的起点Begin,并进入步骤7;若查找失败,则判定异常数据包,流程结束;
步骤7、Begin到End中间存储的数据就是需要提取的URI字符串。(中间存储的数据包括Begin和End)。非异常数据包的格式如下表1,提取的URI字符串是从‘\2f’起始的,到‘\20’前一字节结束的字符串。
表1
下面结合一具体实施例,来进一步描述本专利方案的具体实现方式:
(字符‘\2f’等效于‘/’,是斜杠符号/的计算机数据存储形式,下面所有用单引号‘’描述的数据均为一个字节大小的ASCII码)
假设游戏外挂A是用于破坏游戏公司B出品的网络游戏客户端C的外挂软件。外挂A会在进程启动后访问“tools.cheat.com/key.txt”(此网络地址的URI为“/key.txt”),除了游戏外挂A,其他进程都不会进行相同的网络请求。游戏公司B使用基于本方案开发的网络过滤驱动D检测玩家游戏期间是否运行外挂A,并借此方案保护游戏客户端C。
1.玩家运行游戏客户端C后,游戏客户端C会自动加载网络过滤驱动D,网络过滤驱动D在加载成功后初始化URI黑名单,并在URI黑名单中插入专门用于检测游戏外挂A的黑名单项“/key.txt”。
2.网络过滤驱动D在FWPM_LAYER_STREAM_V4层完成注册回调函数、创建子层、开启过滤器等一系列操作后开始发挥网络数据包过滤功能。
3.假设在游戏客户端C运行过程中,玩家开始运行游戏外挂A。在游戏外挂A启动成功后尝试访问“tools.cheat.com/key.txt”,先向域名为“tools.cheat.com”的网络地址发送了一个用于请求连接服务器的数据包,在服务器确认连接请求后游戏外挂A发送一个URI参数为“/key.txt”的HTTP协议的TCP数据包。
4.FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层的过滤器捕捉到用于请求连接服务器的数据包后,从传入参数中提取发送进程的信息,即游戏外挂A的进程ID、进程路径信息,接着将这些信息保存到上下文数据流中,然后使用FwpsFlowAssociateContext函数将上下文数据流与FWPM_LAYER_STREAM_V4层关联绑定。至此,每当FWPM_LAYER_STREAM_V4层捕获到游戏外挂A收发的数据包时,都可以从上下文数据流中提取出游戏外挂A的进程信息。
5.FWPM_LAYER_STREAM_V4层的过滤器捕捉到TCP数据包后,判断这个数据包的远端端口号是否为80,若端口号等于80则是一个HTTP协议的TCP数据包,假设HTTP协议报文的内容是“xxxx‘\20’/key.txt‘\20’HTTP/1.1‘\0d’‘\0a’xxxxx”,进入步骤7。否则回调函数执行结束。(x代表无关数据)
6.FWPM_LAYER_STREAM_V4层的回调函数按照HTTP报文格式解析数据包内容。解析HTTP数据包,获得URI参数字符串的起始字符‘/’(即‘\2f’)和末尾字符‘t’,从HTTP数据包中提取出URI参数字符串“/key.txt”。
7.FWPM_LAYER_STREAM_V4层的回调函数遍历URI黑名单,将URI参数字符串“/key.txt”和每一个黑名单项进行字符串比对,当比对到黑名单项“/key.txt”时,两字符串相等,判定此HTTP数据包符合URI黑名单规则,由此判定发送此数据包的进程为游戏外挂A创建的进程。
8.FWPM_LAYER_STREAM_V4层提取上下文数据流中的游戏外挂A的进程路径、进程ID信息,然后使用ZwWirteFile函数将进程ID、进程路径信息写入到外挂检测日志文件中。至此,完成一次成功的针对游戏外挂A的游戏外挂检测。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。

Claims (6)

1.一种基于HTTP流量URI特征的游戏外挂检测方法,其特征在于:所述方法包括如下步骤:步骤S1、Windows系统应用层的客户端在驱动层创建网络过滤驱动;
步骤S2、建立一URI黑名单,所述URI黑名单存储外挂发出的HTTP包所包含的URI字符串;
步骤S3、网络过滤驱动在数据流层捕获所有TCP数据包,从TCP数据包中提取出URI参数字符串,然后遍历URI黑名单,将URI参数字符串和URI黑名单的每一个黑名单项进行字符串比对,如果从TCP数据包中提取出URI参数字符串与URI黑名单中任意一黑名单项相同,则判定游戏玩家有外挂使用行为;
步骤S4、从Windows系统数据流建立层传至数据流层的上下文数据流中获取此外挂进程的进程ID信息、进程路径信息,并将这些信息写入到外挂检测日志文件中。
2.根据权利要求1所述的一种基于HTTP流量URI特征的游戏外挂检测方法,其特征在于:所述步骤S2进一步具体为:创建网络过滤驱动的过程中,将外挂进行网络交互过程中会访问的URI写入到网络过滤驱动的文件中,Windows系统应用程序加载并开启网络过滤驱动;网络过滤驱动开启成功后,初始化URI黑名单,在初始化黑名单的过程中,网络过滤驱动将写入文件中的所有URI插入到URI黑名单中。
3.根据权利要求1所述的一种基于HTTP流量URI特征的游戏外挂检测方法,其特征在于:所述步骤S2和步骤S3之间还包括:步骤S21、网络过滤驱动使用FwpmEngineOpen函数获取基本过滤引擎BFE句柄,作为后续操作的参数;
步骤S22、网络过滤驱动使用FwpsCalloutRegister函数注册在数据流层、数据流建立层监控数据的回调函数;
步骤S23、网络过滤驱动使用FwpmCalloutAdd函数向基本过滤引擎BFE申请添加之前注册的回调函数;
步骤S24、网络过滤驱动使用FwpmSubLayerAdd函数,在数据流层、数据流建立层创建子层,用于捕获数据;
步骤S25、网络过滤驱动使用FwpmFilterAdd函数,通过基本过滤引擎BFE在数据流层、数据流建立层创建过滤器,并将回调函数与子层关联;完成关联后,当子层捕获到网络数据包时,系统会调用子层对应的回调函数处理网络数据包;所述数据流层的回调函数用于处理TCP数据包;数据流建立层的回调函数用于提取数据包的收发进程ID信息、进程路径信息;
步骤S26、数据流建立层的回调函数在被系统调用时,先解析网络数据包的进程路径、进程ID信息,并将这些信息保存至上下文数据流中,然后使用FwpsFlowAssociateContext函数将上下文数据流与数据流层关联绑定;过滤器会将上下文数据流跨层传输至数据流层。
4.根据权利要求3所述的一种基于HTTP流量URI特征的游戏外挂检测方法,其特征在于:所述步骤S3进一步具体为:步骤S31、数据流层的回调函数被调用时,回调函数判断数据包的远端端口是否为80,是则,数据包是一个HTTP协议的TCP数据包并进入步骤S32;否则回调函数执行结束;
步骤S32、数据流层的回调函数按照HTTP报文格式解析数据包内容,从HTTP协议的TCP数据包中提取出URI参数字符串,然后遍历URI黑名单,将URI参数字符串和URI黑名单中每一个黑名单项进行字符串比对,若存在黑名单项与TCP数据包中提取的URI参数字符串相同,则判定玩家有外挂使用行为。
5.根据权利要求3所述的一种基于HTTP流量URI特征的游戏外挂检测方法,其特征在于:所述步骤S4进一步具体为:从Windows系统数据流建立层传至数据流层的上下文数据流时,数据流建立层的回调函数提取上下文数据流中的进程路径、进程ID信息,然后使用ZwWirteFile函数将远端IP、远端端口、进程ID、进程路径这些信息写入到外挂检测日志文件中。
6.根据权利要求4所述的一种基于HTTP流量URI特征的游戏外挂检测方法,其特征在于:所述回调函数按照HTTP报文格式解析数据包内容,从HTTP协议的TCP数据包中提取出URI参数字符串具体包括如下步骤:
步骤1、使用字符串匹配算法,查找HTTP协议的TCP数据包中是否包含字符串“HTTP/”,若不包含,则本流程结束;若包含字符串“HTTP/”,则记录第一次出现字符串“HTTP/”的内存地址,设置这个内存地址为Tmp;
步骤2、判断Tmp相对于HTTP协议的TCP数据包的起始地址的偏移是否大于4,以及HTTP协议的TCP数据包的结束地址相对于Tmp的偏移是否大于8,若上述条件还不能同时满足,则判定为异常数据包,流程结束;否则进入步骤3;
步骤3、判断比Tmp地址大8字节的内存地址存储的数据是不是‘\0d’,若不是则判定异常数据包,流程结束;否则进入步骤4;
步骤4、判断比Tmp地址大9字节的内存地址存储的数据是不是‘\0a’,若不是则判定异常数据包,流程结束;否则进入步骤5;
步骤5、判断比Tmp地址小1字节的内存地址存储的数据是不是‘\20’,若不是则判定异常数据包,流程结束;否则进入步骤6;
步骤6、将‘\20’内存地址前一字节定义为URI字符串的末尾,设置名称为End,以End为起始地址,以数据包起始地址为终止地址,由大到小逆序遍历内存,使用字符比较的方式查找字符串“\20\2f”,当查找到字符串“\20\2f”时,将存储字符‘\2f’的地址设定为需要提取的URI字符串的起点Begin,并进入步骤7;若查找失败,则判定异常数据包,流程结束;
步骤7、Begin到End中间存储的数据就是需要提取的URI字符串。
CN201910765992.XA 2019-08-19 2019-08-19 一种基于http流量uri特征的游戏外挂检测方法 Withdrawn CN110368695A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910765992.XA CN110368695A (zh) 2019-08-19 2019-08-19 一种基于http流量uri特征的游戏外挂检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910765992.XA CN110368695A (zh) 2019-08-19 2019-08-19 一种基于http流量uri特征的游戏外挂检测方法

Publications (1)

Publication Number Publication Date
CN110368695A true CN110368695A (zh) 2019-10-25

Family

ID=68259954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910765992.XA Withdrawn CN110368695A (zh) 2019-08-19 2019-08-19 一种基于http流量uri特征的游戏外挂检测方法

Country Status (1)

Country Link
CN (1) CN110368695A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971605A (zh) * 2019-12-05 2020-04-07 福建天晴在线互动科技有限公司 一种通过捕获数据包获取盗版游戏服务器信息的方法
US11351455B2 (en) 2020-06-30 2022-06-07 Microsoft Technology Licensing, Llc Real time interconnected game context and data sharing plugin framework

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110971605A (zh) * 2019-12-05 2020-04-07 福建天晴在线互动科技有限公司 一种通过捕获数据包获取盗版游戏服务器信息的方法
CN110971605B (zh) * 2019-12-05 2022-03-08 福建天晴在线互动科技有限公司 一种通过捕获数据包获取盗版游戏服务器信息的方法
US11351455B2 (en) 2020-06-30 2022-06-07 Microsoft Technology Licensing, Llc Real time interconnected game context and data sharing plugin framework

Similar Documents

Publication Publication Date Title
CN110113345B (zh) 一种基于物联网流量的资产自动发现的方法
US8065722B2 (en) Semantically-aware network intrusion signature generator
CN111756598A (zh) 一种基于主动探测与流量分析结合的资产发现方法
US8683032B2 (en) Generic discovery for computer networks
EP1330095B1 (en) Monitoring of data flow for enhancing network security
CN109951500A (zh) 网络攻击检测方法及装置
CN100399750C (zh) 便于在网络上识别计算机的系统与方法
CN106909847A (zh) 一种恶意代码检测的方法、装置及系统
CN113691566B (zh) 基于空间测绘和网络流量统计的邮件服务器窃密检测方法
CN110368695A (zh) 一种基于http流量uri特征的游戏外挂检测方法
CN113542311B (zh) 一种实时检测失陷主机并回溯的方法
CN109450690B (zh) 快速锁定组网内失陷主机的方法和装置
CN105635170A (zh) 基于规则对网络数据包进行识别的方法和装置
CN110404267A (zh) 一种基于http流量host字段特征的游戏外挂检测方法
CN104333538B (zh) 一种网络设备准入方法
CN108429747A (zh) 一种大规模Web服务器信息采集方法
CN101321097A (zh) 基于净荷深度检测的腾讯网络直播业务识别方法
CN101453320B (zh) 一种服务识别方法及系统
JP2002041468A (ja) 不正アクセス防止サービスシステム
CN113300977A (zh) 一种基于多特征融合分析的应用流量识别与分类方法
CN105792265B (zh) 恶意流量检测方法和系统、监控平台
CN114760216B (zh) 一种扫描探测事件确定方法、装置及电子设备
CN111865724B (zh) 视频监控设备信息采集控制实现方法
CN110535718A (zh) 一种基于http流量uri特征的游戏外挂行为监控方法
CN112632513B (zh) 一种基于前后端分离的身份认证实现方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20191025