天天看點

漏洞分析

漏洞分類的标準

3.1 . 漏洞危害分級标準

目前定義有五類危害等級,危害等級定義依據為:

3.1.1 . 緊急

可以直接被利用的漏洞,且利用難度較低。被攻擊之後可能對網站或伺服器的正常運作造成嚴重影響,或對使用者财産及個人資訊造成重大損失。

3.1.2 . 高危

被利用之後,造成的影響較大,但直接利用難度較高的漏洞。或本身無法直接攻擊,但能為進一步攻擊造成極大便利的漏洞。

3.1.3 . 中危

利用難度極高,或滿足嚴格條件才能實作攻擊的漏洞。或漏洞本身無法被直接攻擊,但能為進一步攻擊起較大幫助作用的漏洞。

3.1.4 . 低危

無法直接實作攻擊,但提供的資訊可能讓攻擊者更容易找到其他安全漏洞。

3.1.5 . 資訊

本身對網站安全沒有直接影響,提供的資訊可能為攻擊者提供少量幫助,或可用于其他手段的攻擊,如社工等。

漏洞的分類

XSS漏洞的分類

XSS漏洞依照攻擊利用手法的不同,有下面三種類型:

類型A,本地利用漏洞,這樣的漏洞存在于頁面中client腳本自身。其攻擊步驟例如以下所看到的:

Alice給Bob發送一個惡意構造了Web的URL。

Bob點選并檢視了這個URL。

惡意頁面中的JavaScript打開一個具有漏洞的HTML頁面并将其安裝在Bob電腦上。

具有漏洞的HTML頁面包括了在Bob電腦本地域運作的JavaScript。

Alice的惡意腳本能夠在Bob的電腦上運作Bob所持有的權限下的指令。

類型B,反射式漏洞,這樣的漏洞和類型A有些類似,不同的是Webclient使用Server端腳本生成頁面為使用者提供資料時,假設未經驗證的使用者資料被包括在頁面中而未經HTML實體編碼,client代碼便可以注入到動态頁面中。其攻擊步驟例如以下:

Alice常常浏覽某個站點,此站點為Bob所擁有。Bob的站點執行Alice使用username/password進行登入,并存儲敏感資訊(比方銀行帳戶資訊)。

Charly發現Bob的網站包括反射性的XSS漏洞。

Charly編寫一個利用漏洞的URL,并将其冒充為來自Bob的郵件發送給Alice。

Alice在登入到Bob的網站後,浏覽Charly提供的URL。

嵌入到URL中的惡意腳本在Alice的浏覽器中運作,就像它直接來自Bob的server一樣。此腳本盜竊敏感資訊(授權、信用卡、帳号資訊等)然後在Alice全然不知情的情況下将這些資訊發送到Charly的Web網站。

類型C,存儲式漏洞,該類型是應用最為廣泛并且有可能影響到Webserver自身安全的漏洞,駭客将攻擊腳本上傳到Webserver上,使得全部訪問該頁面的使用者都面臨資訊洩漏的可能,當中也包含了Webserver的管理者。其攻擊步驟例如以下:

Bob擁有一個Web網站,該網站同意使用者公布資訊/浏覽已公布的資訊。

Charly注意到Bob的網站具有類型C的XSS漏洞。

Charly公布一個熱點資訊,吸引其他使用者紛紛閱讀。

Bob或者是不論什麼的其他人如Alice浏覽該資訊,其會話cookies或者其他資訊将被Charly盜走。

類型A直接威脅使用者個體,而類型B和類型C所威脅的對象都是企業級Web應用。

目前遊戲漏洞方面還沒有權威的定義和分類方法,不同的人可能會有不同的分類方式,比如有些人喜歡按遊戲玩法子產品來劃分漏洞,把漏洞分為任務系統漏洞、戰隊系統漏洞、對戰系統漏洞等等。遊戲安全實作室定位還是希望走純技術交流的專業路線。是以這裡所說的分類方法主要是從技術角度來分析漏洞形成的原因,進行歸納總結出來的分類方法,僅供大家參考。

1.外挂功能漏洞

外挂功能漏洞主要是指對遊戲核心玩法的遊戲平衡會帶來影響的漏洞。遊戲開發初期由于選擇的網絡架構(網絡同步方式)不合理,導緻了部分關鍵邏輯被放在用戶端處理,這種做法就會帶來相應外挂風險。由于網絡架構設計改動起來工作量大,一旦營運就很少在改動。是以外挂功能漏洞一般具有很難修複的特點,隻能通過加強校驗或者依賴遊戲保護方案來進行營運對抗。

不同類型的遊戲特點決定了對應的常見外挂功能漏洞也不同。在ACT遊戲中,玩家必須操控遊戲角色,根據周遭環境的變化,做出快速響應。由于ACT遊戲非常注重手感和使用者體驗,操作指令發出後需要第一時間展現出來,這種高實時性要求導緻了對服務端要求太高,是以很多遊戲為了手感體驗就把關鍵邏輯放到用戶端來進行。這種處理方式決定了常見的ACT遊戲外挂功能包括瞬移、全屏、無CD、無敵、秒怪等。在FPS中,其特點是能夠進行遠距離攻擊,地圖的空間範圍大。由于地圖場景複雜,移動邏輯放在服務端處理則要求服務端有全量的地圖資訊,要求相對較高,為節省服務端開銷是以很多遊戲吧坐标處理邏輯放到了用戶端進行,是以常見的FPS類遊戲會有:飛天、遁地、透視、無後坐力等功能。

2.服務端校驗疏忽漏洞

服務端校驗疏忽漏洞主要是指服務端能夠擷取到足夠多的資訊、理論上可以校驗,但由于程式員開發過程中一時疏忽而忘記校驗的邏輯BUG。這類漏洞一般對遊戲産生較大影響、利用後能擷取較多的虛拟财産收益。但修複也相對簡單,開發商一旦發現理論上可以快速做出響應徹底修複漏洞。

伺服器是整個遊戲的大腦,負責大部分的遊戲邏輯處理、響應和資料的存儲等功能。例如在某個ACT遊戲中,正常情況下玩家需要達到60級才能進入某個生化禁區的副本,通過挖掘發現,在一定的條件下,我們可以繞過這個級别限制,進而達到随意進入該進階副本。

3.相容性漏洞

相容性漏洞主要是指由于協定各字段邊界值考慮不周全,程式在處理協定時導緻崩潰的漏洞。相容性漏洞一般會導緻服務端崩潰,進而實作炸房、炸頻道、炸服等類型的服務端拒絕服務;或者導緻周圍玩家崩潰或者掉線。這類漏洞從利用者角度來講并沒有帶來太多收益,但是對開放商來講卻是緻命的漏洞。在程式開發過程中,很多時候都隻考慮了正常情況而忽略了特殊邊界值。是以相容性漏洞也是幾乎每個遊戲都會曾在的漏洞,這類漏洞需要在上線前進行大量的測試排查。

相容性漏洞最典型的例子就是某ACT遊戲外網曾經出現過的一個技能漏洞,在PK場外網作弊玩家無意間修改出了一個非法技能,該技能的技能等級為0。人類看待數值一般從1開始,而程式處理一般從0開始,擷取技能屬性的方式是從數組中擷取,1級技能對應屬性為數組下标為0。外挂構造出了0級技能(正常情況下不存在)是以程式沒有校驗直接通路了數組下标為-1的數組元素,下标越界進而導緻程式處理過程中崩潰。外挂使用後的表現就是一旦使用這個畸形的技能,那麼同PK場的其他玩家都會收到一個技能等級為0的技能資料包,處理過程就會導緻同PK場的其他玩家用戶端崩潰。

4、性能漏洞

性能漏洞是指由于某些操作對性能消耗比較大時,被惡意玩家利用來達到破壞遊戲的目的。常見的性能漏洞一般會利用服務端瓶頸或者用戶端瓶頸來達到目的。

服務端瓶頸主要是指服務端某些操作比較消耗性能,用戶端大量發起該操作導緻服務端處理不過來進而産生拒絕服務的效果。比如檢視拍賣行操作可能會導緻遊戲服務端查詢資料庫等行為,如果玩家短時間内通過發送重新整理拍賣行的協定就會導緻服務端處理不過來,其他玩家在重新整理拍賣行就無法響應,導緻拍賣行功能無法使用。

用戶端屏一個典型的例子就是某賽車遊戲出現過的炸房外挂,不同賽車切換對用戶端來講也是一個性能消耗很大的行為。外挂通過快速切換賽車到服務端,服務會把該行為同步到周圍其他玩家,其他玩家短時間内大量加載資源釋放資源消耗大量CPU導緻卡死。

繼續閱讀