vivo 游戏黑产反作弊实践

news2024/10/7 10:24:52

作者:vivo 互联网安全团队 - Cai Yifan

在数字化、移动化的浪潮下,游戏产业迅速发展,尤其疫情过后许多游戏公司业务迎来新的增长点。

游戏行业从端游开始一直是黑灰产活跃的重要场景。近年来,随着互联网的发展和手机市场的不断壮大,手游的用户规模不断增长,黑产在手游市场的活跃程度不断提升。

游戏行业的黑产问题一般指的是游戏开发者关注的游戏内的黑产问题,而vivo作为手机厂商,或者更准确地讲,作为游戏分发平台,我们所关注的黑产问题与游戏开发者又有何不同呢?在黑产对抗上,vivo与游戏开发者相比,又有哪些优劣势?

本文将探讨vivo游戏黑产的作弊动机和特征,并分享vivo互联网安全团队与黑产对抗的方案和案例。

一、vivo渠道服游戏黑产获利点分析

1.1 黑灰产定义和分工

一般来说,黑色产业指的是从事具有违法性的活动且以此来牟取利润的产业。

而灰色产业则指的是不明显触犯法律和违背道德,游走于法律和道德边缘,为 “黑产” 提供辅助的争议行为。

黑灰产按照分工不同,大致可以分为4类:

(1)源头类黑产

掌握号源信息或身份信息等的黑产。常见的有手机号、身份证、工商信息等信息,通过贩卖用户信息获利。

(2)平台类黑产

用于非法交易、交流的平台类黑灰产。如恶意网站、恶意论坛和恶意群组,以及类似提供接码、打码的平台。

(3)技术类黑产

为中下游技术性不强的黑灰产从业人员制作并提供各类软、硬件设备和服务,如木马植入、钓鱼网站及各类恶意软件。

(4) 实施类黑产

实施各类违法犯罪行为的黑灰产,基于中下游链路,黑灰产在实施环节常常表现为恶意行为、诈骗等形式。

1.2 游戏行业常见的黑灰产问题

游戏行业常见的黑灰产问题主要包含:网络攻击、外挂、盗号、羊毛党、内容违规等。

1.2.1 网络攻击

网络攻击主要以DDoS攻击为主,就是利用大量合法的分布式服务器对目标发送请求,从而导致正常合法用户无法获得服务。

游戏行业的网络攻击主要来源于竞争者,通过网络攻击使攻击对象的用户无法正常进行游戏,影响用户体验,并造成用户流失,从而使攻击者自身的利益不受威胁。

如2021年8月,一款合成类游戏在首发期间就遭受黑客DDoS攻击,造成游戏玩家无法登录和游戏内卡顿等问题,引起大量用户投诉。

1.2.2 外挂

游戏外挂让大部分玩家、游戏公司深恶痛绝,却因有着源源不断的市场需求,外挂黑色产业链屡禁不止。游戏外挂通常指的是通过篡改游戏客户端代码,读取或者修改游戏运行过程中的数据来实现作弊功能的插件。

外挂的获利方式有多种:直接出售外挂获利、外挂内分发广告获利、使用外挂刷游戏资产交易获利、外挂代练、外挂“带老板坐飞机”、外挂养号等。

外挂泛滥的原因主要有三:一是外挂开发的工业化不断拉低开发的门槛;二是国内成熟的外挂分销体系使外挂销售更加便捷;三是外挂广告行为等行为缺乏规制,助推了外挂消费和产业对接。

在上述三个因素的加持之下,伴随游戏行业的火爆,游戏外挂的规模越来越大。

1.2.3 盗号

盗号,是从端游时代起就存在于游戏业内的老问题了。一方面,账号的安全问题关系到游戏能否长期稳定运营,另一方面,账号被盗导致虚拟财产流失,给玩家带来惨痛损失的同时,也损害了游戏厂商的品牌形象。

盗取游戏账号信息,用行内黑话来说,又叫作“出信”。所谓“信”,指的就是游戏账号密码等信息。这个领域又涉及到撞库、拖库、钓鱼、种马(木马)等等手段。

盗号主要通过出售用户信息、售卖游戏帐号资产、诈骗等方式获利。

1.2.4 羊毛党

羊毛党大都采取以量取胜的策略,比如养号、刷量、薅羊毛等。使用这种策略的黑灰产从业者,充分利用“长尾效应”,本着“苍蝇腿上也是肉”的原则,把蛋糕做大。

羊毛党通过批量注册帐号参与游戏厂商或者第三方平台的活动,领取礼包CDKey、充值礼券等,再通过交易平台出售给游戏玩家获利。

如某网游在交易猫上的交易价格为1元≈14金币,游戏内售价为1元=10金币,若不计算其他成本,如果黑产能够获取低于七折的礼券,则能够实现交易获利。

1.2.5 内容违规

内容违规主要涉及到游戏内发帖、发消息等文本内容灌水、涉黄、涉政、涉暴等违规风险。

内容违规的获利点比较多,直接获利点通过接单刷帖获利,间接获利则是引流至三方网站或app,通过赌博、诈骗等手段获利。

不同类型的游戏所面临的黑产问题不同,具体可参考《2021游戏安全白皮书》,因篇幅有限,本文不再赘述。

图片来源:《2021游戏安全白皮书》

1.3 vivo游戏关注的黑产问题

vivo游戏作为游戏渠道或者分发平台,关注的黑产问题和游戏开发者有所不同,游戏外挂等具体游戏内的黑产问题和平台无关,但游戏开发者和平台之间的利益分配就会成为开发者作弊的动机,同时vivo平台为了增加渠道的用户黏性,也会为用户开展一系列活动,发放游戏礼包、礼券等福利礼品等,这也可能成为黑产的获利点。

我们需要关注的黑产问题主要分为两类:游戏开发者相关的黑产问题和用户相关的黑产问题。

1.3.1 游戏开发者相关的黑产问题

顾名思义,游戏开发者相关的黑产问题即以游戏开发者为主体发起的黑产行为,常见的黑产问题有分发刷量和自充值问题。

分发刷量指通过如刷预约、下载、评论、榜单、启动、时长、广告等方式帮助游戏开发者在vivo平台获得用户流量或者广告收益;

自充值则是指游戏开发者通过自充值的方式提升其在vivo平台的“流水”,以在融资、商业合作、流量获取等方面获取有利条件。

1.3.2 用户相关的黑产问题

用户相关的黑产问题,主要指的是黑产利用批量注册的方式掌握大量的vivo帐号,在游戏礼包、游戏礼券、营销活动等场景刷量获利。

二、vivo游戏黑产作弊特征识别和打击

黑产危害之大,不得不引起平台的重视,对黑产问题予以打击,将其对平台的影响降低在可控的范围内。

首先介绍黑产刷量方式及优缺点。

2.1 黑产刷量方式及优缺点

黑产刷量方式大致可分为三类:模拟真人刷、接口刷、真人刷。

2.1.1 模拟真人刷量

模拟真人刷量,也称机刷,通常是使用群控设备,结合改机工具(修改设备参数)、秒拨机(切换ip)等来达到刷量的目的。

  • 模拟刷量:Xposed模块导入手机,打开相应app,即开始hook设备信息,随后用自动化脚本实现下载、安装、卸载。

  • Hook:手机安装xposed框架,分析apk包,编写xposed模块。

  • 自动化脚本:安装appium,编写自动化脚本模拟进行打开、点击、滑动等操作。

  • 木马:通过“感染”真实设备,自动执行程序下载或者调起应用,达到下载的目的。

  • 模拟器:在设备有限的情况下,可以通过模拟器模拟简单的设备参数进行刷量。

2.1.2 接口刷

接口刷,即通过协议刷量,通常是通过破解请求中的加密算法从而来自由构造请求,结合http代理等来达到刷量的目的。

2.1.3 真人刷

真人刷量,即通过真人真机刷量,常见的真人刷量方式包含积分墙,App领域的试玩(激励)平台,通过奖励玩家现金或者礼物的方式激励玩家到各种分发平台(主要是应用市场)去做任务:

下载任务(目的:冲榜),或者是去搜索-下载-打开任务(目的:提升关键词排名),或者是去五星好评(目的:提升产品综合权重)。

2.1.4 各刷量方式的优缺点

不同的刷量方式各有优缺点,黑产一般根据场景的刷量量级和作弊难度进行选择。

2.2 vivo游戏反作弊方案

“敌暗我明”,黑产作弊往往防不胜防。而vivo作为游戏渠道,又有哪些反作弊的难点呢?

2.2.1 vivo游戏反作弊难点

(1)帐号全渠道通用的“木桶效应”

不同于游戏厂商自身的帐号体系,vivo游戏与其他业务的帐号是通用的,甚至不同国家和地区注册的帐号也可跨地区登录和使用。

比如,vivo内销注册必须通过手机号注册,而外销则可以通过邮箱注册,作弊成本更低。且数据合规禁止数据跨境传输,风控无法获取帐号相关信息,打击难度进一步提升。

帐号通用同时意味着帐号价值的提升,黑产批量注册的帐号,不仅可以在游戏场景刷量,也可以在官网、积分、会员、活动等业务场景使用,在一定程度上降低了黑产注册帐号的成本。

(2)联运低版本的风险问题

由于vivo联运的游戏众多,一些游戏厂商并没有持续地维护和更新,这就导致vivo联运apk升级时不能够同步更新。而低版本apk往往存在一些漏洞,考虑到低版本升级可能导致游戏适配的问题,联运侧一般不会强制用户升级至高版本。

(3)可交易游戏的刷量问题

一些游戏内自带交易系统,为黑产刷量交易获利提供了极大的便利,这些游戏往往也是vivo游戏礼券刷量的“重灾区”。

2.2.2 vivo游戏业务安全防控体系

目前风控侧已建设事前风险感知->事中风险识别->事后打击的业务安全防控体系。

(1)事前风险感知

通过安全评审、安全攻防、情报调研、安全态势感知等事项,来前置/及时发现业务场景存在的风险。

好的业务安全防护一定不能脱离业务。业务安全方案的制定,既需要系统的安全能力建设,也需要风控人员深入业务,根据业务特性制定完善的安全方案,这样才能够保证既能够打击黑产作弊行为,又不会误伤正常用户请求。

同时,风控侧也站在攻击者的视角,对各业务场景进行攻防演练,对黑产的产业链进行调研分析,并对黑产可能攻击的风险点建设相关指标进行实时和离线监控,力求前置发现业务场景存在的风险,并在黑产攻击的第一时间同步业务及时作出应对。

(2)事中风险识别

事中的风险识别指离线风控和实时风控来进行多层级的风险决策,最大限度的识别风险。

事中识别是风控策略的核心,这里主要介绍几种常见的规则类型:

  • 请求频繁和参数聚集:如单个设备上大量帐号请求,或大量请求聚集于某个低app版本等。

  • 设备校验:主要包含设备真实性校验和参数合法性校验,识别伪造设备参数的接口刷或者模拟器刷量请求。

  • 风险数据过滤:根据三方数据或者利用历史数据信息建模分析,生成风险IP、风险手机号、风险openid等名单,限制黑产请求。

  • 陌生环境请求:针对帐号换端登录、新注册帐号、非vivo环境等特征进行加强校验,不根据单一特征直接拦截,但可作为组合策略的子规则加以利用。

  • 行为链路完整性校验:主要识别单个场景的接口刷,如不安装游戏条件下评论、无曝光有点击等作弊行为。

(3)事后打击闭环:

业务安全是一个持续对抗的过程,事后我们一方面需要打击刷量主体,提高主体的作弊成本;另一方面需要进行案例分析沉淀,对风控策略进行评估和系统告警进行分析,明确风控规则误伤和漏过情况,不断优化风控策略。

三、vivo游戏黑产反作弊案例分析

3.1 官网会员新购机游戏礼券刷量事件

3.1.1 事件背景

19年年末始,会员赠送的新购机游戏礼券权益频繁遭遇冒领,用券游戏主要为“捕鱼类”游戏。

3.1.2 黑产作弊路径分析

3.1.3 风控打击方案

  • 对用户请求设备参数进行严格校验,并结合帐号、ip信息等维度,准确识别用户身份

  • 监控领券成功数据和用券数据,及时发现漏过情况

  • 建立礼券交易情报监控体系,关注礼券交易情况

3.2 游戏礼包刷量问题

当前vivo游戏礼包主要分为CDKey礼包和自动发放礼包,CDKey礼包由于其交易的便利性,一直得到黑产“青睐”。

3.2.1 事件背景

2021年8月某游戏首发,首发礼包丰厚,吸引黑产批量盗刷该礼包

3.2.2 事件原因

  • 礼包价值高,外销帐号注册和登录态校验存在“低门槛”,吸引黑产攻击

  • 被风控策略识别后,黑产不断切换作弊特征,并利用高并发请求绕过风控限制

3.2.3 黑产作弊路径分析

3.2.4 风控打击方案

整体思路:各方配合提高黑产在整个刷量链路的作弊成本

(1)业务侧

  • 登录票据升级,设置票据有效期

  • 联合游戏开发者将礼包直接发放至游戏帐号,切换交易路径

  • 积分任务加密,提高积分刷量门槛

2)帐号侧

  • 冻结恶意外销帐号

  • 上线外销帐号登录态失效能力

(3)风控侧

  • 加强对外销帐号的打击

  • 提升验证码难度

  • 游戏礼包交易情况定期调研

  • 加强对各链路指标的异常监控,及时发现漏过情况

(4)游戏开发者侧

  • 联合游戏开发者失效恶意领取礼包CDKey,在最后一个环节切断黑产获利途径

四、总结

本文从vivo游戏平台的角度出发,分析vivo游戏黑产的获利点和作弊特征,并结合案例分享vivo游戏识别和打击黑产的防控体系,希望对游戏和业务安全的从业者在对抗黑产的问题上有所帮助。同时,对本文内容有任何疑问和建议,欢迎大家批评指正。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/663137.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从0到1精通自动化测试,pytest自动化测试框架,用例运行规则(二)

目录 一、用例设计原则 二、help帮助 三、按以下目录写用例 四、python -m 五、执行用例规则 六、-x 遇到错误时停止测试 七、—maxfailnum 一、用例设计原则 文件名以 test_*.py 文件和 *_test.py 以 test_ 开头的函数 以 Test 开头的类 以 test_ 开头的方法 所有的包…

前端学习——HTML

C/S架构和B/S架构 1.C/S架构:需要安装,偶尔更新,不跨平台 2.B/S架构:无需安装,无需更新,可跨平台 大型专业应用、安全性要求较高的应用,需要采用C/S架构 前端工程师主要研发B/S架构的应用——写…

智能照明控制系统助力某商业综合体实现“双碳”

摘要:智能照明是当前非常普及的一种照明控制方式。广泛使用于建筑物,景观,公共场所。本文以智能照明在商业综合体中的应用为基础,主要介绍了智能照明系统的功能与特点,系统运用的效果,在建筑自动化系统中的地位及优势等…

项目前期准备 -- 手把手教你做ssm+springboot入门后端项目黑马程序员瑞吉外卖(一)

文章目录 前言一、导学内容1.前置知识(必备)2.博客收获3.效果展示4.软件开发流程整体介绍4.瑞吉外卖整体项目介绍 二、开发环境搭建1.数据库环境搭建2.maven环境搭建 总结 前言 为了巩固所学的知识,作者尝试着开始发布一些学习笔记类的博客&…

Zoho Bigin表现亮眼,入选国际软件测评机构多项Top榜单

科技重新赋能企业发展动力,数字化转型成为降本增效的好方法。 然而真正落地到企业层面,尤其小微企业,做好数字化转型,并不是件容易的事情,需要多管齐下,长期投入时间和资金。 小微企业由于自身业务规模及…

Golang笔记:使用json包处理JSON数据

文章目录 目的Decoding(解析数据)Encoding(创建数据)总结 目的 JSON 是一种非常流行的数据交换格式,是JavaScript中原生支持的一种数据,因为其简单方便,所以也经常用在不同程序、不同语言间数据…

Linux5.6 Mysql备份与恢复

文章目录 计算机系统5G云计算第四章 LINUX Mysql备份与恢复一、数据库备份的分类1. 数据备份的重要性2.数据库备份的分类3. 常见的备份方法1)物理冷备2)专用备份工具mysqldump或mysqlhotcopy3)启用二进制日志进行增量备份4)第三方…

8.2 网络分层OSI七层模型

目录 计算机网络体系结构的形成 两台计算机要互相传送文件需解决很多问题 提出了不同体系结构 国际标准:开放系统互连参考模型 OSI/RM 但 ISO/OSI 失败了 存在两种国际标准 协议与划分层次 协议与划分层次 协议的两种形式 层次式协议结构 划分层次的概念举…

卷积计算加速方法--分块卷积

1、大尺寸卷积存在的问题 当卷积的输入太大导致内存不够用时,考虑将一大块卷积分成多个小块分别进行卷积,相当于将原始输入分成几个小的输入经过同一组卷积核分别卷积,其中每块小的输入都是原始输入的子集,每块之间互不影响&#…

OpenHarmony社区运营报告(2023年5月)

本月快讯 ● 2023年6月11-13日,2023开放原子全球开源峰会即将在北京北人亦创国际会展中心盛大开幕。2023开放原子全球开源峰会上,OpenAtom OpenHarmony(以下简称“OpenHarmony”)将通过分论坛与展览等方式,展示生态进展…

C# 特性详解

目录 特性是什么? 如何使用特性? (1).Net 框架预定义特性 (2)自定义特性 为什么要使用特性? 特性的应用 特性实现枚举展示描述信息 特性是什么? 特性(Attribute&…

划重点!超全PMP报考指南,速速收藏!

PMP证书作为项目管理专业人士的重要标志,是每一位项目经理职业发展生涯中不可或缺的证书。PMP学习不仅可以提升项目经理的项目管理水平,也可以进一步提升项目经理的个人竞争力。 一,PMP介绍 PMP(项目管理专业人士资格认证&#…

新建一个vue2项目

安装Vue CLI 在终端中输入以下命令进行全局安装: npm install -g vue/cli 创建Vue项目 1.在你要创建项目的目录下打开终端输入vue create 【你的项目名称】 2.手动选择安装 3.根据自己的需求选择 4.选择vue版本 5.是否使用calss风格的组件语法: (推荐…

8.1 什么是互联网

目录 计算机网络的定义与分类 计算机网路的定义 几种不同类别的计算机网络 按照网络的作用范围进行分类 按照网络的使用者进行分类 网络的网络 计算机网络 互连网络 网络与互连网 互联网 互联网的组成 互联网的边缘部分 互联网基础结构发展的三个阶段 第一阶段&a…

JavaWeb小记——Servlet

目录 Servlet概念 Servlet快速入门 1.创建web项目 2.创建一个Java类,实现Servlet接口 3.重写接口中的service()方法 4.配置Servlet——web.xml中 5.发布项目 6.发送请求,请求Servlet Servlet原理 Servlet的生命周期 1.init() 2.service() 3.…

el-form 表单项前面显示星号 但又不校验这一项代码怎么实现

效果图&#xff1a; 1.将 prop 属性设置为空字符串&#xff1b; 2.同时将 required 属性设置为 true。 这样就可以显示星号但不进行校验。 示例代码&#xff1a; <el-form> <el-form-item label"姓名" prop"name" required> <el-input…

SAP ERP系统PP模块控制BOM的变更是否需要ECN的三种解决方法<转载>

原文链接&#xff1a;http://www.360doc.com/content/12/0121/07/1079063886_1079063886.shtml BOM简称物料清单&#xff0c;它是PC和MC部门编制生产计划&#xff0c;物料采购和生产计划的依据&#xff0c;也是财务成本核算的基础&#xff0c;它的重要性不言而喻。 一个公司的…

Go语言精进之路读书笔记—第二章 项目结构、代码风格与标识符命名

上面是go语言库项目结构&#xff0c;细节补充如下&#xff1a; cmd目录&#xff1a; 存放项目要构建的可执行文件对应的main包源文件。 pkg目录&#xff1a; 项目自身要使用并且同样也是可执行文件对应main包要依赖的库文件。 makefile&#xff1a; 代码任何第三方构建工具脚本…

设备算法加密授权“安全+易用=?”

一提到软件授权&#xff0c;大家的第一反应都是“安全”和“易用”的问题&#xff0c;尤其是在算法加密授权领域。软件企业想要十足的安全性用来防止反编译&#xff0c;同时又需要具备灵活和易用来促使企业商业模式落地。那现在市面上是否有这样一款兼顾“安全性”和“易用性”…

谈谈:File、Blob、FileReader、ArrayBuffer、base64

JavaScript 提供了一些 API 来处理文件或原始文件数据&#xff0c;例如&#xff1a;File、Blob、FileReader、ArrayBuffer、base64 等。下面就来看看它们都是如何使用的&#xff0c;它们之间又有何区别和联系。 1. Blob Blob全称为binary large Object 即二进制大对象&#x…