当前位置: 首页 > article >正文

BotScreen: Trust Everybody, but Cut the Aimbots Yourself

“BotScreen: Trust Everybody, but Cut the Aimbots Yourself”一文提出了一种名为BotScreen的新型自瞄检测系统,旨在解决现有自瞄检测方案在服务器端开销大或检测准确率低的问题。以下是对该论文的总结:

1. 研究背景

  • 游戏作弊问题:电子竞技产业发展迅速,但在线游戏作弊对游戏行业构成重大威胁,特别是在第一人称射击(FPS)游戏中,自瞄作弊器(aimbots)严重影响游戏公平性和厂商收益。
  • 现有检测方案的局限性
    • 服务器端检测:多数现有解决方案在服务器端运行,导致工作负载集中,且无法随玩家数量扩展,同时因未监测玩家复杂动作而准确率较低。
    • 客户端检测:存在内存篡改问题,且缺乏高质量的包含正常和作弊行为的游戏数据集用于评估。

2. BotScreen系统概述

  • 威胁模型:假设自瞄作弊器在不违反游戏规则的前提下改变目标游戏进程的输入,且可根据游戏上下文操纵键盘和鼠标输入。
  • 系统架构
    • 客户端:包括游戏引擎、TEE(受信任执行环境)、DATAMANAGER和DETECTOR。客户端之间通过网络共享游戏事件信息,DATAMANAGER将接收到的事件转换为向量化数据并进行预处理,DETECTOR使用RNN模型分析射击行为,判断是否使用自瞄作弊器,并将结果发送给服务器。
    • 服务器:收集来自客户端的检测报告,综合判断玩家是否作弊。

3. 自瞄检测技术

  • DATAMANAGER
    • 数据处理流程:将从FPS游戏客户端观察到的玩家行为事件转换为包含时间、玩家ID、位置、瞄准角度和游戏事件类型等信息的元组。然后进行向量计算,将瞄准角度转换为笛卡尔坐标并确定玩家是否瞄准对手;接着进行归一化处理,通过线性插值将不规则时间戳的事件调整为固定时间间隔;最后进行净化处理,过滤掉玩家死亡和重生时产生的不必要事件。
  • DETECTOR
    • 事件过滤:为避免简单检测被绕过,仅关注射击事件以及其前后相关事件,并根据RNN窗口大小 w w w和预定持续时间 d d d积累足够的相关事件。
    • 异常评分:使用预训练的RNN模型,该模型基于正常玩家的瞄准行为进行训练。通过比较预测的瞄准方向与实际方向的L1距离计算异常分数,异常分数越高,使用自瞄作弊器的可能性越大。
    • 报告结果:将计算出的异常分数与阈值比较以确定最终标签,阈值根据验证数据集确定,有最佳准确率和最佳精度两种选择标准。然后将作弊报告发送给服务器。

4. 实验评估

  • 实验设置
    • 伦理评估:研究符合伦理规范,获得相关批准,并遵循Steam用户协议。
    • 数据收集:从FPS游戏 clan招募14名不同技能水平的玩家,收集了28场经典死亡竞赛游戏的数据集,包括7,817,380帧和93,044个玩家动作。要求作弊玩家根据自身经验微调自瞄配置。
    • RNN模型和训练:选择堆叠门控循环单元(SGRU)作为RNN模型,使用无监督学习方法,基于AdamW优化器在收集的数据集中随机选择部分游戏的自观察日志进行训练。
    • 环境:在不同配置的机器上进行训练和性能评估,包括高性能、中性能和低性能设置。
  • 检测性能评估
    • 基于游戏的划分:将数据集按游戏随机划分为7个部分进行7 - fold交叉验证,BotScreen在不同划分下均表现出高预测准确率(最小97.06%,最大100%),同时绘制ROC曲线评估模型分离异常的能力。
    • 基于玩家的划分:将数据集按玩家进行划分,训练集包含12名玩家的日志,测试集包含其余2名玩家的日志,考虑所有可能的训练 - 测试组合,BotScreen平均检测准确率超过98%,且不受玩家技能水平影响。
  • 参数选择评估
    • 不同事件大小:通过改变 w w w d d d的值评估其对自瞄检测性能的影响,实验结果表明选择 w = 20 w = 20 w=20 d = 10 d = 10 d=10时性能最佳。
    • 不同RNN超参数:测试不同隐藏单元数量和堆叠层数对自瞄预测准确率的影响,BotScreen使用的参数在准确性和稳定性方面表现最佳。
  • 比较研究
    • 比较对象:设计并实现了四种基于简单统计特征的自瞄检测方法,以及选取了三种现有的开源工具进行比较。
    • 基于游戏的检测结果:在每个游戏进行决策的场景中,BotScreen显著优于其他方法,在准确率上比第二好的方法提高了9%以上。
    • 基于历史的检测结果:在根据玩家在多场比赛中的行为进行决策的场景中,BotScreen在检测准确率方面仍然表现最佳,尽管在个别数据点较少的情况下存在少量误判,但整体性能优于其他方法。

5. 客户端检测的影响

  • 异常分数差异:每个客户端使用RNN为每个观察到的射击事件分配异常分数,理想情况下不同观察者的分数应相同或相似。实际中通过测量标准偏差来量化不一致性,实验结果表明大部分标准偏差较小,且对最终预测结果影响不大。
  • 观察率差异:由于FPS游戏的竞争性质,玩家观察盟友的机会多于敌人。观察率较低可能导致自瞄检测预测效果变差,但实验结果表明BotScreen在低观察率下仍能实现准确检测,观察率和预测准确性之间几乎没有相关性。

6. 性能开销

  • 通过在三种不同性能设置的机器上进行实验,测量BotScreen带来的性能开销。结果表明在高性能和中性能设置下,BotScreen增加的平均帧时间开销与游戏本身的帧时间误差难以区分,在低性能设置下虽有明显开销,但由于CS:GO已充分利用机器资源,该结果也在意料之中。因此,BotScreen在现代配备SGX的机器上产生的性能开销可忽略不计。

7. 实际演示

  • 在真实游戏场景中进行演示,准备两个CS:GO客户端,一个使用自瞄作弊器,另一个使用BotScreen。针对四种不同的自瞄作弊器配置,每种配置进行三场10分钟的游戏,BotScreen能够成功检测出所有自瞄作弊器且无误报,证实了其在实际游戏中的有效性。

8. 讨论

  • SGX的局限性:Intel SGX虽提供TEE,但存在侧信道攻击的风险,且在近期CPU中已被弃用。不过其他TEE如ARM TrustZone和AMD SEV仍可使用,且Intel推出了新的可信计算技术TDX,BotScreen的核心思想仍然有效。
  • 对其他FPS游戏的适用性:BotScreen的检测方案基于FPS游戏的通用特征,且RNN模型的无监督训练方法使其可重新校准用于其他FPS游戏。
  • DATAMANAGER的实现:当前实现未将DATAMANAGER置于SGX内,因为这需要修改游戏引擎,但认为游戏公司可直接采用该设计并进行修改。

http://www.kler.cn/news/368353.html

相关文章:

  • Redis主从复制入门
  • Spring-Day2
  • 如何在SpringTask的定时任务中创建动态的定时任务
  • K 个一组反转链表
  • 【golang】学习文档整理
  • Pandabuy事件警示:反向海淘品牌如何规避风险
  • Django 5 增删改查 小练习
  • Python实现Android设备录屏功能及停止录屏功能
  • Linux: Shell编程入门
  • 详解Redis相关缓存问题
  • Java中的反射(2)——调用构造方法和获取继承关系
  • shodan搜索引擎——土豆片的网安之路
  • <项目代码>YOLOv8路面病害识别<目标检测>
  • python中使用pymobiledevice3与手机交互(一)获取udid
  • 【C++】函数的返回、重载以及匹配、函数指针
  • 线程池(重要)
  • 位运算算法及习题 ,丢弃的数字 , 两整数之和 ,只出现一次的数字II
  • Java 线程池:深入理解与高效应用
  • C语言 | Leetcode C语言题解之第515题在每个树行中找最大值
  • 《Knowledge Graph Enhanced Multimodal Transformer for Image-Text Retrieval》中文校对版
  • NtripShare Cloud平台之CORS服务之基准站RTCM坐标编辑
  • Apache paino DML操作实战
  • Python数据分析——Numpy
  • Git快速上手
  • Java实现 itext PDF文件打印水印(文字和图片水印)
  • Vue前端开发:双向数据绑定之v-model与修饰符