在电子游戏中,大多数防作弊软件都是在客户端运行的(例如PunkBuster或阀门防作弊)--但这难道不是不信任客户端的第一条安全规则吗?如果是的话,为什么这些公司不为电子游戏提供服务器端验证,而是继续坚持信任客户?
发布于 2016-02-22 01:00:30
如果是的话,为什么这些公司不为电子游戏提供服务器端验证,而是继续坚持信任客户?
这不是坚持信任客户,而更多的是没有其他可行的反欺骗模式。就像DRM,事实上,像PB这样的反欺骗软件使用一种形式的DRM,几乎没有什么可以做的。
DRM软件已经有了适当的缓解措施,以防止客户过多地插嘴,但它必须放在客户端上,以防止客户做媒体公司不希望客户做的事情。
反欺骗技术依赖于类似的方法。有关客户端的信息将被收集并发送到服务器,如果客户端被视为行为不端,则通过对特定软件进行的任何一系列检查,都可以在服务器上禁用该信息。
归根结底,这取决于风险管理。是的,不要相信客户端是安全的首要原则之一。但为了减轻客户的风险,需要进行成本效益分析,这就是风险管理。让客户继续进行bot和欺骗的成本是否值得失去想要一个公平和有趣的游戏的客户?还是应该采取一些缓解措施?PB和其他软件包并不是为了完全停止欺骗,而是为了使欺骗的代价更高。
此外,还有另一种更微妙的方式来限制客户欺骗(墙黑客,.),主要涉及在线游戏,但不限于。这是通过不向客户端提供所有数据来实现的。例如,不真实的引擎3有检查是否有一个演员在您附近的能见度,如果这个检查是肯定的,服务器发送您的确切位置以及您的对手。也就是说,只有服务器知道游戏实例中所有参与者的所有位置、动作和动作。
这可以在欺骗一段中的虚幻引擎3/客户端服务器模型的文档中阅读,如下所示:https://udn.epicgames.com/Three/ClientServerModel.html
因此,使用高级引擎/网络代码和Client模型,不一定需要100%信任客户端。服务器可以预先决定客户端应该知道什么,从而有效地限制了黑客攻击的可能性。为了更进一步,服务器可以决定自己应该知道什么,而不是被发送伪造数据包的客户端分心或迷惑。
发布于 2016-02-22 02:51:49
客户端反欺骗软件本身并不是关于安全性,而是关于游戏(和客户)体验。
因此,安全规则几乎不适用。信任客户端“到1723年时点击像素1056”与信任客户端“可以将1000美元转移到Nigera”或客户端“可以访问Bob的电子邮件”非常不同。
请注意,我特别不包括金融交易,只是游戏欺骗,像目标机器人,大头骗子,等等。
发布于 2016-02-22 16:34:42
首先:有很多游戏,它们使用100%的服务器端验证,并且不信任客户端。一个例子:在线扑克
你根本不发送任何卡的价值给客户,他不知道。因此,即使他破解了客户端并读取矩阵,他也没有什么隐藏的东西可以揭示,也没有任何动作是他无法处理常规客户的。
但许多现代游戏要复杂得多。比如第一人称枪手。在这里,很难决定你是否能看到另一名球员,以及他的表现有多好。你可能会说这很容易,如果你俩之间有一道墙,你就看不到他。对于这些简单的情况,现代游戏已经可以从你的视野中剔除敌人的玩家,所以你不会得到他所在的位置。但是,一旦敌人在黑暗的角落里,而且几乎看不见,游戏仍然要把他的位置发送给你,这样你的图形设备就可以把他画在那里。如果你用的是欺骗,它把他描绘成明亮的颜色,你可以很容易地认出他并欺骗他。这是很难阻止的,因为在阴影中把他描绘成深色的逻辑对于具有良好图形的游戏来说是非常复杂的--所以在服务器上绘制图片并只发送给你最后的图片会使欺骗变得更加困难,但也需要服务器上大量的资源,并且会有严重的滞后问题。
延迟还是延迟:流媒体游戏的第二个大问题是滞后。如果你移动鼠标,你可以快速查看周围的第一人称射击。但是,通过互联网发送这个命令并接收显示在屏幕上的结果将需要比本地渲染更长的时间。如果你有一个快速的互联网连接,你可以幸运的是,平安低于20毫秒,但大多数连接可能是非常不稳定的,滞后可能有时会更高。一种反应缓慢的游戏,它会玩得非常慢,而且几乎没有乐趣。相反,许多现代游戏应用了大量的技术,比如移动预测、时间扭曲等等,这样你就可以通过让你的游戏计算大量的本地逻辑和预测其他玩家的移动来降低其他玩家的感知滞后,所以游戏感觉比实际更流畅。
硬件/开箱作弊。而且,总是有大量的欺骗机会,这是不容易被软件打败的。那兴奋剂呢?(体育中的真实事物)或让机器人为你玩。或者在你的肩膀上安装摄像头,在你的屏幕上发现敌人并告诉你他们在哪里?甚至是像DDoS攻击僵尸网络来干扰敌人的通信?
有一些可能使服务器支持的验证。服务器可以测试游戏代码/防欺骗软件的正确性,比如DRM保护(当然可以被欺骗)。服务器还可以检查游戏逻辑,测量您的动作,收集有关您的行为的统计数据和数据,并将其与其他玩家和某些限制进行比较,并试图确定您是否在不正常地玩游戏,或者您是否违反了任何规则。但这一切都不是完美的。
https://security.stackexchange.com/questions/115331
复制相似问题