CN110535719B - 一种基于dns流量特征的游戏外挂行为监控方法 - Google Patents
一种基于dns流量特征的游戏外挂行为监控方法 Download PDFInfo
- Publication number
- CN110535719B CN110535719B CN201910765987.9A CN201910765987A CN110535719B CN 110535719 B CN110535719 B CN 110535719B CN 201910765987 A CN201910765987 A CN 201910765987A CN 110535719 B CN110535719 B CN 110535719B
- Authority
- CN
- China
- Prior art keywords
- domain name
- data
- address
- data packet
- character string
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/22—Parsing or analysis of headers
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供了一种基于DNS流量特征的游戏外挂行为监控方法,所述方法包括如下步骤:步骤S1、Windows***应用层的客户端在驱动层创建网络过滤驱动;步骤S2、建立一域名黑名单;步骤S3、网络过滤驱动在数据包层捕获所有UDP数据包,并将UDP数据包请求解析的域名参数与所述域名黑名单进行比对判定,如果域名参数是包含在域名黑名单中任意一域名字符串,则判定游戏玩家有外挂使用行为,所述域名黑名单存储外挂会请求解析的域名字符串;本发明可以高效地监控已知DNS流量特征的外挂的使用行为。
Description
技术领域
本发明涉及计算机***通信技术领域、软件安全、游戏外挂检测领域,特别是一种基于DNS流量特征的游戏外挂行为监控方法。
背景技术
现有的外挂行为监控模块通常使用基于进程内存扫描的检测方法,如扫描进程的内存空间判断是否包含外挂特征码等,暂无公开的基于DNS流量特征的,针对游戏外挂行为的内核层监控手段。
上述现有的游戏外挂行为监控方案可能被外挂使用进程隐藏技术、内存多态化等方法绕过检测。本专利描述的方案可以监控到此类外挂的使用行为。另外本专利在应用于监控具备DNS流量特征的外挂使用场景中表现得准确高效。
专业术语解释:
微软提供的WFP过滤框架在网络数据包传输过程中划定了许多层,如:FWPM_LAYER_ALE_FLOW_ESTABLISHED_V4层(即数据流建立层)、FWPM_LAYER_STREAM_V4层(即数据流层)和FWPM_LAYER_DATAGRAM_DATA_V4层(即数据包层);由于数据包在***底层需要根据不同的网络协议进行封装,因此不同层捕获到的数据内容有所不同。本专利方案提到FWPM_LAYER_DATAGRAM_DATA_V4层(数据包层)可以捕获到所有不含IP头的UDP数据包。
WFP(Windows Filter Platform),计算机术语,是一种Windows过滤平台,用于过滤网络数据包。
基本过滤引擎BFE是一个Windows操作***自带的用户模式服务,协调WFP组件,基本过滤引擎BFE执行的主要任务是向***中添加或移除过滤器、存储过滤器配置以及强化WFP配置安全性。应用程序与基本过滤引擎BFE的通讯通过FwpmEngineOpen等WFP管理函数进行。
发明内容
为克服上述问题,本发明的目的是提供一种基于DNS流量特征的游戏外挂行为监控方法,是一种隐蔽的外挂行为监控手段,能高效地监控已知DNS流量特征的外挂的使用行为。
本发明采用以下方案实现:一种基于DNS流量特征的游戏外挂行为监控方法,所述方法包括如下步骤:步骤S1、Windows***应用层的客户端在驱动层创建网络过滤驱动;
步骤S2、建立一域名黑名单;
步骤S3、网络过滤驱动在数据包层捕获所有UDP数据包,并将UDP数据包请求解析的域名参数与所述域名黑名单进行比对判定,如果域名参数是包含有域名黑名单中任意一域名字符串,则判定游戏玩家有外挂使用行为,所述域名黑名单存储外挂会请求解析的域名字符串。
进一步的,所述步骤S2进一步具体为:创建网络过滤驱动的过程中,将外挂请求解析的域名写入到网络过滤驱动的文件中,Windows***应用程序加载并开启网络过滤驱动;网络过滤驱动开启成功后,初始化域名黑名单,在初始化黑名单的过程中,网络过滤驱动将写入文件中的所有域名***到域名黑名单中。
进一步的,所述步骤S2和步骤S3之间还包括:步骤S21、网络过滤驱动使用FwpmEngineOpen函数获取基本过滤引擎BFE句柄,作为后续操作的参数;
步骤S22、网络过滤驱动使用FwpsCalloutRegister函数注册在数据包层监控数据的回调函数;
步骤S23、网络过滤驱动使用FwpmCalloutAdd函数向基本过滤引擎BFE申请添加之前注册的回调函数;
步骤S24、网络过滤驱动使用FwpmSubLayerAdd函数,在数据包层创建子层,用于捕获数据;
步骤S25、网络过滤驱动使用FwpmFilterAdd函数,通过基本过滤引擎BFE在数据包层创建过滤器,并将回调函数与子层关联;完成关联后,当子层捕获到网络数据包时,***会调用子层对应的回调函数处理网络数据包;所述数据包层的回调函数用于处理UDP数据包。
进一步的,所述步骤S3进一步具体为:步骤S31、数据包层的回调函数被调用时,会判断网络数据包的收发属性是否为本机向远端发送的数据包,若是则进入步骤S32,否则回调函数执行结束;
步骤S32、回调函数判断数据包的远端IP是否为53,若是则说明是DNS数据包,进入步骤S33;否则回调函数执行结束;
步骤S33、回调函数根据DNS报文格式解析数据包内容,从数据包中提取出DNS报文中需要解析的域名,然后遍历域名黑名单,使用字符串匹配算法将域名黑名单中的黑名单项与解析的域名作字符串比较,若解析的域名中包含任一黑名单项存储的域名字符串则判定玩家有外挂使用行为。
进一步的,所述回调函数根据DNS报文格式解析数据包内容,从数据包中提取出DNS报文中需要解析的域名具体包括如下步骤:
步骤1、校验DNS报文是否符合格式规范,符合,则不是异常数据包,进入步骤2;不符合,则结束解析;
步骤2、从相对数据包起始地址偏移12字节的地址开始分析请求数据的正文,由于DNS数据包中请求解析的域名是以字符串的形式存储,在字符串的末尾有一个结束符‘\0’,所以在从请求数据的正文的起始地址到数据包末尾地址这段空间中,使用字符比较的方法遍历查找字符‘\0’,如果这段内存空间中没有字符‘\0’,则判定DNS数据包内容异常,退出流程;否则记录首次出现‘\0’的内存地址为请求域名的结束地址pEnd;
步骤3、从请求数据的正文的起始地址,到请求域名的结束地址pEnd中间的这一段内存存储的字符数据,就是这个DNS数据包请求的域名的未提取字符串;
步骤4、申请一段和未提取字符串相同大小的内存区Buffer,用于存储提取后的字符串;使用一个第一指针p指向未提取字符串的起始地址,使用一个第二指针q指向内存区Buffer的起始地址,从未提取字符串的第一位开始循环进行提取字符串操作。
进一步的,所述校验DNS报文是否符合格式规范,具体为首先从相对于数据包起始地址偏移2字节的地址取出大小为2字节的标志位信息,然后从相对于数据包起始地址偏移4字节的地址取出大小为2字节的查询域名的数量信息,如果同时满足标志位信息等于16进制的数字0x1000和查询域名的数量信息等于十进制的数字1,则判定此数据包符合DNS数据包的规范。
进一步的,所述步骤4中从未提取字符串的第一位开始循环进行提取字符串操作,进一步具体为:步骤4.1、按照UINT8的格式读取第一指针指向的内存地址存储的大小为1字节的数据,设置内存地址存储的大小为1字节的数据长度为length;
步骤4.2、判断p+length这个内存地址是否超出未提取字符串的大小范围,若超出则判定为异常数据,结束解析;否则进入流程步骤4.3;
步骤4.3、将起始地址为第一指针p、长度为length的内存片段存储的数据,逐字节拷贝到起始地址为第二指针q、终止地址为q+length-1的内存段中;
步骤4.4、p i+1=p i+length;即第一指针的大小改变为p i+length的值;q i+1=qi+length,即第二指针的大小改变为q i+length的值;
步骤4.5、判断第一指针p指向的内存地址存储的数据是否为结束符‘\0’,若是,则在第二指针q指向的内存地址上写入一个字节的数据‘\0’,从内存区Buffer的起始地址到存储‘\0’字节的地址存储的数据即是DNS报文中需要解析的域名,提取成功,退出整个提取流程;若不是结束符‘\0’,则在第二指针指向的内存地址上写入一个字节的数据‘.’,接着qi+1=qi+1,即第二指针的大小改变为第二指针+1的值,完成一轮循环,然后跳转到步骤4.1。
进一步的,所述DNS报文格式为:标识符+标志位+查询域名的数量+响应结果的数量+认证机构的数量+附加信息的数量+请求数据的正文+相应数据的正文+域名管理机构数据+附加信息数据。
本发明的有益效果在于:1.使用行为黑名单机制,可以高效地监控已知DNS流量特征的外挂的使用行为。
2.使用内核层的网络过滤技术,外挂无法通过传统的应用层API挂钩技术绕过此检测,大大增加外挂的反检测和反监控难度。
3.大部分外挂都是收费的,包含登录模块,因此本方案应用面极广,可以应用于大量外挂的检测。
4.本专利的游戏外挂行为监控方法是一种隐蔽的外挂行为监控手段,提高了监控能力。
5.本发明提供了一种在内核层提取DNS报文中需要解析的域名的方案,提高了监控的准确性。
附图说明
图1是本发明的方法流程示意图。
图2是本发明提取DNS报文中需要解析的域名的流程示意图。
具体实施方式
下面结合附图对本发明做进一步说明。
请参阅图1和图2所示,本发明的一种基于DNS流量特征的游戏外挂行为监控方法,本发明基于微软的WFP网络过滤驱动框架,通过在***底层安装网络过滤器,捕获外挂的网络请求行为。所述方法包括如下步骤:步骤S1、Windows***应用层的客户端在驱动层创建网络过滤驱动;
步骤S2、建立一域名黑名单;所述步骤S2进一步具体为:创建网络过滤驱动的过程中,将外挂请求解析的域名写入到网络过滤驱动的文件中,Windows***应用程序加载并开启网络过滤驱动;网络过滤驱动开启成功后,初始化域名黑名单,在初始化黑名单的过程中,网络过滤驱动将写入文件中的所有域名***到域名黑名单中。另外,黑名单中存储的黑名单项必须是外挂特有的特征,即除了此外挂其余的程序均不会有此网络访问行为,或者几率极低,否则存在误报风险。
步骤S3、网络过滤驱动在数据包层(即FWPM_LAYER_DATAGRAM_DATA_V4层)捕获所有UDP数据包,并将UDP数据包请求解析的域名参数与所述域名黑名单进行比对判定,如果域名参数是包含有域名黑名单中任意一域名字符串,则判定游戏玩家有外挂使用行为,所述域名黑名单存储外挂会请求解析的域名字符串。
在本发明中,所述步骤S2和步骤S3之间还包括:步骤S21、网络过滤驱动使用FwpmEngineOpen函数获取基本过滤引擎BFE句柄,作为后续操作的参数;
步骤S22、网络过滤驱动使用FwpsCalloutRegister函数注册在数据包层监控数据的回调函数;
步骤S23、网络过滤驱动使用FwpmCalloutAdd函数向基本过滤引擎BFE申请添加之前注册的回调函数;
步骤S24、网络过滤驱动使用FwpmSubLayerAdd函数,在数据包层创建子层,用于捕获数据;
步骤S25、网络过滤驱动使用FwpmFilterAdd函数,通过基本过滤引擎BFE在数据包层创建过滤器,并将回调函数与子层关联;完成关联后,当子层过滤器捕获到网络数据包时,***会调用子层对应的回调函数处理网络数据包;所述数据包层的回调函数用于处理UDP数据包。
在本发明中,所述步骤S3进一步具体为:步骤S31、数据包层的回调函数被调用时,会判断网络数据包的收发属性是否为本机向远端发送的数据包,若是则进入步骤S32,否则回调函数执行结束;
步骤S32、回调函数判断数据包的远端IP是否为53,若是则说明是DNS数据包,进入步骤S33;否则回调函数执行结束;
步骤S33、回调函数根据DNS报文格式解析数据包内容,从数据包中提取出DNS报文中需要解析的域名,然后遍历域名黑名单,使用字符串匹配算法将域名黑名单中的黑名单项与解析的域名作字符串比较,若解析的域名中包含任一黑名单项存储的域名字符串则判定玩家有外挂使用行为。其中,字符串匹配算法,可以采用KMP算法,实际应用中也可以采用其他算法。
所述DNS报文格式为:标识符+标志位+查询域名的数量+响应结果的数量+认证机构的数量+附加信息的数量+请求数据的正文+相应数据的正文+域名管理机构数据+附加信息数据。所述回调函数根据DNS报文格式解析数据包内容,从数据包中提取出DNS报文中需要解析的域名具体包括如下步骤:
步骤1、校验DNS报文是否符合格式规范,首先从相对于数据包起始地址偏移2字节的地址取出大小为2字节的标志位信息uFlags,然后从相对于数据包起始地址偏移4字节的地址取出大小为2字节的查询域名的数量信息uQuestions,如果同时满足uFlags等于16进制的数字0x1000和uQuestions等于十进制的数字1,则判定此数据包符合DNS数据包的规范,不是异常数据包,进入步骤2;否则结束解析。
步骤2、从相对数据包起始地址偏移12字节的地址开始分析请求数据的正文pRequestBuffer,由于DNS数据包中请求解析的域名是以字符串的形式存储,在字符串的末尾有一个结束符‘\0’,所以在从pRequestBuffer的起始地址到数据包末尾地址这段空间中,使用字符比较的方法遍历查找字符‘\0’,如果这段内存空间中没有字符‘\0’,则判定DNS数据包内容异常,退出流程。否则记录首次出现‘\0’的内存地址为请求域名的结束地址pEnd。
步骤3、从请求数据的正文pRequestBuffer的起始地址,到请求域名的结束地址pEnd中间的这一段内存存储的字符数据,就是这个DNS数据包请求的域名的未提取字符串。
步骤4、申请一段和未提取字符串相同大小的内存区Buffer,用于存储提取后的字符串;使用一个第一指针p指向未提取字符串的起始地址,使用一个第二指针q指向内存区Buffer的起始地址,从未提取字符串的第一位开始循环进行提取字符串操作。
在本发明中,所述步骤4中从未提取字符串的第一位开始循环进行提取字符串操作,进一步具体为:步骤4.1、按照UINT8的格式读取第一指针指向的内存地址存储的大小为1字节的数据,设置内存地址存储的大小为1字节的数据长度为length;
步骤4.2、判断p+length这个内存地址是否超出未提取字符串的大小范围,若超出则判定为异常数据,结束解析;否则进入流程步骤4.3;
步骤4.3、将起始地址为第一指针p、长度为length的内存片段存储的数据,逐字节拷贝到起始地址为第二指针q、终止地址为q+length-1的内存段中;
步骤4.4、p i+1=p i+length;即第一指针的大小改变为p i+length的值;q i+1=qi+length,即第二指针的大小改变为q i+length的值;
步骤4.5、判断第一指针p指向的内存地址存储的数据是否为结束符‘\0’,若是,则在第二指针q指向的内存地址上写入一个字节的数据‘\0’,从内存区Buffer的起始地址到存储‘\0’字节的地址存储的数据即是DNS报文中需要解析的域名,提取成功,退出整个提取流程;若不是结束符‘\0’,则在第二指针指向的内存地址上写入一个字节的数据‘.’,接着qi+1=qi+1,即第二指针的大小改变为第二指针+1的值,完成一轮循环,然后跳转到步骤4.1。
转换前的字符串如下表1
表1
a | 长度为a的无结束符字符串 | b | 长度为b的无结束符字符串 | <sub>......</sub> | n | 长度为n的无结束符字符串 | ‘\0’ |
转换后的字符串如下表2
表2
长度为a的无结束符字符串 | ‘’ | 长度为b的无结束符字符串 | <sub>......</sub> | ‘’ | 长度为n的无结束符字符串 | ‘\0’ |
下面结合一具体实施例,来进一步描述本专利方案的具体实现方式:
1.假设游戏外挂A是用于破坏游戏公司B出品的网络游戏客户端C的外挂软件。外挂A会在进程启动后访问“tools.cheat.com”,除了游戏外挂A,其他进程都不会进行相同的网络请求。
2.游戏公司B使用基于本方案开发的网络过滤驱动D检测玩家游戏期间是否运行外挂A,并借此方案保护游戏客户端C。
3.玩家运行游戏客户端C后,游戏客户端C会自动加载网络过滤驱动D,网络过滤驱动D在加载成功后初始化域名黑名单,并在域名黑名单中***专门用于检测游戏外挂A的黑名单项“cheat.com”。
4.网络过滤驱动D在FWPM_LAYER_DATAGRAM_DATA_V4层(数据包层)完成注册回调函数、创建子层、开启过滤器等一系列操作后开始发挥网络数据包过滤功能。
5.假设在游戏客户端C运行过程中,玩家开始运行游戏外挂A。在游戏外挂A启动成功后尝试访问“tools.cheat.com”,在访问前需要先解析域名,获取域名对应的IP。Windows***的***进程svchost.exe会向域名解析服务器发送一个DNS数据包,用于请求解析“tools.cheat.com”的IP地址。
6.FWPM_LAYER_DATAGRAM_DATA_V4子层的过滤器捕捉到这个数据包后,判断此次网络请求的收发属性为FWP_DIRECTION_INBOUND,而且远端端口为53,所以判定此数据包为DNS数据包。
7.回调函数按照DNS报文格式解析数据包内容,从中提取出DNS数据包请求解析的域名字符串“tools.cheat.com”,然后遍历域名黑名单,将域名字符串“tools.cheat.com”和每一个黑名单项进行字符串比对,当比对到黑名单项“cheat.com”时,域名字符串“tools.cheat.com”包含此黑名单项存储的字符串,因此判定此DNS数据包符合域名黑名单规则,由此判定玩家存在使用游戏外挂A的行为。
以上所述仅为本发明的较佳实施例,凡依本发明申请专利范围所做的均等变化与修饰,皆应属本发明的涵盖范围。
Claims (6)
1.一种基于DNS流量特征的游戏外挂行为监控方法,其特征在于:所述方法包括如下步骤:步骤S1、Windows***应用层的客户端在驱动层创建网络过滤驱动;
步骤S2、建立一域名黑名单;所述步骤S2进一步具体为:创建网络过滤驱动的过程中,将外挂请求解析的域名写入到网络过滤驱动的文件中,Windows***应用程序加载并开启网络过滤驱动;网络过滤驱动开启成功后,初始化域名黑名单,在初始化黑名单的过程中,网络过滤驱动将写入文件中的所有域名***到域名黑名单中;
步骤S21、网络过滤驱动使用FwpmEngineOpen函数获取基本过滤引擎BFE句柄,作为后续操作的参数;
步骤S22、网络过滤驱动使用FwpsCalloutRegister函数注册在数据包层监控数据的回调函数;
步骤S23、网络过滤驱动使用FwpmCalloutAdd函数向基本过滤引擎BFE申请添加之前注册的回调函数;
步骤S24、网络过滤驱动使用FwpmSubLayerAdd函数,在数据包层创建子层,用于捕获数据;
步骤S25、网络过滤驱动使用FwpmFilterAdd函数,通过基本过滤引擎BFE在数据包层创建过滤器,并将回调函数与子层关联;完成关联后,当子层捕获到网络数据包时,***会调用子层对应的回调函数处理网络数据包;所述数据包层的回调函数用于处理UDP数据包;
步骤S3、网络过滤驱动在数据包层捕获所有UDP数据包,并将UDP数据包请求解析的域名参数与所述域名黑名单进行比对判定,如果域名参数是包含有域名黑名单中任意一域名字符串,则判定游戏玩家有外挂使用行为,所述域名黑名单存储外挂会请求解析的域名字符串。
2.根据权利要求1所述的一种基于DNS流量特征的游戏外挂行为监控方法,其特征在于:所述步骤S3进一步具体为:步骤S31、数据包层的回调函数被调用时,会判断网络数据包的收发属性是否为本机向远端发送的数据包,若是则进入步骤S32,否则回调函数执行结束;
步骤S32、回调函数判断数据包的远端IP是否为53,是则进入步骤S33;否则回调函数执行结束;
步骤S33、回调函数根据DNS报文格式解析数据包内容,从数据包中提取出DNS报文中需要解析的域名,然后遍历域名黑名单,使用字符串匹配算法将域名黑名单中的黑名单项与解析的域名作字符串比较,若解析的域名中包含任一黑名单项存储的域名字符串则判定玩家有外挂使用行为。
3.根据权利要求2所述的一种基于DNS流量特征的游戏外挂行为监控方法,其特征在于:所述回调函数根据DNS报文格式解析数据包内容,从数据包中提取出DNS报文中需要解析的域名具体包括如下步骤:
步骤1、校验DNS报文是否符合格式规范,符合,则不是异常数据包,进入步骤2;不符合,则结束解析;
步骤2、从相对数据包起始地址偏移12字节的地址开始分析请求数据的正文,由于DNS数据包中请求解析的域名是以字符串的形式存储,在字符串的末尾有一个结束符‘\0’,所以在从请求数据的正文的起始地址到数据包末尾地址这段空间中,使用字符比较的方式遍历查找字符‘\0’,如果这段内存空间中没有字符‘\0’,则判定DNS数据包内容异常,退出流程;否则记录首次出现‘\0’的内存地址为请求域名的结束地址pEnd;
步骤3、从请求数据的正文的起始地址,到请求域名的结束地址pEnd中间的这一段内存存储的字符数据,就是这个DNS数据包请求的域名的未提取字符串;
步骤4、申请一段和未提取字符串相同大小的内存区Buffer,用于存储提取后的字符串;使用一个第一指针p指向未提取字符串的起始地址,使用一个第二指针q指向内存区Buffer的起始地址,从未提取字符串的第一位开始循环进行提取字符串操作。
4.根据权利要求3所述的一种基于DNS流量特征的游戏外挂行为监控方法,其特征在于:所述校验DNS报文是否符合格式规范,具体为首先从相对于数据包起始地址偏移2字节的地址取出大小为2字节的标志位信息,然后从相对于数据包起始地址偏移4字节的地址取出大小为2字节的查询域名的数量信息,如果同时满足标志位信息等于16进制的数字0x1000和查询域名的数量信息等于十进制的数字1,则判定此数据包符合DNS数据包的规范。
5.根据权利要求3所述的一种基于DNS流量特征的游戏外挂行为监控方法,其特征在于:所述步骤4中从未提取字符串的第一位开始循环进行提取字符串操作,进一步具体为:步骤4.1、按照UINT8的格式读取第一指针指向的内存地址存储的大小为1字节的数据,设置内存地址存储的大小为1字节的数据长度为length;
步骤4.2、 判断p+length这个内存地址是否超出未提取字符串的大小范围,若超出则判定为异常数据,结束解析;否则进入流程步骤4.3;
步骤4.3 、将起始地址为第一指针p、长度为length的内存片段存储的数据,逐字节拷贝到起始地址为第二指针q、终止地址为q+length-1的内存段中;
步骤4.4 、p i+1=p i +length;即第一指针的大小改变为p i +length的值;q i+1=q i +length,即第二指针的大小改变为q i +length的值;
步骤4.5 、判断第一指针p指向的内存地址存储的数据是否为结束符‘\0’,若是,则在第二指针q指向的内存地址上写入一个字节的数据‘\0’, 从内存区Buffer的起始地址到存储‘\0’字节的地址存储的数据即是DNS报文中需要解析的域名,提取成功,退出整个提取流程;若不是结束符‘\0’,则在第二指针指向的内存地址上写入一个字节的数据‘.’,接着qi+1=qi+1,即第二指针的大小改变为第二指针+1的值,完成一轮循环,然后跳转到步骤4.1。
6.根据权利要求3所述的一种基于DNS流量特征的游戏外挂行为监控方法,其特征在于:所述DNS报文格式为:标识符+标志位+查询域名的数量+响应结果的数量+认证机构的数量+附加信息的数量+请求数据的正文+相应数据的正文+域名管理机构数据+附加信息数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910765987.9A CN110535719B (zh) | 2019-08-19 | 2019-08-19 | 一种基于dns流量特征的游戏外挂行为监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910765987.9A CN110535719B (zh) | 2019-08-19 | 2019-08-19 | 一种基于dns流量特征的游戏外挂行为监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110535719A CN110535719A (zh) | 2019-12-03 |
CN110535719B true CN110535719B (zh) | 2021-07-27 |
Family
ID=68663666
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910765987.9A Active CN110535719B (zh) | 2019-08-19 | 2019-08-19 | 一种基于dns流量特征的游戏外挂行为监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110535719B (zh) |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101110871A (zh) * | 2007-08-20 | 2008-01-23 | 中兴通讯股份有限公司 | 一种e.164域名的解析方法以及域名服务器 |
US8763090B2 (en) * | 2009-08-11 | 2014-06-24 | Sony Computer Entertainment America Llc | Management of ancillary content delivery and presentation |
CN102780588B (zh) * | 2012-05-22 | 2014-12-03 | 华为技术有限公司 | 深度报文检测方法、装置、网络设备及*** |
CN104219200B (zh) * | 2013-05-30 | 2017-10-17 | 杭州迪普科技股份有限公司 | 一种防范dns缓存攻击的装置和方法 |
CN105117644B (zh) * | 2015-08-26 | 2018-08-28 | 福建天晴数码有限公司 | 采集Android外挂程序方法及*** |
CN107019916A (zh) * | 2017-04-18 | 2017-08-08 | 蒙生福 | 异地监控游戏防作弊的方法及*** |
CN107395564A (zh) * | 2017-06-15 | 2017-11-24 | 公安部交通管理科学研究所 | 互联网预选机动车号牌的防抢号方法和*** |
CN108176053A (zh) * | 2018-01-04 | 2018-06-19 | 网易(杭州)网络有限公司 | 游戏外挂检测方法、装置、服务器、客户端及存储介质 |
CN109260711A (zh) * | 2018-08-15 | 2019-01-25 | 宏诚盛世(天津)网络科技有限公司 | 一种网络游戏外挂检测***及方法 |
CN109347817B (zh) * | 2018-10-12 | 2021-06-25 | 厦门安胜网络科技有限公司 | 一种网络安全重定向的方法及装置 |
CN109889511B (zh) * | 2019-01-31 | 2021-10-01 | 中国人民解放军61660部队 | 进程dns活动监控方法、设备及介质 |
-
2019
- 2019-08-19 CN CN201910765987.9A patent/CN110535719B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110535719A (zh) | 2019-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10218717B1 (en) | System and method for detecting a malicious activity in a computing environment | |
US10218733B1 (en) | System and method for detecting a malicious activity in a computing environment | |
CN107657174B (zh) | 一种基于协议指纹的数据库入侵检测方法 | |
CN112468520B (zh) | 一种数据检测方法、装置、设备及可读存储介质 | |
CN101686239B (zh) | 一种木马发现*** | |
JP4979812B2 (ja) | 一回用実行コードを利用したセキュリティーシステム及びセキュリティー方法 | |
CN106453438B (zh) | 一种网络攻击的识别方法及装置 | |
CN106911637A (zh) | 网络威胁处理方法和装置 | |
CN112134893B (zh) | 物联网安全防护方法、装置、电子设备及存储介质 | |
CN112600852B (zh) | 漏洞攻击处理方法、装置、设备及存储介质 | |
CN110768875A (zh) | 一种基于dns学习的应用识别方法及*** | |
CN106911640A (zh) | 网络威胁处理方法和装置 | |
CN106911665B (zh) | 一种识别恶意代码弱口令入侵行为的方法及*** | |
CN102035847B (zh) | 用户访问行为处理方法、***和客户端 | |
US20090070601A1 (en) | Method and apparatus for recursively analyzing log file data in a network | |
TWI671655B (zh) | 用於程式安全保護的系統和方法 | |
JP4309102B2 (ja) | 不正コマンド・データ検知方式、不正コマンド・データ検知方法および不正コマンド・データ検知プログラム | |
CN110535719B (zh) | 一种基于dns流量特征的游戏外挂行为监控方法 | |
CN110404267A (zh) | 一种基于http流量host字段特征的游戏外挂检测方法 | |
CN106919844A (zh) | 一种Android***应用程序漏洞检测方法 | |
CN113992443B (zh) | 一种云沙箱流量处理方法及装置 | |
CN113722705B (zh) | 一种恶意程序清除方法及装置 | |
CN113364780B (zh) | 网络攻击受害者确定方法、设备、存储介质及装置 | |
KR101188307B1 (ko) | 특정 프로세스에 대한 네트워크 행위 모니터링 시스템 및 그 방법 | |
CN113810351A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |