前几天在关于三角洲的文章中聊过了三角洲的程序员利用内核级权限偷偷修改用户的电脑设置,今天聊聊内核反作弊之耻,EAC(Easy Anti-Cheat),也就是大家耳熟能详的“小蓝熊”。
通过百度可以得知:小蓝熊作为来自美国的游戏反作弊系统,在其上线初期凭借其内核级反作弊技术,得到了很多投资商的认可,2019 年,Epic Games 宣布为游戏开发者提供免费的 “在线服务项目(即 EOS)”,为后续 EAC 的广泛应用奠定了基础。
坏就坏在免费这件事上,一堆想着省钱的厂商都因此采用了小蓝熊作为反作弊首选,包括《Apex 英雄》《艾尔登法环》《堡垒之夜》等。
EA那么多挂哥不封,绿玩天天误封
按理说,内核级的反作弊软件有极高的系统权限,其反作弊的手段非常之多,包括但不限于以下手段:
进程监控与管理
进程行为分析:反作弊软件会持续监测游戏进程以及相关进程的行为。通过分析进程的启动、运行、关闭等过程,检查是否有异常的进程活动,如突然出现不明来源的进程与游戏进程进行交互,或者游戏进程出现异常的资源占用、操作频率等情况,以此判断是否存在作弊程序在后台运行。
查看系统资源占用
进程注入检测:检测是否有未经授权的进程注入到游戏进程中。作弊程序常常通过注入代码或 DLL(动态链接库)文件到游戏进程来实现作弊功能,内核级反作弊软件会监控进程间的内存访问和代码注入行为,一旦发现有非游戏自身的代码或数据被注入到游戏进程,就会判定为作弊行为并进行拦截。
使用shellcode采用反射式注入dll演示
内存保护与监控
内存读写检测:对游戏进程所占用的内存空间进行严格的读写监控。正常情况下,游戏程序对内存的访问是有一定规律和范围的,而作弊程序为了修改游戏数据、获取游戏内部信息等,会试图以非法的方式读写游戏内存。反作弊软件会检查内存读写操作的来源、地址、数据内容等,一旦发现异常的内存读写行为,如对关键游戏数据的不合理修改,就会触发检测机制。
大名鼎鼎的CE修改器(Cheat Engine)就是借助内存扫描定位与修改技术进行作弊的。
内存完整性校验:定期对游戏内存中的关键数据和代码进行完整性校验。通过计算内存数据的哈希值或使用其他校验算法,将当前内存状态与已知的正确状态进行对比,若发现内存数据被篡改或破坏,说明可能存在作弊行为。
永劫无间就要求必须关闭系统内核隔离中的内存完整性检测,因为其反作弊文件NaceSafe.sys与内核不兼容
系统调用拦截与分析
系统调用监控:拦截和监控系统调用是内核级反作弊的重要手段之一。系统调用是应用程序与操作系统内核交互的接口,作弊程序在进行作弊操作时,往往需要通过系统调用获取系统资源或执行特定操作。反作弊软件会在内核层拦截这些系统调用,检查调用的参数、来源和目的,分析是否存在异常的系统调用行为,如通过系统调用获取游戏敏感信息或修改系统设置等。
钩子(Hook)检测:作弊程序常常会利用hook来拦截系统消息或函数调用,以实现作弊功能。内核级反作弊软件会检测系统中是否存在非法的钩子,通过分析钩子的安装位置、作用对象和执行逻辑,判断其是否为作弊程序所设置的恶意钩子,并进行相应的处理。
hook可以理解为通过拦截系统或者应用中的事件,信号和调用,作为行为代理者来更改系统或者应用的第三者
代码签名与验证
游戏代码签名验证:在游戏启动时,反作弊软件会对游戏的可执行文件、动态链接库等代码进行签名验证。游戏开发商会对游戏代码进行数字签名,反作弊软件通过验证签名来确保游戏代码的完整性和真实性,防止游戏文件被篡改或替换为包含作弊代码的版本。
数字签名就是采用密码学技术,生成游戏的完整性和安全性证明
反作弊软件自身签名保护:为了防止反作弊软件本身被破解或篡改,反作弊软件也会对自身的代码和数据进行签名保护。通过数字签名技术,确保反作弊软件在运行过程中的完整性和合法性,防止作弊者通过修改反作弊软件的代码来绕过检测机制。
小蓝熊真的能保护自己吗?b站一搜全是绕过攻略
行为分析与机器学习
玩家行为建模:通过收集和分析玩家在游戏中的各种行为数据,建立玩家行为模型。这些数据包括玩家的操作频率、操作顺序、游戏角色的移动轨迹、攻击方式等。反作弊软件会根据大量的正常玩家行为数据,构建出正常行为的模式和范围,当玩家的行为明显偏离这个模式时,就会被标记为可疑行为。
在GDC 2018上,Valve游戏工程师John McDonald介绍了度假社用深度学习反CS外挂的技术,称其“至少找出了大部分开挂者的罪证”
硬件层面检测
这应该是目前当下最火的反作弊手段,随着DMA作弊技术大行其道,最有效的反DMA技术就是硬件检测,主要包含以下两种:
设备硬件库检测:建立海量的设备硬件库白名单与黑名单,收集各种合法设备的信息,包括设备的 VID(供应商 ID)、PID(产品 ID)、硬件特征等。在游戏运行时,扫描玩家设备,对比硬件库中的数据,若发现有未识别的可疑设备,或者设备的特征与已知的 DMA 作弊硬件相似,就可能存在 DMA 作弊。
设备连接与行为监测:监测设备的连接情况,如是否有异常的新设备突然接入系统。关注设备在系统中的行为,比如是否有设备频繁进行不寻常的内存访问请求,或者与游戏进程有异常的交互,可通过分析设备的 I/O 操作、数据传输量等判断设备行为是否正常。
外设设备并不是直接与CPU进行通信,而是与设备IO控制器通信。
分析完了这一系列反外挂技术,就可以聊一聊为什么小蓝熊这么难用了,说到底就是两个词:隐私and成本。
EAC的官网宣传语
首先是隐私问题,在EPIC GAMES 隐私政策中epic强调了”我们使用各种反作弊和防欺诈技术帮助我们识别和防止恶意活动。这些服务可能会收集和分析有关您的计算机或您计算机上软件的数据以侦测作弊行为,并且可能由 Epic 或服务提供商提供“。算是免责声明,但是事实上,欧美的法律严格约束了其能力,使其不能像某些国内厂商一样肆无忌惮的窥探你的电脑,自然反作弊效果大打折扣。
另一方面,从游戏厂商的角度分析,多一事不如少一事,建立完善的反外挂系统需要大量的资金、人力和时间投入。游戏厂商需要组建专业的反外挂团队,不断进行技术研究和工具开发,这对于一些中小厂商来说是巨大的负担,因此有时会为了保证游戏的更新和运营节奏而在反外挂方面有所妥协。
小蓝熊作为一款免费的反作弊程序,也不会值得EPIC投入重金进行研发(E宝的钱都拿来送游戏了,地主家也没余粮啊)
很多3A游戏近年开发成本激增,特别是索尼系,蜘蛛侠2的开发成本据报道超3亿美元
更有甚者,部分比较邪门的游戏厂商(我可没说是吃鸡)可能担心过于严格的反外挂措施会导致玩家流失到竞争对手的游戏中,认为宽松的反外挂政策可以吸引更多玩家。为了保持游戏在市场中的竞争力,可能会在反外挂力度上有所保留,以免因严格打击外挂而使部分玩家感到不便或不满。
大名鼎鼎的就是号称”赛博2战”的战地炸服事件,也促使部分厂商对挂哥妥协和纵容
总而言之,反外挂与外挂这对矛与盾,始终在游戏世界中进行着激烈博弈。小蓝熊和其他一部分反作弊软件,如EA AC(EA Anti-Cheat)和战眼(battleye),虽有着看似强大的内核级反作弊技术与权限,但受限于隐私政策、成本考量等因素,难以充分发挥其效能,沦为玩家口中的 “内核反作弊之耻”。
但另一方面,一些反作弊软件动不动就全盘扫描和和深度监控用户的计算机系统,也让人感到蛮难受的。反作弊软件在追求强大的作弊检测能力时,也应该权衡全盘扫描等激进措施所带来的负面影响,寻找更加平衡、有效的反作弊解决方案,既能维护游戏的公平性,又能最大程度地保障玩家的权益和游戏体验。
更多游戏资讯请关注:电玩帮游戏资讯专区
电玩帮图文攻略 www.vgover.com