CN113742719B - 抢单外挂检测方法及计算机设备 - Google Patents
抢单外挂检测方法及计算机设备 Download PDFInfo
- Publication number
- CN113742719B CN113742719B CN202110988791.3A CN202110988791A CN113742719B CN 113742719 B CN113742719 B CN 113742719B CN 202110988791 A CN202110988791 A CN 202110988791A CN 113742719 B CN113742719 B CN 113742719B
- Authority
- CN
- China
- Prior art keywords
- current
- data
- operation data
- sliding
- server
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/30—Authentication, i.e. establishing the identity or authorisation of security principals
- G06F21/44—Program or device authentication
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04847—Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/06—Buying, selling or leasing transactions
- G06Q30/0601—Electronic shopping [e-shopping]
- G06Q30/0633—Lists, e.g. purchase orders, compilation or processing
- G06Q30/0635—Processing of requisition or of purchase orders
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Business, Economics & Management (AREA)
- Computer Hardware Design (AREA)
- Accounting & Taxation (AREA)
- Finance (AREA)
- Human Computer Interaction (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本申请提供一种抢单外挂检测方法及计算机设备。抢单外挂检测方法包括:采集当前用户在目标页面执行目标操作时的当前操作数据;当目标操作触发抢单时,获取第一预定数量的存储在本地的当前用户的本地历史操作数据,第一预定数量的本地历史操作数据为当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据;比对当前操作数据与本地历史操作数据之间的差异,判断差异是否满足本地验证条件;若是,则检测为存在外挂行为并生成抢单失败的抢单结果。本申请实施方式的抢单外挂检测方法及计算机设备可以通过用户的历史行为数据来识别未知外挂,以达到防止外挂的目的。
Description
技术领域
本申请涉及计算机技术领域,具体而言,本申请涉及一种抢单外挂检测方法及计算机设备。
背景技术
现有的手机APP外挂检测手段常见于特征检测类方法,该方法检测APP运行过程中某种内存数据的运行模式,从中提取特征码,并与反外挂特征码数据库中的数据进行比对,命中特征码的即会被系统判定为使用了外挂。
然而,这种检测手段存在一些缺点。例如,外挂特征码数据库中的数据需要通过人工或者外部识别系统识别后录入,这是一个较为困难的过程。再例如,即使这些特征码被检测到,并进入到反外挂特征码数据库中,但外挂软件的代码修改起来也是非常简单的,可以被做出各种变种软件(如加入垃圾代码或功能修改等等),这就会导致外挂软件的特征码发生改变,从而进一步加剧了反外挂的难度。
此外,通过常规的技术检测手段来检测第三方外挂软件存在较多的局限性。对于外挂开发者(黑客)而言,可以获取到Root、越狱等超级权限,而APP开发人员则只有普通的用户权限,这种攻防对抗层面的权限不对等,是手机APP外挂难防的一个极为重要的原因,单纯通过上述常规的检测机制来进行外挂防御无法实现100%的完全防御。
发明内容
为至少能解决上述的技术缺陷之一,本申请提供了以下技术方案的抢单外挂检测方法及计算机设备。
本申请的实施例根据一个方面,提供了一种抢单外挂检测方法,用于设备端。抢单外挂检测方法包括:采集当前用户在目标页面执行目标操作时的当前操作数据;当所述目标操作触发抢单时,获取第一预定数量的存储在本地的所述当前用户的本地历史操作数据,所述第一预定数量的本地历史操作数据为所述当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据;比对所述当前操作数据与所述本地历史操作数据之间的差异,判断所述差异是否满足本地验证条件;若是,则检测为存在外挂行为并生成抢单失败的抢单结果。
可选地,所述目标页面包括抢单大厅页,所述目标操作包括用以浏览订单列表的第一滑动操作,所述当前操作数据包括第一当前滑动数据。所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:采集所述当前用户从开始执行所述第一滑动操作至结束所述第一滑动操作期间产生的所有第一初始滑动数据,所述第一初始滑动数据包括第一当前滑动坐标及与每个所述第一当前滑动坐标分别对应的第一当前按压力度;判断所述第一初始滑动数据的数量是否小于第一预设数量;若是,则确定采集到的所有所述第一初始滑动数据为所述第一当前滑动数据;若否,则根据所述第一初始滑动数据的数量及所述第一预设数量计算第一数据采集间隔;根据所述第一数据采集间隔从所述第一初始滑动数据中选取出所述第一预设数量的所述第一初始滑动数据作为所述第一当前滑动数据。
可选地,所述目标页面包括抢单大厅页,所述目标操作包括用以进入抢单详情页的点击操作,所述当前操作数据包括当前点击数据。所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:采集所述当前用户在所述抢单大厅页下执行点击操作时产生的当前点击坐标及与所述当前点击坐标对应的第二当前按压力度。
可选地,所述目标页面包括抢单详情页,所述目标操作包括用以触发抢单的第二滑动操作,所述当前操作数据包括第二当前滑动数据。所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:采集所述当前用户从开始执行所述第二滑动操作至结束所述第二滑动操作期间产生的所有第二初始滑动数据,所述第二初始滑动数据包括第二当前滑动坐标及与每个所述第二滑动坐标分别对应的第三当前按压力度;判断所述第二初始滑动数据的数量是否小于第二预设数量;若是,则确定采集到的所有所述第二初始滑动数据为第二目标滑动数据;若否,则根据所述第二初始滑动数据的数量及所述第二预设数量计算第二数据采集间隔;根据所述第二数据采集间隔从所述第二初始滑动数据中选取出所述第二预设数量的所述第二初始滑动数据以作为第二当前滑动数据。
可选地,所述抢单外挂检测方法还包括:判断所述本地历史操作数据的数量是否小于所述第一预定数量;若是,则确定本地防御机制验证通过;若否,则获取第一预定数量的存储在本地的所述当前用户的本地历史操作数据。
可选地,所述比对所述当前操作数据与所述本地历史操作数据之间的差异,判断所述差异是否满足本地验证条件,包括:判断所述当前操作数据与所述本地历史操作数据的差异是否满足多个所述本地验证条件中的至少一个;若是,则检测为存在外挂行为并生成抢单失败的抢单结果;若否,则确定本地防御机制验证通过。其中,所述本地验证条件包括:所述当前操作数据与所述第一预定数量的所述本地历史操作数据中的每一组均相等;或所述当前操作数据包括当前滑动坐标,所述本地历史操作数据包括本地历史滑动坐标,计算所述当前操作数据中第一个当前滑动坐标与最后一个当前滑动坐标之间的第一差值,计算每一组本地历史操作数据中第一个本地历史滑动坐标与最后一个本地历史滑动坐标之间的第二差值,所述第一差值与各个第二差值均相等。
可选地,所述设备端与所述服务端通信,在所述本地防御机制验证通过时,所述抢单外挂检测方法还包括:将所述当前操作数据上传至所述服务端;接收所述服务端反馈的结果。
可选地,所述将所述当前操作数据上传至所述服务端,包括:格式化所述当前操作数据以得到当前格式化操作数据;对所述当前格式化操作数据加密以得到当前加密操作数据;对所述当前加密数据进行编码以得到当前编码操作数据;将所述当前格式化操作数据及所述当前编码操作数据上传至所述服务端。
此外,本申请的实施例根据另一个方面,提供了一种抢单外挂检测方法,用于服务端,所述服务端与设备端通信。抢单外挂检测方法包括:接收所述设备端发送的当前用户的当前操作数据;获取第二预定数量的存储在所述服务端的所述当前用户的服务端历史操作数据,所述第二预定数量的服务端历史操作数据为所述当前用户的所有服务端历史操作数据中操作时刻距离当前时刻最近的数据;比对所述当前操作数据及服务端历史数据之间的差异,判断所述差异是否满足服务端验证条件;若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端。
可选地,所述接收所述设备端发送的当前用户的当前操作数据,包括:接收所述设备端发送的当前格式化操作数据及当前编码操作数据,所述当前格式化操作数据由所述设备端格式化处理所述当前操作数据得到,所述当前编码操作数据由所述设备端编码加密后的当前格式化操作数据得到。所述抢单外挂检测方法还包括:对所述当前格式化操作数据进行加密以获得服务端的当前加密操作数据,并对所述服务端的当前加密操作数据进行编码以获得所述服务端的当前编码操作数据,所述当前格式化操作数据在所述服务端的加密操作与所述当前格式化操作数据在所述设备端的加密操作一致,所述当前加密操作数据在所述服务端的编码操作与所述当前加密操作数据在所述设备端的编码操作一致;比较所述服务端的当前编码操作数据与所述设备端的当前编码操作数据是否相同;若否,则生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端。
可选地,在所述服务端的当前编码操作数据与所述设备端的当前编码操作数据相同时,所述比对所述当前操作数据及服务端历史数据之间的差异,判断所述差异是否满足服务端验证条件,包括:判断所述当前格式化操作数据与所述服务端历史操作数据的差异是否满足多个服务端验证条件中的至少两个;若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端;若否,则确定服务端防御机制验证通过。其中,所述服务端验证条件包括:所述当前格式化操作数据中的第一个当前操作数据与每一组服务端历史操作数据中的第一个服务端历史操作数据均相等,所述当前格式化操作数据中的最后一个当前操作数据与每一组服务端历史操作数据中的最后一个服务端历史操作数据均相等;或所述当前格式化操作数据包括当前按压力度,所述服务端历史操作数据包括服务端历史按压力度,每一个所述当前按压力度与每一组服务端历史操作数据中的对应的所述历史按压力度均相等;或所述当前格式化操作数据包括当前滑动坐标,所述服务端历史操作数据包括服务端历史滑动坐标,计算所述当前滑动操作的所有所述当前滑动坐标中X轴最大值与X轴最小值之间的第一差数,计算所述当前滑动操作的所有所述当前滑动坐标中Y轴最大值与Y轴最小值之间的第二差数,计算每一组所述服务端历史滑动坐标中X轴最大值与X轴最小值之间的第三差数,计算每一组所述服务端历史滑动坐标中Y轴最大值与Y轴最小值之间的第四差数,所述第一差数与各个所述第三差数均相等,所述第二差数与各个所述第四差数均相等。
可选地,在确定所述服务端防御机制验证通过时,所述抢单外挂检测方法还包括:判断所述服务端的外挂轨迹特征库中是否存在与所述当前操作数据相同的数据;若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端;若否,则生成抢单成功的抢单结果,并发送所述抢单成功的抢单结果至所述设备端。
此外,本申请的实施例根据再一个方面,提供了一种计算机设备,所述计算机包括一个或多个处理器;存储器;一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行上述任一实施例所述的抢单外挂检测方法。
本申请与现有技术相比,具有以下有益效果:
本申请提供的抢单外挂检测方法和计算机设备,不依赖于外挂特征码以及外部运行环境检测,即使外挂频繁更新或者使用加固外壳,或者外挂使用者通过在手机操作系统中安装破解插件将外挂行为进行伪装以避开APP内常规环境监测手段,依然可以通过用户的历史行为数据来识别未知外挂,以达到防止外挂的目的。
本申请附加的方面和优点将在下面的描述中部分给出,这些将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为本申请某些实施方式的抢单外挂检测方法的方法流程图;
图2为本申请某些实施方式的抢单外挂检测装置的模块示意图;
图3为本申请某些实施方式的设备端与服务端通信的示意图;
图4至图9为本申请某些实施方式的抢单外挂检测方法的方法流程图;
图10为本申请某些实施方式的抢单外挂检测装置的模块示意图;
图11为本申请某些实施方式的抢单外挂检测方法的方法流程图;
图12为本申请某些实施方式的抢单外挂检测方法的方法流程图;
图13为本申请某些实施方式的计算机设备的示意图。
具体实施方式
下面详细描述本申请的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本申请,而不能解释为对本申请的限制。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
请参阅图1、图3和图12,本申请实施方式提供了一种抢单外挂检测方法。该抢单外挂检测方法用于设备端。该抢单外挂检测方法包括:
S11:采集当前用户在目标页面执行目标操作时的当前操作数据;
S12:当目标操作触发抢单时,获取第一预定数量的存储在本地的当前用户的本地历史操作数据,第一预定数量的本地历史操作数据为当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据;
S13:比对当前操作数据与本地历史操作数据之间的差异,判断差异是否满足本地验证条件;
S14:若是,则检测为存在外挂行为并生成抢单失败的抢单结果。
请继续参阅图1至图3,本申请实施例提供了一种抢单外挂检测装置。该抢单外挂检测装置10用于设备端100。本申请实施例方式的抢单外挂检测方法可以由本申请实施方式的抢单外挂检测装置10实现。其中,抢单外挂检测装置10包括采集模块11、第一获取模块12、第一判断模块13及第一生成模块14。步骤S11可以由采集模块11实现。步骤S12可以由第一获取模块12实现。步骤S13可以由第一判断模块13实现。步骤S14可以由第一生成模块14实现。
也即是说,采集模块11可以用于采集当前用户在目标页面执行目标操作时的当前操作数据。第一获取模块12可以用于当目标操作触发抢单时,获取第一预定数量的存储在本地的当前用户的本地历史操作数据,第一预定数量的本地历史操作数据为当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据。第一判断模块13可以用于比对当前操作数据与本地历史操作数据之间的差异,判断差异是否满足本地验证条件。第一生成模块14可以用于在差异满足本地验证条件时检测为存在外挂行为并生成抢单失败的抢单结果。
需要说明的是,本申请实施方式的设备端100可以是手机、平板电脑、笔记本电脑、智能手表、智能手环、智能眼镜、智能头盔等。本申请的各实施方式以设备端100是手机为例进行说明,但并不限于此。
请结合图3,可以理解,同一款抢单APP通常具有多个用户使用。本申请的当前用户指的是每一个在当前时刻下在手机上使用抢单APP的用户。每一个当前用户的当前操作数据是与该当前用户的本地历史操作数据进行比较。具体而言,当前用户一的当前操作数据与当前用户一的本地历史操作数据进行比较,当前用户二的当前操作数据与当前用户二的本地历史操作数据进行比较,以此类推。
第一预定数量的存储在本地的当前用户的本地历史操作数据指的是当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据,换言之,第一预定数量的本地历史操作数据是当前用户最近操作生成的最新的本地历史操作数据,将这些最新的本地历史操作数据与当前用户的当前操作数据进行比对,有利于提升检测结果的准确性。
本申请实施方式的抢单外挂检测方法及抢单外挂检测装置10通过比较当前用户的当前操作数据与该当前用户最新的本地历史操作数据之间的差异来进行外挂行为的检测,而不依赖于外挂特征码以及外部运行环境检测。即使外挂频繁更新或者使用加固外壳,或者外挂使用者通过在手机操作系统中安装破解插件将外挂行为进行伪装以避开APP内常规环境监测手段,本申请实施方式的抢单外挂检测方法及抢单外挂检测装置10依然可以通过用户的历史行为数据来识别未知外挂,以达到防止外挂的目的,具有较高的外挂防御效果。
请参阅图4,在某些实施方式中,目标页面包括抢单大厅页,目标操作包括用以浏览订单列表的第一滑动操作,当前操作数据包括第一当前滑动数据。步骤S11采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
S1111:采集当前用户从开始执行第一滑动操作至结束第一滑动操作期间产生的所有第一初始滑动数据,第一初始滑动数据包括第一当前滑动坐标及与每个第一当前滑动坐标分别对应的第一当前按压力度;
S1112:判断第一初始滑动数据的数量是否小于第一预设数量;
S1113:若是,则确定采集到的所有第一初始滑动数据为第一当前滑动数据;
S1114:若否,则根据第一初始滑动数据的数量及第一预设数量计算第一数据采集间隔;
S1115:根据第一数据采集间隔从第一初始滑动数据中选取出第一预设数量的第一初始滑动数据作为第一当前滑动数据。
请参阅图2,在某些实施方式中,步骤S1111至步骤S1115可以由采集模块11实现。也即是说,采集模块11可以用于采集当前用户从开始执行第一滑动操作至结束第一滑动操作期间产生的所有第一初始滑动数据,第一初始滑动数据包括第一当前滑动坐标及与每个第一当前滑动坐标分别对应的第一当前按压力度。采集模块11还可以用于判断第一初始滑动数据的数量是否小于第一预设数量。采集模块11还可以用于在第一初始滑动数据的数量小于第一预设数量时确定采集到的所有第一初始滑动数据为第一当前滑动数据。采集模块11还可以用于在第一初始滑动数据的数量大于或等于第一预设数量时根据第一初始滑动数据的数量及第一预设数量计算第一数据采集间隔,并根据第一数据采集间隔从第一初始滑动数据中选取出第一预设数量的第一初始滑动数据作为第一当前滑动数据。
具体地,图3所示的设备端100包括具有触摸功能的屏幕。在设备端100显示抢单大厅页时,当前用户可以通过在屏幕上执行第一滑动操作来实现抢单大厅页中订单列表的浏览。那么,在当前用户执行第一滑动操作过程中,设备端100可以记录下当前用户从第一滑动操作开始至第一滑动操作结束这整个过程之间的多个第一当前滑动坐标(Xn,Yn)以及与多个第一当前滑动坐标(Xn,Yn)一一对应的第一当前按压力度Zn,其中,n为正整数。多个第一当前滑动坐标(Xn,Yn)及多个第一当前按压力度Zn可以拼接成字符串(Xn|Yn|Zn),每个字符串可以作为一个第一初始滑动数据,并存储于数组array_list中。设备端100可以判断第一初始滑动数据的数量是否小于第一预设数量,此处假设第一预设数量为10,在其他例子中,第一预设数量也可以是5、12、17、20、38、80、100等,在此不作限制。若第一初始滑动数据的数量小于10个,则这10个第一初始滑动数据均作为采样数据,也即第一当前滑动数据。若第一初始滑动数据的数量大于或等于10个,则将第一初始滑动数据的总数量除以10以得到结果m,m不为整数时向下取整,采样时,从所有第一初始滑动数据中的第一个数据开始,每间隔m-1(即第一数据采集间隔)个数据记录一次采样点,直到采样点达到10个则采样完毕,采样得到的10个第一初始滑动数据即作为最终的第一当前滑动数据。例如,假设第一初始滑动数据的总数量为21,则将21除以10得到2.1,2.1向下取整后为2,则第一数据采集间隔为1=2-1。因此,在21个第一初始滑动数据中,选取第一个数据、第三个数据、第五个数据...以此类推,直至选取到第二十个数据后则采样完毕,此时采样出来的10个第一初始滑动数据即作为最终的第一当前滑动数据。通过图4所示的方式来采集第一当前滑动数据,既能够避免数据过多导致运算量过大的问题,又可以保证能够获取到足够多且代表性较强的数据,有利于提升后续检测结果的准确性。
需要说明的是,当第一初始滑动数据的数量恰好等于第一预设数量时,也可以直接将该第一预设数量的第一初始滑动数据直接作为第一当前滑动数据。
请参阅图5,在某些实施方式中,目标页面包括抢单大厅页,目标操作包括用以进入抢单详情页的点击操作,当前操作数据包括当前点击数据。步骤S11采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
S1121:采集当前用户在抢单大厅页下执行点击操作时产生的当前点击坐标及与当前点击坐标对应的第二当前按压力度。
请参阅图2,在某些实施方式中,步骤S1121可以由采集模块11实现。也即是说,采集模块11还可以用于采集当前用户在抢单大厅页下执行点击操作时产生的当前点击坐标及与当前点击坐标对应的第二当前按压力度。
具体地,请结合图3,在当前用户点击抢单大厅页中的某一订单时,设备端100会显示抢单详情页,且会记录当前用户执行该点击操作时产生的当前点击坐标(X,Y)及与当前点击坐标(X,Y)对应的第二当前按压力度Z。设备端100可以将当前点击坐标(X,Y)及对应的第二当前按压力度Z拼接成字符串(X|Y|Z),并存储于字符串point中。该字符串(X|Y|Z)即作为当前点击数据。
请参阅图6,在某些实施方式中,目标页面包括抢单详情页,目标操作包括用以触发抢单的第二滑动操作,当前操作数据包括第二当前滑动数据。步骤S11采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
S1131:采集当前用户从开始执行第二滑动操作至结束第二滑动操作期间产生的所有第二初始滑动数据,第二初始滑动数据包括第二当前滑动坐标及与每个第二滑动坐标分别对应的第三当前按压力度;
S1132:判断第二初始滑动数据的数量是否小于第二预设数量;
S1133:若是,则确定采集到的所有第二初始滑动数据为第二目标滑动数据;
S1134:若否,则根据第二初始滑动数据的数量及第二预设数量计算第二数据采集间隔;
S1135:根据第二数据采集间隔从第二初始滑动数据中选取出第二预设数量的第二初始滑动数据以作为第二当前滑动数据。
请参阅图2,在某些实施方式中,步骤S1131至步骤S1135可以由采集模块11实现。也即是说,采集模块11可以用于采集当前用户从开始执行第二滑动操作至结束第二滑动操作期间产生的所有第二初始滑动数据,第二初始滑动数据包括第二当前滑动坐标及与每个第二滑动坐标分别对应的第三当前按压力度。采集模块11还可以用于判断第二初始滑动数据的数量是否小于第二预设数量。采集模块11还可以用于在第二初始滑动数据的数量小于第二预设数量时确定采集到的所有第二初始滑动数据为第二目标滑动数据。采集模块11还可以用于在第二初始滑动数据的数量大于或等于第二预设数量时根据第二初始滑动数据的数量及第二预设数量计算第二数据采集间隔,并根据第二数据采集间隔从第二初始滑动数据中选取出第二预设数量的第二初始滑动数据以作为第二当前滑动数据。
具体地,在图3所示的设备端100显示抢单详情页时,当前用户可以通过在屏幕上执行第二滑动操作来实现抢单的触发。那么,在当前用户执行第二滑动操作过程中,设备端100可以记录下当前用户从第二滑动操作开始至第二滑动操作结束这整个过程之间的多个第二当前滑动坐标(Xn,Yn)以及与多个第二当前滑动坐标(Xn,Yn)一一对应的第三当前按压力度Zn,设备端可以多个第二当前滑动坐标(Xn,Yn)及多个第三当前按压力度Zn拼接成字符串(Xn|Yn|Zn),并将每个字符串作为一个第二初始滑动数据,并存储于数组array_slide中。设备端100可以判断第二初始滑动数据的数量是否小于第二预设数量,此处假设第二预设数量为10,在其他例子中,第二预设数量也可以是3、5、8、17、20、38、80、100、200等,在此不作限制。若第二初始滑动数据的数量小于10个,则这10个第二初始滑动数据均作为采样数据,也即第二当前滑动数据。若第二初始滑动数据的数量大于或等于10个,则将第二初始滑动数据的总数量除以10以得到结果m,m不为整数时向下取整,采样时,从所有第二初始滑动数据中的第一个数据开始,每间隔m-1(即第二数据采集间隔)个数据记录一次采样点,直到采样点达到10个则采样完毕,采样得到的10个第二初始滑动数据即作为最终的第二当前滑动数据。例如,假设第二初始滑动数据的总数量为21,则将21除以10得到2.1,2.1向下取整后为2,则第二数据采集间隔为1=2-1。因此,在21个第二初始滑动数据中,选取第一个数据、第三个数据、第五个数据...以此类推,直至选取到第二十个数据后则采样完毕,此时采样出来的10个第二初始滑动数据即作为最终的第二当前滑动数据。通过图6所示的方式来采集第二当前滑动数据,既能够避免数据过多导致运算量过大的问题,又可以保证能够获取到足够多且代表性较强的数据,有利于提升后续检测结果的准确性。
需要说明的是,当第二初始滑动数据的数量恰好等于第二预设数量时,也可以直接将该第二预设数量的第二初始滑动数据直接作为第二当前滑动数据。
此外,在某些实施方式中,目标操作可以包括上述三个操作中的至少一个,对应地,当前操作数据包括上述三类数据中的至少一种数据。在本申请的一个实施例中,目标操作同时包括第一滑动操作、点击操作、第二滑动操作,当前操作数据包括第一当前滑动数据、点击数据、第二当前滑动数据。
请参阅图7,在某些实施方式中,抢单外挂检测方法还包括:
S15:判断本地历史操作数据的数量是否小于第一预定数量;
S16:若是,则确定本地防御机制验证通过;
S12:若否,则获取第一预定数量的存储在本地的当前用户的本地历史操作数据。
请参阅图2,在某些实施方式中,步骤15可以由第二判断模块15实现。步骤S16可以由第一确定模块16实现。步骤S12可以由第一获取模块12实现。也即是说,第二判断模15可以用于判断本地历史操作数据的数量是否小于第一预定数量。第一确定模块16可以用于在本地历史操作数据的数量小于第一预定数量时确定本地防御机制验证通过。第一获取模块12可以用于在本地历史操作数据的数量大于或等于第一预定数量时,获取第一预定数量的存储在本地的当前用户的本地历史操作数据。
其中,第一预定数量可以是2、3、5、8、10、26、40、50等,在此不作限制。需要说明的是,此处的第一预定数量的单位为组,判断本地历史操作数据的数量是否小于第一预定数量可理解为本地存储的本地历史操作数据的组数是否小于第一预定组数,其中,每一组本地历史操作数据中的数据是由设备端100记录当前用户在过去某一时刻执行某一操作而得到的。可以理解,当本地历史操作数据的数量小于第一预定数量时,一定程度上可以说明当前用户较少使用该抢单APP进行抢单,由此,可以使得当前用户直接通过本地防御机制的验证。
请参阅图7,在某些实施方式中,步骤13比对当前操作数据与本地历史操作数据之间的差异,判断差异是否满足本地验证条件,包括:
S131:判断当前操作数据与本地历史操作数据的差异是否满足多个本地验证条件中的至少一个;
S14:若是,则检测为存在外挂行为并生成抢单失败的抢单结果;
S16:若否,则确定本地防御机制验证通过。
请参阅图2,在某些实施方式中,步骤S131可以由第一判断模块13实现。步骤S14可以由第一生成模块14实现。步骤S16可以由第一确定模块16实现。也即是说,第一判断模块13可以用于判断当前操作数据与本地历史操作数据的差异是否满足多个本地验证条件中的至少一个。第一生成模块14可以用于在当前操作数据与本地历史操作数据的差异满足多个本地验证条件中的至少一个时,检测为存在外挂行为并生成抢单失败的抢单结果。第一判断模块13可以用于在当前操作数据与本地历史操作数据的差异不满足多个本地验证条件中的至少一个时,确定本地防御机制验证通过。
其中,本地验证条件包括以下两种。
第一种:当前操作数据与第一预定数量的本地历史操作数据中的每一组均相等。
具体地,以当前操作数据为第一当前滑动数据为例,假设第一当前滑动数据为:array_list[0]=(X0|Y0|Z0)、array_list[1]=(X1|Y1|Z1)...array_list[9]=(X9|Y9|Z9);本地历史操作数据包括三组,分别为:array_list_history1[0]=(X0|Y0|Z0)、array_list_history1[1]=(X1|Y1|Z1)...array_list_history1[9]=(X9|Y9|Z9);array_list_history2[0]=(X0|Y0|Z0)、array_list_history2[1]=(X1|Y1|Z1)...array_list_history2[9]=(X9|Y9|Z9);array_list_history3[0]=(X0|Y0|Z0)、array_list_history3[1]=(X1|Y1|Z1)...array_list_history3[9]=(X9|Y9|Z9)。那么,array_list[0]=(X0|Y0|Z0)中的X0、Y0、Z0应分别等于array_list_history1[0]=(X0|Y0|Z0)中的X0、Y0、Z0,且分别等于array_list_history2[0]=(X0|Y0|Z0)中的X0、Y0、Z0,且分别等于array_list_history3[0]=(X0|Y0|Z0)中的X0、Y0、Z0;同样地,array_list[1]=(X1|Y1|Z1)中的X1、Y1、Z1应分别等于array_list_history1[1]=(X1|Y1|Z1)中的X1、Y1、Z1,且分别等于array_list_history2[1]=(X1|Y1|Z1)中的X1、Y1、Z1,且分别等于array_list_history3[1]=(X1|Y1|Z1)中的X1、Y1、Z1...以此类推,array_list[9]=(X9|Y9|Z9)中的X9、Y9、Z9应分别等于array_list_history1[9]=(X9|Y9|Z9)中的X9、Y9、Z9,且分别等于array_list_history2[9]=(X9|Y9|Z9)中的X9、Y9、Z9,且分别等于array_list_history3[9]=(X9|Y9|Z9)中的X9、Y9、Z9。
第二当前滑动数据与本地历史操作数据的比对过程与第一当前滑动数据与本地历史操作数据的比对过程相同,在此不再赘述。
在当前操作数据为当前点击数据时,假设当前点击数据为:point1=(X|Y|Z),本地历史点击数据包括三组,分别为:point_history1=(X|Y|Z)、point_history2=(X|Y|Z)、point_history3=(X|Y|Z)。那么,point1=(X|Y|Z)中的X、Y、Z应分别等于point_history1=(X|Y|Z)中的X、Y、Z、point_history2=(X|Y|Z)中的X、Y、Z、point_history3=(X|Y|Z)中的X、Y、Z。
需要说明的是,对于此处叙述的第一种条件:可以是在任意一个目标操作的当前操作数据满足该第一种条件时,认定存在外挂行为;也可以是在任意两个目标操作的当前操作数据该第一种条件时,认定存在外挂行为;还可以是三个目标操作(即所有目标操作)的当前操作数据均满足该第一种条件时,认定存在外挂行为。
第二种:当前操作数据包括当前滑动坐标,本地历史操作数据包括本地历史滑动坐标,计算当前操作数据中第一个当前滑动坐标与最后一个当前滑动坐标之间的第一差值,计算每一组本地历史操作数据中第一个本地历史滑动坐标与最后一个本地历史滑动坐标之间的第二差值,第一差值与各个第二差值均相等。
具体地,以当前操作数据为第一当前滑动数据为例,假设第一当前滑动数据为:array_list[0]=(X0|Y0|Z0)、array_list[1]=(X1|Y1|Z1)...array_list[9]=(X9|Y9|Z9);本地历史操作数据包括三组,分别为:array_list_history1[0]=(X0|Y0|Z0)、array_list_history1[1]=(X1|Y1|Z1)...array_list_history1[9]=(X9|Y9|Z9);array_list_history2[0]=(X0|Y0|Z0)、array_list_history2[1]=(X1|Y1|Z1)...array_list_history2[9]=(X9|Y9|Z9);array_list_history3[0]=(X0|Y0|Z0)、array_list_history3[1]=(X1|Y1|Z1)...array_list_history3[9]=(X9|Y9|Z9)。那么,计算array_list[0]=(X0|Y0|Z0)的X0与array_list[9]=(X9|Y9|Z9)的X9之间的差值ΔX、array_list[0]=(X0|Y0|Z0)的Y0与array_list[9]=(X9|Y9|Z9)的Y9之间的差值ΔY,ΔX和ΔY即为第一差值。并且,计算array_list_history1[0]=(X0|Y0|Z0)的X0与array_list_history1[9]=(X9|Y9|Z9)的X9之间的差值ΔX1、array_list_history1[0]=(X0|Y0|Z0)的Y0与array_list_history1[9]=(X9|Y9|Z9)的Y9之间的差值ΔY1,计算array_list_history2[0]=(X0|Y0|Z0)的X0与array_list_history2[9]=(X9|Y9|Z9)的X9之间的差值ΔX2、array_list_history2[0]=(X0|Y0|Z0)的Y0与array_list_history2[9]=(X9|Y9|Z9)的Y9之间的差值ΔY2,计算array_list_history3[0]=(X0|Y0|Z0)的X0与array_list_history3[9]=(X9|Y9|Z9)的X9之间的差值ΔX3、array_list_history3[0]=(X0|Y0|Z0)的Y0与array_list_history3[9]=(X9|Y9|Z9)的Y9之间的差值ΔY3,其中,ΔX1和ΔY1为一组第二差值,ΔX2和ΔY2为另一组第二差值,ΔX3和ΔY3为再一组第二差值,则,ΔX应分别与ΔX1、ΔX2、ΔX3相等,ΔY应分别与ΔY1、ΔY2、ΔY3相等。
第二当前滑动数据与本地历史操作数据的比对过程与第一当前滑动数据与本地历史操作数据的比对过程相同,在此不再赘述。
需要说明的是,对于此处叙述的第二种条件,可以是在第一当前滑动数据或第二当前滑动数据满足该第二种条件时,认定存在外挂行为,也可以是在第一当前滑动数据和第二当前滑动数据均满足该第二种条件时,认定存在外挂行为。
请参阅图3和图7,在某些实施方式中,设备端100与服务端200通信,在本地防御机制验证通过时,抢单外挂检测方法还包括:
S17:将当前操作数据上传至服务端200;
S18:接收服务端200反馈的结果。
请参阅图2和图3,在某些实施方式中,步骤S17可以由上传模块17实现。步骤S18可以由第一接收模块18实现。也即是说,上传模块17可以用于将当前操作数据上传至服务端200。第一接收模块18可以用于接收服务端200反馈的结果。
具体地,在本地防御机制验证通过时,设备端100可以将采集到的当前数据上传至服务端200,以在服务端200做进一步的验证,以获得更准确的检测结果。
请参阅图8,在某些实施方式中,步骤S17将当前操作数据上传至服务端,包括:
S171:格式化当前操作数据以得到当前格式化操作数据;
S172:对当前格式化操作数据加密以得到当前加密操作数据;
S173:对当前加密数据进行编码以得到当前编码操作数据;
S174:将当前格式化操作数据及当前编码操作数据上传至服务端。
请参阅图2,在某些实施方式中,步骤S171至步骤S174均可以由上传模块17实现。也即是说,上传模块17可以用于格式化当前操作数据以得到当前格式化操作数据,对当前格式化操作数据加密以得到当前加密操作数据,对当前加密数据进行编码以得到当前编码操作数据,将当前格式化操作数据及当前编码操作数据上传至服务端。
具体地,请结合图3,设备端100将当前操作数据分别以array_list、array_slide、point为key转换为json字符串,以UTF-8格式编码以得到当前格式化操作数据。并且,设备端将这个json字符串拼接一段与服务端协商好的一定长度的密文以得到当前加密操作数据。随后,设备端对当前加密操作数据进行MD5编码后以得到当前编码操作数据。随后,设备端100将当前格式化操作数据及当前编码操作数据一并上报到服务端,以供服务端校验数据的有效性和完整性。
请参阅图3、图9和图12,本申请实施方式还提供一种抢单外挂检测方法,该抢单外挂检测方法用于服务端200,服务端200与设备端100通信。抢单外挂检测方法包括:
S21:接收设备端100发送的当前用户的当前操作数据;
S22:获取第二预定数量的存储在服务端200的当前用户的服务端历史操作数据,第二预定数量的服务端历史操作数据为当前用户的所有服务端历史操作数据中操作时刻距离当前时刻最近的数据;
S23:比对当前操作数据及服务端历史数据之间的差异,判断差异是否满足服务端验证条件;
S24:若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端100。
请参阅图3、图9和图10,本申请实施方式还提供一种抢单外挂检测装置20。该抢单外挂检测装置20用于服务端200,服务端200与设备端100通信。本申请实施例方式的抢单外挂检测方法可以由本申请实施方式的抢单外挂检测装置20实现。其中,抢单外挂检测装置20包括第二接收模块21、第二获取模块22、第三判断模块23及第二生成模块24。步骤S21可以由第二接收模块21实现。步骤S22可以由第二获取模块22实现。步骤S23可以由第三判断模块23实现。步骤S24可以由第二生成模块24实现。
也即是说,第二接收模块21可以用于接收设备端100发送的当前用户的当前操作数据。第二获取模块22可以用于获取第二预定数量的存储在服务端200的当前用户的服务端历史操作数据,第二预定数量的服务端历史操作数据为当前用户的所有服务端历史操作数据中操作时刻距离当前时刻最近的数据。第三判断模块23可以用于比对当前操作数据及服务端历史数据之间的差异,判断差异是否满足服务端验证条件。第二生成模块24可以用于在差异满足服务端验证条件时检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端100。
其中,服务端200可以通过有线或无线通信方式与设备端100通信,在此不作限制。第二预定数量的存储在服务端200的当前用户的服务端历史操作数据指的是当前用户的所有服务端历史操作数据中操作时刻距离当前时刻最近的数据,换言之,第二预定数量的服务端历史操作数据是当前用户最近操作生成的并且上传到了服务端200的服务端历史操作数据,将这些最新的服务端历史操作数据与当前用户操作数据进行比对,有利于提升检测结果的准确性。
此外,请结合图3,每一个当前用户的当前操作数据是与该当前用户的服务端历史操作数据进行比较。具体而言,当前用户一的当前操作数据与当前用户一的服务端历史操作数据进行比较,当前用户二的当前操作数据与当前用户二的服务端历史操作数据进行比较,以此类推。
另外,第二预定数量可以是2、3、5、8、10、26、40、50、100等,在此不作限制。需要说明的是,此处的第二预定数量的单位为组。每一组服务端历史操作数据中的数据是由设备端100记录当前用户在过去某一时刻执行某一操作而得到并发送至服务端200的。
本申请实施方式的抢单外挂检测方法及抢单外挂检测装置20通过比较当前用户的当前操作数据与该当前用户最新的服务端历史操作数据之间的差异来进行外挂行为的检测,而不依赖于外挂特征码以及外部运行环境检测。即使外挂频繁更新或者使用加固外壳,或者外挂使用者通过在手机操作系统中安装破解插件将外挂行为进行伪装以避开APP内常规环境监测手段,本申请实施方式的抢单外挂检测方法及抢单外挂检测装置20依然可以通过用户的历史行为数据来识别未知外挂,以达到防止外挂的目的,具有较高的外挂防御效果。
请参阅图3和图11,在某些实施方式中,步骤S21接收设备端100发送的当前用户的当前操作数据,包括:
S211:接收设备端100发送的当前格式化操作数据及当前编码操作数据,当前格式化操作数据由设备端100格式化处理当前操作数据得到,当前编码操作数据由设备端100编码加密后的当前格式化操作数据得到;
抢单外挂检测方法还包括:
S25:对当前格式化操作数据进行加密以获得服务端200的当前加密操作数据,并对当前加密操作数据进行编码以获得服务端200的当前编码操作数据,当前格式化操作数据在服务端200的加密操作与当前格式化操作数据在设备端100的加密操作一致,当前加密操作数据在服务端200的编码操作与当前加密操作数据在设备端100的编码操作一致;
S26:比较服务端200的当前编码操作数据与设备端100的当前编码操作数据是否相同;
S27:若否,则生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端。
请参阅图3和图10,在某些实施方式中,步骤S211可以由第二接收模块21实现。步骤S25可以由处理模块25实现。步骤S26可以由第四判断模块26实现。步骤S27可以由第二生成模块24实现。也即是说,第二接收模块21可以用于接收设备端100发送的当前格式化操作数据及当前编码操作数据,当前格式化操作数据由设备端100格式化处理当前操作数据得到,当前编码操作数据由设备端100编码加密后的当前格式化操作数据得到。处理模块25可以用于对当前格式化操作数据进行加密以获得服务端200的当前加密操作数据,并对当前加密操作数据进行编码以获得服务端200的当前编码操作数据,当前格式化操作数据在服务端200的加密操作与当前格式化操作数据在设备端100的加密操作一致,当前加密操作数据在服务端200的编码操作与当前加密操作数据在设备端100的编码操作一致。第四判断模块26可以用于比较服务端200的当前编码操作数据与设备端100的当前编码操作数据是否相同。第二生成模块24可以用于在服务端200的当前编码操作数据与设备端100的当前编码操作数据不相同时生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端100。
具体地,请结合图3,设备端100将当前操作数据分别以array_list、array_slide、point为key转换为json字符串,以UTF-8格式编码以得到当前格式化操作数据。并且,设备端100将这个json字符串拼接一段与服务端协商好的一定长度的密文以得到当前加密操作数据。随后,设备端100对当前加密操作数据进行MD5编码后以得到当前编码操作数据。随后,设备端100将当前格式化操作数据及当前编码操作数据一并上报到服务端200。服务端200接收到当前格式化操作数据和当前编码数据后,首先将接收到的当前格式化操作数据中的json字符串拼接一段上述协商好的密文以得到服务端200的当前加密操作数据,再对服务端200的当前加密操作数据进行MD5编码得到服务端200的当前编码操作数据。随后,将服务端200的MD5参数(即服务端200的当前编码操作数据)与接收到的MD5参数(即设备端100的当前编码操作数据)进行对比,若一致则说明服务端200接收到的数据有效,则继续后续校验流程,不一致则说明服务端200接收到的数据无效,服务端200生成抢单失败的结果,并发送抢单失败的结果至设备端100。如此,通过校验数据的有效性,可以进一步保证检测结果的准确性。
请参阅图3和图11,在某些实施方式中,在服务端200的当前加密操作数据与设备端100的当前加密操作数据相同时,步骤S23比对当前操作数据及服务端历史数据之间的差异,判断差异是否满足服务端验证条件,包括:
S231:判断当前格式化操作数据与服务端历史操作数据的差异是否满足多个服务端验证条件中的至少两个;
S24:若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端100;
S29:若否,则确定服务端防御机制验证通过。
请参阅图3及图10,在某些实施方式中,步骤S231可以由第三判断模块23实现。步骤S24可以由第二生成模块24实现。步骤S29可以由第二确定模块28实现。也即是说,第三判断模块23可以用于判断当前格式化操作数据与服务端历史操作数据的差异是否满足多个服务端验证条件中的至少两个。第二生成模块24可以用于在当前格式化操作数据与服务端历史操作数据的差异满足多个服务端验证条件中的至少两个时,检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端100。第二确定模块28可以用于在当前格式化操作数据与服务端历史操作数据的差异不满足多个服务端验证条件中的至少两个时,确定服务端防御机制验证通过。
其中,服务端验证条件包括以下三种,但并不限于此。
第一种:当前格式化操作数据中的第一个当前操作数据与每一组服务端历史操作数据中的第一个服务端历史操作数据均相等,当前格式化操作数据中的最后一个当前操作数据与每一组服务端历史操作数据中的最后一个服务端历史操作数据均相等。
具体地,以当前操作数据为第一当前滑动数据为例,假设第一当前滑动数据为:array_list[0]=(X0|Y0|Z0)、array_list[1]=(X1|Y1|Z1)...array_list[9]=(X9|Y9|Z9)。服务端历史操作数据包括5组,分别为:array_list_history1[0]=(X0|Y0|Z0)、array_list_history1[1]=(X1|Y1|Z1)...array_list_history1[9]=(X9|Y9|Z9);array_list_history2[0]=(X0|Y0|Z0)、array_list_history2[1]=(X1|Y1|Z1)...array_list_history2[9]=(X9|Y9|Z9);array_list_history3[0]=(X0|Y0|Z0)、array_list_history3[1]=(X1|Y1|Z1)...array_list_history3[9]=(X9|Y9|Z9);array_list_history4[0]=(X0|Y0|Z0)、array_list_history4[1]=(X1|Y1|Z1)...array_list_history4[9]=(X9|Y9|Z9);array_list_history5[0]=(X0|Y0|Z0)、array_list_history5[1]=(X1|Y1|Z1)...array_list_history5[9]=(X9|Y9|Z9)。那么,array_list[0]=(X0|Y0|Z0)的X0、Y0、Z0应分别等于array_list_history1[0]=(X0|Y0|Z0)中的X0、Y0、Z0,且分别等于array_list_history2[0]=(X0|Y0|Z0)中的X0、Y0、Z0,且分别等于array_list_history3[0]=(X0|Y0|Z0)中的X0、Y0、Z0,且分别等于array_list_history4[0]=(X0|Y0|Z0)中的X0、Y0、Z0,且分别等于array_list_history5[0]=(X0|Y0|Z0)中的X0、Y0、Z0。array_list_history0[9]=(X9|Y9|Z9)中的X9、Y9、Z9应分别等于array_list_history1[9]=(X9|Y9|Z9)中的X9、Y9、Z9,且分别等于array_list_history2[9]=(X9|Y9|Z9)中的X9、Y9、Z9,且分别等于array_list_history3[9]=(X9|Y9|Z9)中的X9、Y9、Z9,且分别等于array_list_history4[9]=(X9|Y9|Z9)中的X9、Y9、Z9,且分别等于array_list_history5[9]=(X9|Y9|Z9)中的X9、Y9、Z9。
第二当前滑动数据与服务端历史操作数据的比对过程与第一当前滑动数据与服务端历史操作数据的比对过程相同,在此不再赘述。
需要说明的是,对于此处叙述的第一种条件,可以是在第一当前滑动数据或第二当前滑动数据满足该第一种条件时,认定存在外挂行为,也可以是在第一当前滑动数据和第二当前滑动数据均满足该第一种条件时,认定存在外挂行为。
第二种:当前格式化操作数据包括当前按压力度,服务端历史操作数据包括服务端历史按压力度,每一个当前按压力度与每一组服务端历史操作数据中的对应的历史按压力度均相等。
具体地,以当前操作数据为第一当前滑动数据为例,假设第一当前滑动数据为:array_list[0]=(X0|Y0|Z0)、array_list[1]=(X1|Y1|Z1)...array_list[9]=(X9|Y9|Z9)。服务端历史操作数据包括5组,分别为:array_list_history1[0]=(X0|Y0|Z0)、array_list_history1[1]=(X1|Y1|Z1)...array_list_history1[9]=(X9|Y9|Z9);array_list_history2[0]=(X0|Y0|Z0)、array_list_history2[1]=(X1|Y1|Z1)...array_list_history2[9]=(X9|Y9|Z9);array_list_history3[0]=(X0|Y0|Z0)、array_list_history3[1]=(X1|Y1|Z1)...array_list_history3[9]=(X9|Y9|Z9);array_list_history4[0]=(X0|Y0|Z0)、array_list_history4[1]=(X1|Y1|Z1)...array_list_history4[9]=(X9|Y9|Z9);array_list_history5[0]=(X0|Y0|Z0)、array_list_history5[1]=(X1|Y1|Z1)...array_list_history5[9]=(X9|Y9|Z9)。那么,array_list[0]=(X0|Y0|Z0)的Z0应等于array_list_history1[0]=(X0|Y0|Z0)的Z0,且等于array_list_history2[0]=(X0|Y0|Z0)的Z0,且等于array_list_history3[0]=(X0|Y0|Z0)的Z0,且等于array_list_history4[0]=(X0|Y0|Z0)的Z0,且等于array_list_history5[0]=(X0|Y0|Z0)的Z0。同样地,array_list[1]=(X1|Y1|Z1)的Z1应等于array_list_history1[1]=(X1|Y1|Z1)的Z1,且等于array_list_history2[1]=(X1|Y1|Z1)的Z1,且等于array_list_history3[1]=(X1|Y1|Z1)的Z1,且等于array_list_history4[1]=(X1|Y1|Z1)的Z1,且等于array_list_history5[1]=(X1|Y1|Z1)的Z1....以此类推,array_list[9]=(X9|Y9|Z9)的Z9应等于array_list_history1[9]=(X9|Y9|Z9)的Z9,且等于array_list_history2[9]=(X9|Y9|Z9)的Z9,且等于array_list_history3[9]=(X9|Y9|Z9)的Z9,且等于array_list_history4[9]=(X9|Y9|Z9)的Z9,且等于array_list_history5[9]=(X9|Y9|Z9)的Z9。
第二当前滑动数据与服务端历史操作数据的比对过程与第一当前滑动数据与服务端历史操作数据的比对过程相同,在此不再赘述。
在当前操作数据为当前点击数据时,假设当前点击数据为:point1=(X|Y|Z),服务端历史点击数据包括五组,分别为:point_history1=(X|Y|Z)、point_history2=(X|Y|Z)、point_history3=(X|Y|Z)、point_history4=(X|Y|Z)、point_history5=(X|Y|Z)。那么,point1=(X|Y|Z)中的Z应等于point_history1=(X|Y|Z)中的Z,且等于point_history2=(X|Y|Z)中的Z,且等于point_history3=(X|Y|Z)中的Z,且等于point_history4=(X|Y|Z)中的Z,且等于point_history5=(X|Y|Z)中的Z。
需要说明的是,对于此处叙述的第二种条件:可以是在任意一个目标操作的当前操作数据满足该第二种条件时,认定存在外挂行为;也可以是在任意两个目标操作数据满足该第二种条件时,认定存在外挂行为;还可以是三个目标操作(即所有目标操作)的当前操作数据均满足该第二种条件时时,认定存在外挂行为。
第三种:当前格式化操作数据包括当前滑动坐标,服务端历史操作数据包括服务端历史滑动坐标,计算当前滑动操作的所有当前滑动坐标中X轴最大值与X轴最小值之间的第一差数,计算当前滑动操作的所有当前滑动坐标中Y轴最大值与Y轴最小值之间的第二差数,计算每一组服务端历史滑动坐标中X轴最大值与X轴最小值之间的第三差数,计算每一组服务端历史滑动坐标中Y轴最大值与Y轴最小值之间的第四差数,第一差数与各个第三差数均相等,第二差数与各个第四差数均相等。
具体地,以当前操作数据为第一当前滑动数据为例,假设第一当前滑动数据为:array_list[0]=(X0|Y0|Z0)、array_list[1]=(X1|Y1|Z1)...array_list[9]=(X9|Y9|Z9)。服务端历史操作数据包括5组,分别为:array_list_history1[0]=(X0|Y0|Z0)、array_list_history1[1]=(X1|Y1|Z1)...array_list_history1[9]=(X9|Y9|Z9);array_list_history2[0]=(X0|Y0|Z0)、array_list_history2[1]=(X1|Y1|Z1)...array_list_history2[9]=(X9|Y9|Z9);array_list_history3[0]=(X0|Y0|Z0)、array_list_history3[1]=(X1|Y1|Z1)...array_list_history3[9]=(X9|Y9|Z9);array_list_history4[0]=(X0|Y0|Z0)、array_list_history4[1]=(X1|Y1|Z1)...array_list_history4[9]=(X9|Y9|Z9);array_list_history5[0]=(X0|Y0|Z0)、array_list_history5[1]=(X1|Y1|Z1)...array_list_history5[9]=(X9|Y9|Z9)。那么,从计算array_list[0]=(X0|Y0|Z0)~array_list[9]=(X9|Y9|Z9)中,选取出X轴的值最大的第一当前滑动数据及X轴的值最小的第一当前滑动数据,并选出Y轴的值最大的第一当前滑动数据及Y轴的值最小的第一当前滑动数据。随后,计算X轴的值最大的第一当前滑动数据及X轴的值最小的第一当前滑动数据之间的第一差数ΔXmax-min,计算Y轴的值最大的第一当前滑动数据及Y轴的值最小的第一当前滑动数据之间的第二差数ΔYmax-min。同理,可以算得服务端历史操作数据中:array_list_history1[0]=(X0|Y0|Z0)~array_list_history1[9]=(X9|Y9|Z9)的第三差数ΔX1max-min,第四差数ΔY1max-min;array_list_history2[0]=(X0|Y0|Z0)~array_list_history2[9]=(X9|Y9|Z9)的第三差数ΔX2max-min,第四差数ΔY2max-min;array_list_history3[0]=(X0|Y0|Z0)~array_list_history3[9]=(X9|Y9|Z9)的第三差数ΔX3max-min,第四差数ΔY3max-min;array_list_history4[0]=(X0|Y0|Z0)~array_list_history4[9]=(X9|Y9|Z9)的第三差数ΔX4max-min,第四差数ΔY4max-min;array_list_history5[0]=(X0|Y0|Z0)~array_list_history5[9]=(X9|Y9|Z9)的第三差数ΔX5max-min,第四差数ΔY5max-min。那么,ΔXmax-min应等于ΔX1max-min,且等于ΔX2max-min,且等于ΔX3max-min,且等于ΔX4max-min,且等于ΔX5max-min;ΔYmax-min应等于ΔY1max-min,且等于ΔY2max-min,且等于ΔY3max-min,且等于ΔY4max-min,且等于ΔY5max-min。
第二当前滑动数据与服务端历史操作数据的比对过程与第一当前滑动数据与服务端历史操作数据的比对过程相同,在此不再赘述。
需要说明的是,对于此处描述的第三种条件,可以是在第一滑动操作数据或者第二滑动操作数据满足该第三种条件时,认定存在外挂行为,也可以是第一滑动操作数据和第二滑动操作数据均满足该第三种条件时,认定存在外挂行为,在此不作限制。
另外,服务端防御机制中还可以预留接入外部系统的接口,允许接入大数据分析平台、人工智能分析平台等外部系统进行验证,外部系统直接返回验证结果,服务端防御机制根据外部系统的返回结果决定本次验证是否通过。此时,服务端防御机制由图3所示的服务端200的主服务器执行,外部系统设置在辅助服务器中,外部系统的验证由辅助服务器执行。
请参阅图3和图11,在某些实施方式中,在生成抢单失败的抢单结果时,抢单外挂检测方法还包括:
S28:将当前操作数据存储至服务端200的外挂轨迹特征库中。
请参阅图3和图10,在某些实施方式中,步骤S28可以由存储模块27实现。也即是说,存储模块27可以用于在生成抢单失败的抢单结果时,将当前操作数据存储至服务端200的外挂轨迹特征库中。
可以理解,在生成抢单失败的抢单结果时,将当前操作数据存储至服务端200的外挂轨迹特征库,可以增加外挂轨迹特征库中的数据量,使得该外挂轨迹特征库可以提供更全面的外挂轨迹特征数据,提升外挂防御的效果。
请参阅图3和图11,在某些实施方式中,在确定服务端防御机制验证通过时,抢单外挂检测方法还包括:
S30:判断服务端200的外挂轨迹特征库中是否存在与当前操作数据相同的数据;
S24:若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端;
S31:若否,则生成抢单成功的抢单结果,并发送抢单成功的抢单结果至设备端100。
请参阅图3和图10,在某些实施方式中,步骤S30可以由第五判断模块29实现。步骤S24和步骤S31均可以由第二生成模块24实现。也即是说,第五判断模块29可以用于判断服务端200的外挂轨迹特征库中是否存在与当前操作数据相同的数据。第二生成模块24可以用于在外挂轨迹特征库中存在与当前操作数据相同的数据时,检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端。第二生成模块24还可以用于在外挂轨迹特征库中不存在与当前操作数据相同的数据时,生成抢单成功的抢单结果,并发送抢单成功的抢单结果至设备端100。
具体地,在服务端防御机制验证通过之后,可以进一步进行特征库防御机制验证。可以将当前操作数据与服务端200的外挂轨迹特征库中的多个轨迹特征数据进行比对,看外挂轨迹特征库中是否存在与当前操作数据相同的轨迹特征数据。若存在,则可以确认当前操作数据是由外挂行为产生的,可以检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端100;若不存在,则可以确认当前操作数据并非由外挂行为产生,可以生成抢单成功的抢单结果,并发送抢单成功的抢单结果至设备端100。
本申请上述任一实施方式所述的抢单外挂检测方法及抢单外挂检测装置通过设置本地防御机制、服务端防御机制及特征库防御机制这三重防御机制来进行当前用户的当前操作数据的分析,可以有效地提升外挂行为检测的准确性。
本申请实施方式还提供一种抢单外挂检测方法,用于抢单外挂检测系统。抢单外挂检测系统包括设备端和服务端,设备端能够与服务端通信。该抢单外挂检测方法包括:设备端采集当前用户在目标页面执行目标操作时的当前操作数据;当目标操作触发抢单时,设备端获取第一预定数量的存储在本地的当前用户的本地历史操作数据,第一预定数量的本地历史操作数据为当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据;设备端比对当前操作数据与本地历史操作数据之间的差异,判断差异是否满足本地验证条件;若是,则设备端检测为存在外挂行为并生成抢单失败的抢单结果;若否,则设备端确定本地防御机制验证通过,并将当前操作数据上传至服务端;服务端接收设备端发送的当前用户的当前操作数据;服务端获取第二预定数量的存储在服务端的当前用户的服务端历史操作数据,第二预定数量的服务端历史操作数据为当前用户的所有服务端历史操作数据中操作时刻距离当前时刻最近的数据;服务端比对当前操作数据及服务端历史数据之间的差异,判断差异是否满足服务端验证条件;若是,则服务端检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端;设备端接收服务端反馈的结果。
本申请实施方式还提供一种抢单外挂检测装置,用于抢单外挂检测系统。抢单外挂检测系统包括设备端和服务端,设备端能够与服务端通信。抢单外挂检测装置包括采集模块、第一获取模块、第一判断模块、第一生成模块、上传模块、第一接收模块、第二接收模块、第二获取模块、第三判断模块及第二生成模块。采集模块可以用于采集当前用户在目标页面执行目标操作时的当前操作数据。第一获取模块可以用于当目标操作触发抢单时,获取第一预定数量的存储在本地的当前用户的本地历史操作数据,第一预定数量的本地历史操作数据为当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据。第一判断模块可以用于比对当前操作数据与本地历史操作数据之间的差异,判断差异是否满足本地验证条件。第一生成模块可以用于在差异满足本地验证条件时检测为存在外挂行为并生成抢单失败的抢单结果。第二接收模块可以用于接收设备端发送的当前用户的当前操作数据。上传模块可以用于将当前操作数据上传至服务端。第二获取模块可以用于获取第二预定数量的存储在服务端的当前用户的服务端历史操作数据,第二预定数量的服务端历史操作数据为当前用户的所有服务端历史操作数据中操作时刻距离当前时刻最近的数据。第三判断模块可以用于比对当前操作数据及服务端历史数据之间的差异,判断差异是否满足服务端验证条件。第二生成模块可以用于在差异满足服务端验证条件时检测为存在外挂行为并生成抢单失败的抢单结果,并发送抢单失败的抢单结果至设备端。第一接收模块可以用于接收服务端反馈的结果。
本申请实施例还提供了一种计算机可读存储介质。计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现以上任一实施方式所述的抢单外挂检测方法。其中,计算机可读存储介质包括但不限于任何类型的盘(包括软盘、硬盘、光盘、CD-ROM、和磁光盘)、ROM(Read-Only Memory,只读存储器)、RAM(Random AcceSS Memory,随即存储器)、EPROM(EraSable Programmable Read-Only Memory,可擦写可编程只读存储器)、EEPROM(Electrically EraSable Programmable Read-Only Memory,电可擦可编程只读存储器)、闪存、磁性卡片或光线卡片。也就是,存储设备包括由设备(例如,计算机、手机)以能够读的形式存储或传输信息的任何介质,可以是只读存储器,磁盘或光盘等。
本申请方法实施例的内容均适用于本存储介质实施例,本存储介质实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同,具体请参见方法实施例中的说明,在此不再赘述。
请结合图13,本申请实施例还提供了一种计算机设备,本实施例的计算机设备可以是服务器、个人计算机以及网络设备等设备。计算机设备包括:一个或多个处理器,存储器,一个或多个计算机程序,其中一个或多个计算机程序被存储在存储器中并被配置为由一个或多个处理器执行,一个或多个计算机程序配置用于执行以上任一实施方式所述的抢单外挂检测方法。
本申请方法实施例的内容均适用于本计算机设备实施例,本计算机设备实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同,具体请参见方法实施例中的说明,在此不再赘述。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
以上仅是本申请的部分实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (9)
1.一种抢单外挂检测方法,用于设备端,其特征在于,包括:
采集当前用户在目标页面执行目标操作时的当前操作数据,所述目标页面包括抢单大厅页,所述目标操作包括用以浏览订单列表的第一滑动操作,所述当前操作数据包括第一当前滑动数据;
当所述目标操作触发抢单时,获取第一预定数量的存储在本地的所述当前用户的本地历史操作数据,所述第一预定数量的本地历史操作数据为所述当前用户的所有本地历史操作数据中操作时刻距离当前时刻最近的数据;
比对所述当前操作数据与所述本地历史操作数据之间的差异,判断所述差异是否满足本地验证条件;
若是,则检测为存在外挂行为并生成抢单失败的抢单结果;
所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
采集所述当前用户从开始执行所述第一滑动操作至结束所述第一滑动操作期间产生的所有第一初始滑动数据,所述第一初始滑动数据包括第一当前滑动坐标及与每个所述第一当前滑动坐标分别对应的第一当前按压力度;
判断所述第一初始滑动数据的数量是否小于第一预设数量;
若是,则确定采集到的所有所述第一初始滑动数据为所述第一当前滑动数据;
若否,则根据所述第一初始滑动数据的数量及所述第一预设数量计算第一数据采集间隔;
根据所述第一数据采集间隔从所述第一初始滑动数据中选取出所述第一预设数量的所述第一初始滑动数据作为所述第一当前滑动数据;
和/或
所述目标页面包括抢单大厅页,所述目标操作包括用以进入抢单详情页的点击操作,所述当前操作数据包括当前点击数据,所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
采集所述当前用户在所述抢单大厅页下执行点击操作时产生的当前点击坐标及与所述当前点击坐标对应的第二当前按压力度;
和/或
所述目标页面包括抢单详情页,所述目标操作包括用以触发抢单的第二滑动操作,所述当前操作数据包括第二当前滑动数据,所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
采集所述当前用户从开始执行所述第二滑动操作至结束所述第二滑动操作期间产生的所有第二初始滑动数据,所述第二初始滑动数据包括第二当前滑动坐标及与每个所述第二当前滑动坐标分别对应的第三当前按压力度;
判断所述第二初始滑动数据的数量是否小于第二预设数量;
若是,则确定采集到的所有所述第二初始滑动数据为第二目标滑动数据;
若否,则根据所述第二初始滑动数据的数量及所述第二预设数量计算第二数据采集间隔;
根据所述第二数据采集间隔从所述第二初始滑动数据中选取出所述第二预设数量的所述第二初始滑动数据以作为第二当前滑动数据。
2.根据权利要求1所述的抢单外挂检测方法,其特征在于,所述抢单外挂检测方法还包括:
判断所述本地历史操作数据的数量是否小于所述第一预定数量;
若是,则确定本地防御机制验证通过;
若否,则获取第一预定数量的存储在本地的所述当前用户的本地历史操作数据。
3.根据权利要求2所述的抢单外挂检测方法,其特征在于,所述比对所述当前操作数据与所述本地历史操作数据之间的差异,判断所述差异是否满足本地验证条件,包括:
判断所述当前操作数据与所述本地历史操作数据的差异是否满足多个所述本地验证条件中的至少一个;
若是,则检测为存在外挂行为并生成抢单失败的抢单结果;
若否,则确定本地防御机制验证通过;
其中,所述本地验证条件包括:
所述当前操作数据与所述第一预定数量的所述本地历史操作数据中的每一组均相等;或
所述当前操作数据包括当前滑动坐标,所述本地历史操作数据包括本地历史滑动坐标,计算所述当前操作数据中第一个当前滑动坐标与最后一个当前滑动坐标之间的第一差值,计算每一组本地历史操作数据中第一个本地历史滑动坐标与最后一个本地历史滑动坐标之间的第二差值,所述第一差值与各个第二差值均相等。
4.根据权利要求3所述的抢单外挂检测方法,其特征在于,所述设备端与服务端通信,在所述本地防御机制验证通过时,所述抢单外挂检测方法还包括:
将所述当前操作数据上传至所述服务端;
接收所述服务端反馈的结果。
5.根据权利要求4所述的抢单外挂检测方法,其特征在于,所述将所述当前操作数据上传至所述服务端,包括:
格式化所述当前操作数据以得到当前格式化操作数据;
对所述当前格式化操作数据加密以得到当前加密操作数据;
对所述当前加密操作数据进行编码以得到当前编码操作数据;
将所述当前格式化操作数据及所述当前编码操作数据上传至所述服务端。
6.一种抢单外挂检测方法,用于服务端,所述服务端与设备端通信,其特征在于,包括:
接收所述设备端发送的当前用户的当前操作数据,所述当前操作数据是由所述设备端采集的当前用户在目标页面执行目标操作时的当前操作数据,所述目标页面包括抢单大厅页,所述目标操作包括用以浏览订单列表的第一滑动操作,所述当前操作数据包括第一当前滑动数据;
获取第二预定数量的存储在所述服务端的所述当前用户的服务端历史操作数据,所述第二预定数量的服务端历史操作数据为所述当前用户的所有服务端历史操作数据中操作时刻距离当前时刻最近的数据;
比对所述当前操作数据及服务端历史数据之间的差异,判断所述差异是否满足服务端验证条件;
若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端;
所述当前用户在目标页面执行目标操作时的当前操作数据具体是通过以下步骤采集的:
采集所述当前用户从开始执行所述第一滑动操作至结束所述第一滑动操作期间产生的所有第一初始滑动数据,所述第一初始滑动数据包括第一当前滑动坐标及与每个所述第一当前滑动坐标分别对应的第一当前按压力度;
判断所述第一初始滑动数据的数量是否小于第一预设数量;
若是,则确定采集到的所有所述第一初始滑动数据为所述第一当前滑动数据;
若否,则根据所述第一初始滑动数据的数量及所述第一预设数量计算第一数据采集间隔;
根据所述第一数据采集间隔从所述第一初始滑动数据中选取出所述第一预设数量的所述第一初始滑动数据作为所述第一当前滑动数据;
和/或
所述目标页面包括抢单大厅页,所述目标操作包括用以进入抢单详情页的点击操作,所述当前操作数据包括当前点击数据,所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
采集所述当前用户在所述抢单大厅页下执行点击操作时产生的当前点击坐标及与所述当前点击坐标对应的第二当前按压力度;
和/或
所述目标页面包括抢单详情页,所述目标操作包括用以触发抢单的第二滑动操作,所述当前操作数据包括第二当前滑动数据,所述采集当前用户在目标页面执行目标操作时的当前操作数据,包括:
采集所述当前用户从开始执行所述第二滑动操作至结束所述第二滑动操作期间产生的所有第二初始滑动数据,所述第二初始滑动数据包括第二当前滑动坐标及与每个所述第二当前滑动坐标分别对应的第三当前按压力度;
判断所述第二初始滑动数据的数量是否小于第二预设数量;
若是,则确定采集到的所有所述第二初始滑动数据为第二目标滑动数据;
若否,则根据所述第二初始滑动数据的数量及所述第二预设数量计算第二数据采集间隔;
根据所述第二数据采集间隔从所述第二初始滑动数据中选取出所述第二预设数量的所述第二初始滑动数据以作为第二当前滑动数据。
7.根据权利要求6所述的抢单外挂检测方法,其特征在于,所述接收所述设备端发送的当前用户的当前操作数据,包括:
接收所述设备端发送的当前格式化操作数据及当前编码操作数据,所述当前格式化操作数据由所述设备端格式化处理所述当前操作数据得到,所述当前编码操作数据由所述设备端编码加密后的当前格式化操作数据得到;
所述抢单外挂检测方法还包括:
对所述当前格式化操作数据进行加密以获得服务端的当前加密操作数据,并对所述服务端的当前加密操作数据进行编码以获得所述服务端的当前编码操作数据,所述当前格式化操作数据在所述服务端的加密操作与所述当前格式化操作数据在所述设备端的加密操作一致,所述当前加密操作数据在所述服务端的编码操作与所述当前加密操作数据在所述设备端的编码操作一致;
比较所述服务端的当前编码操作数据与所述设备端的当前编码操作数据是否相同;
若否,则生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端;
若是,则比对所述当前操作数据及服务端历史数据之间的差异,判断所述差异是否满足服务端验证条件,其中,所述比对所述当前操作数据及服务端历史数据之间的差异,判断所述差异是否满足服务端验证条件,包括:
判断所述当前格式化操作数据与所述服务端历史操作数据的差异是否满足多个服务端验证条件中的至少两个;
若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端;
若否,则确定服务端防御机制验证通过;
其中,所述服务端验证条件包括:
所述当前格式化操作数据中的第一个当前操作数据与每一组服务端历史操作数据中的第一个服务端历史操作数据均相等,所述当前格式化操作数据中的最后一个当前操作数据与每一组服务端历史操作数据中的最后一个服务端历史操作数据均相等;或
所述当前格式化操作数据包括当前按压力度,所述服务端历史操作数据包括服务端历史按压力度,每一个所述当前按压力度与每一组服务端历史操作数据中的对应的所述历史按压力度均相等;或
所述当前格式化操作数据包括当前滑动坐标,所述服务端历史操作数据包括服务端历史滑动坐标,计算当前滑动操作的所有所述当前滑动坐标中X轴最大值与X轴最小值之间的第一差数,计算所述当前滑动操作的所有所述当前滑动坐标中Y轴最大值与Y轴最小值之间的第二差数,计算每一组所述服务端历史滑动坐标中X轴最大值与X轴最小值之间的第三差数,计算每一组所述服务端历史滑动坐标中Y轴最大值与Y轴最小值之间的第四差数,所述第一差数与各个所述第三差数均相等,所述第二差数与各个所述第四差数均相等。
8.根据权利要求7所述的抢单外挂检测方法,其特征在于,在确定所述服务端防御机制验证通过时,所述抢单外挂检测方法还包括:
判断所述服务端的外挂轨迹特征库中是否存在与所述当前操作数据相同的数据;
若是,则检测为存在外挂行为并生成抢单失败的抢单结果,并发送所述抢单失败的抢单结果至所述设备端;
若否,则生成抢单成功的抢单结果,并发送所述抢单成功的抢单结果至所述设备端。
9.一种计算机设备,其特征在于,其包括:
一个或多个处理器;
存储器;
一个或多个计算机程序,其中所述一个或多个计算机程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个计算机程序配置用于:执行根据权利要求1至8任一项所述的抢单外挂检测方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110988791.3A CN113742719B (zh) | 2021-08-26 | 2021-08-26 | 抢单外挂检测方法及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110988791.3A CN113742719B (zh) | 2021-08-26 | 2021-08-26 | 抢单外挂检测方法及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113742719A CN113742719A (zh) | 2021-12-03 |
CN113742719B true CN113742719B (zh) | 2022-04-15 |
Family
ID=78733134
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110988791.3A Active CN113742719B (zh) | 2021-08-26 | 2021-08-26 | 抢单外挂检测方法及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113742719B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921581A (zh) * | 2018-07-18 | 2018-11-30 | 北京三快在线科技有限公司 | 一种刷单操作识别方法、装置及计算机可读存储介质 |
CN110909353A (zh) * | 2019-11-28 | 2020-03-24 | 网易(杭州)网络有限公司 | 外挂检测方法及装置 |
CN111417021A (zh) * | 2020-03-16 | 2020-07-14 | 广州虎牙科技有限公司 | 外挂识别方法、装置、计算机设备和可读存储介质 |
CN112215622A (zh) * | 2020-09-18 | 2021-01-12 | 南京欣网互联网络科技有限公司 | 一种基于订单信息的风险防控方法及其系统 |
CN112347457A (zh) * | 2019-08-06 | 2021-02-09 | 上海晶赞融宣科技有限公司 | 异常账户检测方法、装置、计算机设备和存储介质 |
CN112399352A (zh) * | 2020-11-04 | 2021-02-23 | 北京嘀嘀无限科技发展有限公司 | 作弊行为识别方法、设备及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9317037B2 (en) * | 2011-10-03 | 2016-04-19 | Vocollect, Inc. | Warehouse vehicle navigation system and method |
CN111797387B (zh) * | 2020-06-24 | 2024-02-23 | 北京三快在线科技有限公司 | 拦截外挂插件的方法及装置 |
CN112291716A (zh) * | 2020-10-26 | 2021-01-29 | 广州小鹏汽车科技有限公司 | 作弊行为识别方法、装置、电子设备和存储介质 |
-
2021
- 2021-08-26 CN CN202110988791.3A patent/CN113742719B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108921581A (zh) * | 2018-07-18 | 2018-11-30 | 北京三快在线科技有限公司 | 一种刷单操作识别方法、装置及计算机可读存储介质 |
CN112347457A (zh) * | 2019-08-06 | 2021-02-09 | 上海晶赞融宣科技有限公司 | 异常账户检测方法、装置、计算机设备和存储介质 |
CN110909353A (zh) * | 2019-11-28 | 2020-03-24 | 网易(杭州)网络有限公司 | 外挂检测方法及装置 |
CN111417021A (zh) * | 2020-03-16 | 2020-07-14 | 广州虎牙科技有限公司 | 外挂识别方法、装置、计算机设备和可读存储介质 |
CN112215622A (zh) * | 2020-09-18 | 2021-01-12 | 南京欣网互联网络科技有限公司 | 一种基于订单信息的风险防控方法及其系统 |
CN112399352A (zh) * | 2020-11-04 | 2021-02-23 | 北京嘀嘀无限科技发展有限公司 | 作弊行为识别方法、设备及存储介质 |
Non-Patent Citations (1)
Title |
---|
提供外挂程序修改APP传输数据的行为解析——兼谈互联网时代共同犯罪理论的理解与发展;刘丽娜 等;《人民检察》;20180731(第7期);49-52 * |
Also Published As
Publication number | Publication date |
---|---|
CN113742719A (zh) | 2021-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110163611B (zh) | 一种身份识别方法、装置以及相关设备 | |
CN112417439B (zh) | 账号检测方法、装置、服务器及存储介质 | |
CN107666506B (zh) | 推送结果预测方法、装置、计算机设备和存储介质 | |
US8752146B1 (en) | Providing authentication codes which include token codes and biometric factors | |
CN104408341B (zh) | 基于陀螺仪行为特征的智能手机用户身份认证方法 | |
CN103200011B (zh) | 一种密码认证方法及装置 | |
CN104318138A (zh) | 一种验证用户身份的方法和装置 | |
CN105262779A (zh) | 身份认证方法、装置及系统 | |
CN105550628B (zh) | 指纹录入方法及装置 | |
WO2020164272A1 (zh) | 上网设备的识别方法、装置及存储介质、计算机设备 | |
CN106815524B (zh) | 恶意脚本文件的检测方法及装置 | |
CN116910707B (zh) | 基于设备历史记录的模型版权管理方法及系统 | |
CN111641588A (zh) | 网页模拟输入检测方法、装置、计算机设备及存储介质 | |
CN112685774B (zh) | 基于大数据和区块链金融的支付数据处理方法及云服务器 | |
CN116627272B (zh) | 触摸控制方法、装置以及计算机设备 | |
CN112685799A (zh) | 设备指纹生成方法、装置、电子设备和计算机可读介质 | |
CN113742719B (zh) | 抢单外挂检测方法及计算机设备 | |
KR20230108378A (ko) | 건축물 좌표 데이터를 통한 디지털 트윈 기반 건물 생애주기 관리 시스템 및 방법 | |
CN111222181B (zh) | Ai模型的监管方法、系统、服务器及存储介质 | |
US10848577B2 (en) | Computing environment modification based on an impact curve | |
JP5609509B2 (ja) | 指示システム、指示方法、及び記憶制御装置。 | |
CN106600282A (zh) | 用于指纹支付的数据处理方法及装置 | |
CN111159669B (zh) | 终端控制方法、装置、终端及可读存储介质 | |
CN108123960B (zh) | 直播房间人气验证方法、装置及电子设备 | |
KR20210024748A (ko) | Gan을 이용한 문서형 악성코드 탐지 장치 및 방법 |
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 |