当游戏遭遇安全问题,我们应该怎么做?

2024-06-21 00:44

本文主要是介绍当游戏遭遇安全问题,我们应该怎么做?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在游戏安全领域,专业性最差、但最常见的案例类型是DDoS攻击(分布式拒绝服务攻击)。出于它的特性,中小厂商、独立开发者较容易遭受这类攻击。

例如,今年2月29日上线的手游《雷索纳斯》就遭受了名为ACCN组织发起的DDoS攻击。游戏不得不延迟开服1小时,许多玩家反馈首日游戏很卡,每看一句台词,要卡上10几秒才能进入到下一句。ACCN的主要手段是要求项目组缴纳“保护费”,不交就会保持攻击。无独有偶,一款用户有7位数的手游也在开服节点遭受DDoS攻击,如果不及时解决,所造成的损失难以估量。

                       

                        究竟是玩家太多还是遭受了攻击,可以从后台数据直观地观察出来

DDoS攻击的基本原理是,攻击方通过大量的“肉鸡”(由黑客远程控制的电脑)去占满游戏服务器的带宽或者CPU。如果把游戏服务器比作饭店的话,就像是饭店刚开门,突然有一群人来到饭店门口把门挡住,正常的食客挤不进来,又或者是这群人进了饭店占掉大部分桌子,不停地叫服务员点菜,服务员又赶不走他们,其他的食客也受到影响。

为了提高赚钱的效率,利用DDoS攻击进行勒索的往往是分工明确的工作室(如ACCN组织)。一部分人会专门去“找”将要上线的游戏,记录游戏的体量、类型和上线时间,另一部分人会根据这些记录来发动攻击,可能还会有专门的一批人负责与各个游戏项目组进行联络,确认收款。

                                

                                                                 负责收钱的“专人”

这些行为当然是违法的,但项目组很难溯源与追责。一是此类组织的成员可能都不在国内,服务器IP地址又中转了几道;二是攻击者一般采用比特币等虚拟货币交易。

每年,TapTap等游戏平台上都有大量开发者被ACCN组织勒索的公告消息,尽管一些平台和发行方会提供防护服务,但对于开发者来说,“不怕贼偷,就怕贼惦记”,来自暗处、不知何时会出现的攻击始终是一种隐患。

从技术型防护的角度来说,DDoS攻击只是钱的问题。游戏的体量不同,攻击的流量也会有大小区别,毕竟“杀鸡焉用牛刀”,攻击也需要花费成本,如果没平衡好这个度,很可能就会做亏本的买卖。

“肉鸡”的成本低,但防“肉鸡”的成本高。比如攻击者利用“肉鸡”对游戏服务器造成200G的流量攻击,那么游戏项目组可能要去买200G的公有云(例如腾讯云、阿里云)资源来进行防护,前者成本可能只要几百元,后者则需要几十万元。

                                                             阿里云上的防护产品

攻击者往往取两者中间值偏下一些的金额作为“保护费”,但项目组不能保证对方是诚实的。如果攻击者“盗亦有道”,只收一次保护费,项目组还能勉强接受;但如果对方觉得你是“肥羊”,就会一次又一次地勒索。很多时候项目组不敢赌,但是又没钱去买专门的防护服务,只能乖乖交钱。

对此,相对专业的建议是增强安全意识。一部分开发者没有预防的概念,往往是事发之后亡羊补牢,而遭受第一次DDoS攻击后损失的盈利反而比提前防护花的钱更多,得不偿失。

根据专业安全服务商总结的经验,成本较低的方法是,只要项目组在上线的头一个月购买公有云资源或相应的防护服务,后面就基本不会再有工作室来发动DDoS攻击。小体量的游戏花较少的钱,就能直接解决可能造成重大损失的问题。

这篇关于当游戏遭遇安全问题,我们应该怎么做?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1079727

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

解决RocketMQ的幂等性问题

《解决RocketMQ的幂等性问题》重复消费因调用链路长、消息发送超时或消费者故障导致,通过生产者消息查询、Redis缓存及消费者唯一主键可以确保幂等性,避免重复处理,本文主要介绍了解决RocketM... 目录造成重复消费的原因解决方法生产者端消费者端代码实现造成重复消费的原因当系统的调用链路比较长的时

深度解析Nginx日志分析与499状态码问题解决

《深度解析Nginx日志分析与499状态码问题解决》在Web服务器运维和性能优化过程中,Nginx日志是排查问题的重要依据,本文将围绕Nginx日志分析、499状态码的成因、排查方法及解决方案展开讨论... 目录前言1. Nginx日志基础1.1 Nginx日志存放位置1.2 Nginx日志格式2. 499

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of

游戏闪退弹窗提示找不到storm.dll文件怎么办? Stormdll文件损坏修复技巧

《游戏闪退弹窗提示找不到storm.dll文件怎么办?Stormdll文件损坏修复技巧》DLL文件丢失或损坏会导致软件无法正常运行,例如我们在电脑上运行软件或游戏时会得到以下提示:storm.dll... 很多玩家在打开游戏时,突然弹出“找不到storm.dll文件”的提示框,随后游戏直接闪退,这通常是由于

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

Python错误AttributeError: 'NoneType' object has no attribute问题的彻底解决方法

《Python错误AttributeError:NoneTypeobjecthasnoattribute问题的彻底解决方法》在Python项目开发和调试过程中,经常会碰到这样一个异常信息... 目录问题背景与概述错误解读:AttributeError: 'NoneType' object has no at

Spring的RedisTemplate的json反序列泛型丢失问题解决

《Spring的RedisTemplate的json反序列泛型丢失问题解决》本文主要介绍了SpringRedisTemplate中使用JSON序列化时泛型信息丢失的问题及其提出三种解决方案,可以根据性... 目录背景解决方案方案一方案二方案三总结背景在使用RedisTemplate操作redis时我们针对

Kotlin Map映射转换问题小结

《KotlinMap映射转换问题小结》文章介绍了Kotlin集合转换的多种方法,包括map(一对一转换)、mapIndexed(带索引)、mapNotNull(过滤null)、mapKeys/map... 目录Kotlin 集合转换:map、mapIndexed、mapNotNull、mapKeys、map

Nginx安全防护的多种方法

《Nginx安全防护的多种方法》在生产环境中,需要隐藏Nginx的版本号,以避免泄漏Nginx的版本,使攻击者不能针对特定版本进行攻击,下面就来介绍一下Nginx安全防护的方法,感兴趣的可以了解一下... 目录核心安全配置1.编译安装 Nginx2.隐藏版本号3.限制危险请求方法4.请求限制(CC攻击防御)