摘要: 接觸DDoS相關技術和產品8年,其中6年,都在探究遊戲產業的DDoS惡意探索難題。在我看來,遊戲產業一直是競爭、惡意探索最複雜的一個“江湖”。許多遊戲公司在發展商務時,對自身的系統、商務安全,存在諸多盲區;對DDoS惡意探索究竟是什麼,怎麼打,也沒有真正瞭解。
接觸DDoS相關技術和產品8年,其中6年,都在探究遊戲產業的DDoS惡意探索難題。
在我看來,遊戲產業一直是競爭、惡意探索最複雜的一個“江湖”。許多遊戲公司在發展商務時,對自身的系統、商務安全,存在諸多盲區;對DDoS惡意探索究竟是什麼,怎麼打,也沒有真正瞭解。
我曾看到充滿激情的創業團隊、一個個玩法很有特色的產品,被這種互連網惡意探索問題扼殺在搖籃裡;也看到過一個運營很好的產品,因為遭受DDoS惡意探索,而一蹶不振。
這也是為什麼想把自己6年做遊戲產業DDoS的經驗,與大家一起分享,說明在遊戲領域內全速前進的企業,瞭解本產業的安全態勢,並給出一些可用建議。
在與遊戲公司安全團隊接觸的程序中,看到遊戲產業對安全有兩個很大的誤區。
第一個誤區是:沒有直接損失,就代表我很安全。
事實上,相比其它產業,遊戲產業的惡意探索量和複雜度都要高一籌。每個遊戲公司,每個套用,其實都遭受過惡意探索。但許多遊戲安全擁有者,仍然會“蒙在鼓裡聽打雷”,沒有察覺正在發生的惡意探索,或者乾脆視而不見,由此埋下安全隱患。
第二個誤區是:很多遊戲產業安全擁有者會認為,只要裝了防火牆,就能擋住絕大部分的惡意探索。
然而,防火牆的功能其實很有限。這也從側面說明了許多遊戲產業安全薄弱的根源:只去做好一個點,卻看不到整個面。
然而,攻擊者總會從意想不到的薄弱點,攻陷整個遊戲產業的內部系統。
以DDoS惡意探索為例,2016年,全球有記錄的DDoS峰值已近600G,300G以上的DDoS惡意探索,在遊戲產業內已經毫不稀奇。
為什麼遊戲會是DDoS惡意探索的重災區呢?這裡說幾點主要的原因。
首先是因為遊戲產業的惡意探索成本低廉,是防護成本的1/N,攻防兩端極度不平衡。隨著惡意探索方的打法越來越複雜、惡意探索點越來越多,基本的靜態防護原則無法達到較好的效果,也就加劇了這種不平衡。
其次,遊戲產業生命週期短。一款遊戲從出生,到消亡,很多都是半年的時間,如果抗不過一次大的惡意探索,很可能就死在半路上。駭客也是瞄中了這一點,認定:只要發起惡意探索,遊戲公司一定會給“保護費”。
再次,遊戲產業對連續性的要求很高,需要7*24線上,因此如果受到DDoS惡意探索,遊戲商務很容易會造成大量的玩家流失。我曾經見過在被惡意探索的2-3天后,遊戲公司的玩家數量,從幾萬人掉到幾百人。
最後,遊戲公司之間的惡性競爭,也加劇了針對產業的DDoS惡意探索。
而針對遊戲產業的DDoS惡意探索類型也非常的複雜多樣。總結下來,大致分為這幾種:
首先是空串連:攻擊者與伺服器頻繁建立TCP串連,佔用服務端的串連資源,有的會斷開,有的一直保留;比如開了一家麵館,“黑幫勢力”總是去排隊,但是並不消費,那麼此時正常的客人也會無法進去消費。
其次是流量型惡意探索:攻擊者採用udp報文惡意探索伺服器的遊戲連接埠,影響正常玩家的速度;還是上面的例子,流量型惡意探索相當於壞人直接把麵館的門給堵了。
再次,CC惡意探索:攻擊者惡意探索伺服器的認證網頁,登陸網頁,遊戲論壇等,這是一類比較進階的惡意探索了。這種情況相當於,壞人霸佔了收銀台結帳,找服務員去點菜,導致正常的客人無法享受到服務。
而後,假人惡意探索:模擬遊戲登陸和建立角色程序,造成伺服器人滿為患,影響正常玩家。
還有對玩家的DDoS惡意探索:針對對戰類遊戲,惡意探索對方玩家的網路使其遊戲掉線或者速度慢和對閘道DDoS惡意探索:惡意探索遊戲伺服器的閘道,遊戲執行緩慢。
最後是串連惡意探索:頻繁的惡意探索伺服器,發垃圾報文,造成伺服器忙於解碼垃圾資料。
我以常見的DDoS和CC惡意探索為例,對他們的惡意探索方式做一個解釋。
DDoS惡意探索的主要的方式是synflood,ack flood,udpflood等流量型的惡意探索,本身從惡意探索方式來是非常簡單的,無論是哪種方式,流量大是前提。如果防禦方有充足的頻寬資源,目前的技術手段防禦都不會是難事;針對UDPflood,實際上很多遊戲目前都不需要用到UDP合約,可以直接丟棄掉。
而CC惡意探索分為兩種。一般針對WEB網站的惡意探索叫CC惡意探索,但是針對遊戲伺服器的惡意探索,很多人一般也叫CC惡意探索,兩種都是模擬真實的用戶端與服務端建立串連之後,傳送要求。
針對網站的CC如下,一般是建立串連之後,偽造瀏覽器,發起很多httpget的要求,耗盡伺服器的資源。
針對遊戲伺服器的CC,一般是建立串連之後,偽造遊戲的通信報文保留串連不斷開,有些惡意探索程式甚至也不看遊戲的正常報文,而是直接偽造一些垃圾報文保留串連。
那麼,遊戲公司如何才能判斷自己是否正在被惡意探索?
假定可排除線路和硬體故障的情況下,突然發現串連伺服器困難,正在遊戲的用戶掉線等現象,則說明很有可能是遭受了DDoS惡意探索。
目前,遊戲產業的IT基礎設施一般有兩種部署圖樣:一種是採用雲端運算或者託管IDC圖樣,另外一種是自拉網路專用線路。但基於接入費用的考慮,絕大多數採用前者。
無論是前者還是後者接入,在正常情況下,遊戲使用者都可以自由流暢的進入伺服器並參與娛樂。所以,如果突然出現下面這幾種現象,就可以基本判斷是“被惡意探索”狀態:
(1) 主機的IN/OUT流量較平時有顯著的增長
(2)主機的CPU或者記憶體利用率出現無預期的暴漲
(3)通過查看本期主機的串連狀態,發現有很多半開串連,或者是很多外部IP位址,都與原生服務埠建立幾十個以上的ESTABLISHED狀態的串連,則說明遭到了TCP多串連惡意探索
(4)遊戲用戶端串連遊戲伺服器失敗或者登入程序非常緩慢
(5)進行中遊戲的用戶突然無法動作或者非常緩慢或者總是斷線
在知道痛點,和惡意探索狀態的判斷方法之後,來說說我所瞭解的DDoS防護方法。
目前,可用DDoS緩解方法,有三大類。首先是架構優化,其次是伺服器加固,最後是商用的DDoS防護服務。
遊戲公司需要根據自己的預算、惡意探索嚴重程度,來決定使用哪一種。
在預算有限的情況下,可以從免費的DDoS緩解方案,和自身架構的優化上下功夫,減緩DDoS惡意探索的影響。
a. 如果系統部署在雲上,可以使用雲解析,優化DNS的智慧解析,同時建議託管多家DNS服務商,這樣可以避免DNS惡意探索的風險。
b. 使用SLB,通過負載平衡減緩CC惡意探索的影響,後端負載多台ECS伺服器,這樣可以對DDoS惡意探索中的CC惡意探索進行防護。在企業網站加了負載平衡方案後,不僅有對網站起到CC惡意探索防護作用,也能將存取用戶進行均衡指派至各個web伺服器上,減少單個web伺服器負擔,加快網站存取速度。
c. 使用專有網路VPC,防止內網惡意探索。
d. 做好伺服器的效能測試,評定正常商務環境下能承受的頻寬和要求數,確保可以隨時的彈性擴容。
e. 伺服器防禦DDoS惡意探索最根本的措施就是隱藏伺服器真實IP位址。當伺服器對外傳送資訊時,就可能會洩露IP,例如,我們常見的使用伺服器傳送郵件功能就會洩露伺服器的IP。
因而,我們在傳送郵件時,需要通過協力廠商專員傳送,這樣子顯示出來的IP是專員IP,因而不會洩露真實IP位址。在資金充足的情況下,可以選擇DDoS高防伺服器,且在伺服器前端加CDN中轉,所有的網域名稱和子域都使用CDN來解析。
也可以對自身伺服器做安全加固。
a. 控制TCP串連,通過iptable之類的軟體防火牆可以節流某些IP的新建串連;
b. 控制某些IP的速率;
c. 辨識遊戲特徵,針對不符合遊戲特徵的串連可以斷開;
d. 控制空串連和假人,針對空已連結IP可以加黑;
e. 學習機制,保護遊戲線上玩家不掉線,通過伺服器可以搜集正常玩家的資訊,當面對惡意探索的時候可以將正常玩家匯入預先準備的伺服器,新進玩家可以暫時放棄;
f. 確保伺服器系統安全;
g. 確保伺服器的系統檔案是最新的組建,並及時更新系統補丁;
h. 管理員需對所有主機進行檢查,知道存取者的來源;
i. 遮罩不必要的服務和埠:可以使用工具來遮罩不必要的服務和埠(即在路由網域上遮罩假IP,只開放服務埠)。這也成為目前很多伺服器的流行做法。例如,“WWW”伺服器,只開放80埠,將其他所有埠關閉,或在防火牆上做封鎖原則;
j. 節流同時打開的SYN半串連數目,縮短SYN半已連結timeout時間,節流SYN/ICMP流量;
k. 認真檢查網路裝置和主機/伺服器系統的日誌。只要日誌出現弱點或是時間變更,那這台機器就可能遭到了惡意探索;
l. 節流在防火牆外與網路檔案分享權限設定。這樣會給駭客截取系統檔案的商機,若駭客以特洛伊木馬取代它,檔案傳輸功能無疑會陷入癱瘓;
m. 充分利用網路裝置保護網路資源;
n. 停用ICMP。僅在需要測試時開放ICMP。在設定路由網域時也考慮下面的原則:流控,包遮罩,半連接逾時,垃圾包丟棄,來源偽造的資料封包丟棄,SYN閥值,停用ICMP 和UDP 廣播;
o. 使用高可擴充性的DNS 裝置來保護針對DNS 的DDoS 惡意探索。可以考慮購買DNS商業解決方案,它可以提供針對DNS 或TCP/IP3 到7層的 DDoS 惡意探索保護。
再就是商用的DDoS解決方案。
針對超大流量的惡意探索或者複雜的遊戲CC惡意探索,可以考慮採用專業的DDoS解決方案。目前,通用的遊戲產業安全解決方案,做法是在IDC機房前端部署防火牆或者流量清洗的一些裝置,或者採用大頻寬的高防機房來清洗惡意探索。
當寬頻資源充足時,此技術圖樣的確是防禦遊戲產業DDoS惡意探索的有效方式。不過頻寬資源有時也會成為瓶頸:例如單點的IDC很容易被打滿,對遊戲公司本身的成本要求也比較高。
在阿裡雲,我們團隊去顛覆頻寬“軍備競賽”的原則,是提供一個可信的存取網路,這也是遊戲盾誕生的初衷。
遊戲盾風控圖樣的初衷,是從收到存取的第一刻起,便判斷它是“好”還是“壞”,從而決定它是不是可以存取到它想存取的資源;而當惡意探索真的發生時,也可以通過智慧流量調度,將所有的商務流量切換到一個正常運作的機房,許諾遊戲正常執行。
所以,通過風控理論和SDK接入技術,遊戲盾可以有效地將駭客和正常玩家進行分割,可以防禦超過300G以上的超大流量惡意探索。
風控理論需要用到大量的雲端運算資源和網路資源,阿裡雲天然的優勢為遊戲盾帶來了很好的土壤,當遊戲盾能調度10萬以上節點進行快速計算和快速調度的時候,那給攻擊者的感覺是這個遊戲已經從他們的惡意探索目標裡面消失。
遊戲盾,是阿裡雲的人工智慧技術與調度演算法,在安全產業中的成功實踐。
而隨著攻防流程的推進,網路層和接入層逐步壯大,我們希望“遊戲盾”的風控圖樣,會逐步延展到各個產業中,建立起一張安全、可信的網路。這張網路中,傳輸著乾淨的流量,而惡意探索被前置到網路的邊緣處。所有的端,在接入這張網路時,都會經過風險控制的辨識,網內的風控系統,也讓壞人無法存取到他鎖定資源。
未來,以資源為基礎的DDoS防護年齡終將被打破,演進出對DDoS真正免疫的風控架構。
而我們所做的,只是一個開始。
相關產品:
- DDoS高防IP
- 雲端服務器ECS
- 伺服器安全(安騎士)