导读:随着智能设备的普及,手机游戏逐渐占据整个游戏市场的大头。伴随着手机游戏的风靡,外挂也将其邪恶的触手伸向了这一领域,反外挂的战场从 PC 端蔓延到了移动端。由于移动设备与 PC 终端之间天然存在的巨大差异,外挂的类型也存在较大差异,主要外挂类型也不尽相同。模拟点击外挂正是手游领域占比极大的外挂类型之一。
通过外挂来模拟真人玩家在手机上的操作,自动化进行游戏,攫取游戏资源,扰乱正常健康的游戏秩序,这就是“模拟点击”外挂及其危害。本文介绍了智企 GAMEAI 检测模拟点击异常行为的 AI 方案,综合“卷积熵”、“图学习”、“对比学习”等算法思想,对“点击序列”进行数据建模,构建监督、无监督算法模型,检测玩家是否使用“模拟点击”作弊以及作弊群体。目前智企 GAMEAI 已将该方案应用于网易的多款游戏,同时与网易易盾展开合作,给外部的游戏公司提供检测服务。希望本文介绍的内容可以给大家带来帮助或启发。(网易智企-游戏行业部,邓浩)
背景
手机游戏(以下简称“手游”)在移动互联网时代占据了游戏行业的主要市场份额。中国音数协游戏工委(GPC)与中国游戏产业研究院发布的《2020 年中国游戏产业报告》显示,2020 年,中国游戏市场实际销售收入 2786.87 亿元,同比增长 20.71%,保持快速增长;全球权威的游戏、电竞市场调研公司 Newzoo 研究表明,全球手游玩家总数已超过 20 亿人,到 2021 年底收入将达到 90.7 亿美元。然而,在游戏市场愈加繁荣的同时,游戏安全形势日益严峻,各类游戏外挂黑产危害游戏内部生态平衡,侵害广大游戏玩家、厂商的利益。
模拟点击类外挂是最常见的手游作弊手段。一般指使用“蜂窝助手”、“触动精灵”、“自动点击器”等辅助工具, 或是录制、编程来模拟特定触摸行为,从而自动采集资源、自动任务、自动战斗、自动推图、降低游戏难度、加快通关时间、获取更大收益等,对游戏公平和经济系统有极大的负面影响。这种行为严重影响到游戏内的生态平衡,降低玩家体验,最终导致用户流失、经济体系崩盘。
根据网易易盾的调研,模拟点击类外挂同时也是最难防护的作弊手段:
反外挂能力难以穿透虚拟环境:当游戏 APP 运行在 PC 端提供的虚拟环境中(如雷电模模拟器、mumu 模拟器),反外挂能力难以觉察到运行环境的异常,更难以监控到外部环境的违规操作行为。这种作弊方式可以视为“来自高维度的打击”,运行在虚拟环境中的反外挂模块无力抵抗。比如,在 PC 上通过作弊脚本操作 APP,虚拟环境中的 APP 及反外挂模块会认为这是正常输入,因为它们运行的环境并无异常;
难以区分操作是机器还是人为行为:模拟点击执行脚本可以控制操作的频率、时长等参数,模拟真人操作行为,加大了对操作行为的分析,导致难以区分操作是机器执行的、还是真人操作的;
无障碍服务的漏洞:智能移动设备为了方便残障群体使用,提供了“无障碍服务”功能。恶劣的外挂插件利用“无障碍服务”的漏洞,对 APP 应用自动操作。正因为不能简单粗暴地切断无障碍服务,才给了“模拟点击”类的外挂可乘之机;
由于传统的技术检测手段难以解决“检测运行环境”、“区分人为操作”、“无障碍服务判断”等难题,智企 GAMEAI 尝试利用 AI 技术手段,通过采集手机的屏幕传感器数据,实现对此类模拟点击行为的检测。绕过“检测运行环境”、“无障碍服务判断”的环节,直接解决“区分人为操作”这一关键问题。
外挂玩家为了高效获利,数据通常呈现一定的模式,例如重复点、重复线、平行线、团簇、规则多边形等,因此看起来比较“有序”、“干净”;而正常玩家的数据通常比较随机,不具有固定的模式,因此看起来比较“无序”、“杂乱”。
智企 GAMEAI 通过创建深度学习模型,提取传感器数据中蕴含的“秩序”信息,从而判断操作是否人为。还有些特殊情况,操作是“伪人为”的。比如使用同步器,一个人操作一台机器,在其他机器上实时同步相同的操作。表面上看起来是“人为操作”,然而实际上仍然是非人为操作。这种类型的数据同样存在着“有序性”,也可以通过深度学习模型提取“秩序”特征,进而通过“聚类”来找出使用同步器的群体。
更进一步的,我们将检测方案封装成了标准化产品以方便客户接入。目前“模拟点击检测”已经给网易内部多款游戏提供服务,同时与网易易盾合作提供检测能力,解决更多游戏公司的“模拟点击”检测需求。
实现方法
为了区分“人为操作”,首先需要收集并建模相关的数据来表示“操作”。在智能移动端(手机)上的操作主要是“触摸屏幕”,因此收集玩家在手机上的触摸数据并进一步构建成“触摸序列”,最终由一系列的“触摸序列”来代表“操作”。
依据建模的“触摸序列”,构建深度神经网络,提取“操作”当中的表征信息(行为的“秩序”),如:触摸轨迹变化规律,不同轨迹之间的关联等。通过训练监督模型,以“秩序”的混乱程度判断操作是否是人为的;通过无监督聚类,以“秩序”的一致性来判断操作是否是“伪人为”的。
本节将分别就:
操作的数据建模;
特征提取;
模型构建;
依次展开介绍。
触摸数据采集&序列化处理
首先从移动端获得屏幕触摸传感器的数据,数据包括但不限于以下内容:触摸事件类型、触摸坐标、触摸时间、触摸索引。触摸索引用于区分同一时刻触摸屏幕的多根手指,比如缩放操作需要两根手指,那么其中一根手指的索引为 0,另一根为 1。
在我们的方案中仅需要“按下(DOWN)”、“移动(MOVE)”、“抬起(UP)”、“取消(CANCEL)”四种事件类型。然而不同系统(Android、iOS)、不同游戏引擎(Unity、Unreal)表示这些触摸类型的字段是不同的,因此智企 GAMEAI 在采集触摸数据时会进行标准化处理,将不同平台的原始字段映射为标准字段。最终的标准化数据包含:
将收集到的标准化数据按触摸索引归类,再按时间升序排列,将排列好的数据通过状态机进行“触摸序列”建模。将排好序的数据传入状态机,根据标准事件类型的跳转情况进行分割,不同的分割路径(初始到完结状态之间的的路径)对应不同的“触摸序列类型”,如:点击、拖动等。分割完毕后,得到的一系列序列数据就是建模好的“触摸序列”,包含:
标准化触摸序列的示例:
特征识别
利用深度神经网络从“标准化触摸序列”中提取特征,以特征向量的形式表示提取后的特征。并将特征向量应用于监督、无监督算法模型中。
我们的标准化序列数据代表着玩家手指在屏幕上移动的轨迹,因此后文我们将用“轨迹”来指代“标准化序列数据”。
时空特征
屏幕触摸数据是一种典型的时空序列数据,更为特殊的是一种两层的层次时空序列数据结构。针对屏幕触摸数据自身特点,我们设计并实现了一种基于层次注意力机制的深度学习序列模型。具体来说,该模型分别对触摸坐标和触摸事件两个序列按照层次关系提取序列特征,并通过注意力机制(Attention)强调重要性差异,增强数据的表征能力,最终加权融合得到高质量的信息表示。
通常,外挂玩家的轨迹呈现一定的模式,例如重复点、重复线、平行线、团簇、规则多边形等,易于通过序列模型捕捉。而时空特征中可以体现出这些固定的模式。
采用监督学习的训练方法得到一个二分类器,便可根据时空特征识别外挂玩家。
轨迹变化特征
对于“伪人为”操作的序列,同一个操作者产生的轨迹是极其相似的(考虑到作弊工具添加的“噪声”)。我们尝试通过判断轨迹的相似性,来找到作弊的群体。然而轨迹数据通常很长,给聚类带来了极大的困难(机器性能限制),因此我们设计了一个对轨迹进行压缩编码的方案——轨迹熵编码。
首先对轨迹数据进行预处理,只保留坐标字段,剔除触摸类型和时间戳字段。接下来将原始的屏幕触摸数据转变为一个无序的坐标集合,其中集合的每个元素为一个坐标元组,包含 X 轴坐标和 Y 轴坐标。在此基础上,我们定义了一种基于信息熵的卷积算子(简称“熵卷积”)来编码屏幕触摸数据,得到高质量的信息表示。根据坐标将轨迹图划分为一个个矩形区域,根据熵卷积计算该区域的“信息熵”。最后将每个区域的信息熵代入设计好的计算公式,获得“轨迹熵编码向量”。
轨迹熵编码向量中包含了原始轨迹的形状信息,记录了轨迹的变化规律。通过对轨迹熵编码向量进行无监督聚类,即可找到“伪人为”操作的群体。
轨迹关联特征
玩家在游戏中的操作是为了达成一定的目的,这些目的需要经过一定的步骤来实现。体现在操作的轨迹上,则是该玩家产生的一系列轨迹之间存在着关联。通常来说,不同玩家操作产生的一系列轨迹,其内部的关联性是不同的;即使是同一玩家重复相同的操作,轨迹之间的关联性也有所差异。玩家在游戏中通常都是左右手同时操作,对于左右手协同进行操作时产生的轨迹而言,它们内部的关联更为紧密。
将用户的操作序列建模为图结构数据,建模事件点之间的关联:
建模单手轨迹内的空间关系,分别对左手轨迹和右手轨迹进行编码;
建模双手指头之间的时间关系;
我们将触控轨迹建模成手指操作图,基于对比图学习(图+对比学习)和 Transformer 来捕获左右手操作以及其交互作用中的时空信息,从而学习高质量的触控轨迹嵌入表示(编码向量)。
首先通过一个“图 Transformer”神经网络,对左右手的轨迹进行编码。接下来,由于外挂正样本(外挂标记)少,为了增强轨迹关联性特征的可靠性,在训练模型时采用“对比学习”的策略:
对比不同玩家的轨迹:提取不同玩家之间操作内部的关联性;
对比相同玩家的轨迹:提取某个玩家自身操作内部的关联性;
最后得到轨迹的“关联特征”编码向量,对编码向量进行无监督聚类,即可找到“伪人为”操作的群体。
检测方案
基于深度学习的屏幕触摸异常检测方案包含三种检测引擎,三个引擎相辅相成,结果互补,一起对外输出 AI 检测能力。三个引擎包括:监督引擎、无监督引擎、规则(专家经验)引擎。
异常个体检测
在线实时检测玩家的轨迹是否异常。将“规则”与“监督模型”以微服务的形式部署在线上,提供实时的 API 检测服务。
规则:根据专家经验,对轨迹中点的“密度”、“数量”、“重复次数”等特征进行归纳,筛选明显是外挂行为的轨迹。比如,轨迹在三个相同的点之间来回重复;
监督模型:提取“时空特征”时训练得到的深度神经网络模型,这里我们采用的是“层级注意力网络”(Hierarchical Attention Networks)的分类模型;
在实际使用中,我们有多套规则与多个监督模型的微服务。利用“集成学习”的思想,给每个检测服务分配不同的权值,综合计算所有检测结果的加权平均值作为最终的检测结果。
异常群体检测
群体性检测用于找出利用同步器等工具实现“伪人为”操作的群体,为人所诟病的工作室往往就包含在这些群体中。群体性检测需要积攒够一定量的玩家轨迹之后,批量地触发检测,既可以选择定时触发,也可以选择定量触发(积攒足够数据量后进行触发)。
在我们的实践中,我们采用 T+1 的方式触发检测,即每日定时触发,根据历史已有的轨迹数据来检测上一天异常群体。聚类得到簇群后,通过“轮廓系数”(Silhouette Coefficient)来筛选“异常的群体”。
阈值筛选:对历史数据进行聚类得到簇群与对应的轮廓系数,由专家对簇群进行筛选;筛选出的簇群对应的系数取统计值(平均、中位数等)作为阈值;
比例筛选:筛选轮廓系数最大的 TOP-X 或 Y% 的簇群;
筛选的方式不一而足,根据业务实际情况进行调整(考虑游戏类型、运营目标等)。
除了检测异常群体之外,无监督引擎还可以将已知的可疑群体记录下来,交给专家进行判断,进而发现新的异常轨迹形态,新的异常轨迹类型将会归纳总结为新的规则,用于提高”个体检测“的检测覆盖率。
落地应用
对网易内部提供反外挂支持,接入网易多款热门手游,如天谕手游、倩女幽魂手游等。实时检测游戏内特定场景的“模拟点击”外挂使用情况,避免恶意玩家不正当牟利。检测准确度超过 95%,有效检测出异常玩家。
服务内部游戏的同时,也面向游戏市场提供 AI 反外挂检测能力。与网易易盾合作打造一体化的外挂治理系统,为客户提供模拟点击检测服务。截至 2021 年 12 月月底,模拟点击已接入服务几十位外部客户,峰值日调用量超过 4300 万,日检测量超过 30 万,有效缓解了客户的游戏运营压力。
不仅限于游戏的使用场景,模拟点击的检测也同样适用于“自动抢红包”、“自动聊天”、“自动起新号”、“群控刷屏”等场景。
总结展望
模拟点击一般指:
使用“蜂窝助手”、“触动精灵”、“自动点击器”等辅助工具,或是录制、编程来模拟特定触摸行为,自动地攫取游戏资源;
使用“群控软件”、“同步器”等辅助工具,一人同时控制多个游戏角色,短时间内获得成倍的游戏资源;
模拟点击类外挂对厂商们的影响是恶劣的,破坏游戏环境/社区健康秩序的同时,也给运营带来了诸多损失:不仅损害了厂商的口碑与收益,也侵犯了正常玩家享受游戏的正当权利。
相比于基于外挂程序特征的外挂检测,基于深度学习的多引擎协作异常检测,大大提高了外挂检测的精度与覆盖范围,同时还能自动挖掘新的异常模式与变异外挂,使得整体外挂检测方案的效果更好,成本更低。基于触摸传感器数据的技术方案性能高、工程实现容易,同时外挂无法规避检测环节,不易破解。
网易智企 GAMEAI 致力于打造标准化的 AI 反外挂产品,包括模拟点击 AI 检测、图像异常识别等。我们的产品降低了游戏厂商获得“反外挂”能力的门槛,为游戏厂商提供接入便捷、检测高效、结果可靠的 AI 反外挂服务。
引用内容
白皮书
网易《2021网易反外挂白皮书》
腾讯《2021游戏安全白皮书》
论文
【ICDE2022】T-Detector: A Trajectory based Pre-trained Model for Game Bot Detection in MMORPGs.
【PAKDD2022】A GNN-Enhanced Game Bot Detection Model for MMORPGs.
【KDD2022】Few-shot Learning for Trajectory-based Mobile Game Cheating Detection.
【WWW2022】FingFormer: Contrastive Graph-based Finger Operation Transformer for Unsupervised Mobile Game Bot Detection.
专利
一种游戏外挂检测方法、装置、电子设备及可读存储介质(CN202210435738)
一种游戏中的外挂检测方法、装置、电子设备及存储介质(CN202210505758)
外挂识别的方法及装置、电子设备、存储介质(CN202111400520)