莉莉丝手游反欺诈的设计与探索

DataFunTalk   2023-08-09 10:49:46

一、手游黑产产业链

首先来介绍一下手游黑产业链,基本可以分成三大块:互联网羊毛党,互联网黑产和专业玩家团体。

值得一提的是我们的玩家也是整个产业链的一个组成部分,为什么这么说?大家很多人会看直播都知道,像绝地求生或者是 APEX 、FPS 的游戏,主播是会有专门的团队去给他做定制挂的,这些挂与我们能在市面上买到的挂相比,通常都更高端,更难区分。再加上主播本身也是高手,所以比较难以区分。同时我们很多玩家相比于工作室来说,他们更加了解游戏当中有哪些玩法和系统是可以钻漏子的,所以如果他们和这些工作室进行了合作,对于我们开发者来说对抗的难度系数会一直提升。但是随着不同的厂商最近几年打击的力度一直都在上升,包括一些 ToB 公司的合作,以及很多黑产团体为了减少他们在这方面成本的投入,许多工作室也是开始把自己作为一个玩家来体验游戏了。


(资料图)

具体地来说,整个产业链还是分成三个部分,如下图所示。

首先上游基本上是一些工具的生产者,他们主要去开发一些脚本工具还有外挂;中游一些代理商,基本上把上游的这些东西拿出来,卖给下游,同时会提供一些设备资料或者其他方面的支持;下游是一些消费者,包括一些黑产工作室,一些正常的游戏玩家,还有一些个人作坊。整个过程当中,用到的东西和大部分互联网厂商也是比较相似的。

二、手游常见欺诈形态

下面结合游戏内常见的一些场景,来介绍一下常见的欺诈形态。

首先是内容安全,是在早期时候看到的一种情况,在昵称上面会有领钻加好友、领钻看签名这样的行为,他们的表现是会有不同的号在公屏不停地发送加好友的表情,为什么会发表情刷屏呢?大部分游戏上线的时候,已经会做一些运营策略了,会设置一些发言的频率、发言的等级以及相似度检测等等,所以随之他们的表现方式也会从具体发言的内容上转移到昵称或者签名当中去。

我们给其中的一个 QQ 号发送关于领券的相关询问之后,对方会回复了一个网站,我们点击注册,常常会遇到一个诈骗网站。除了比较明显的广告之外,游戏内的其他形态也是非常多的,因为它会随着一些黑话不停地变, MMO RPG 游戏,它可能会结合你常用的装备资源去做一些黑话。如果是一个卡牌游戏,它会结合抽卡或者是一些基础资源去变通话术。

结合游戏的品类,还有一些像卖挂、卖脚本、卖号,代练、卖资源等等,这些都是比较常见的,也都是会影响玩家的正常游戏和聊天体验。

下面是一个比较常见的脚本外挂:

这里有一个案例,是某个MMO RPG游戏的一个脚本,具体功能可以参考它的控制面板。这边的外挂主要是分成两种,一种是辅助类的,像光环助手、加速器、按键精灵、模拟器、同步器、多开等等;另一种破解类的,可能会去修改一些协议,或者是一些字段等等。

下图是FPS外挂。玩 FPS 的玩家会比较了解,通常会有穿墙、透视、锁头、瞬移等等。做法和其他游戏当中的脚本外挂会不太一样,它会比较需要客户端的支持。

下面一种是 SLG 或者是 MMO 这样的游戏,常见的形态是资源商,它是打金工作室的一个变形,主要服务的对象中大R,他们会长期地为这些氪金的玩家提供所在游戏当中需要用到的资源。这些资源会有什么样的危害?首先在游戏初期,我们资源掉落是有一定的限制的,资源商如果长期的占领了游戏内的资源,对于玩家在前期的发展会有一定的限制。在万国觉醒游戏当中,地图上的资源是需要去挖的,如果资源商一直占领了这些资源,正常玩家就挖不到了。

他们会通过一些结合游戏玩法的方式,万国觉醒当中有一些资源运输的方式,可以加入买家在的公会,通过一些运输的方式运给他,或者是你可以飞到他的旁边,让买家来攻击你,通过攻击获得资源。这些获得资源的方式都是相当于是一种交易,1000块的资源,可能卖了10块钱,钱是在游戏外获取的,游戏内是没有办法收到的。所以它除了破坏正常玩家游戏体验之外,对于开发商来说也是一个非常不好的现象。

下面一种形态通常都是在卡牌游戏当中遇到,即初始号交易。因为我们都知道卡牌游戏前期是都会推到某一关会送 10连, 10 连会必出 SSR 或者是UR好卡。如果我前期获得了一个特别厉害的卡,我在前期不管是打 PVP 还是打PVE,都是会非常有优势的。

并且可以根据自己有的英雄做出非常多的组合,同时他们也会通过一些其他的任务获取很多免掉落的资源,让你的卡能快速地升级到一个比较高的等级,这样战斗的时候可能表现会更好一些。这些号通常都是在一些第三方交易平台上面去售卖的,常见的比如淘宝闲鱼,还有一些外网自研的网站。

下一个比较常见的形态是代充。我在淘宝上随便搜了一下原神关键词,会出来很多通过非官方授权的第三方平台进行充值或者代充这样的情况,代充的方法也都大同小异,基本上都是利用不同国家的汇率差,利用 IOS 的退款机制,利用一些信用卡盗刷等等。

除了刚刚提到的几种比较典型的形态之外,下面的这三种也是我们游戏当中会遇到的。

广告渠道的假量,可能有接触过发行或者买量的同学会比较了解;第二种是薅羊毛行为,类似于电商有优惠券的产品;还有一种流量作弊,对于具体的游戏来说,它会结合一些玩法,比如积分榜 top 多少的时候会有一些奖励,会存在工作室去帮助你刷积分,他会批量的创号,让你通过攻击他来获得排行榜的前几,来领取奖励。或者是他自己通过一些方式获得了这些奖励之后,再把奖励卖给普通的玩家。

三、手游反欺诈体系设计思路

前文中一些比较常见的欺诈形态,下面将介绍如何针对这些形态来做反欺诈体系的建设。下图是目前的反欺诈体系:

整个体系可以分成内容安全和其他游戏模块两部分。内容安全部分在这里不做详细展开了。对于大多数游戏来说,刚进入游戏的前期玩家自由操作范围最小,因为很多游戏现在都会有新手引导,他会把新手引导分解到不同的系统当中,你升级到某一个等级,就会接入到一个新的系统,每个系统会有一个新手引导,新手引导大部分都是强制不可跳过的。

同时在游戏的前期,整个游戏内的玩法相对来说都是比较简单的,有很多成长线或者是需要一定玩家基础才能玩的玩法都还没有开始,这时候也是黑产成本最低的阶段,所以是我们布控相对容易的部分,我们将玩家游戏前期必须要经历的行为分成了几个部分,比如安装注册、日常的任务,还有PVE、 PVP 以及游戏内的充值,还有道具的流动、社交行为和新手引导等。不管什么样的游戏都会经历这些业务模块。在这些业务模块上面,我们又把现有的风控体系分成了实时和离线两个部分:实时场景更多的是会对某一次游戏行为做出它的风险等级和风险情况的判断,在注册登录的阶段,我可能只针对这一次注册的请求去判断它当前的风险。同理在支付、登录以及实名认证等情况下都会做一些校验。还有在具体的实体上,一般情况下游戏都会有账号,账号可能会绑定身份证、手机号或者是第三方的账号。其次玩家总会有个设备,不管它是手机端还是移动,还是 PC 端或者是其它情况,同时它会有唯一的设备号和IP,不论是否真实,统称游戏环境,针对这些我们通常都称之为实体,每一个实体在它的当前阶段也都会给一个实时的风险判定。在具体的防控上,我们会结合这些场景下的风险和实体的风险综合去给出一个处理的建议。在整个游戏的前期,我们会结合一些线上实时流数据去做一些提前的风险感知预警,方便我们后续去调整策略。

当玩家进行到游戏的中期之后,它的玩法和成长线,以及开的模块都越来越多,这时候需要对不同的游戏的不同玩法做一些精细化的分析,因为在这个阶段我们能拿到的玩家的数据也会比较多,能够去做的东西也会越来越多,我们会对不同的游戏品类做一些精细化的品类建设。FPS,可能关系到游戏生死的外挂。SLG 主要是刚刚提到的一些资源交易,还会包括一些多开同步器等等。卡牌主要可能刷奖励或者是刷初始号。

最后要说的是处理模块处理的强弱和方式,通常也是和几个点有关的。首先实时服务上我们能拿到的东西相对来说是比较少的,处理的时候基本上还是希望能够不影响玩家的游戏体验,并且希望他能够在我们的游戏当中待的时间越长越好。所以这个时候通常只会给一些比较简单的人机验证。在实名认证的时候,大部分都是会有一些厂商会接入人脸,有一些可能有简单的手机号或者身份证的校验。其他的场合大部分人也都会见到一些,比如滑块,或者是点击文字图片等,可以根据当前判断的风险等级去调整。

我们根据流量线上跑的一些策略或者模型来管控灰度的流量,不同的流量、不同的模型,处理方式也会不一样。再加上玩家的生命周期,刚进入游戏的时候,因为考虑到对黑产的打击力度,以及我们需要在前期去规范玩家的一些行为,所以处理的方式会比较严格,通常处理也是会根据你犯这件事情的次数,或者说是严重程度进行一些叠加,刚开始不会直接去封号或者限制游戏这类比较强的处理。到后期如果累积了很多次数,需要做一些警告,会采用封禁账号或者是限制你的资源掉落等方式。

当运营进行到中后期的时候,当游戏内的玩家以及游戏生态都比较稳定了,这个时候我们的打击力度又会慢慢下降。因为当前阶段,我们希望维稳,保持玩家一定的活跃度和参与度,我们是可以容忍一些不是特别影响游戏生态的黑产在游戏内活跃的,只要保持到一个平衡并且不影响玩家体验就可以。这里展示的是我们整个反欺诈的业务的一个非常简化的版本,遇到具体问题还是需要具体的分析,结合游戏玩法数据表现和项目组运营的运营思路,来综合设计算法模型以及一些策略。

四、手游风控效果与思考

最后一个部分会结合我们游戏当前的风控效果,来介绍一下我们在设计当中的经验和思考。

我们目前的策略覆盖到了各类业务场景,并且会做非常完备的玩家画像,在玩家的各种生命周期以及各种实体上面,都会结合他的游戏行为去做各种的画像和标签,标签不仅能用于风控,对于精细化运营或者是游戏内做活动,做玩家的分析都是有用的。

我们可以做更多的风控项的画像,对具体的异常风险做综合的判定,我们提供给业务方,更多的是以风险的分级和风险的标记来做一个辅助的判断,不会直接给出需要对玩家封号这样的建议。

游戏常见的问题是同一款游戏需要支持多区服、多端如移动或PC端,还会分国际服、国服,可能还会有一些预演服等等。我们需要通过不同的配置来做一些不同的风控策略,因为可能不同国家的玩家会有一些特别的倾向。

举个非常简单的例子,韩国的玩家是非常军事化管理的,因为他们的男生都是要求到适龄年龄需要入伍。他们的很多表现都是玩家自己会加入一个群体,把大家的账号密码上交,统一保管,每天 24 小时都会有人值班,听上去表现行为非常像工作室的行为。针对这些情况我们可能也要做一些不同的策略改变。另外不同的游戏,虽然它的品类可能是一样的,但是结合游戏的玩法,我们对一些细节上的处理也是会需要分情况讨论,这个时候更多的需要支持这些同品类游戏的通用模块快速迁移,但是自定义模块又可以做到让游戏自己去快速地制定。

另外在策略和算法方面,我们也结合了各种机器学习或者深度学习的模型,去提高模型的可解释性,因为最终是会落实到玩家的处理项,需要给业务方提供一些能够解释的信息。同时考虑到正常玩家和异常玩家他们在游戏行为上还是会有比较大的差异的,所以我们会从团伙和行为序列的角度去做一些区分。

下面是4点经验:

首先风控的目的是提升工作室的成本,我们要达到一个工作室和玩家在游戏内的平衡,而不是对他们赶尽杀绝。一个游戏火不火,跟他在游戏内有没有人来刷是很大的关系的。以 FPS 游戏为例,游戏玩的人多了,制作挂的人也多了,那么用挂的人也多了,玩家会觉得为什么他可以 KDA 比我好,我不行,我也会去用挂。对于开发者来说,可能我会希望能够在挂和正常玩家之间找到一个比较好的平衡,因为我觉得即使你真的是做得非常好,也不可能 100% 地把游戏内的外挂清除掉。

第二点,所有的业务模块,建议都是从0到1再到产品化。因为一开始的感知是不全面的,需要通过具体的case去做一些数据挖掘,了解到其背后的整个数据模型。数据从产生到变化,到最后和正常玩家有什么样的差异,这些都是需要一定的深度挖掘的。我们在这些不同的 Case 当中开始找规律,找到一些规律之后可以去做出来一些通用思路的整合,再去看,这些地方有哪些是可以把它做成产品化或者服务化,这样之后再遇到类似的问题的时候,我们可以用产品化和服务化的思路去解决问题。

在产品化的过程当中,一个产品的设计需要考虑到两个方面,一个是高内聚,另一个是低耦合。先来解释低耦合,我们整个反欺诈体系的识别模块和处理模块是完全解耦的,如果你对游戏类黑产做非常实时的识别和处理,那么对于黑产来说他非常容易知道你是在哪个地方对他做了一些处理,或者说他知道你是根据他的哪些行为去判断。所以我们在很多场景下需要对识别和处理做解耦。我们会尽量地不让黑产知道我们根据他的哪些行为,以及我们整个模型当中用到了哪些数据。

最后处理的时候,可能考虑到很多工作室的很多业务都是相互交集的,制作挂的时候,也会去发作挂的广告,也会去做一些代练。在这种情况下,它会比较难区分到,具体是通过它发广告识别到了它有问题,还是我卧底在它的外挂群发现它有问题,还是我通过它的一些客户端的表现识别到他使用了外挂,所以这方面也是为什么建议大家把处理和识别模块完全解耦的一个原因。同时我们可以针对不同的识别结果做一些处理策略上的灵活调整。

高内聚,它的设计思路是,在设计两个模块之间的接口的时候,要完全考虑好它的输入输出是什么样子,因为当我已经把整个系统模块化之后,我希望每一个模块内都是聚合好的,就像人体的骨架一样,每个骨架都可以各司其职,我只要往里面去填一些血和肉即可。而骨架我是不希望它发生改变的,因为通常比如中游的某一个输入输出的接口发生了调整之后,上下游改变的成本是非常高的,同时我也没有办法预估到它会对线上业务产生什么样的影响。所以建议大家在设计系统的时候做到高内聚和低耦合。

最后,需要强调的是,脱离业务的算法一无是处。算法一直在不断地更新迭代,大家都会去追求算法的高级程度,以及precision或者 recall 这些数值的表现。但是我们通常也会遇到一个模型,在实验的时候数据表现非常好,但上线了之后发现一点用都没有,为什么呢?因为在很多实际场景下,需要结合业务经验去设计算法,具体的应用方式。所以做风控,特别是和游戏相结合的风控,建议大家还是能更多地去了解游戏的具体玩法,以及具体场景下可能会出现的欺诈形态。

五、问答环节Q1:海外的一些实名认证,在不同国家是需要分别对接不同国家的一些数据吗?

A:海外我们不太会去做像中国一样绑定身份证,可能更多的是绑定一些像谷歌ID,Facebook,这些社交平台或者是邮箱账号,也会有一些会接入海外的手机号,需要去结合当地的一些政策,因为有一些国家可能是不允许你获取到玩家非常详细的私人信息。

Q2:在做业务安全,分析策略、引擎算法对抗开发,大概人的规模有多少?

A:应该还是要根据具体公司的你们组织架构的不同的样子去判断。结合我们自己的情况来看。我们这边,因为分析策略你刚提到的这几个岗位,他们有一些是会有重合,所以整个在相关的大概是会有十几二十个人。

Q3:在游戏堂场景当中支付相关的像代充和 iPhone 的一些退款,这部分占整体风险场景的比例是怎么样?涉及到资金的损失风险。在游戏整体资金风险当中占比是怎么?

A:代充,代充有一个比较尴尬的情况是它和我们游戏最核心的指标收入完全挂钩的,所以不同的游戏对于场景的做法也会不太一样。我们自己来说,我们更多的是处在一个监控的状态。整体占风险场景的占比,我不知道该怎么理解,但是我自己认为,它是一个比较重要的部分。一,因为流水是游戏比较重要的一个指标。结合我们行业内遇到的一些情况,可能有一些场景,在海外,我需要找国内的人帮我充值这样的方式,可能损失的比例不是特别高。但如果我是用黑卡或者说是 IOS 的一些非法退款,这样可能损失会相对来说高一些,所以还是要结合具体的代充形态去看。具体数值不太方便透露了。

Q4:如何感知到作弊类型,尤其是未知作弊的类型?

A:我们常见的些场景,我刚刚有提到,在这些场景当中有一些核心的阶段是你没有办法绕过的。我举个非常简单的例子,代充,大部分情况下你首先是一定要登录你被充值玩家的账号,再进行充值。包括游戏的资源交易,你交易一个在游戏内产生资源的流动,这一个没有办法绕过的,我们可以通过这些一定不会被绕过的情况去做一些监控,这个时候会能感知到在数据上的变化和我们已经识别到的变化,他们发生一些差异的时候,说明你可能被对抗了,或者说有一些你不知道的场景、不知道的形态产生了。

Q5:针对打击淘宝卖号之类的,一般怎么处置?怎么判断?是怎么判断那些号应该召回的?又该怎样平衡?

A:除了淘宝之外,还会有些第三方平台,像一些自己做的卖号网站,他们是会直接发布一些你可以看到待卖账号的ID、价格、拥有英雄数量和种类等信息。首先我们自己会识别一套疑似做了交易的账号,同时我们会结合这些网站上的一些信息去判断账号是否已经被卖出,如果是他分成两种情况,如果是他没有卖出的时候,这些号我们可以直接封掉,因为大部分情况下都是一些工作室囤的号。如果是他已经卖出了,基本上我们也是会对这些买号的玩家做一些惩罚的,在游戏开服的初期已经发布了禁止账号交易这样的公告。为了让玩家知道尽量不要去买这些号。我们都能容忍一些玩家自己开小号去刷主号这样的行为,但是千万不要去买些工作室刷得号。刚刚他有问到说怎么样去判断平衡,因为我们在游戏当中一直在做的一件事情,就是怎么样把我做的这些风控的效果进行量化。我们综合去判断打击初始号或者是账号交易能获得多少的收益。可能是会有一个量化的值,这样去判断,目前来看,这样的值基本都是正向。