写点什么

完全低估黑客的攻击手段,这家新游还没开服就遭受有预谋的攻击

2021 年 9 月 14 日

完全低估黑客的攻击手段,这家新游还没开服就遭受有预谋的攻击

按照计划,一个月前的 8 月 19 日是国产游戏《半盏复古行》(以下简称“半盏”)的上线日期,该游戏由广州只玩科技有限公司(以下简称“只玩科技”)代理,但让只玩科技始料不及的是,游戏还未开服便遭到了有组织、有预谋的黑客攻击。


根据官方在 TapTap 社区发布的公告描述,从 18 号晚上开始,半盏就遭遇了黑客攻击。这些黑客用八十万个游客账号同时登录、扫描服务器接口等其他不同的手段,对服务器进行攻击。从 19 号凌晨开始,全体技术人员上阵,抵抗了一波又一波攻击。直到 20 日的 01:55,在腾讯安全团队的帮助下,只玩科技升级了安全策略,才算是真正防住了攻击。20 日晚上,才最终保证游戏稳定运行,顺利开服上线。


InfoQ 从只玩科技方面进一步了解到,在游戏上线之前,只玩科技有对一些常规的攻击做事前准备,包括做 IP 的黑名单、异常操作的限制、登录限制,同时也加大了服务器的集群,也备好了空的服务器以随时部署。但这次他们低估了黑客的攻击手段和准备的充分程度,因为这些防护也无法完全防备。


据悉,这次黑客针对半盏的攻击手法主要是 CC 攻击(Challenge Collapsar Attack,CC),这是一种是针对 Web 服务器或应用程序的攻击,利用获取信息的标准的 GET/POST 请求,如请求涉及数据库操作的 URI(Universal Resource Identifier)或其他消耗系统资源的 URI,造成服务器资源耗尽,无法响应正常请求。


而最令人“头痛”的是,黑客准备了大量的“正常用户”,无论是 IP 还是一些帐号注册情况都是跟正常用户没太大区别,难以区分。


在接到只玩科技方面的求助后,腾讯安全加入了这次防御战。腾讯云游戏行业高级架构师王睿指出,这次攻击的确与很多新游戏上线所遭受的常见的DDoS攻击(分布式拒绝服务)有所不同,对方不是用大量的没有意义的流量去“打爆”带宽,而是从应用层面去模拟真实的玩家,然后向服务器发送请求。打个比方,游戏方的服务器当天准备了 10 万人的资源,但是事实上有几百万甚至上千万玩家同时去向服务器发送请求,而且那些玩家发送的请求其实不全是正常玩家发送的请求,而是会访问一些正常玩家很少访问到的接口,导致服务器资源占用量超过 100%。


王睿首先跟只玩科技的相关负责人沟通和判断攻击类型,匹配相应的安全产品(WAF产品),继而找到产品的相关同事加入,一同协作只玩科技去过滤正常玩家的流量、抓攻击的流量,再通过攻击的流量来分析用什么样的策略应对。


据悉,为了这次的防御战,腾讯方面组建了近 20 人的临时团队来协作。


“但攻击还是一直在持续,因为游戏之前封测的时候,部分服务器 IP 被暴露了,攻击绕过了防火墙直接打到真实的服务器上。”由于情况比较紧急,王睿建议只玩科技更换真实服务器的 IP,这样攻击的流量就打不过来,后面建议在整个架构上做一个收敛——真实的服务器的 IP 不要对外,要收敛到防火墙后面,这样一来攻击就无法绕过防火墙。


这场历时 30 多个小时的拉锯战,对只玩科技来说无疑是一次惊心动魄的战斗,但也是中小型游戏厂商面临的共同安全问题的缩影:长期的游戏研发、有限的资金投入、不完善的安全防御意识和体系,让不少游戏在开服阶段就遭遇黑产攻击勒索。委曲求全还是宁为玉碎坚持抗争,始终是个不易的选择。


对于中小游戏厂商在安全防护上的建议,王睿表示,如果在运维或者开发的过程,能有意识地去避免,比如做一些防御式编程,以及在运维部署的过程做一些最小权限的管理,做各种控制权限的事情,防止自己不必要的暴露,这些都是可以做到且不用花钱。“我认为作为游戏从业者,把经历放在内容制作上,当然是本职工作也是最重要的工作,但是做游戏内容的同时也要有安全防御的思想,无论是在开发还是部署运维的过程中,这样会给自己的公司省一大笔钱。”


游戏安全始终是一场没有终结的战斗。“不管游戏怎么发展,各行各业怎么发展,只要有利益在的地方一定就会有黑客盯着,因为这里面有获利的点。”腾讯安全产品研发总监董文辉亦建议,游戏厂商不仅要看未来,更要关注当下,因为防御是动态的,攻防也是动态的。需要在研发和运营阶段打下基础的安全能力,并建立起防御体系,配套一些开发安全规范和安全运维规范,就可以解决不少的问题。


《半盏复古行》在 TapTap 社区所记录的反黑进度: https://www.taptap.com/topic/19043033

2021 年 9 月 14 日 16:0922
用户头像
罗燕珊 InfoQ中文站记者

发布了 136 篇内容, 共 49.1 次阅读, 收获喜欢 226 次。

关注

评论

发布
暂无评论
发现更多内容

当你输入get/set命令的时候,Redis做了什么

老胡爱分享

redis 源码分析

《零基础学 Java》 FAQ 之 17-怎么理解Java中的数组

臧萌

Java

架构师训练营第三周

Melo

SharePoint 往事之:一句话让 SharePoint 罢工

手艺人杨柳

SharePoint

英特尔宋继强:坚持科研的长期主义 推动AI向3.0时代跃迁

最新动态

Zoom 妥协!对免费用户开放端到端加密服务

神经星星

音视频 Zoom 端到端加密 隐私保护 数据保护

Free space——区块链加密社交平台新秀之作

Geek_116789

重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」

小傅哥

设计模式 小傅哥 重构 代码优化 责任链模式

第三周作业

LEAF

必知必会,程序员都应该会的Linux的50个知识点!

Java小咖秀

Linux 面试 运维 Shell 经验

GitHub 热榜:一款堪称作业终结者的开源神器!

JackTian

GitHub 开源项目 工具类网站 学生党 Text-to-handwriting

架构师训练营作业 (第三周)

王海

极客大学架构师训练营

为什么Web开发人员在2020年不用最新的CSS功能

Geek_Willie

CSS

架构师训练营第二周课后作业

赵凯

框架设计

互联网人的娱乐精神之28岁退休 & P8和生活助理的故事

码农神说

程序员 漫画 退休

Android APP启动白屏优化

小菜鸟学php

android白屏

数据库如何弹性伸缩?

Aaron_涛

数据库 架构 云原生

【写作群星榜】6.12~6.19 写作平台优秀作者 & 文章排名

InfoQ写作平台官方

写作平台 排行榜

培训机构出来的程序员常被鄙视,招谁惹谁了

程序员生活志

程序员 程序人生

Facebook 起诉水军公司:删不过来,我还告不过来吗?

神经星星

facebook 亚马逊云 AWS Lightsail 水军 虚假评论

思想不进化的人都是可怜人

Neco.W

提升认知 思考 进步 进化

加密与解密

返町

flutter开发

InfoQ_1c4a1f813eb1

常年“佛系”Crysis勒索病毒突然变种 变身黑客工具合辑

360安全卫士

一种极致性能的缓冲队列

捉虫大师

Java 性能

跨云厂商部署 k3s 集群

米开朗基杨

k3s wireguard

你真的了解敏捷吗?听马丁福勒聊敏捷

涛哥

敏捷 数字化转型

还在埋头干活?给程序员的几个忠告

四猿外

Java 深度思考 程序员 随笔杂谈 程序员成长

对不起,我爱你

小天同学

小说 爱情 情感

小师妹学JVM之:JIT中的LogCompilation

程序那些事

JVM 「Java 25周年」 小师妹 性能调优 JIT

如何写出高质量的代码?(浅谈代码规范、重构、单元测试的重要性)

Nick

单元测试 重构 代码重构 代码规范

完全低估黑客的攻击手段,这家新游还没开服就遭受有预谋的攻击-InfoQ