攻略01-07
我们在《绝地求生:百日行动》中承诺将在随后的开发者日志中和大家分享反作弊相关的更多细节。因此,今天我们将和大家聊聊关于我们的反作弊开发的进程。
“你们真的有在追踪作弊软件吗?”“反作弊的未来计划是什么样的?”在社区中,总有这样的的问题被提出。现在,我们非常乐意和大家就反作弊工作进程方面畅所欲言。但是,对于我们的反作弊生态系统而言,这些高度敏感的信息可能会对反作弊软件开发进程会起到一定的阻碍作用,因此我们不能透露详细的信息。
我们也意识到与玩家们沟通至关重要。虽然我们无法分享详细的细节,但我们会尽可能地满足各位玩家的需求。在本次反作弊开发者日志中,我们将和大家集中展现我们和未授权的程序所做的斗争、结果以及未来的计划。
为了更好地交流,此次开发者日志将与百日行动网站上所报告的进程将略有不同,我们将从以下顺序来向大家分享。
加强技术措施
改进反作弊解决方案
改进响应作弊程序用户的进程
解决Steam系统中的漏洞
强化法律途径行动
《绝地求生》遭受着各种类型的作弊程序的攻击。我们通过采取多种安全措施来应对各种类型的攻击以提高效率。我们首先将阐述作弊软件通常的运行原理以及我们技术强化所基于的原理。
①当作弊程序(exe)和游戏(exe)启动时,相关数据同时加载到RAM上。
②游戏进程或第三方游戏反作弊解决方案的默认保护被激活。
阻止其他进程访问此进程是一个初步保护阶段。
③作弊程序使得第②步中的保护技术无效并成功访问游戏进程内存。
能够访问意味着能够任意改变游戏相关信息。
最具代表性的此类作弊手段为DKOM,进程空洞化和SSDTHooking等。
④具有游戏进程存储器访问的作弊程序可以收集各种数据并修改或复制它以提供游戏中未提供的非法功能。这里使用的最具代表性的技术是DLL注入和代码注入。
DLL注入:使用Windows中的LoadLibrary()API等手段,将一个DLL放进某个进程的地址空间里将其成为此进程的一部分。
代码注入:使用Windows中的CreateRemoteThread()等手段,在目标进程中注入执行。
⑤获得的存储空间可以自由读取或伪造/修改以提供游戏中实际未提供的功能。
DLLinjection(DLL注入)是最古老和最广泛使用的作弊方法。DLLinjection(DLL注入)强制地向游戏进程注入某个DLL文件。成功完成此攻击后,此DLL代码域将被信任,就好像它是原始游戏代码一样。因此,通过使用此DLL可以进行挂钩和劫持数据等,作弊者可以任意操作进程。
反作弊团队一直致力于阻止DLL注入攻击。在开发的早期阶段也存在兼容性问题,例如Steam和Discord等程序在PUBG进程上尝试DLL注入或被确认为恶意代码。
但是,通过持续改进,目前我们能够解决大多数兼容性问题并阻止大多数DLL注入攻击。您可以理解为现在几乎不可能使用DLL注入攻击对PUBG进程产生任何有效影响。
最近我们也经常检测到内核驱动程序攻击。内核驱动程序是硬件之间通信所需的文件,用于提供在特定权限下运行的进程。由于内核驱动程序可以绕过大多数反作弊解决方案并且使用高于一般用户权限的权限执行,因此很难检测到。
此外,尽管Windows操作系统在内部阻止了未经授权的内核驱动程序,但在许多情况下,未经授权的内核驱动程序通过利用安全漏洞和非法授权的证书而被视为合法销售程序。
我们可以使用与阻止DLL注入相同的方法来抵御这种类型的攻击,但它不会非常有效,因为Windows操作系统中的新漏洞不断被发现,并且大多数反作弊解决方案采用的方法类似于恶意代码,意思就是很难区分它们。因此,反作弊团队目前正在保护可能被黑客滥用的内存区域,其优先级最高,使用加密来有效地响应使用内核驱动程序的攻击,并且正在尽最大努力将此方法应用于更广泛的领域。
我们还通过加密客户端和服务器之间的通信协议或者重新验证客户端中的结果值来加强各种技术响应,这样我们就可以在打击作弊程序方面保持领先。
11-26
11-26
11-26
11-26
11-26