基于登录数据的外挂检测方法、装置和计算机设备与流程

文档序号:20376385发布日期:2020-04-14 14:03阅读:263来源:国知局
基于登录数据的外挂检测方法、装置和计算机设备与流程

本申请涉及网络监控技术领域,特别涉及一种基于登录数据的外挂检测方法、装置和计算机设备。



背景技术:

在金融、游戏等行业中,常常面临外挂程序的威胁,黑色产业常通过外挂程序恶意套利,比如获取客户信息进行倒卖,刷游戏账户级别进行倒卖套利等情况。传统的反外挂主要是基于多因素登录认证和常用设备情况进行检测,其中,多因素登录认证是指通过用户账号登录时使用登录密码、指纹、验证码、面部识别等各种方式的认证结果进行判断;而常用设备情况则是通过检测用户账号常用的设备mac地址和ip地址是否出现变更进行判断是否使用外挂。前者因为步骤繁琐,容易直接影响用户体验,后者如果外挂是安装在用户设备上,则会因为mac地址和ip地址不会改变从而绕过检测机制。因此,各行业现在急需一种不会影响用户体验并且检测机制全面的外挂检测方法。



技术实现要素:

本申请的主要目的为提供一种基于登录数据的外挂检测方法、装置和计算机设备,旨在解决现有外挂检测方法的检测机制全面性低的弊端。

为实现上述目的,本申请提供了一种基于登录数据的外挂检测方法,包括:

监测用户账号在预设时长内的登录请求信息;

按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据;

将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态;

若处于长持登录状态,则判定所述用户账号使用外挂。

进一步的,所述登录请求信息包括登录请求次数、登录分钟数和登录半小时数,所述登录分钟数为在所述预设时长内的所述用户账号发出登录请求集中的单个分钟时长的数量,所述登录半小时数为在所述预设时长内所述用户账号发出登录请求集中的单个半小时时长的数量,所述按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据的步骤,包括:

判断所述预设时长为第一预设时长或第二预设时长,其中,所述第一预设时长大于所述第二预设时长;

若是第一预设时长,则根据所述登录请求数和所述登录半小时数计算得到所述用户账号在当天的第一登录频率,并根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在当天的第二登录频率;

将所述登录请求次数、所述登录分钟数、所述当天的第一登录频率和所述当天的第二登录频率作为所述登录检测数据。

进一步的,所述判断所述预设时长为第一预设时长或第二预设时长的步骤之后,包括:

若是第二预设时长,则获取所述用户账号在前一天的第一登录频率和第二登录频率,并根据所述登录请求数和所述登录半小时数计算得到所述用户账号在半小时内的第三登录频率,以及根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在半小时内的第四登录频率;

根据所述第三登录频率和所述前一天的第一登录频率计算得到第一频率差值,并根据所述第四登录频率和所述前一天的第二登录频率计算得到第二频率差值;

将所述登录请求次数、所述登录分钟数、所述第三登录频率、所述第四登录频率、所述第一频率差值和所述第二频率差值作为所述登录检测数据。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤,包括:

分别将所述登录请求数和所述登录分钟数按照监测时间顺序绘制成对应的请求数变化图和分钟数变化图;

将所述请求数变化图和所述分钟数变化图输入所述机器学习模型中,判断所述用户账号是否处于密集访问状态;

若所述用户账号处于密集访问状态,则根据所述第三频率和所述第四频率判断所述用户账号是否处于访问异常状态;

若所述用户账号处于访问异常状态,则判断是否存在所述第一频率差值和所述第二频率差值;

若不存在所述第一频率差值和所述第二频率差值,则判定所述用户账号在所述预设时长内处于长持登录状态;

若存在所述第一频率差值和所述第二频率差值,则根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动;

若存在异常波动,则判定所述用户账号在所述预设时长内处于长持登录状态;

若不存在异常波动,则判断判定所述用户账号在所述预设时长内没有处于长持登录状态。

进一步的,所述根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动的步骤,包括:

获取当前监测时刻之间依次相邻的若干个第一历史频率差值和第二历史频率差值;

分别判断各所述第一历史频率差值与所述第一频率差值之间一一对应的第一差值是否在第一预设区间内,并分别判断各所述第二历史频率差值与所述第二频率差值之间一一对应的第二差值是否在第二预设区间内;

若各所述第一差值均处于第一预设区间内,并且各所述第二差值均处于第二预设区间内,则判定所述用户账号的登录频率不存在异常波动;

若任一所述第一差值不处于第一预设区间内,和/或任一所述第二差值不处于第二预设区间内,则判定所述用户账号的登录频率存在异常波动。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤之前,包括:

获取预先编辑的训练集,其中,所述训练集包括多个携带有行为标签的训练数据;

分别对各所述训练数据进行预处理,得到预处理后的训练集,其中,所述预处理为标准化或归一化;

使用决策树算法训练所述预处理后的训练集,得到初始模型;

输入预先编辑的测试集对所述初始模型进行测试和调整,得到所述机器学习模型。

进一步的,所述第一预设时长为24小时,所述第二预设时长为30分钟。

本申请还提供了一种基于登录数据的外挂检测装置,包括:

监测模块,用于监测用户账号在预设时长内的登录请求信息;

第一处理模块,用于按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据;

判断模块,用于将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态;

判定模块,用于若处于长持登录状态,则判定所述用户账号使用外挂。

进一步的,所述登录请求信息包括登录请求次数、登录分钟数和登录半小时数,所述登录分钟数为在所述预设时长内的所述用户账号发出登录请求集中的单个分钟时长的数量,所述登录半小时数为在所述预设时长内所述用户账号发出登录请求集中的单个半小时时长的数量,所述第一处理模块,包括:

第一判断单元,用于判断所述预设时长为第一预设时长或第二预设时长,其中,所述第一预设时长大于所述第二预设时长;

第一计算单元,用于若是第一预设时长,则根据所述登录请求数和所述登录半小时数计算得到所述用户账号在当天的第一登录频率,并根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在当天的第二登录频率;

第一设置单元,用于将所述登录请求次数、所述登录分钟数、所述当天的第一登录频率和所述当天的第二登录频率作为所述登录检测数据。

进一步的,所述第一处理模块,还包括:

第二计算单元,用于若是第二预设时长,则获取所述用户账号在前一天的第一登录频率和第二登录频率,并根据所述登录请求数和所述登录半小时数计算得到所述用户账号在半小时内的第三登录频率,以及根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在半小时内的第四登录频率;

第三计算单元,用于根据所述第三登录频率和所述前一天的第一登录频率计算得到第一频率差值,并根据所述第四登录频率和所述前一天的第二登录频率计算得到第二频率差值;

第二设置单元,用于将所述登录请求次数、所述登录分钟数、所述第三登录频率、所述第四登录频率、所述第一频率差值和所述第二频率差值作为所述登录检测数据。

进一步的,所述判断模块,包括:

绘制单元,用于分别将所述登录请求数和所述登录分钟数按照监测时间顺序绘制成对应的请求数变化图和分钟数变化图;

第二判断单元,用于将所述请求数变化图和所述分钟数变化图输入所述机器学习模型中,判断所述用户账号是否处于密集访问状态;

第三判断单元,用于若所述用户账号处于密集访问状态,则根据所述第三频率和所述第四频率判断所述用户账号是否处于访问异常状态;

第四判断单元,用于若所述用户账号处于访问异常状态,则判断是否存在所述第一频率差值和所述第二频率差值;

第一判定单元,用于若不存在所述第一频率差值和所述第二频率差值,则判定所述用户账号在所述预设时长内处于长持登录状态;

第五判断单元,用于若存在所述第一频率差值和所述第二频率差值,则根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动;

第二判定单元,用于若存在异常波动,则判定所述用户账号在所述预设时长内处于长持登录状态;

第三判定单元,用于若不存在异常波动,则判断判定所述用户账号在所述预设时长内没有处于长持登录状态。

进一步的,所述第五判断单元,包括:

获取子单元,用于获取当前监测时刻之间依次相邻的若干个第一历史频率差值和第二历史频率差值;

判断子单元,用于分别判断各所述第一历史频率差值与所述第一频率差值之间一一对应的第一差值是否在第一预设区间内,并分别判断各所述第二历史频率差值与所述第二频率差值之间一一对应的第二差值是否在第二预设区间内;

第一判定子单元,用于若各所述第一差值均处于第一预设区间内,并且各所述第二差值均处于第二预设区间内,则判定所述用户账号的登录频率不存在异常波动;

第二判定子单元,用于若任一所述第一差值不处于第一预设区间内,和/或任一所述第二差值不处于第二预设区间内,则判定所述用户账号的登录频率存在异常波动。

进一步的,所述外挂检测装置,还包括包括:

获取模块,用于获取预先编辑的训练集,其中,所述训练集包括多个携带有行为标签的训练数据;

第二处理模块,用于分别对各所述训练数据进行预处理,得到预处理后的训练集,其中,所述预处理为标准化或归一化;

训练模块,用于使用决策树算法训练所述预处理后的训练集,得到初始模型;

调整模块,用于输入预先编辑的测试集对所述初始模型进行测试和调整,得到所述机器学习模型。

本申请还提供一种计算机设备,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器执行所述计算机程序时实现上述任一项所述方法的步骤。

本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一项所述的方法的步骤。

本申请中提供的一种基于登录数据的外挂检测方法、装置和计算机设备,通过对用户账号在预设时长内的登录请求信息进行预处理得到登录检测数据,然后将登录检测数据输入预先构建的机器学习模型中,通过机器学习模型的训练结果对登录检测数据进行相应的分析,从而在登录数据层面上判断用户账号的登录状态是否正常,实现对用户账号是否使用外挂的全面检测,准确性高。

附图说明

图1是本申请一实施例中基于登录数据的外挂检测方法步骤示意图;

图2是本申请一实施例中基于登录数据的外挂检测装置整体结构框图;

图3是本申请一实施例的计算机设备的结构示意框图。

本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。

参照图1,本申请一实施例中提供了一种基于登录数据的外挂检测方法,包括:

s1:监测用户账号在预设时长内的登录请求信息;

s2:按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据;

s3:将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态;

s4:若处于长持登录状态,则判定所述用户账号使用外挂。

本实施例中,用户账号在进行登录时,需要向系统发出登录请求,并且在无操作状态下,需要定时发出登录请求以维持账号的登录状态,避免用户账号掉线。检测系统实时对用户账号进行监控,以记录用户账号的登录请求信息。检测系统在对用户账号进行外挂检测时,需要获取预设时长内的登录请求信息进行相应的数据分析。预设时长优选为半小时和24小时,即检测系统会每半个小时对用户账号在这半小时内的登录请求信息进行一次汇总分析,并每天对用户账号的全部登录请求信息进行一次分析,以实现检测系统对登录数据的宏观监控;其中,登录请求信息包括登录请求次数、登录分钟数和登录半小时数。检测系统根据预设时长调取对应的预设规则对登录请求信息进行预处理,从而得到登录检测数据。具体地,若预设时长是24小时,检测系统根据登录请求数和登录半小时数计算得到用户账号在当天的第一登录频率,并根据登录分钟数和登录半小时数计算得到用户账号在当天的第二登录频率。检测系统将计算后的登录请求次数、登录分钟数、当天的第一登录频率和当天第二登录频率作为当天的登录检测数据。若预设时长是30分钟,检测系统则获取用户账号在前一天的第一登录频率和第二登录频率,并根据登录请求数和登录半小时数计算得到用户账号在半小时内的第三登录频率,以及根据登录分钟数和登录半小时数计算得到用户账号在半小时内的第四登录频率。检测系统根据第三登录频率和前一天的第一登录频率计算得到第一频率差值,并根据第四登录频率和前一天的第二登录频率计算得到第二频率差值。检测系统将计算得到的登录请求次数、登录分钟数、第三登录频率、第四登录频率、第一频率差值和第二频率差值作为当前次的登录检测数据。检测系统将登录检测数据输入预先构建的机器学习模型中,首先分别将登录请求数和登录分钟数按照监测时间顺序绘制成对应的请求数变化图和分钟数变化图。机器学习模型通过预先训练,可以根据请求数变化图与分钟数变化图对用户账号进行初步审核,通过识别变化图的密集程度判断用户账号是否处于密集访问状态。若用户账号处于密集访问状态,机器学习模型则根据第三频率和第四频率分别对应的概率对用户账号进行二次审核,判断用户账号是否处于访问异常状态。若用户账号处于访问异常状态,则判断是否存在第一频率差值和第二频率差值。若不存在第一频率差值和第二频率差值,则判定用户账号在预设时长内处于长持登录状态。若存在第一频率差值和第二频率差值,则根据当前监测时刻之前依次相邻的若干个第一历史频率差值、第二历史频率差值以及当前次的第一频率差值、第二频率差值对用户账号进行最终审核,判断用户账号的登录频率是否存在异常波动。若存在异常波动,则判定用户账号在预设时长内处于长持登录状态;若不存在异常波动,则判定用户账号在预设时长内没有处于长持登录状态。检测系统若检测到用户账号在预设时长内处于长持登录状态,则判定用户账号使用外挂。

进一步的,所述登录请求信息包括登录请求次数、登录分钟数和登录半小时数,所述登录分钟数为在所述预设时长内的所述用户账号发出登录请求集中的单个分钟时长的数量,所述登录半小时数为在所述预设时长内的所述用户账号发出登录请求集中的单个半小时时长的数量,所述按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据的步骤,包括:

s201:判断所述预设时长为第一预设时长或第二预设时长,其中,所述第一预设时长大于所述第二预设时长;

s202:若是第一预设时长,则根据所述登录请求数和所述登录半小时数计算得到所述用户账号在当天的第一登录频率,并根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在当天的第二登录频率;

s203:将所述登录请求次数、所述登录分钟数、所述当天的第一登录频率和所述当天的第二登录频率作为所述登录检测数据。

本实施例中,登录请求信息包括登录请求次数,登录分钟数和登录半小时数,其中,登录请求数为用户账号在预设时长内登录请求的总次数;登录分钟数为用户账号发出登录请求的单个分钟时长的数量,因为登录请求多次和一次效果是相同的,目的是为了维护登录态,分钟数相较于次数更加精确;登录半小时数为用户账号发出登录请求的单个半小时时长的数量,比如:9:00—10:00之间用户账号总共发出5次登录请求,具体的这5次登录请求均是在9:04—9:05之间发出,则登录请求数为5,登录分钟数为1,登录半小时数为1。检测系统每隔预设时长统计一次登录请求信息,并根据不同的预设时长内监测到的登录请求信息对应有不同的数据处理规则。其中,预设时长包括第一预设时长和第二预设时长,第一预设时长大于第二预设时长。检测系统首先判断预设时长为第一预设时长还是第二预设时长,若判定预设时长为第一预设时长,则将登录请求数除以登录半小时数,得到用户账号在当天的第一登录频率,用以描述登录请求次数的频率;并将登录分钟数除以登录半小时数得到第二登录频率,用以描述登录分钟数的频率。检测系统将登录请求次数、登录分钟数、当天的第一登录频率和当天的第二登录频率作为登录检测数据。

进一步的,所述判断所述预设时长为第一预设时长或第二预设时长的步骤之后,包括:

s204:若是第二预设时长,则获取所述用户账号在前一天的第一登录频率和第二登录频率,并根据所述登录请求数和所述登录半小时数计算得到所述用户账号在半小时内的第三登录频率,以及根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在半小时内的第四登录频率;

s205:根据所述第三登录频率和所述前一天的第一登录频率计算得到第一频率差值,并根据所述第四登录频率和所述前一天的第二登录频率计算得到第二频率差值;

s206:将所述登录请求次数、所述登录分钟数、所述第三登录频率、所述第四登录频率、所述第一频率差值和所述第二频率差值作为所述登录检测数据。

本实施例中,检测系统判定当前次监测到的登录请求数据对应的预设时长为第二预设时长后,将登录请求数除以登录半小时数计算得到用户账号在第二预设时长内的第三登录频率,并将登录分钟数除以登录半小时数计算得到用户账号当前次的第四登录频率。检测系统还需要获取该用户账号在前一天的第一登录频率和第二登录频率。检测系统将第三登录频率减去前一天的第一登录频率计算得到第一频率差值,用以描述当前次的登录次数频率与前一天总体的登录次数频率的变化幅度;并将第四频率减去前一天的第二登录频率,得到第二频率差值,用以描述当前次的登录分钟频率与前一天总体的登录分钟频率的变化幅度。检测系统完成数据预处理后,将登录请求次数、登录分钟数、第三登录频率、第四登录频率、第一频率差值和第二频率差值作为当前次的登录检测数据。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤,包括:

s301:分别将所述登录请求数和所述登录分钟数按照监测时间顺序绘制成对应的请求数变化图和分钟数变化图;

s302:将所述请求数变化图和所述分钟数变化图输入所述机器学习模型中,判断所述用户账号是否处于密集访问状态;

s303:若所述用户账号处于密集访问状态,则根据所述第三频率和所述第四频率判断所述用户账号是否处于访问异常状态;

s304:若所述用户账号处于访问异常状态,则判断是否存在所述第一频率差值和所述第二频率差值;

s305:若不存在所述第一频率差值和所述第二频率差值,则判定所述用户账号在所述预设时长内处于长持登录状态;

s306:若存在所述第一频率差值和所述第二频率差值,则根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动;

s307:若存在异常波动,则判定所述用户账号在所述预设时长内处于长持登录状态;

s308:若不存在异常波动,则判断判定所述用户账号在所述预设时长内没有处于长持登录状态。

本实施例中,登录请求数和登录分钟数单单从数值本身,检测系统难以判断在一定时间内两者的密集程度。因此,检测系统需要将登录请求数和登录分钟数分别按照监测时间的先后顺序绘制成对应的请求数变化图和分钟数变化图,以便根据图形识别密集程度。设计人员预先使用多个登录请求数和登录分钟数绘制的图形数据对机器学习模型进行训练,使得机器学习模型能够识别出具有密集访问状态的变化图。机器学习模型通过图像识别对当前次的请求数变化图和分钟数变化图进行识别,对其进行初步审核,从而判断用户行号是否处于密集访问状态。若用户处于密集访问状态,则分别根据第三频率和第四频率对用户账号进行二次审核,机器学习模型根据预先的训练结果判断用户账号是否处于访问异常状态。若用户处于访问异常状态,则模型判断当前次的登录检测数据中是否包含第一频率差值和第二频率差值。若不存在第一频率差值和第二频率差值,则判定用户账号在预设时长内处于长持登录状态。若存在第一频率差值和第二频率差值,模型则根据第一频率差值和第二频率差值对用户账号进行最终审核,通过预先的机器学习结果判断用户账号的登录频率是否存在异常波动。若存在异常波动,则判定用户账号在预设时长内处于长持登录状态;若不存在异常波动,则判定用户账号在预设时长内没有处于长持登录状态。

进一步的,所述根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动的步骤,包括:

s3061:获取当前监测时刻之间依次相邻的若干个第一历史频率差值和第二历史频率差值;

s3062:分别判断各所述第一历史频率差值与所述第一频率差值之间一一对应的第一差值是否在第一预设区间内,并分别判断各所述第二历史频率差值与所述第二频率差值之间一一对应的第二差值是否在第二预设区间内;

s3063:若各所述第一差值均处于第一预设区间内,并且各所述第二差值均处于第二预设区间内,则判定所述用户账号的登录频率不存在异常波动;

s3064:若任一所述第一差值不处于第一预设区间内,和/或任一所述第二差值不处于第二预设区间内,则判定所述用户账号的登录频率存在异常波动。

本实施例中,检测系统获取当前时刻之前依次相邻的若干个第一历史频率差值和第二历史频率差值,其中,第一历史频率差值为用户账号在当前时刻之前的登录次数频率差值,第二历史频率差值为用户账号在当前时刻之前的登录分钟数频率差值。检测系统中的机器学习模型分别计算各个第一历史频率差值与第一频率差值之间的第一差值,并分别计算各个第二历史频率差值与第二频率差值之间的第二差值。然后,分别判断各个第一差值是否在模型预先训练得到的第一预设区间内,并判断各第二差值是否在模型预先训练得到的第二预设区间内。若各第一差值均处于第一预设区间内,并且各第二差值均处于第二预设区间内,则说明用户账号的登录频率差值变化幅度不大,检测系统根据模型的输出结果判定所述用户账号的登录频率不存在异常波动。若各第一差值有一个或多个不处于第一预设区间内,和/或各第二差值有一个或多个不处于第二预设区间内,则说明用户账号的登录频率具有较大的变化幅度,检测系统判定用户账号的登录频率存在异常波动。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤之前,包括:

s5:获取预先编辑的训练集,其中,所述训练集包括多个携带有行为标签的训练数据;

s6:分别对各所述训练数据进行预处理,得到预处理后的训练集,其中,所述预处理为标准化或归一化;

s7:使用决策树算法训练所述预处理后的训练集,得到初始模型;

s8:输入预先编辑的测试集对所述初始模型进行测试和调整,得到所述机器学习模型。

本实施例中,开发人员在对模型进行训练时,需要将预先构建好的训练集输入检测系统的模型中进行机器学习。其中,训练集由多个携带有行为标签的训练数据组成,各行为标签与训练数据之间的关联关系由开发人员预先关联,训练数据为用户账号相关的登录请求信息,包括上述的登录请求信息、第一登录频率、第二登录频率等数据。检测系统分别对训练集中的各个训练数据进行预处理,得到预处理后的训练集,其中,预处理具体为数据的标准化或归一化。检测系统使用决策树算法对预处理后的训练集进行训练,得到初始模型。检测系统将预先编辑的测试集输入初始模型进行测试,并根据测试结果进行相应的调整,比如测试结果的准确率过低,检测系统可以扩大训练集进行迭代训练,直至准确率达到阈值,从而得到机器学习模型。

进一步的,所述第一预设时长为24小时,所述第二预设时长为30分钟。

本实施例中,第一预设时长之所以选择为24小时,是因为从宏观角度对用户账号的登录数据进行分析,从而使得分析结果更加全面和完整。而第二预设时长之所以选择为30分钟,是因为登录状态的维持不需要多次重复请求,而只需要一次请求成功即可维持一段时间的登录状态,因此预设时长为1分钟之类的极短时间不适用于检测登录请求。而预设时长若为1小时或以上的登录情况又过于笼统,开发人员经过多次数据比对后认为短时间内的登录请求信息监控以30分钟为预设时长的检测准确度最高,也更贴合登录状态的检测。

进一步的,所述判定所述用户账号使用外挂的步骤之后,包括:

s9:使用接口方式对接所述用户账号的访问接口;

s10:限制所述访问接口的数据传输,实现对所述用户账号的访问限制。

本实施例中,检测系统在判定用户账号使用外挂后,直接使用接口方式对接用户账号的访问接口,然后对访问接口的数据传输进行相应的限制,比如限制该访问接口的数据访问、数据下载等,从而实现对用户账号的访问限制,对其进行拉黑。

本实施例提供的一种基于登录数据的外挂检测方法,通过对用户账号在预设时长内的登录请求信息进行预处理得到登录检测数据,然后将登录检测数据输入预先构建的机器学习模型中,通过机器学习模型的训练结果对登录检测数据进行相应的分析,从而在登录数据层面上判断用户账号的登录状态是否正常,实现对用户账号是否使用外挂的全面检测,准确性高。

参照图2,本申请一实施例中还提供了一种基于登录数据的外挂检测装置,包括:

监测模块1,用于监测用户账号在预设时长内的登录请求信息;

第一处理模块2,用于按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据;

判断模块3,用于将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态;

判定模块4,用于若处于长持登录状态,则判定所述用户账号使用外挂。

本实施例中,上述外挂检测装置中的监测模块1、第一处理模块2、判断模块3与判定模块4的功能和作用的实现过程具体详见上述基于登录数据的外挂检测方法中对应步骤s1至s4的实现过程,在此不再赘述。

进一步的,所述登录请求信息包括登录请求次数、登录分钟数和登录半小时数,所述登录分钟数为在所述预设时长内的所述用户账号发出登录请求集中的单个分钟时长的数量,所述登录半小时数为在所述预设时长内的所述用户账号发出登录请求集中的单个半小时时长的数量,所述第一处理模块2,包括:

第一判断单元,用于判断所述预设时长为第一预设时长或第二预设时长,其中,所述第一预设时长大于所述第二预设时长;

第一计算单元,用于若是第一预设时长,则根据所述登录请求数和所述登录半小时数计算得到所述用户账号在当天的第一登录频率,并根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在当天的第二登录频率;

第一设置单元,用于将所述登录请求次数、所述登录分钟数、所述当天的第一登录频率和所述当天的第二登录频率作为所述登录检测数据。

本实施例中,上述第一处理模块2中的第一判断单元、第一计算单元与第一设置单元的功能和作用的实现过程具体详见上述基于登录数据的外挂检测方法中对应步骤s201至s203的实现过程,在此不再赘述。

进一步的,所述第一处理模块2,还包括:

第二计算单元,用于若是第二预设时长,则获取所述用户账号在前一天的第一登录频率和第二登录频率,并根据所述登录请求数和所述登录半小时数计算得到所述用户账号在半小时内的第三登录频率,以及根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在半小时内的第四登录频率;

第三计算单元,用于根据所述第三登录频率和所述前一天的第一登录频率计算得到第一频率差值,并根据所述第四登录频率和所述前一天的第二登录频率计算得到第二频率差值;

第二设置单元,用于将所述登录请求次数、所述登录分钟数、所述第三登录频率、所述第四登录频率、所述第一频率差值和所述第二频率差值作为所述登录检测数据。

本实施例中,上述第一处理模块2中的第二计算单元、第三计算单元与第二设置单元的功能和作用的实现过程具体详见上述基于登录数据的外挂检测方法中对应步骤s204至s206的实现过程,在此不再赘述。

进一步的,所述判断模块3,包括:

绘制单元,用于分别将所述登录请求数和所述登录分钟数按照监测时间顺序绘制成对应的请求数变化图和分钟数变化图;

第二判断单元,用于将所述请求数变化图和所述分钟数变化图输入所述机器学习模型中,判断所述用户账号是否处于密集访问状态;

第三判断单元,用于若所述用户账号处于密集访问状态,则根据所述第三频率和所述第四频率判断所述用户账号是否处于访问异常状态;

第四判断单元,用于若所述用户账号处于访问异常状态,则判断是否存在所述第一频率差值和所述第二频率差值;

第一判定单元,用于若不存在所述第一频率差值和所述第二频率差值,则判定所述用户账号在所述预设时长内处于长持登录状态;

第五判断单元,用于若存在所述第一频率差值和所述第二频率差值,则根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动;

第二判定单元,用于若存在异常波动,则判定所述用户账号在所述预设时长内处于长持登录状态;

第三判定单元,用于若不存在异常波动,则判断判定所述用户账号在所述预设时长内没有处于长持登录状态。

本实施例中,上述判断模块3中的绘制单元、第二判断单元、第三判断单元、第四判断单元、第一判定单元、第五判断单元、第二判定单元与第三判定单元的功能和作用的实现过程具体详见上述基于登录数据的外挂检测方法中对应步骤s301至s308的实现过程,在此不再赘述。

进一步的,所述第五判断单元,包括:

获取子单元,用于获取当前监测时刻之间依次相邻的若干个第一历史频率差值和第二历史频率差值;

判断子单元,用于分别判断各所述第一历史频率差值与所述第一频率差值之间一一对应的第一差值是否在第一预设区间内,并分别判断各所述第二历史频率差值与所述第二频率差值之间一一对应的第二差值是否在第二预设区间内;

第一判定子单元,用于若各所述第一差值均处于第一预设区间内,并且各所述第二差值均处于第二预设区间内,则判定所述用户账号的登录频率不存在异常波动;

第二判定子单元,用于若任一所述第一差值不处于第一预设区间内,和/或任一所述第二差值不处于第二预设区间内,则判定所述用户账号的登录频率存在异常波动。

本实施例中,上述第五判断单元中的获取子单元、判断子单元、第一判定子单元与第二判定子单元的功能和作用的实现过程具体详见上述基于登录数据的外挂检测方法中对应步骤s3061至s3064的实现过程,在此不再赘述。

进一步的,所述外挂检测装置,还包括包括:

获取模块5,用于获取预先编辑的训练集,其中,所述训练集包括多个携带有行为标签的训练数据;

第二处理模块6,用于分别对各所述训练数据进行预处理,得到预处理后的训练集,其中,所述预处理为标准化或归一化;

训练模块7,用于使用决策树算法训练所述预处理后的训练集,得到初始模型;

调整模块8,用于输入预先编辑的测试集对所述初始模型进行测试和调整,得到所述机器学习模型。

本实施例中,上述外挂检测装置中的获取模块5、第二处理模块6、训练模块7与调整模块8的功能和作用的实现过程具体详见上述基于登录数据的外挂检测方法中对应步骤s5至s8的实现过程,在此不再赘述。

进一步的,所述外挂检测装置,包括:

对接模块9,用于使用接口方式对接所述用户账号的访问接口;

限制模块10,用于限制所述访问接口的数据传输,实现对所述用户账号的访问限制。

本实施例中,上述外挂检测装置中的对接模块9与限制模块10的功能和作用的实现过程具体详见上述基于登录数据的外挂检测方法中对应步骤s9至s10的实现过程,在此不再赘述。

本实施例提供的一种基于登录数据的外挂检测装置,通过对用户账号在预设时长内的登录请求信息进行预处理得到登录检测数据,然后将登录检测数据输入预先构建的机器学习模型中,通过机器学习模型的训练结果对登录检测数据进行相应的分析,从而在登录数据层面上判断用户账号的登录状态是否正常,实现对用户账号是否使用外挂的全面检测,准确性高。

参照图3,本申请实施例中还提供一种计算机设备,该计算机设备可以是服务器,其内部结构可以如图3所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和数据库。其中,该计算机设计的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储登录请求信息等数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于登录数据的外挂检测方法。

上述处理器执行上述基于登录数据的外挂检测方法的步骤:

s1:监测用户账号在预设时长内的登录请求信息;

s2:按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据;

s3:将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态;

s4:若处于长持登录状态,则判定所述用户账号使用外挂。

进一步的,所述登录请求信息包括登录请求次数、登录分钟数和登录半小时数,所述登录分钟数为在所述预设时长内的所述用户账号发出登录请求集中的单个分钟时长的数量,所述登录半小时数为在所述预设时长内的所述用户账号发出登录请求集中的单个半小时时长的数量,所述按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据的步骤,包括:

s201:判断所述预设时长为第一预设时长或第二预设时长,其中,所述第一预设时长大于所述第二预设时长;

s202:若是第一预设时长,则根据所述登录请求数和所述登录半小时数计算得到所述用户账号在当天的第一登录频率,并根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在当天的第二登录频率;

s203:将所述登录请求次数、所述登录分钟数、所述当天的第一登录频率和所述当天的第二登录频率作为所述登录检测数据。

进一步的,所述判断所述预设时长为第一预设时长或第二预设时长的步骤之后,包括:

s204:若是第二预设时长,则获取所述用户账号在前一天的第一登录频率和第二登录频率,并根据所述登录请求数和所述登录半小时数计算得到所述用户账号在半小时内的第三登录频率,以及根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在半小时内的第四登录频率;

s205:根据所述第三登录频率和所述前一天的第一登录频率计算得到第一频率差值,并根据所述第四登录频率和所述前一天的第二登录频率计算得到第二频率差值;

s206:将所述登录请求次数、所述登录分钟数、所述第三登录频率、所述第四登录频率、所述第一频率差值和所述第二频率差值作为所述登录检测数据。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤,包括:

s301:分别将所述登录请求数和所述登录分钟数按照监测时间顺序绘制成对应的请求数变化图和分钟数变化图;

s302:将所述请求数变化图和所述分钟数变化图输入所述机器学习模型中,判断所述用户账号是否处于密集访问状态;

s303:若所述用户账号处于密集访问状态,则根据所述第三频率和所述第四频率判断所述用户账号是否处于访问异常状态;

s304:若所述用户账号处于访问异常状态,则判断是否存在所述第一频率差值和所述第二频率差值;

s305:若不存在所述第一频率差值和所述第二频率差值,则判定所述用户账号在所述预设时长内处于长持登录状态;

s306:若存在所述第一频率差值和所述第二频率差值,则根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动;

s307:若存在异常波动,则判定所述用户账号在所述预设时长内处于长持登录状态;

s308:若不存在异常波动,则判断判定所述用户账号在所述预设时长内没有处于长持登录状态。

进一步的,所述根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动的步骤,包括:

s3061:获取当前监测时刻之间依次相邻的若干个第一历史频率差值和第二历史频率差值;

s3062:分别判断各所述第一历史频率差值与所述第一频率差值之间一一对应的第一差值是否在第一预设区间内,并分别判断各所述第二历史频率差值与所述第二频率差值之间一一对应的第二差值是否在第二预设区间内;

s3063:若各所述第一差值均处于第一预设区间内,并且各所述第二差值均处于第二预设区间内,则判定所述用户账号的登录频率不存在异常波动;

s3064:若任一所述第一差值不处于第一预设区间内,和/或任一所述第二差值不处于第二预设区间内,则判定所述用户账号的登录频率存在异常波动。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤之前,包括:

s5:获取预先编辑的训练集,其中,所述训练集包括多个携带有行为标签的训练数据;

s6:分别对各所述训练数据进行预处理,得到预处理后的训练集,其中,所述预处理为标准化或归一化;

s7:使用决策树算法训练所述预处理后的训练集,得到初始模型;

s8:输入预先编辑的测试集对所述初始模型进行测试和调整,得到所述机器学习模型。

进一步的,所述判定所述用户账号使用外挂的步骤之后,包括:

s9:使用接口方式对接所述用户账号的访问接口;

s10:限制所述访问接口的数据传输,实现对所述用户账号的访问限制。

本申请一实施例还提供一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现一种基于登录数据的外挂检测方法,具体为:

s1:监测用户账号在预设时长内的登录请求信息;

s2:按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据;

s3:将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态;

s4:若处于长持登录状态,则判定所述用户账号使用外挂。

进一步的,所述登录请求信息包括登录请求次数、登录分钟数和登录半小时数,所述登录分钟数为在所述预设时长内的所述用户账号发出登录请求集中的单个分钟时长的数量,所述登录半小时数为在所述预设时长内的所述用户账号发出登录请求集中的单个半小时时长的数量,所述按照所述预设时长对应的预设规则,对所述登录请求信息进行预处理,得到登录检测数据的步骤,包括:

s201:判断所述预设时长为第一预设时长或第二预设时长,其中,所述第一预设时长大于所述第二预设时长;

s202:若是第一预设时长,则根据所述登录请求数和所述登录半小时数计算得到所述用户账号在当天的第一登录频率,并根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在当天的第二登录频率;

s203:将所述登录请求次数、所述登录分钟数、所述当天的第一登录频率和所述当天的第二登录频率作为所述登录检测数据。

进一步的,所述判断所述预设时长为第一预设时长或第二预设时长的步骤之后,包括:

s204:若是第二预设时长,则获取所述用户账号在前一天的第一登录频率和第二登录频率,并根据所述登录请求数和所述登录半小时数计算得到所述用户账号在半小时内的第三登录频率,以及根据所述登录分钟数和所述登录半小时数计算得到所述用户账号在半小时内的第四登录频率;

s205:根据所述第三登录频率和所述前一天的第一登录频率计算得到第一频率差值,并根据所述第四登录频率和所述前一天的第二登录频率计算得到第二频率差值;

s206:将所述登录请求次数、所述登录分钟数、所述第三登录频率、所述第四登录频率、所述第一频率差值和所述第二频率差值作为所述登录检测数据。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤,包括:

s301:分别将所述登录请求数和所述登录分钟数按照监测时间顺序绘制成对应的请求数变化图和分钟数变化图;

s302:将所述请求数变化图和所述分钟数变化图输入所述机器学习模型中,判断所述用户账号是否处于密集访问状态;

s303:若所述用户账号处于密集访问状态,则根据所述第三频率和所述第四频率判断所述用户账号是否处于访问异常状态;

s304:若所述用户账号处于访问异常状态,则判断是否存在所述第一频率差值和所述第二频率差值;

s305:若不存在所述第一频率差值和所述第二频率差值,则判定所述用户账号在所述预设时长内处于长持登录状态;

s306:若存在所述第一频率差值和所述第二频率差值,则根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动;

s307:若存在异常波动,则判定所述用户账号在所述预设时长内处于长持登录状态;

s308:若不存在异常波动,则判断判定所述用户账号在所述预设时长内没有处于长持登录状态。

进一步的,所述根据所述第一频率差值和所述第二频率差值判断所述用户账号的登录频率是否存在异常波动的步骤,包括:

s3061:获取当前监测时刻之间依次相邻的若干个第一历史频率差值和第二历史频率差值;

s3062:分别判断各所述第一历史频率差值与所述第一频率差值之间一一对应的第一差值是否在第一预设区间内,并分别判断各所述第二历史频率差值与所述第二频率差值之间一一对应的第二差值是否在第二预设区间内;

s3063:若各所述第一差值均处于第一预设区间内,并且各所述第二差值均处于第二预设区间内,则判定所述用户账号的登录频率不存在异常波动;

s3064:若任一所述第一差值不处于第一预设区间内,和/或任一所述第二差值不处于第二预设区间内,则判定所述用户账号的登录频率存在异常波动。

进一步的,所述将所述登录检测数据输入预先构建的机器学习模型中,判断所述用户账号在所述预设时长内是否处于长持登录状态的步骤之前,包括:

s5:获取预先编辑的训练集,其中,所述训练集包括多个携带有行为标签的训练数据;

s6:分别对各所述训练数据进行预处理,得到预处理后的训练集,其中,所述预处理为标准化或归一化;

s7:使用决策树算法训练所述预处理后的训练集,得到初始模型;

s8:输入预先编辑的测试集对所述初始模型进行测试和调整,得到所述机器学习模型。

进一步的,所述判定所述用户账号使用外挂的步骤之后,包括:

s9:使用接口方式对接所述用户账号的访问接口;

s10:限制所述访问接口的数据传输,实现对所述用户账号的访问限制。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储与一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的和实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可以包括只读存储器(rom)、可编程rom(prom)、电可编程rom(eprom)、电可擦除可编程rom(eeprom)或闪存。易失性存储器可包括随机存取存储器(ram)或者外部高速缓冲存储器。作为说明而非局限,ram通过多种形式可得,诸如静态ram(sram)、动态ram(dram)、同步dram(sdram)、双速据率sdram(ssrsdram)、增强型sdram(esdram)、同步链路(synchlink)dram(sldram)、存储器总线(rambus)直接ram(rdram)、直接存储器总线动态ram(drdram)、以及存储器总线动态ram(rdram)等。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其它变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、装置、物品或者方法不仅包括那些要素,而且还包括没有明确列出的其它要素,或者是还包括为这种过程、装置、物品或者方法所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、装置、物品或者方法中还存在另外的相同要素。

以上所述仅为本申请的优选实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其它相关的技术领域,均同理包括在本申请的专利保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1