天天看點

騰訊手遊如何提早揭露遊戲外挂風險?

作者介紹:sheldon,騰訊進階安全工程師

随着大量外挂、輔助、工作室等非法盈利團隊借由移動遊戲産業迅猛發展的東風趁虛而入,對遊戲開發商和玩家來說都造成了不小的傷害,安全問題成為手遊發展不容忽視的前提。本文告訴你如何從技術的角度來提前曝光這些安全問題和外挂風險。

随着智能手機的全面普及和市場泛娛樂化,移動遊戲行業發展迅猛,無論是市場收入還是使用者規模,手遊在遊戲市場上已經占據了半壁江山。如此火熱的市場吸引了大量外挂、輔助、工作室等非法盈利團隊,嚴重影響了遊戲的收益、平衡,縮短遊戲的生命周期,下面我們來看看外挂對手遊有哪些危害。

騰訊手遊如何提早揭露遊戲外挂風險?

安全無小事,如何從技術的角度來提前曝光這些安全問題和外挂風險呢?騰訊SR(SecurityRadar,安全雷達,騰訊手遊安全測試的專項技術方案)手遊安全測試團隊從2011年初開始對手遊安全這個領域進行探索和技術積累,旨在通過提前發現遊戲版本的安全漏洞,預警風險,幫助提高騰訊遊戲的品牌和口碑。

為了幫助項目在釋出前發現并修複安全問題,在遊戲版本轉功能測試的階段SR手遊安全專項測試就介入。

騰訊手遊如何提早揭露遊戲外挂風險?

SR手遊安全測試經過若幹輪的效率優化,已經将一輪安全測試的時間壓縮至3天,可以輸出《SR手遊安全測試報告》。項目修複漏洞後,仍由SR專項團隊進行安全漏洞的回歸檢查,并確定項目按版本計劃進行釋出。

提早揭露安全漏洞,可以幫助項目在開發階段進行安全對抗和政策加強,避免在項目營運時,與外挂對抗的被動局面。同時,也從根本上降低了外挂帶來的玩家流失和營運損失。

騰訊手遊如何提早揭露遊戲外挂風險?

根據手遊安全測試的需求,主要涉及到手遊項目中的測試範圍及測試内容的規定。提供專家手遊安全測試服務,會有騰訊内部的手遊安全測試專家進行測試、問題溝通跟進、處理優化檢查等等。

測試設計,根據相應遊戲的内容進行測試設計,找出遊戲中的獲利點,結合SR安全檢查項,可以對遊戲的内容進行完整覆寫

專家互評,對風險檢查點進行查漏補缺,保證完整覆寫

測試執行,依據風險檢查點,使用SR工具執行測試檢查,主要進行函數修改、協定修改、記憶體修改、變速、腳本修改、靜态漏洞掃描

送出漏洞,測試專家按照SR漏洞模闆送出漏洞,依據《漏洞評級标準》進行漏洞定級和内容的稽核

安全報告,由安全專家根據發現的問題和遊戲整體對安全性進行評估并輸出安全測試報告

漏洞回歸,漏洞修複後,從新送出修複版本進行回歸,SR評估漏洞修複情況并回報結論

當機漏洞掃描服務,通過智能分析協定來填充模糊測試case,發送到伺服器,測試伺服器的可靠性、健壯性

協定/函數風險掃描,通過AI算法學習安全風險模型,讀取遊戲函數、協定資料後進行智能分析,具備2小時輸出安全測試報告的能力

根據以上的規劃思路,SR團隊聚焦在漏洞挖掘的能力和效率提升上進行手遊安全測試技術創新。整個技術方案最大的難點在于,手遊與傳統的APP差異很大,不同遊戲的玩法、技術實作都不一樣,我們如何研發一套普适的方案,來滿足不同遊戲的安全測試需求。經過幾年的研發與優化,SR團隊終于做到了,相容了數百款騰訊自研、代理遊戲,打造了業界領先的手遊安全測試技術方案。

業界獨創的動态修改手遊用戶端程式的安全測試技術、基于對象的手遊記憶體安全測試技術

多種領先的自動化風險掃描技術

擁有多項國家級技術專利

騰訊手遊如何提早揭露遊戲外挂風險?

SR手遊安全測試團隊将稽核的内容分為靜态安全漏洞和動态安全漏洞。不同類型的問題測試思路和分析手段會有不同,對測試工具和測試方法也會有差别。

騰訊手遊如何提早揭露遊戲外挂風險?

主要通過靜态掃描的方式,對遊戲apk中配置檔、資源檔案、腳本檔案、manifest.xml、so檔案,通過自動掃描的方式來進行檢查項的确認。(目前此塊内容已內建到SR手遊安全測試方案中,覆寫了120+條安全檢查項和資訊安全測試項)

動态安全測試涉及的内容廣泛,主要是根據遊戲特定的内容和玩法,針對性地分析安全風險點,通過協定、函數、記憶體、腳本等技術,多元度檢查遊戲伺服器對相應的風險點是否有完善的校驗或反外挂政策。

騰訊手遊如何提早揭露遊戲外挂風險?

根據對漏洞類型的提煉,SR手遊安全測試團隊總結了根據遊戲中的獲利點而生成的風險點,然後在不同的遊戲中,結合具體玩法,又推導出相應的獲益方式。通常根據風險點分析的方式,可以完整覆寫到遊戲中涉及到安全的部分,結合檢查點,就生成了可以在實際操作中執行的用例,形成閉環。

騰訊手遊如何提早揭露遊戲外挂風險?

手遊安全測試對于技術的要求也是非常高的,需要專業的技術人員進行逆向分析和工具支援,否則上述的測試點很有可能是紙上談兵,但毫不誇大地說SR手遊安全測試已經擁有了這些技術積累。根據對測試檢查點的分析,我們需要的安全測試工具包括:函數修改、記憶體修改、變速修改、協定修改、腳本修改。

在SR工具最新的版本上已經內建了所有安全測試的輔助功能。下面從技術實作和工具效果上來展示各大功能的情況。

騰訊手遊如何提早揭露遊戲外挂風險?

SR工具通過直接注入遊戲的組包函數,自動解析協定結構,免去了需要依賴測試人員分析二進制資料進行協定破解。在沒有協定結構檔案時也能自動解析協定結構。手機和web端都可以進行協定資料展示,在手機上可以實施地顯示協定發包的效果,在web上可以動态一鍵修改相應字段,互補不足。

騰訊手遊如何提早揭露遊戲外挂風險?

從目前支援和接入的遊戲來看,SR工具已經對目前騰訊在研和營運的遊戲達到了100%的支援,從協定類型上支援和引擎類型來看,也基本覆寫了目前所有的遊戲類型:

騰訊手遊如何提早揭露遊戲外挂風險?
騰訊手遊如何提早揭露遊戲外挂風險?

對于單局類玩法的手遊,函數動态修改具備最強的漏洞能力。但是早期的測試方法效率非常低下,需要每個函數單獨編寫hook函數、定義函數指針變量、申請獨立hook資源、重新編譯代碼。同時,使用門檻很高,隻有專業的安全專項測試人員才能操作。SR函數動态修改通過動态通用hook技術,不需要測試人員再進行hook函數編碼。

騰訊手遊如何提早揭露遊戲外挂風險?

方案效果:

函數動态修改方案共覆寫安全檢查風險項81項

安全稽核單個版本時間由15天減少到3天

函數修改測試成本降低70%

騰訊手遊如何提早揭露遊戲外挂風險?

業界首創手遊記憶體修改技術,為測試人員直接展示出遊戲中對象清單、對象屬性名稱、屬性值等資訊,并且可以對象為機關進行搜尋,以革新方式告别傳統手遊記憶體測試工具搜尋“記憶體數值”方式定位目标記憶體位址的低效方案,實作該項測試成本降低70%。

記憶體對象 一目了然

擷取記憶體中所有對象、對象名、位址、屬性值

對象資料 動态更新

動态更新記憶體對象

動态修改 實時生效

直接修改對象屬性,遊戲内即時生效

拒絕服務攻擊即攻擊者想辦法讓目标機器停止提供服務,是黑客常用的攻擊手段之一。玩家的異常操作、黑客異常發包、批量發包等都可能導緻伺服器當機,影響遊戲的正常營運,玩家不能正常遊戲。早期的協定測試中有設計異常發包case,檢查是否會導緻伺服器當機。但是這種方式測試效率很低,覆寫的異常點非常少。SR結合外網模糊測試工具和長期協定測試積累的當機case,研發了這套系統。

SR字段模糊測試的case覆寫的協定用例類型包括:

騰訊手遊如何提早揭露遊戲外挂風險?

通過對于字段類型的分析後,自動填充相關的字段的異常類型值,來組包發送給伺服器,進行伺服器的模糊測試。解決了傳統協定測試執行效率低、定位問題慢、覆寫分支少的問題。

測試流程如下:

騰訊手遊如何提早揭露遊戲外挂風險?

模糊測試執行過程中不需要測試人員過多參與,就可以發現大量的安全問題。支援裝置并發執行,智能配置設定測試機執行任務,執行任務的效率之高。發現問題後可以智能定位協定與字段,幫助開發人員快速定位問題。掃描覆寫檢查規則31項,包括數值溢出、sql注入、格式字元串、緩沖區溢出,已經完全覆寫協定模糊測試的類型,且資料還在不斷增加中。

自動化效果:

通過自動化掃描發現伺服器當機問題83例

檢查所有協定字段的異常值填充,平均每款遊戲執行協定異常用例120000+條,填補手工測試無法完成的空缺

單個遊戲1小時内可測試用例10000條以上,效率提升巨大

掃描覆寫檢查規則31項,包括空指針、數值溢出、sql注入、格式字元串、緩沖區溢出等測試項

騰訊手遊如何提早揭露遊戲外挂風險?

對大量安全漏洞進行風險定義、特征定義與分類,引入模式識别技術,建立手遊安全風險分析模型,自動分析出遊戲高危風險函數,有效幫助測試人員省掉最為耗時的風險分析環節,實作單個手遊版本漏洞測試時長從3個工作日降低到1個工作日。

騰訊手遊如何提早揭露遊戲外挂風險?

SR手遊安全測試方案在工具上已經支援所有騰訊在研和營運的手遊項目,依靠自身的技術積累來提高專業程度,持續保持漏洞的發現率。目前在SR手遊安全測試團隊過審的項目漏洞發現率為100%,得到了越來越多的項目認可。通過對騰訊高星級手遊的安全測試發現2213個安全漏洞,且整體的資料呈上升的趨勢。各大手遊廠商在關注營運留存,收入的同時,這些資料同樣值得思考!

騰訊手遊如何提早揭露遊戲外挂風險?

通過資料統計我們發現,高危的漏洞反而在手遊安全測試的過程中更容易被發現,帶來的風險也是更緻命的。在騰訊内部,通過SR手遊安全測試的推動,這些安全問題也在項目組得到了修複,為騰訊遊戲創造了一個公平競技,安全營運的遊戲生态環境。現在SR手遊安全測試正式入駐騰訊WeTest,正式将安全測試能力開放對外,有需要的廠商可以聯系騰訊WeTest預約服務(wetest.qq.com)。

和大家分享部分案例,案例中的所有問題都已得到了解決。

【案例1】

PVE模式中,動态修改遊戲程序中多處代碼邏輯,實作“無敵+全屏秒殺外挂”

騰訊手遊如何提早揭露遊戲外挂風險?

【案例2】

韓信 [無情沖鋒]技能超遠距離釋放,利用漏洞進行全圖範圍内的突進功能。

[無情沖鋒]屬于子彈型技能,即釋放時需要指定一個突進的方向。将技能類型強制修改為指定施法坐标的類型,指定技能落點位置坐标,就能夠獲得全圖突進效果。

騰訊手遊如何提早揭露遊戲外挂風險?

【案例3】

篡改攻擊對象list與傷害邏輯,造成全屏秒殺效果

騰訊手遊如何提早揭露遊戲外挂風險?

【案例4】

篡改使用物品協定請求中消耗數量,實作無限開箱子刷裝備

騰訊手遊如何提早揭露遊戲外挂風險?

安全漏洞說明:以上安全漏洞在正式環境中都已修複,或加入了反外挂機制。本文以白帽滲透測試的角度,介紹在遊戲版本釋出前的測試階段,通過“黑盒測試”的方式逐漸分析遊戲業務邏輯中的風險點,主動挖掘潛在安全漏洞,最大程度避免最終釋出版本中的遊戲外挂風險。

【專家安全測試】

無漏洞不收費,隻需要提供apk包,可在約定時間内拿到一份安全評估報告

【安全測試工具】(即将開放)

開放騰訊安全測試專業工具,降低企業手遊安全測試技術門檻

騰訊SR手遊安全測試團隊經過對手遊安全領域多年的探索和技術積累, 打造出了業界領先的手遊安全測試技術方案——SR手遊安全測試方案,在工具上已經支援所有騰訊在研和營運的手遊項目,依靠自身的技術積累來提高專業程度,持續保持漏洞的發現率。目前提供了專家測試和自動化測試,希望通過提前發現遊戲版本的安全漏洞,預警風險,幫助提高騰訊遊戲的品牌和口碑。

目前騰訊SR手遊安全測試限期開放免費專家預約!點選連結立即預約!

商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請注明出處。