[发明专利]一种基于DNS流量特征的游戏外挂行为监控方法有效
申请号: | 201910765987.9 | 申请日: | 2019-08-19 |
公开(公告)号: | CN110535719B | 公开(公告)日: | 2021-07-27 |
发明(设计)人: | 刘德建;任佳伟;陈宏展 | 申请(专利权)人: | 福建天晴在线互动科技有限公司 |
主分类号: | H04L12/26 | 分类号: | H04L12/26;H04L29/06;H04L29/12 |
代理公司: | 福州旭辰知识产权代理事务所(普通合伙) 35233 | 代理人: | 程勇 |
地址: | 350212 福*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 dns 流量 特征 游戏 外挂 行为 监控 方法 | ||
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数据包的规范。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于福建天晴在线互动科技有限公司,未经福建天晴在线互动科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910765987.9/1.html,转载请声明来源钻瓜专利网。