根據(jù)全球游戲和全球移動(dòng)互聯(lián)網(wǎng)行業(yè)第三方分析機(jī)構(gòu)Newzoo的數(shù)據(jù)顯示:2017年上半年,中國(guó)以275億美元的游戲市場(chǎng)收入超過(guò)美國(guó)和日本,成為全球榜首。
游戲行業(yè)的快速發(fā)展、高額的攻擊利潤(rùn)、日趨激烈的行業(yè)競(jìng)爭(zhēng),讓中國(guó)游戲行業(yè)的進(jìn)軍者們,每天都面臨業(yè)務(wù)和安全的雙重挑戰(zhàn)。
游戲行業(yè)一直是競(jìng)爭(zhēng)、攻擊最為復(fù)雜的一個(gè)江湖。 曾經(jīng)多少充滿激情的創(chuàng)業(yè)團(tuán)隊(duì)、玩法極具特色的游戲產(chǎn)品,被互聯(lián)網(wǎng)攻擊的問(wèn)題扼殺在搖籃里;又有多少運(yùn)營(yíng)出色的游戲產(chǎn)品,因?yàn)樵馐蹹DoS攻擊,而一蹶不振。
DDoS攻擊的危害
阿里云安全發(fā)布的2017年上半年的游戲行業(yè)DDoS攻擊態(tài)勢(shì)報(bào)告中指出:2017年1月至2017年6月,游戲行業(yè)大于300G以上的攻擊超過(guò)1800次,攻擊最大峰值為608G;游戲公司每月平均被攻擊次數(shù)高達(dá)800余次。
目前,游戲行業(yè)因DDoS攻擊引發(fā)的危害主要集中在以下幾點(diǎn):
90%的游戲業(yè)務(wù)在被攻擊后的2-3天內(nèi)會(huì)徹底下線。
攻擊超過(guò)2-3天以上,玩家數(shù)量一般會(huì)從幾萬(wàn)人下降至幾百人。
遭受DDoS攻擊后,游戲公司日損失可達(dá)數(shù)百萬(wàn)元。
為什么游戲行業(yè)是DDoS攻擊的重災(zāi)區(qū)?
據(jù)統(tǒng)計(jì)表明,超過(guò)50%的DDoS和CC攻擊,都在針對(duì)游戲行業(yè)。游戲行業(yè)成為攻擊的重災(zāi)區(qū),主要有以下幾點(diǎn)原因:
游戲行業(yè)的攻擊成本低,幾乎是防護(hù)成本的1/N,攻防兩端極度不平衡。
隨著攻擊方的手法日趨復(fù)雜、攻擊點(diǎn)的日趨增多,靜態(tài)防護(hù)策略已無(wú)法達(dá)到較好的效果,從而加劇了這種不平衡。
游戲行業(yè)生命周期短。
一款游戲從出生到消亡,大多只有半年的時(shí)間,如果抗不過(guò)一次大的攻擊,很可能就死在半路上。黑客也是瞄中了這一點(diǎn),認(rèn)定只要發(fā)起攻擊,游戲公司一定會(huì)給保護(hù)費(fèi)。
游戲行業(yè)對(duì)連續(xù)性的要求很高,需要7×24小時(shí)在線。
因此如果受到DDoS攻擊,很容易會(huì)造成大量的玩家流失。在被攻擊的2-3天后,玩家數(shù)量從幾萬(wàn)人掉到幾百人的事例屢見不鮮。
游戲公司之間的惡性競(jìng)爭(zhēng),也加劇了針對(duì)行業(yè)的DDoS攻擊。
游戲行業(yè)的DDoS攻擊類型
空連接
攻擊者與服務(wù)器頻繁建立TCP連接,占用服務(wù)端的連接資源,有的會(huì)斷開、有的則一直保持。空連接攻擊就好比您開了一家飯館,黑幫勢(shì)力總是去排隊(duì),但是并不消費(fèi),而此時(shí)正常的客人也會(huì)無(wú)法進(jìn)去消費(fèi)。
流量型攻擊
攻擊者采用UDP報(bào)文攻擊服務(wù)器的游戲端口,影響正常玩家的速度。用飯館的例子,即流量型攻擊相當(dāng)于黑幫勢(shì)力直接把飯館的門給堵了。
CC攻擊
攻擊者攻擊服務(wù)器的認(rèn)證頁(yè)面、登錄頁(yè)面、游戲論壇等。還是用飯館的例子,CC攻擊相當(dāng)于,壞人霸占收銀臺(tái)結(jié)賬、霸占服務(wù)員點(diǎn)菜,導(dǎo)致正常的客人無(wú)法享受到服務(wù)。
假人攻擊
模擬游戲登錄和創(chuàng)建角色過(guò)程,造成服務(wù)器人滿為患,影響正常玩家。
對(duì)玩家的DDoS攻擊
針對(duì)對(duì)戰(zhàn)類游戲,攻擊對(duì)方玩家的網(wǎng)絡(luò)使其游戲掉線或者速度慢。
對(duì)網(wǎng)關(guān)DDoS攻擊
攻擊游戲服務(wù)器的網(wǎng)關(guān),導(dǎo)致游戲運(yùn)行緩慢。
連接攻擊
頻繁的攻擊服務(wù)器,發(fā)送垃圾報(bào)文,造成服務(wù)器忙于解碼垃圾數(shù)據(jù)。
游戲安全痛點(diǎn)
業(yè)務(wù)投入大,生命周期短
一旦出現(xiàn)若干天的業(yè)務(wù)中斷,將直接導(dǎo)致前期的投入化為烏有。
缺少為安全而準(zhǔn)備的資源
游戲行業(yè)玩家多、數(shù)據(jù)庫(kù)和帶寬消耗大、基礎(chǔ)設(shè)施資源準(zhǔn)備時(shí)間長(zhǎng),而安全需求往往沒有被游戲公司優(yōu)先考慮。
可被攻擊的薄弱點(diǎn)多
網(wǎng)關(guān)、帶寬、數(shù)據(jù)庫(kù)、計(jì)費(fèi)系統(tǒng)都可能成為游戲行業(yè)攻擊的突破口,相關(guān)的存儲(chǔ)系統(tǒng)、域名DNS系統(tǒng)、CDN系統(tǒng)等也會(huì)遭受攻擊。
涉及的協(xié)議種類多
難以使用同一套防御模型去識(shí)別攻擊并加以防護(hù),許多游戲服務(wù)器多用加密私有協(xié)議,難以用通用的挑戰(zhàn)機(jī)制進(jìn)行驗(yàn)證。
實(shí)時(shí)性要求高,需要7×24小時(shí)在線
業(yè)務(wù)不能中斷,成為DDoS攻擊容易奏效的理由。
行業(yè)惡性競(jìng)爭(zhēng)現(xiàn)象猖獗
DDoS攻擊成為打倒競(jìng)爭(zhēng)對(duì)手的工具。
如何判斷已遭受DDoS攻擊?
假定已排除線路和硬件故障的情況下,突然發(fā)現(xiàn)連接服務(wù)器困難、正在游戲的用戶掉線等現(xiàn)象,則說(shuō)明您很有可能是遭受了DDoS攻擊。
目前,游戲行業(yè)的IT基礎(chǔ)設(shè)施一般有 2 種部署模式:一種是采用云計(jì)算或者托管IDC模式,另外一種是自行部署網(wǎng)絡(luò)專線。無(wú)論是前者還是后者接入,正常情況下,游戲用戶都可以自由流暢地進(jìn)入服務(wù)器并進(jìn)行游戲娛樂。因此,如果突然出現(xiàn)以下幾種現(xiàn)象,可以基本判斷是被攻擊狀態(tài):
主機(jī)的IN/OUT流量較平時(shí)有顯著的增長(zhǎng)。
主機(jī)的CPU或者內(nèi)存利用率出現(xiàn)無(wú)預(yù)期的暴漲。
通過(guò)查看當(dāng)前主機(jī)的連接狀態(tài),發(fā)現(xiàn)有很多半開連接;或者是很多外部IP地址,都與本機(jī)的服務(wù)端口建立幾十個(gè)以上的ESTABLISHED狀態(tài)的連接,則說(shuō)明遭到了TCP多連接攻擊。
游戲客戶端連接游戲服務(wù)器失敗或者登錄過(guò)程非常緩慢。
正在進(jìn)行游戲的用戶突然無(wú)法操作、或者非常緩慢、或者總是斷線。
DDoS攻擊緩解最佳實(shí)踐
目前,有效緩解DDoS攻擊的方法可分為 3 大類:
架構(gòu)優(yōu)化
服務(wù)器加固
商用的DDoS防護(hù)服務(wù)
您可根據(jù)自己的預(yù)算和遭受攻擊的嚴(yán)重程度,來(lái)決定采用哪些安全措施。
架構(gòu)優(yōu)化
在預(yù)算有限的情況下,建議您優(yōu)先從自身架構(gòu)的優(yōu)化和服務(wù)器加固上下功夫,減緩DDoS攻擊造成的影響。

部署DNS智能解析
通過(guò)智能解析的方式優(yōu)化DNS解析,有效避免DNS流量攻擊產(chǎn)生的風(fēng)險(xiǎn)。同時(shí),建議您托管多家DNS服務(wù)商。
屏蔽未經(jīng)請(qǐng)求發(fā)送的DNS響應(yīng)信息
典型的DNS交換信息是由請(qǐng)求信息組成的。DNS解析器會(huì)將用戶的請(qǐng)求信息發(fā)送至DNS服務(wù)器中,在DNS服務(wù)器對(duì)查詢請(qǐng)求進(jìn)行處理之后,服務(wù)器會(huì)將響應(yīng)信息返回給DNS解析器。
但值得注意的是,響應(yīng)信息是不會(huì)主動(dòng)發(fā)送的。服務(wù)器在沒有接收到查詢請(qǐng)求之前,就已經(jīng)生成了對(duì)應(yīng)的響應(yīng)信息,這些回應(yīng)就應(yīng)被丟棄。
丟棄快速重傳數(shù)據(jù)包
即便是在數(shù)據(jù)包丟失的情況下,任何合法的DNS客戶端都不會(huì)在較短的時(shí)間間隔內(nèi)向同一DNS服務(wù)器發(fā)送相同的DNS查詢請(qǐng)求。如果從相同IP地址發(fā)送至同一目標(biāo)地址的相同查詢請(qǐng)求發(fā)送頻率過(guò)高,這些請(qǐng)求數(shù)據(jù)包可被丟棄。
啟用TTL
如果DNS服務(wù)器已經(jīng)將響應(yīng)信息成功發(fā)送了,應(yīng)該禁止服務(wù)器在較短的時(shí)間間隔內(nèi)對(duì)相同的查詢請(qǐng)求信息進(jìn)行響應(yīng)。
對(duì)于一個(gè)合法的DNS客戶端,如果已經(jīng)接收到了響應(yīng)信息,就不會(huì)再次發(fā)送相同的查詢請(qǐng)求。每一個(gè)響應(yīng)信息都應(yīng)進(jìn)行緩存處理直到TTL過(guò)期。當(dāng)DNS服務(wù)器遭遇大量查詢請(qǐng)求時(shí),可以屏蔽掉不需要的數(shù)據(jù)包。
丟棄未知來(lái)源的DNS查詢請(qǐng)求和響應(yīng)數(shù)據(jù)
通常情況下,攻擊者會(huì)利用腳本對(duì)目標(biāo)進(jìn)行分布式拒絕服務(wù)攻擊(DDoS攻擊),而且這些腳本通常是有漏洞的。因此,在服務(wù)器中部署簡(jiǎn)單的匿名檢測(cè)機(jī)制,在某種程度上可以限制傳入服務(wù)器的數(shù)據(jù)包數(shù)量。
丟棄未經(jīng)請(qǐng)求或突發(fā)的DNS請(qǐng)求
這類請(qǐng)求信息很可能是由偽造的代理服務(wù)器所發(fā)送的,或是由于客戶端配置錯(cuò)誤或者是攻擊流量。無(wú)論是哪一種情況,都應(yīng)該直接丟棄這類數(shù)據(jù)包。
非泛洪攻擊 (non-flood) 時(shí)段,可以創(chuàng)建一個(gè)白名單,添加允許服務(wù)器處理的合法請(qǐng)求信息。白名單可以屏蔽掉非法的查詢請(qǐng)求信息以及此前從未見過(guò)的數(shù)據(jù)包。
這種方法能夠有效地保護(hù)服務(wù)器不受泛洪攻擊的威脅,也能保證合法的域名服務(wù)器只對(duì)合法的DNS查詢請(qǐng)求進(jìn)行處理和響應(yīng)。
啟動(dòng)DNS客戶端驗(yàn)證
偽造是DNS攻擊中常用的一種技術(shù)。如果設(shè)備可以啟動(dòng)客戶端驗(yàn)證信任狀,便可以用于從偽造泛洪數(shù)據(jù)中篩選出非泛洪數(shù)據(jù)包。
對(duì)響應(yīng)信息進(jìn)行緩存處理
如果某一查詢請(qǐng)求對(duì)應(yīng)的響應(yīng)信息已經(jīng)存在于服務(wù)器的DNS緩存之中,緩存可以直接對(duì)請(qǐng)求進(jìn)行處理。這樣可以有效地防止服務(wù)器因過(guò)載而發(fā)生宕機(jī)。
使用ACL的權(quán)限
很多請(qǐng)求中包含了服務(wù)器不具有或不支持的信息,可以進(jìn)行簡(jiǎn)單的阻斷設(shè)置。例如,外部IP地址請(qǐng)求區(qū)域轉(zhuǎn)換或碎片化數(shù)據(jù)包,直接將這類請(qǐng)求數(shù)據(jù)包丟棄。
利用ACL,BCP38及IP信譽(yù)功能
托管DNS服務(wù)器的任何企業(yè)都有用戶軌跡的限制,當(dāng)攻擊數(shù)據(jù)包被偽造,偽造請(qǐng)求來(lái)自世界各地的源地址。設(shè)置一個(gè)簡(jiǎn)單的過(guò)濾器可阻斷不需要的地理位置的IP地址請(qǐng)求或只允許在地理位置白名單內(nèi)的IP請(qǐng)求。
同時(shí),也存在某些偽造的數(shù)據(jù)包可能來(lái)自與內(nèi)部網(wǎng)絡(luò)地址的情況,可以利用BCP38通過(guò)硬件過(guò)濾清除異常來(lái)源地址的請(qǐng)求。
部署負(fù)載均衡
通過(guò)部署負(fù)載均衡(SLB)服務(wù)器有效減緩CC攻擊的影響。通過(guò)在SLB后端負(fù)載多臺(tái)服務(wù)器的方式,對(duì)DDoS攻擊中的CC攻擊進(jìn)行防護(hù)。
部署負(fù)載均衡方案后,不僅具有CC攻擊防護(hù)的作用,也能將訪問(wèn)用戶均衡分配到各個(gè)服務(wù)器上,減少單臺(tái)服務(wù)器的負(fù)擔(dān),加快訪問(wèn)速度。
使用專有網(wǎng)絡(luò)
通過(guò)網(wǎng)絡(luò)內(nèi)部邏輯隔離,防止來(lái)自內(nèi)網(wǎng)肉雞的攻擊。
提供余量帶寬
通過(guò)服務(wù)器性能測(cè)試,評(píng)估正常業(yè)務(wù)環(huán)境下能承受的帶寬和請(qǐng)求數(shù),確保流量通道不止是日常的量,有一定的帶寬余量可以有利于處理大規(guī)模攻擊。
服務(wù)器安全加固
在服務(wù)器上進(jìn)行安全加固,減少可被攻擊的點(diǎn),增大攻擊方的攻擊成本:
確保服務(wù)器的系統(tǒng)文件是最新的版本,并及時(shí)更新系統(tǒng)補(bǔ)丁。
對(duì)所有服務(wù)器主機(jī)進(jìn)行檢查,清楚訪問(wèn)者的來(lái)源。
過(guò)濾不必要的服務(wù)和端口。例如,WWW服務(wù)器,只開放80端口,將其他所有端口關(guān)閉,或在防火墻上做阻止策略。
限制同時(shí)打開的SYN半連接數(shù)目,縮短SYN半連接的timeout時(shí)間,限制SYN/ICMP流量。
仔細(xì)檢查網(wǎng)絡(luò)設(shè)備和服務(wù)器系統(tǒng)的日志。一旦出現(xiàn)漏洞或是時(shí)間變更,則說(shuō)明服務(wù)器可能遭到了攻擊。
限制在防火墻外與網(wǎng)絡(luò)文件共享。降低黑客截取系統(tǒng)文件的機(jī)會(huì),若黑客以特洛伊木馬替換它,文件傳輸功能無(wú)疑會(huì)陷入癱瘓。
充分利用網(wǎng)絡(luò)設(shè)備保護(hù)網(wǎng)絡(luò)資源。在配置路由器時(shí)應(yīng)考慮以下策略的配置:流控、包過(guò)濾、半連接超時(shí)、垃圾包丟棄,來(lái)源偽造的數(shù)據(jù)包丟棄,SYN 閥值,禁用ICMP和UDP廣播。
通過(guò)iptable之類的軟件防火墻限制疑似惡意IP的TCP新建連接,限制疑似惡意IP的連接、傳輸速率。
識(shí)別游戲特征,自動(dòng)將不符合游戲特征的連接斷開。
防止空連接和假人攻擊,將空連接的IP地址直接加入黑名單。
配置學(xué)習(xí)機(jī)制,保護(hù)游戲在線玩家不掉線。例如,通過(guò)服務(wù)器搜集正常玩家的信息,當(dāng)面對(duì)攻擊時(shí),將正常玩家導(dǎo)入預(yù)先準(zhǔn)備的服務(wù)器,并暫時(shí)放棄新進(jìn)玩家的接入,以保障在線玩家的游戲體驗(yàn)。
