游戲場景下的DDoS風險分析及防護


歡迎大家前往騰訊雲+社區,獲取更多騰訊海量技術實踐干貨哦~

作者:騰訊游戲雲資深架構師 vince

本篇文章主要是分享游戲業務面臨的安全風險場景,以及基於這些場景的特點,我們應該如何做好對應的防護。

背景:游戲行業DDoS攻擊愈演愈烈

《2017年度游戲行業DDoS態勢報告》顯示,中國成為全球DDoS攻擊最大受害區,占比84.79%。

第二個特點是,大流量攻擊越來越多,其中百G以上攻擊占比逐年加大:

第三個特點是游戲行業被攻擊情況嚴重,已是最大受害行業。而其中棋牌類被攻擊尤其嚴重,百G以上攻擊棋牌類占比57%:

另外,國內已經開始出現超大流量攻擊。在今年4月8日,騰訊雲防護了1.23T的超大攻擊流量,DDoS攻擊越來越凶猛。面對越來越嚴峻的安全攻擊現狀,如何構築我們的業務防線,這是所有游戲研發和發行商都要面對的問題。

常見游戲風險場景

鑒於游戲業務面臨日益嚴峻的安全攻擊風險,我們有必要對其進行進一步的剖析,為后續建立相應的安全防護打好基礎。游戲安全場景由兩部分要素組成。一部分是業務屬性,另一部分是技術和部署架構;業務屬性包括了游戲類型、攻擊趨勢、延遲要求等,決定了被DDoS的概率、攻擊流量的大小,需要使用什么類型的防護資源,如BGP還是三大運營商的單線線路;技術和部署架構,包括使用的通信協議、部署架構等,決定了需要使用什么防護產品來對抗。

業務屬性

業務屬性可以從以下圖中的幾個方面來展開:

1、 游戲類型
近幾年隨着手游的持續走熱,越來越多的手游類型出現,常見的手游類型如MOBA,MMO,以及16年開始興起的棋牌等。MOBA和MMO等游戲由於地域屬性粒度較粗,基本是以國家維度來做發行,競爭激烈但基本是良性競爭居多;而棋牌主要集中在國內發行,由於地方特色玩法各異,所以地域屬性極強,競爭對手較為明確,容易產生不當競爭行為,典型的就是利用DDS攻擊打擊競爭對手。

2、 生命周期
不同的業務在生命周期的不同階段,所可能受到的攻擊情況也不同。以棋牌,特別是地方棋牌為例,在新游上線初期,可能就會被“圍毆”打癱。因為這個時候攻擊影響和成本堪稱“性價比”最高,新游首發階段,如果連續被攻擊幾天,不僅游戲口碑變差,運營投入的廣告轉換率和留存率也會很低,給發行商帶來很大經濟損失。

3、 延遲要求
在防護業務時,兩個方面需要考慮,一個是防住攻擊,第二是盡量不影響玩家體驗。能否防住攻擊,與高防產品技術、架構和資源有關,后續再深入介紹。為了不影響玩家體驗,建議網絡延遲不要增加至超過上述延遲的上限。又因網絡延遲主要和網絡線路質量有關,故建議MOBA,MMO使用BGP線路的防護資源;棋牌類可以使用BGP(常態下業務訪問+基礎防護)+三網(大流量下防護)的組合防護資源。

4、 攻擊類型
從近年來的攻擊情況看,主要以反射性UDP攻擊為主,且流量巨大。18年初出現利用Memcached可以放大5萬倍的流量,非常驚人,急需有效的UDP防護策略來防護。從攻擊時長和頻次來看,一定程度上可以預判攻擊意圖和后續攻擊的情況,便於做防護准備。例如對於攻擊時間長,頻次高的情況,甚至十分鍾左右就是一輪高峰值攻擊,這種情況下,對方勢必要打癱目標,所以開發商需要和雲廠商一起合作才能做好針對性防護。

5、 攻擊大小
從以上2017年的攻擊統計情況來看,攻擊主要集中在2-4月份,全年有3/4的時間攻擊量和頻次都不高。 從攻擊大小上看,87.1%的攻擊是在50G以下,約51.2%的攻擊是在10G以下。所以是否常態下置備 50G 或 20G的防護資源,在攻擊超過這個基數時也可以提供防護?總結說,是否可以以“保底+彈性”的防護模式,做到防護效果和成本的均衡?

技術和部署架構

https://ask.qcloudimg.com/draft/1024461/0pudvkdhdi.png?imageView2/0/w/1620

1、 通用游戲架構
從游戲通用架構上來看,玩家通過CDN下載更新資源包,通過域名登錄游戲,然后連接分配的游戲服開始游戲。其他游戲周邊服務都在內網。惡意攻擊者通過偽裝成正常玩家,拿到所有直接公網暴露給游戲玩家的域名、公網IP等,從而通過其控制的互聯網的巨量肉雞對游戲進行攻擊;在這個游戲架構場景中,可能被攻擊的對象是CDN,DNS,登錄服入口,游戲服入口等暴露在公網的服務。其中CDN和DNS一般都是平台型的服務,攻擊不多。重點攻擊對象是登錄服,游戲服務等。

2、 不同延遲需求
在防護時,登錄、支付等服務相比游戲服,延遲容忍度更高一下;所以防護措施與游戲服不同,可以考慮電信聯通等單線的大帶寬高防資源;游戲服的延遲要求與類型密切相關,可以參見上述提及的延遲要求。

3、 可否更換 IP
從業務技術架構上看,能否更換IP,決定了防護的靈活性;若可以更換IP,則可以靈活的調度多個IP實現“游擊戰”式的靈活防護;如果不能更換IP,只能用帶寬先把攻擊流量承接下來,然后再做清洗;這種情況在攻擊量超過帶寬上限時,服務端公網入口已經被擁塞至幾近癱瘓,業務請求幾乎都不能被正常處理。

4、 是否可多地域部署
此外,如果業務可以多地域部署,則可以更好的利用多地的高防資源防護,並且玩家游戲體驗更好。

防護思路總結

https://ask.qcloudimg.com/draft/1024461/l4nj841mrs.png?imageView2/0/w/1620

架構設計階段

把安全防護考慮在內,盡量采用公網IP可更換或服務端提供域名訪問、可多地域部署的架構

業務部署階段

規划好暴露在公網的服務(即需要防護的目標)的數量,使其處在一個合理區間,以便在單點攻擊發生時,不會影響全部玩家;同時也要綜合考慮防護成本和效果;

根據游戲類型,以及自身的競爭環境是否健康,規划游戲是否需要獨立的防護資源,游戲內不同玩家分組,不同業務模塊是否需要獨立防護;否則多業務可以共享防護資源;

根據延遲要求,選擇防護資源的地域和線路;一個游戲內的不同服務,延遲要求可能也不相同,例如大廳服通常相對游戲服的延遲要求就低一些;

根據業內攻擊數據統計,以及自身的競爭現狀,規划是否需要保底+彈性的靈活防護模式,以平衡防護效果和成本;

業務被攻擊時

根據攻擊情況,調整保底和彈性模式;結合攻擊頻率,調整防護策略。如果是大流量攻擊,但是還在防護帶寬內,可以考慮繼續使用大帶寬防護或者適當升級帶寬以保障防護效果;如果是大流量帶寬攻擊頻繁,超過可以購買的帶寬或者防護成本過高,可以考慮多高防 IP調度的方式;

如遇到頻繁且復雜的攻擊場景,有必要建立多層防護。例如使用多 IP 靈活調度作為第一層,第二層可以使用大帶寬的三網防護兜底,針對 CC 可以做到有效防護,在一些復雜場景,一定程度上可以做自定義防護;

騰訊雲專家助力

在以上各階段,可以聯系騰訊雲團隊,可以一起更有效的做好多輪次攻防。

騰訊雲游戲高防產品-宙斯盾

結合上述的防護思路,在面對越來越嚴峻的安全威脅時,可以使用騰訊雲提供的高防服務宙斯盾來保障業務安全。騰訊雲宙斯盾安全防護提供了全方位多層次的 DDoS 防護方案,可以完全契合上述防護思路。您可以根據業務部署特點選擇 DDoS 高防 IP、DDoS 高防包,並根據防護需求配置高級安全策略、CC 防護策略、水印防護策略等以靈活應對多種 DDoS 和 CC攻擊威脅。

https://ask.qcloudimg.com/draft/1024461/nmzhlln3tm.png?imageView2/0/w/1620

防護域名

防護域名提供智能解析和自動切換的能力。 在同時具備包括BGP的多線路防護資源時,優先解析到BGP;若發生攻擊導致BGP線路被封禁,系統會自動切換到三網防護資源,此時會根據訪問者的來源IP自動解析到對應的運營商線路,從而盡可能的保證最優的延遲;

https://ask.qcloudimg.com/draft/2265269/p63utl1p0b.png

高防IP

借助BGP高防IP的力量來防護,客戶端連接到高防IP,高防IP再轉發給游戲服務器;可以轉發雲外或者雲上的服務器。

高防包

對於部署在騰訊雲上的業務,高防包就像一層護甲,直接在現有業務IP上生效,做到快速接入高防,業務無需做變更;高防包分兩種:

  • 單IP高防包,為騰訊雲上一個服務器或者負載均衡提供防護;
  • 多IP高防包,也叫共享高防包,可以防護多個騰訊雲服務器或者負載均衡;

高級安全策略

如果DDoS攻擊流量的報文中有一定特征,可以通過設置針對性的安全策略,進行有針對性的過濾

CC防護策略

CC防護一直是個難點,通過在CC檢測清洗層面,設置自定義的檢測和處理策略,可以有效阻擊一定的CC攻擊。如果一些特殊的CC流量已經到達服務器,也可以通過開啟緊急防護模式,收緊防護策略,從而達到防護效果。

空連接防護

在CC防護中,空連接是一種常用的手段。宙斯盾會先與請求端建立連接,待有非空連接到來時,才使請求端與服務端真正建立連接,避免空連接攻擊對服務產生影響。

水印防護

如果CC攻擊頻繁且攻擊量大,急需徹底防護CC,可以使用水印防護的方案。騰訊雲宙斯盾通過在業務報文中增加動態標簽,即水印的方式,來識別是否是游戲的正常流量,且潛在攻擊者無法通過抓取報文進行回放等方式進行攻擊,100%有效過濾攻擊流量。

常見游戲類型防護方案

MOBA/MMO

對於 MOBA和MMO 類型的現有項目可以使用BGP高防包覆蓋所有公網服務;

新游戲可以使用BGP高防IP或者BGP 高防包覆蓋所有公網服務,在發生攻擊被黑洞時,可以通過提升防護套餐快速解除黑洞狀態,恢復業務訪問;

棋牌

對於棋牌業務來說,攻擊情況比較復雜。攻擊流量大、類型多樣、變化快,攻擊人員更專業,攻擊周期可能會很長,少數情況甚至長達數月或超過一年。所以需要有一套應對復雜狀況的方案。根據經驗,我們建立了一個多層次防護體系,可以節節對抗,有針對性的變化防護策略,達到有效防護的目的。

防護方案整體上可以采用防護域名+ BGP 高防IP + 三網高防 IP + 高防IP 靈活調度的策略。第一層防護,使用BGP高防IP防護中小流量,並且作為業務對外正常服務的入口;第二層防護,使用三網高防或BGP高防IP靈活調度來防護、三網高防作為保底措施;第三層,若攻擊報文有長度、內容特征,可以使用自定義防護策略,過濾這些報文;第四層,若有明顯CC攻擊,默認的空連接防護以及緊急防護模式(更嚴格的過濾策略),可以幫助業務正常提供服務,也可以在研發或上線后逐步接入水印防護,100%有效防護CC攻擊。

問答
如何防范DDos攻擊?
相關閱讀
基於TCP反射DDoS攻擊分析
初識常見DDoS攻擊手段
深入淺出DDoS攻擊防御

此文已由作者授權騰訊雲+社區發布,原文鏈接:https://cloud.tencent.com/developer/article/1138276?fromSource=waitui
https://ask.qcloudimg.com/draft/2265269/mdmolqnhfg.jpg


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM