一种基于爬虫的外挂精准标记与识别方法和装置
技术领域
本发明属于游戏安全
技术领域
,特别是涉及一种基于爬虫的外挂精准标记与识别方法和装置。背景技术
在现有的游戏外挂领域内,随着网络验证、强壳技术以及云服务的发展,客户端执行登录程序,通过网络校验才能从云端下载外挂功能程序运行,这就加大了反外挂的分析成本,并且外挂通常都加以强壳保护,以防止逆向分析,在第三方角度检测外挂的技术门槛也越来越高。另外,外挂破坏游戏平衡,游戏厂商对此深恶痛绝,在封禁使用外挂账号的同时还会对机器硬件进行封禁,而网吧和云电脑为用户提供的游戏环境很有可能受到影响。
因此,在网吧和云电脑系统中,亟需一种既保证不影响游戏客户端,又能准确检测出外挂程序的运行并及时停止服务的方法。现有的反外挂方法必须要有技术人员投入分析,但是外挂市场的高收益也吸引了越来越多的外挂作者,外挂产品迭代非常快,因此,通过人工方式提取出的外挂特征的有效期短,技术投入也高。
现有技术中主要通过内存检测的方式,暴力扫描内存来检测特征码,这不仅需要技术人员实时更新外挂特征码,实际检测效果还与资源的占用成正比,部分游戏安全厂商尝试使用大数据+AI的方式,但是对于游戏的热衷粉,数据往往不同于普通玩家,这就存在误伤的可能性,也就是说,实际检测中存在较高的误报概率。
发明内容
为解决上述问题,本发明提供了一种基于爬虫的外挂精准标记与识别方法和装置,可以仅检测当前运行的游戏有无对应外挂运行,无需技术人员参与提取特征,在占用极低的客户端资源情况下即可完成检测,不影响用户的正常体验。
本发明提供的一种基于爬虫的外挂精准标记与识别方法,包括:
基于爬虫检测外挂样本的更新情况;
当检测到外挂样本更新时,下载所述外挂样本;
确定所述外挂样本是否为外挂;
当确定所述外挂样本为外挂时,对所述外挂进行归类和标记;
当检测到运行程序的文件时,将所述文件与所述归类和标记的外挂进行对比,识别出所述文件是否为当前游戏的外挂。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,所述当检测到运行程序的文件时,将所述文件与所述归类和标记的外挂进行对比,识别出所述文件是否为当前游戏的外挂之后,还包括:
基于用户反馈的是否误报的情况,对所述外挂的归类和标记进行修正。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,所述确定所述外挂样本是否为外挂包括:
利用白名单对所述外挂样本进行筛选,得到正常环境下运行的程序,并打上白名单标签。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,所述确定所述外挂样本是否为外挂还包括:
经过筛选之后,对所述外挂样本进行上传次数校验,当上传次数大于预设次数阈值时,则确定所述外挂样本为外挂。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,所述对所述外挂进行归类和标记包括:
根据所述外挂的文件静态信息对所述外挂进行归类和标记,所述文件静态信息包括图标信息、文件格式和静态字符串。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,所述对所述外挂进行归类和标记还包括:
根据所述外挂下载时经历的路径信息对所述外挂进行归类和标记。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,所述对所述外挂进行归类和标记还包括:
利用分词和机器学习方式,根据所述外挂的商品命名和描述对所述外挂进行归类和标记。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,当利用所述文件静态信息得到的归类和标记与利用下载时经历的路径信息得到的归类和标记不同时,由人工方式进行标记和识别。
优选的,在上述基于爬虫的外挂精准标记与识别方法中,所述下载所述外挂样本包括:
计算所述外挂样本的更新时长,下载预设时间内更新的压缩包或程序并进行解压缩,计算每个文件的hash。
本发明提供的一种基于爬虫的外挂精准标记与识别装置,包括:
更新检测部件,用于基于爬虫检测外挂样本的更新情况;
下载部件,用于当检测到外挂样本更新时,下载所述外挂样本;
外挂确定部件,用于确定所述外挂样本是否为外挂;
归类和标记部件,用于当确定所述外挂样本为外挂时,对所述外挂进行归类和标记;
识别部件,用于当检测到运行程序的文件时,将所述文件与所述归类和标记的外挂进行对比,识别出所述文件是否为当前游戏的外挂。
通过上述描述可知,本发明提供的上述基于爬虫的外挂精准标记与识别方法,由于包括先基于爬虫检测外挂样本的更新情况;然后当检测到外挂样本更新时,下载所述外挂样本;再确定所述外挂样本是否为外挂;然后当确定所述外挂样本为外挂时,对所述外挂进行归类和标记;最后当检测到运行程序的文件时,将所述文件与所述归类和标记的外挂进行对比,识别出所述文件是否为当前游戏的外挂,因此根据标记完成客户端程序运行的检测,可以仅检测当前运行的游戏有无对应外挂运行,无需技术人员参与提取特征,在占用极低的客户端资源情况下即可完成检测,不影响用户的正常体验,为租号账户、云电脑游戏环境提供保护。本发明提供的上述基于爬虫的外挂精准标记与识别装置,具有与上述方法相同的优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明提供的一种基于爬虫的外挂精准标记与识别方法的实施例的示意图;
图2为基于爬虫的外挂精准标记与识别方法的例子的示意图;
图3为本发明提供的一种基于爬虫的外挂精准标记与识别装置的实施例的示意图。
具体实施方式
本发明的核心是提供一种基于爬虫的外挂精准标记与识别方法和装置,可以仅检测当前运行的游戏有无对应外挂运行,无需技术人员参与提取特征,在占用极低的客户端资源情况下即可完成检测,不影响用户的正常体验,在网吧场景中为租号精准检测有无对应游戏外挂启动,在云电脑系统中检测并终止用户的非正常游戏行为,以防止设备被游戏厂商封禁。
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供的一种基于爬虫的外挂精准标记与识别方法的实施例如图1所示,图1为本发明提供的一种基于爬虫的外挂精准标记与识别方法的实施例的示意图,该方法可以包括如下步骤:
S1:基于爬虫检测外挂样本的更新情况;
具体的,可以但不限于利用爬虫来检测外挂售卖网站上的更新情况。
S2:当检测到外挂样本更新时,下载外挂样本;
具体的,可以设定一个阈值,当更新次数超过该阈值时则下载样本。
S3:确定外挂样本是否为外挂;
具体可以采用分词方式来确定外挂的静态信息中是否证明其为外挂。
S4:当确定外挂样本为外挂时,对外挂进行归类和标记;
具体的,可以根据静态信息中包含的一些词语来分辨这是哪种游戏的外挂,或者根据下载路径来识别,此处并不限制,将这种外挂归类为其所属的游戏,并将其标记号,可见,在仅需少量人工维护的情况下,就能完成对通过网站销售及下载的外挂程序采集标记。
S5:当检测到运行程序的文件时,将文件与归类和标记的外挂进行对比,识别出文件是否为当前游戏的外挂。
也就是说,这样就无需将运行程序的文件与所有的外挂进行对比了,而是只需要将与该游戏对应的外挂进行对比即可,大大提高了外挂检测效率。
通过上述描述可知,本发明提供的上述基于爬虫的外挂精准标记与识别方法的实施例中,由于包括先基于爬虫检测外挂样本的更新情况;然后当检测到外挂样本更新时,下载外挂样本;再确定外挂样本是否为外挂;然后当确定外挂样本为外挂时,对外挂进行归类和标记;最后当检测到运行程序的文件时,将文件与归类和标记的外挂进行对比,识别出文件是否为当前游戏的外挂,因此根据标记完成客户端程序运行的检测,可以仅检测当前运行的游戏有无对应外挂运行,无需技术人员参与提取特征,在占用极低的客户端资源情况下即可完成检测,不影响用户的正常体验,为租号账户、云电脑游戏环境提供保护。
在上述基于爬虫的外挂精准标记与识别方法的一个具体实施例中,当检测到运行程序的文件时,将文件与归类和标记的外挂进行对比,识别出文件是否为当前游戏的外挂之后,还可以包括:
基于用户反馈的是否误报的情况,对外挂的归类和标记进行修正。
需要说明的是,当用户运行某种游戏时并未使用外挂,却被误认为使用了外挂,用户就可以对系统反馈,当核实清楚确实没有使用外挂时,就进行相关的修正,避免下次再误报,从而提高外挂识别的准确性。
在上述基于爬虫的外挂精准标记与识别方法的另一个具体实施例中,确定外挂样本是否为外挂可以包括如下步骤:
利用白名单对外挂样本进行筛选,得到正常环境下运行的程序,并打上白名单标签。
此处需要说明的是,白名单检测主要是检测更新的外挂包中的非外挂模块,比如开源的库文件或者劫持正常程序启动的外挂程序等,筛选出正常环境下可能运行的程序,并打上白名单标签,这样能够降低误报率。
在上述基于爬虫的外挂精准标记与识别方法的又一个具体实施例中,确定外挂样本是否为外挂还可以包括:
经过筛选之后,对外挂样本进行上传次数校验,当上传次数大于预设次数阈值时,则确定外挂样本为外挂。
需要说明的是,由于样本来源是外挂售卖网站,而且只下载检测到的有更新的外挂,所以上传频次超过规定频次的可以标记为外挂的组件或者扩展库,经过白名单过滤和上传次数校验之后,可以认为一定是外挂程序。
在上述基于爬虫的外挂精准标记与识别方法的基础上,对外挂进行归类和标记可以包括:
根据外挂的文件静态信息对外挂进行归类和标记,文件静态信息包括图标信息、文件格式和静态字符串,也就是说,根据文件静态信息能够精准的分析出来这个外挂是哪一个游戏的外挂,然后将该外挂标记成该游戏的外挂,当该游戏的客户端运行时,就可以直接检测计算机中是否有这个外挂运行,提高了检测效率。
在上述基于爬虫的外挂精准标记与识别方法的优选实施例中,对外挂进行归类和标记还可以包括:
根据外挂下载时经历的路径信息对外挂进行归类和标记。需要说明的是,路径信息中可能会包括一些与游戏相关的关键词,就可以根据关键词来推测出这个外挂针对哪一款游戏。
进一步的,对外挂进行归类和标记还可以包括:
利用分词和机器学习方式,根据外挂的商品命名和描述对外挂进行归类和标记。需要说明的是,在网上售卖的外挂的标题中一般会表明这属于哪一款游戏的外挂,那么利用分词方式就可以分辨出来这个外挂归属于哪一款游戏,可以将这些识别方式结合起来进行,也可以单独识别,这都是可以根据实际需要来选择的,当然多种结合的话就可以互相验证正确性,而当利用文件静态信息得到的归类和标记与利用下载时经历的路径信息得到的归类和标记不同时,还可以由人工方式进行标记和识别。
在上述基于爬虫的外挂精准标记与识别方法中,下载外挂样本的步骤可以包括:
计算外挂样本的更新时长,下载预设时间内更新的压缩包或程序并进行解压缩,计算每个文件的hash。需要说明的是,因为只下载检测到的有更新的外挂,所以上传频次超过5次的都是外挂的组件或者扩展库。
一个具体的例子如图2所示,图2为基于爬虫的外挂精准标记与识别方法的例子的示意图,其中包括的步骤如下:
(1)当爬虫获取到文件下载链接后,先计算文件更新时长,为了避免重复采样导致上传频次异常,只下载T1时间内更新的压缩包或程序,并对压缩包文件进行解压缩,计算每个文件hash,否则转达步骤(8);
(2)实时下载的文件中可能包含非外挂程序,如果当前文件hash已经存在于数据库,则获取当前数据库中的标签A1和上传次数进行校验,否则转到步骤(4);
(3)如果是A1为白名单,则正常结束,转到步骤(8),如果A1是外挂并且上传次数大于T2则转到步骤(5);
(4)未入库的程序则先对爬虫经历的路径进行分词,通过机器学习对分词进行检测并标记为A2;
(5)对文件及附带文档进行静态信息检测,根据检测到的关键字或特征得到结果A3;
(6)如果静态信息检测结果为空,则上一步骤结果(A1或A2)为最终结果,如果静态信息检测和上一步骤的结果一致,则A3为最后该文件最终的标签。否则转到步骤(7)进行人工检测;
(7)人工检测,标记入库,并调整静态信息检测特征或者机器学习模型;
(8)切换到下一个任务。
为保证标记结果的准确性,对于静态信息扫描没有结果的程序应当定期添加静态信息扫描特征。
本发明提供的一种基于爬虫的外挂精准标记与识别装置的实施例如图3所示,图3为本发明提供的一种基于爬虫的外挂精准标记与识别装置的实施例的示意图,该装置包括:
更新检测部件301,用于基于爬虫检测外挂样本的更新情况,具体的,可以但不限于利用爬虫来检测外挂售卖网站上的更新情况;
下载部件302,用于当检测到外挂样本更新时,下载外挂样本,具体的,可以设定一个阈值,当更新次数超过该阈值时则下载样本;
外挂确定部件303,用于确定外挂样本是否为外挂,具体可以采用分词方式来确定外挂的静态信息中是否证明其为外挂;
归类和标记部件304,用于当确定外挂样本为外挂时,对外挂进行归类和标记,具体的,可以根据静态信息中包含的一些词语来分辨这是哪种游戏的外挂,或者根据下载路径来识别,此处并不限制,将这种外挂归类为其所属的游戏,并将其标记号,可见,在仅需少量人工维护的情况下,就能完成对通过网站销售及下载的外挂程序采集标记;
识别部件305,用于当检测到运行程序的文件时,将文件与归类和标记的外挂进行对比,识别出文件是否为当前游戏的外挂,也就是说,这样就无需将运行程序的文件与所有的外挂进行对比了,而是只需要将与该游戏对应的外挂进行对比即可,大大提高了外挂检测效率。
通过上述描述可知,本发明提供的上述基于爬虫的外挂精准标记与识别装置的实施例,能够根据标记完成客户端程序运行的检测,可以仅检测当前运行的游戏有无对应外挂运行,无需技术人员参与提取特征,在占用极低的客户端资源情况下即可完成检测,不影响用户的正常体验,为租号账户、云电脑游戏环境提供保护。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。