騰訊手游如何提早揭露游戲外掛風險?

目前騰訊SR手游安全測試限期開放免費專家預約!點擊鏈接:手游安全測試立即預約!

作者:sheldon,騰訊高級安全工程師?
商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請注明出處。

文中動圖無法顯示,可點擊鏈接騰訊手游如何提早揭露游戲外掛風險?,閱讀原文查看。

WeTest導讀

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

安全無小事—安全測試開展思路

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

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

安全測試,與項目發布同行

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

SR手游安全測試經過若干輪的效率優化,已經將一輪安全測試的時間壓縮至3天,可以輸出《SR手游安全測試報告》。項目修復漏洞后,仍由SR專項團隊進行安全漏洞的回歸檢查,并確保項目按版本計劃進行發布。

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

專家測試?
根據手游安全測試的需求,主要涉及到手游項目中的測試范圍及測試內容的規定。提供專家手游安全測試服務,會有騰訊內部的手游安全測試專家進行測試、問題溝通跟進、處理優化檢查等等。?
1. 測試設計,根據相應游戲的內容進行測試設計,找出游戲中的獲利點,結合SR安全檢查項,可以對游戲的內容進行完整覆蓋?
2. 專家互評,對風險檢查點進行查漏補缺,保證完整覆蓋?
3. 測試執行,依據風險檢查點,使用SR工具執行測試檢查,主要進行函數修改、協議修改、內存修改、變速、腳本修改、靜態漏洞掃描?
4. 提交漏洞,測試專家按照SR漏洞模板提交漏洞,依據《漏洞評級標準》進行漏洞定級和內容的審核?
5. 安全報告,由安全專家根據發現的問題和游戲整體對安全性進行評估并輸出安全測試報告?
6. 漏洞回歸,漏洞修復后,從新提交修復版本進行回歸,SR評估漏洞修復情況并反饋結論

自動化測試?
1. 宕機漏洞掃描服務,通過智能分析協議來填充模糊測試case,發送到服務器,測試服務器的可靠性、健壯性?
2. 協議/函數風險掃描,通過AI算法學習安全風險模型,讀取游戲函數、協議數據后進行智能分析,具備2小時輸出安全測試報告的能力

SR安全測試技術方案

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

SR獨創的安全測試技術

-——業界獨創的動態修改手游客戶端程序的安全測試技術、基于對象的手游內存安全測試技術?
-——多種領先的自動化風險掃描技術?
—— 擁有多項國家級技術專利

SR手游安全測試團隊將審核的內容分為靜態安全漏洞和動態安全漏洞。不同類型的問題測試思路和分析手段會有不同,對測試工具和測試方法也會有差別。


靜態漏洞掃描?
主要通過靜態掃描的方式,對游戲apk中配置檔、資源文件、腳本文件、manifest.xml、so文件,通過自動掃描的方式來進行檢查項的確認。(目前此塊內容已集成到SR手游安全測試方案中,覆蓋了120+條安全檢查項和信息安全測試項)

動態風險分析?
動態安全測試涉及的內容廣泛,主要是根據游戲特定的內容和玩法,針對性地分析安全風險點,通過協議、函數、內存、腳本等技術,多維度檢查游戲服務器對相應的風險點是否有完善的校驗或反外掛策略。

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

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

SR手游安全測試深度解密

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

1、雙端協議修改

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

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


2、函數動態修改

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

方案效果:?
—— 函數動態修改方案共覆蓋安全檢查風險項81項?
—— 安全審核單個版本時間由15天減少到3天?
—— 函數修改測試成本降低70%

3、內存對象修改?

業界首創手游內存修改技術,為測試人員直接展示出游戲中對象列表、對象屬性名稱、屬性值等信息,并且可以對象為單位進行搜索,以革新方式告別傳統手游內存測試工具搜索“內存數值”方式定位目標內存地址的低效方案,實現該項測試成本降低70%。?
—— 內存對象 一目了然?
獲取內存中所有對象、對象名、地址、屬性值?
—— 對象數據 動態更新?
動態更新內存對象?
—— 動態修改 實時生效?
直接修改對象屬性,游戲內即時生效

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

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

測試流程如下:

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

自動化效果:?
—— 通過自動化掃描發現服務器宕機問題83例?
—— 檢查所有協議字段的異常值填充,平均每款游戲執行協議異常用例120000+條,填補手工測試無法完成的空缺?
—— 單個游戲1小時內可測試用例10000條以上,效率提升巨大?
—— 掃描覆蓋檢查規則31項,包括空指針、數值溢出、sql注入、格式字符串、緩沖區溢出等測試項

5、函數風險掃描技術:

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

SR手游安全測試支持項目情況:

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

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

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

【案例1】?
PVE模式中,動態修改游戲進程中多處代碼邏輯,實現“無敵+全屏秒殺外掛”


【案例2】?
韓信 [無情沖鋒]技能超遠距離釋放,利用漏洞進行全圖范圍內的突進功能。?
[無情沖鋒]屬于子彈型技能,即釋放時需要指定一個突進的方向。將技能類型強制修改為指定施法坐標的類型,指定技能落點位置坐標,就能夠獲得全圖突進效果。?


【案例3】?
篡改攻擊對象list與傷害邏輯,造成全屏秒殺效果?

【案例4】

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

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

SR手游安全測試提供的服務

【專家安全測試】?
無漏洞不收費,只需要提供apk包,可在約定時間內拿到一份安全評估報告?
【安全測試工具】(即將開放)?
開放騰訊安全測試專業工具,降低企業手游安全測試技術門檻

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

目前騰訊SR手游安全測試限期開放免費專家預約!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/387543.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/387543.shtml
英文地址,請注明出處:http://en.pswp.cn/news/387543.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于ARM Cortex-M0+ 的Bootloader 參考

源: 基于ARM Cortex-M0內核的bootloader程序升級原理及代碼解析轉載于:https://www.cnblogs.com/LittleTiger/p/10312784.html

小猿圈web前端之網站性能優化方案

現在前端不僅要能做出一個網站頁面,還要把這個頁面做的炫酷,那需要很大程度的優化,那么怎么優化才更好呢?小猿圈總結了一下自己優化的方案,感興趣的朋友可以看一下。一般網站優化都是優化后臺,如接口的響應…

下面介紹一個開源的OCR引擎Tesseract2。值得慶幸的是雖然是開源的但是它的識別率較高,并不比其他引擎差勁。網上介紹Tessnet2也是當時時間排名第三的識別引擎,只是后來慢慢不維護了,目前是G

下面介紹一個開源的OCR引擎Tesseract2。值得慶幸的是雖然是開源的但是它的識別率較高,并不比其他引擎差勁。網上介紹Tessnet2也是當時時間排名第三的識別引擎,只是后來慢慢不維護了,目前是Google在維護,大家都知道Google 在搞電子…

js 更改json的 key

let t data.map(item > {return{fee: item[費用],companyName1: item.companyName,remark1: item.remark,beginTime1: item.beginTime,endTime1: item.endTime}})console.log(t) 源地址:https://www.cnblogs.com/Marydon20170307/p/8676611.html轉載于:https:/…

1.4版本上線(第八次會議)

在小組成員連夜趕工的奮斗下,終于在昨天深夜成功實現了UI界面功能 至此,我們的系統終于真正可實用而不是局限在命令行進行互動了 由于python嵌入數據庫功能實現難度較大,迫于時間的局限性,我們選擇了用json文件與txt文件進行替代&…

分UV教程

第一步 首先,打開一個練習場景“空中預警機1.max”(這事小弟平時的練習做的不好獻丑了)。(圖01) 圖01 第二步 這里我們拿機翼來舉例子,隱藏除機翼意外的其他模型。(圖02) 圖02 第三步…

k8s系列--- dashboard認證及分級授權

http://blog.itpub.net/28916011/viewspace-2215214/ 因版本不一樣,略有改動 Dashboard官方地址: https://github.com/kubernetes/dashboard dashbord是作為一個pod來運行,需要serviceaccount賬號來登錄。 先給dashboad創建一個專用的認證信息…

JAVA項目開發

16年java軟件開發經驗,全職項目開發,項目可簽合同、開普票和專票。 主要承接項目: 1、網站開發項目 自主開發千帆CMS動態發布系統,基于java/springboot2/jpa/easyui開發,簡單易用,后臺與前端分離&#xff0…

3dmax基本操作

1、基本操作平移視圖(你所說的移動):CTRLP,或者用,滾輪。按住鼠標滾輪不放拖動,就行了。旋轉: ALT滾輪。按住ALT鍵不放,利用滾輪的移動(滾輪也要按著不放&#xff09…

padding影響整個div的實際寬度

padding影響整個div的實際寬度 1.不讓padding影響整個div的實際寬度 所以要設置css屬性: box-sizing:box-sizingposted on 2019-01-25 16:58 玉貔貅 閱讀(...) 評論(...) 編輯 收藏 轉載于:https://www.cnblogs.com/yupixiu/p/10320564.html

unity3d 任務頭上的血條

人物的名稱與血條的繪制方法很簡單,但是我們需要解決的問題是如何在3D世界中尋找合適的坐標。因為3D世界中的人物是會移動的,它是在3D世界中移動,并不是在2D平面中移動,但是我們需要將3D的人物坐標換算成2D平面中的坐標&#xff0…

如何在C#中使用Win32和其他庫之三

具有內嵌字符數組的結構 某些函數接受具有內嵌字符數組的結構。例如,GetTimeZoneInformation() 函數接受指向以下結構的指針: typedef struct _TIME_ZONE_INFORMATION { LONG Bias; WCHAR StandardName[ 32 ]; SYSTEMTIME Standa…

unity3d 預制體

首先要說明一下什么是預制體? 在Unity3D里面我們叫它Prefab;我們也可以這樣理解:當制作好了游戲組件(場景中的任意一個gameobject ),我們希望將它制作成一個組件模版,用于批量的套用工作,例如說…

Python小數據池,代碼塊

今日內容一些小的干貨 一. id is 二. 代碼塊三. 小數據池四. 總結python小數據池,代碼塊的最詳細、深入剖析 一. id is 二. 代碼塊三. 小數據池四. 總結一,id,is, 在Python中,id是什么?id是內存地址…

【Wax】使用Wax (framework方式,XCode 4.6)

前情提示:【Wax】使用Wax (非framework方式,XCode 4.6) 這次,將以framework的方式來使用Wax 那么,讓我們開始吧!!! 準備工作: 下載wax.framework:…

unity3d 簡單動畫

1,動畫系統配置 創建游戲對象并添加Animation組件,然后將動畫文件拖入組件。 進入動畫文件的Debug屬性面板 選中Legacy屬性 選中游戲對象,打開Animation編輯窗口 添加動畫變化屬性 需改關鍵幀的屬性值 配置完成后運行即可得到動畫效果 2&…

人月神話閱讀筆記(二)

今天對人月神話的正文部分進行了閱讀,從人月神話這一部分中了解到缺乏合理的時間進度控制是造成滯后的主要原因,比其他任何事情影響的和還大,書中也對造成這種這種普遍災難的原因進行了并進行了詳細列舉。 首先,我們對估算技術缺乏…

3dmax導出到unity3d下分割動畫

1、在3dmax 導出時候,要導出FBX文件,同時包含動畫,骨骼,皮膚等內容 2、把FBX文件導入到Unity3d后會默認有一個超長的大動畫,就是一個整體的動畫,如圖Take001,這個時候要分割哪部分是跑&#xf…

華碩首款平板電腦周五開售

新浪科技訊北京時間3月21日晚間消息,華碩周一宣布,將于本周開售首款平板電腦EeePadTransformer。本周五,臺灣地區用戶將可以率先預定這款平板電腦,隨后還將在全球其他國家和地區推出,悠語yoryu化妝品玻尿酸水潤彈力面膜120ml補水保…

(2)頁面標簽解析

<!--規定文檔類型的指令&#xff1a;html,以h5的語法來書寫html文件--><!DOCTYPE html><!--頁面根標簽&#xff0c;什么是根標簽&#xff0c;就是一個頁面空間可以理解成全局&#xff0c;所有內容都在這個頁面空間內--><!--langen就是定義頁面的默認語言&…