漏洞的分類程序員
當前遊戲漏洞方面尚未權威的定義和分類方法,不一樣的人可能會有不一樣的分類方式,好比有些人喜歡按遊戲玩法模塊來劃分漏洞,把漏洞分爲任務系統漏洞、戰隊系統漏洞、對戰系統漏洞等等。遊戲安全實現室定位仍是但願走純技術交流的專業路線。因此這裏所說的分類方法主要是從技術角度來分析漏洞造成的緣由,進行概括總結出來的分類方法,僅供你們參考。數據庫
1.外掛功能漏洞數組
外掛功能漏洞主要是指對遊戲核心玩法的遊戲平衡會帶來影響的漏洞。遊戲開發初期因爲選擇的網絡架構(網絡同步方式)不合理,致使了部分關鍵邏輯被放在客戶端處理,這種作法就會帶來相應外掛風險。因爲網絡架構設計改動起來工做量大,一旦運營就不多在改動。因此外掛功能漏洞通常具備很難修復的特色,只能經過增強校驗或者依賴遊戲保護方案來進行運營對抗。安全
不一樣類型的遊戲特色決定了對應的常見外掛功能漏洞也不一樣。在ACT遊戲中,玩家必須操控遊戲角色,根據周遭環境的變化,作出快速響應。因爲ACT遊戲很是注重手感和用戶體驗,操做指令發出後須要第一時間體現出來,這種高實時性要求致使了對服務端要求過高,因此不少遊戲爲了手感體驗就把關鍵邏輯放到客戶端來進行。這種處理方式決定了常見的ACT遊戲外掛功能包括瞬移、全屏、無CD、無敵、秒怪等。在FPS中,其特色是可以進行遠距離攻擊,地圖的空間範圍大。因爲地圖場景複雜,移動邏輯放在服務端處理則要求服務端有全量的地圖信息,要求相對較高,爲節省服務端開銷因此不少遊戲吧座標處理邏輯放到了客戶端進行,因此常見的FPS類遊戲會有:飛天、遁地、透視、無後坐力等功能。服務器
2.服務端校驗疏忽漏洞網絡
服務端校驗疏忽漏洞主要是指服務端可以獲取到足夠多的信息、理論上能夠校驗,但因爲程序員開發過程當中一時疏忽而忘記校驗的邏輯BUG。這類漏洞通常對遊戲產生較大影響、利用後能獲取較多的虛擬財產收益。但修復也相對簡單,開發商一旦發現理論上能夠快速作出響應完全修復漏洞。架構
服務器是整個遊戲的大腦,負責大部分的遊戲邏輯處理、響應和數據的存儲等功能。例如在某個ACT遊戲中,正常狀況下玩家須要達到60級才能進入某個生化禁區的副本,經過挖掘發現,在必定的條件下,咱們能夠繞過這個級別限制,從而達到隨意進入該高級副本。性能
3.兼容性漏洞測試
兼容性漏洞主要是指因爲協議各字段邊界值考慮不周全,程序在處理協議時致使崩潰的漏洞。兼容性漏洞通常會致使服務端崩潰,從而實現炸房、炸頻道、炸服等類型的服務端拒絕服務;或者致使周圍玩家崩潰或者掉線。這類漏洞從利用者角度來說並無帶來太多收益,可是對開放商來說倒是致命的漏洞。在程序開發過程當中,不少時候都只考慮了正常狀況而忽略了特殊邊界值。因此兼容性漏洞也是幾乎每一個遊戲都會曾在的漏洞,這類漏洞須要在上線前進行大量的測試排查。spa
兼容性漏洞最典型的例子就是某ACT遊戲外網曾經出現過的一個技能漏洞,在PK場外網做弊玩家無心間修改出了一個非法技能,該技能的技能等級爲0。人類看待數值通常從1開始,而程序處理通常從0開始,獲取技能屬性的方式是從數組中獲取,1級技能對應屬性爲數組下標爲0。外掛構造出了0級技能(正常狀況下不存在)因此程序沒有校驗直接訪問了數組下標爲-1的數組元素,下標越界從而致使程序處理過程當中崩潰。外掛使用後的表現就是一旦使用這個畸形的技能,那麼同PK場的其餘玩家都會收到一個技能等級爲0的技能數據包,處理過程就會致使同PK場的其餘玩家客戶端崩潰。
四、性能漏洞
性能漏洞是指因爲某些操做對性能消耗比較大時,被惡意玩家利用來達到破壞遊戲的目的。常見的性能漏洞通常會利用服務端瓶頸或者客戶端瓶頸來達到目的。
服務端瓶頸主要是指服務端某些操做比較消耗性能,客戶端大量發起該操做致使服務端處理不過來從而產生拒絕服務的效果。好比查看拍賣行操做可能會致使遊戲服務端查詢數據庫等行爲,若是玩家短期內經過發送刷新拍賣行的協議就會致使服務端處理不過來,其餘玩家在刷新拍賣行就沒法響應,致使拍賣行功能沒法使用。
客戶端屏一個典型的例子就是某賽車遊戲出現過的炸房外掛,不一樣賽車切換對客戶端來說也是一個性能消耗很大的行爲。外掛經過快速切換賽車到服務端,服務會把該行爲同步到周圍其餘玩家,其餘玩家短期內大量加載資源釋放資源消耗大量CPU致使卡死。