网易易盾流量多发反外挂落地实践

news/2024/10/21 3:41:34/

背景及目的

 环境迁移 

反外挂服务建德机房线上迁移,采取的方案是:建德机房独立部署一套完整的集群,统一经由完整的性能测试、故障演练、功能回归后,通过线上分阶段切换流量的方式来切服务。QA 需要比对验证 2 个不同环境下核心接口返回值,保证数据上报检测功能稳定,确保迁移前后功能的一致性。

策略验证

智能风控新产品上线前,为了保证策略效果,建立上线信心,需要对现有的策略进行验证。验证的手段是通过客户端 QA 在功能测试阶段收集的真机样本,同时也对这些包含了多种外挂风险、环境风险等信息的样本进行精确标记,在功能回归阶段将样本重放,检查策略是否满足预期效果。

日常回归

在反外挂服务的日常测试中,服务端的测试数据是通过脚本构造的,对于复杂的场景的测试,更好的选择是利用线上真实的玩家数据——其中包含丰富的设备信息、外挂信息等数据,可以更好地覆盖反外挂策略。在此基础上建立样本回归的常态化,利用真实样本,更全面地覆盖核心场景。

反外挂接入流程

反外挂的接入主要分为 8 个步骤(如下图所示)其中步骤 1 在 GoAPI 平台完成,步骤 2、3、5、6、8 在流量比对平台完成,步骤 4、7 在代码中略微改造。

 

GoAPI 平台建立接口/场景等信息

在 GoAPI 平台上创建被测接口或场景信息,将步骤包含在“数据循环”中,可以是单接口也可以是存在依赖关系的多个接口。

“数据”设置“参数 key”和“值”。“参数 key”为需要替换的数据(样本中的 key),“值”为样本的具体数值。

 

流量比对平台创建接口信息

在流量比对平台上创建被测接口信息,设置好子服务和业务类型,配置需要测试的 2 个环境的域名,输入场景 id,关联刚刚在 GoAPI 平台上创建的场景,这样流量比对平台上后续的任务就能触发 GoAPI 平台上的场景进行执行。

 

建立反外挂样本库

接下来是要在流量比对平台上创建反外挂的样本库,通过样本库的管理进行样本的存储和更新。创建的样本库设置子服务和业务类型、样本上限等信息,后续采集的样本归属于当前样本库。

 

定制化反外挂样本采集机制

反外挂的样本采集来源有 2 个:一是线上 ES 存储的真实玩家上报数据,按照一定的要求提取数据,然后清洗、字段映射、加密等操作后输出为反外挂样本数据;另一个是客户端 QA 使用真机在测试过程收集的数据,然后进行手动标注,获得精确标注各种外挂信息的样本。

  • 线上 ES 采集反外挂样本

    在 ES 中按照设定的要求(平台或者外挂信息等)提取数据,然后按照反外挂接口需要的信息以及格式进行处理:包括根据 Protobuf 协议,重新映射字段;根据客户端与服务端通信加密算法重新加密数据,然后将最终数据存入对应的样本库。目前已采集线上真机样本数据:10000 条。

 

  • 真机测试数据转化反外挂样本

    客户端 QA 在测试过程中,使用真机安装了各类辅助工具或者外挂工具测试系统策略,并将这些上报的信息存储在数据库中,再对这些真机样本进行精确的标注,这些样本就可以转化为流量比对平台可用的样本。目前已采集标注客户端真机样本:105 条。

 

样本采集配置

在流量比对平台上创建样本采集的配置,前文中描述的 ES 提取数据所按照的要求就是在此处设置完成的。

导入配置:ES 中提取的数据清洗和过滤的要求,以及提取的比例。

提取字段:ES 中数据提取的字段,可以提取结构化的数据的部分字段。

 

维护反外挂场景信息

我们在测试反外挂的过程中,希望能掌握测试的场景覆盖情况,所以梳理出各种场景以及场景分类。在流量比对平台上手动添加场景信息。在样本的管理处可以将已知的样本与对应的场景进行关联,将样本与场景联系起来,通过不同的样本执行完成不同的场景覆盖,并能在执行结果中对场景的覆盖进行观测。

 

反外挂样本自动关联场景

上文提到了手动添加反外挂的场景信息,但还需要再和样本进行关联,可能比较耗时。能否做到自动提取场景信息后自动添加场景并关联呢?答案是可以的。我们在样本执行结束后对执行结果比对分析前,提取样本结果中的一些关键信息作为反外挂场景信息,并进行自动关联。

 

流量比对平台创建回归任务

在流量比对平台上创建回归任务,通过任务调度 GoAPI 平台上的接口或场景执行,轮询任务状态,执行结束后进行分析比对,最终结果在报告页面展示。

 

进度及效果

  • 反外挂迁移建德

    采集线上 10000 条样本,比对线上与建德环境,2 个环境比对结果一致,确保迁移顺利完成。

  • 智能风控策略比对

    使用客户端真机样本,单样本比对一致,智能风控顺利上线并保证策略效果满足预期。

后续计划

  • 反外挂样本多样性:样本提取方式优化。

  • 场景覆盖统计:多任务、多场景的覆盖统计;精准掌握样本实际覆盖情况。

  • 反外挂场景覆盖:透传接口、直传接口、Android 平台、iOS 平台、老反外挂、融合反外挂、智能风控。

  • 执行结果比对方法优化:异步执行结果比对方法。

  • 平台化功能优化。

  • 流量比对常态化:日常测试、线上验证等常态化执行。

 

 


http://www.ppmy.cn/news/90010.html

相关文章

多目标遗传算法NSGA-II改进策略

上篇写道了关于多目标遗传算法NSGA-II原理详解及算法代码实现,本文将继续在这篇文章的基础上更深一步的向前探索,探索方向为: 基于NSGA-II算法的固有缺点,着重对其算法提出改进策略,并予以代码实现。同样,本…

1112 Stucked Keyboard (PAT甲级)

写完后看柳婼的解法&#xff0c;其实可以直接数重复了几次&#xff0c;我这个写法有点复杂化了。 原代码&#xff1a; #include <iostream> #include <string> #include <set>int main(){int k, j;bool flag;std::set<char> st, printed;std::string…

codeforce第874轮(div3)

地址&#xff1a;codeforce第84轮&#xff08;div3&#xff09; A&#xff1a; 题目的意思是&#xff1a;给定我们一堆包含两个字符的字符串&#xff0c;字符串a和字符串b只要a的后一个字母和b的前一个字母相等即可链接&#xff0c;现在给出最后链接好的字符串&#xff0c;问…

〖Web全栈开发⑤〗— CSS基础

〖Web全栈开发⑤〗— CSS基础 (一)CSS基础1.1CSS介绍1.2CSS样式1.3CSS 格式 &#xff08;二&#xff09;CSS 选择器2.1标签选择器2.2类选择器2.3层级选择器2.4id选择器2.5组选择器2.6伪类选择器2.7通配符选择器 &#xff08;三&#xff09;样式表引入3.1外部样式表3.2内部样式表…

二总线-MBus讲解

二总线的叫法演变是从多线到总线再到二总线这么一个过程&#xff0c;尤其在楼宇的消防领域&#xff0c;报警的设备总线基本已经是二总线了&#xff0c;其特点就是电源与通信一起传输&#xff0c;本质上是一个电力载波的思路。那么现在的powerbus二总线又是一个极端&#xff0c;…

知识变现海哥:如何把自己的想法变现?

高手都懂得&#xff0c;简单三招&#xff0c;卖掉自己的想法。 把自己的思维装入别人的大脑&#xff0c;把别人的钱装进自己的口袋。 招一&#xff1a;把已知的事情和知识&#xff0c;变成未知的。 网络自媒体大行其道&#xff0c;你经常会看到听到一些新名词&#xff0c;仔细…

学习go的操作(本人已有c的基础,请思考后再看)

建立一个文件&#xff08;我的第一个文件是hellow.go&#xff09;&#xff0c;后在终端执行一下几步&#xff1a;我用的是go build先编译成了可执行文件&#xff08;.exe&#xff09;【1.go build hellow.go 2.hellow.exe】。当然&#xff0c;你也可以用go run直接运行【…

00后学什么技术有前途?2023年Java和前端发展前景分析!

00后的你还在想着进厂吗&#xff1f;每天在流水线上打螺丝&#xff0c;过着一成不变的日子&#xff0c;而且每个月就休息那么几天。如果你不想进厂&#xff0c;特别是对那些20岁刚出头或者学历不是那么有优势的年轻人&#xff0c;好程序员建议还是应该去学习一门技术&#xff0…