开发者日志:关于反作弊的细节内容

开发者日志 2018.02.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操作系统中的新漏洞不断被发现,并且大多数反作弊解决方案采用的方法类似于恶意代码,意思就是很难区分它们。因此,反作弊团队目前正在保护可能被黑客滥用的内存区域,其优先级最高,使用加密来有效地响应使用内核驱动程序的攻击,并且正在尽最大努力将此方法应用于更广泛的领域。

我们还通过加密客户端和服务器之间的通信协议或者重新验证客户端中的结果值来加强各种技术响应,这样我们就可以在打击作弊程序方面保持领先。

 

改进反作弊解决方案

除了上面介绍的技术保护外,PUBG还利用外部反作弊解决方案来保护游戏进程区域。正如之前公布的内容,我们目前使用两种反作弊解决方案:BattlEye和Uncheater。它们保护游戏进程区域并且同时检测规避反作弊解决方案的各种尝试。

除了这些保护性反作弊解决方案之外,我们还应用了一种机器学习技术,该技术可以分析玩家的使用规律,并构建了一个系统,可以检测异常的游戏规律或操作,从而中断作弊用户影响游戏的行为。在构建这些系统的过程中,我们与众多经验丰富的反作弊解决方案公司和顶级工程师合作,这有助于我们加强游戏的安全性。

我们将继续与更多反作弊解决方案公司合作,研究新的攻击手段,并开发可以防御这些攻击的技术。

 

改善对应作弊程序用户的流程

如上所述,尽管我们设置了技术保护措施,但期望阻止所有未经授权的程序是不切实际的。对于试图绕过我们的解决方案的作弊程序,目前我们正在尝试检测这些程序是否在游戏中使用并立即阻止它们。

反作弊小组分析了大约3TB(相当于698个4GB电影的数量)游戏日志,60种左右的作弊日志,以及平均每天超过1000万个报告。在这些数据海洋中,我们会挑选出显示异常模式的用户。在验证过程之后,这些帐户将被禁止。此外,我们会定期检测未授权程序并创建一个非常类似于PC疫苗解决方案的数据库。根据这些汇编数据,我们将继续禁止那些使用各种已知未授权程序的用户。

我们将继续努力检测未经授权的程序并迅速采取行动禁止这些使用者。与此同时,我们正在努力改进我们向用户分享相关信息更新的系统。

例如,在《绝地求生:百日行动》中提及的游戏中报告反馈系统自8月23日更新以来一直在使用。自实施以来,直到11月30日,我们的玩家提供了超过1亿条反馈。其中83%收到永久封停的玩家曾在一场游戏中被多名玩家举报。您的报告在维护游戏公平性方面提供了很多帮助。

我们将展示8.23日到10月30日之间的反馈数据周报。

 

下面介绍《绝地求生:百日行动》中所提到的实施硬件封禁环节。11月19日,硬件封禁开始实行。这是一项非常敏感的禁用方法,我们为了确保网吧和公用电脑不受到不公正的影响,非常谨慎地进行硬件的封禁。当硬件被封禁时,将弹出下面屏幕截图中显示的提示语,之后在该硬件上将无法再运行《绝地求生》了。除了硬件的封禁外,我们还开始禁止部分可设置宏的鼠标。计划是将这项工作扩展到通过使用宏功能破坏游戏平衡性的所有设备。

 

 

<硬件封禁信息(以上)/鼠标宏封禁信息(以下)>

 

目前,全世界有超过100人,365日全天候监控作弊程序销售商(网站,短信,群聊)。各社区对作弊软件交流信息也在密切监控,因此可以快速检测和处理威胁PUBG安全的任何因素。

通过改进的流程,我们甚至可以迅速对作弊程序进行响应。目标是加强先发制人的行动,以便这些作弊者在游戏中不再活跃。

此外,目前玩家在正式服进行游戏途中因作弊、恶意伤害队友等原因被封禁时将在右上角的击杀信息栏中实时显示。我们相信这个系统将有助于澄清玩家们对我们的反作弊行为的一些疑问。

 

解决Steam系统中的漏洞

除了游戏中应用的方法之外,我们还修复了外部平台的漏洞。如您所知,PUBG使用Steam平台。在某些情况下,平台中的一些弱点被用于非法获取,我们通过Steam对此进行了改进并解决了漏洞,以便作弊程序用户将按照正常程序受到惩罚。以下是实际实例的一些示例。

  • 利用Steam系列共享系统中的弱点来规避Steam和PUBG的封禁限制。
  • 如果购买PUBG的帐户使用“家庭共享”与未购买PUBG的帐户共享游戏,则与该游戏共享的帐户将无法再玩该游戏。
  • 在Steam上篡改游戏时长,以满足Steam的最低退款要求,从而免费玩游戏。
  • 我们与Valve(Steam)合作,加强了他们的PUBG游戏时间计算方法和Steam用户软件退款要求,以阻止这种情况再次发生。
  • 因为Steam平台的结构,利用Beta服和测试服务器被认为是在不同的环境的漏洞,使用在正式服上已被封禁的帐户访问测试服务器并使用作弊程序。
  • 我们更改了系统,现在所有服务器都可以检查封禁记录。封禁记录现在在正式服、测试服务器和其他服务器之间共享,因此在任一服务器被封禁则无法登陆所有服务器。

 

我们正通过与Steam的密切合作不断改进系统,以防止这些系统漏洞被滥用。

 

法律途径行动

非法程序作为破坏公平游戏环境的因素,必须要被拦截阻止。同时,在游戏产业需要杜绝开发、宣传、销售非法程序的人员。为了防止非法程序的扩散,我们通过与司法机构、海外合作伙伴的配合,进行全球性的法律对应措施。以下为2018年进行法律对应措施的结果,中国地区为通过与腾讯的紧密协助获得的成果。

  • 2018年1月中国连云港警方抓捕41名
  • 2018年2月中国淮安警方抓捕3名
  • 2018年2月中国襄阳警方抓捕11名
  • 2018年4月中国南京警方抓捕141名
  • 2018年4月中国淮安警方抓捕1名
  • 2018年8月韩国大田地方警察厅逮捕6名
  • 2018年9月中国温州警方抓捕1名
  • 2018年10月中国唐山警方抓捕3名
  • 2018年10月中国温州警方抓捕34名
  • 2018年10月韩国阳川警察局逮捕11名

除了上述调查结果外,目前我们持续配合法律事务所、司法机构、版权保护机构等进行对非法程序开发者与销售者的调查,调查结果我们将会后续与大家分享。

 

结语

《绝地求生》是一款同时匹配100名玩家的战术竞技游戏。因此,只要有一个作弊软件使用者就会破坏其他99名玩家的游戏体验。我们同时也注意到了我们游戏需要比其他游戏维持更高级别的安全防护。

正如我们在此次开发者日志中的阐述,反作弊团队一直致力于通过多种途径来“净化游戏环境”。当然,我们也将继续提升我们的业务能力。今日所分享的一切仅仅只是我们征程中所迈出的小小一步。我们将在和作弊软件的战斗中永不停歇,继续研究和开发新的反作弊技术以保护玩家权益。

在此,我们将对所有信任我们的玩家致以诚挚的谢意。我们将倾尽所能来回馈广大玩家们的信任。我们也希望大家能够一直支持我们的工作。

 

真挚感谢!

绝地求生反作弊团队

 

 

PUBG: BATTLEGROUNDS 团队 敬上