1. 程式人生 > >騰訊手遊如何提早揭露遊戲外掛風險?

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

作者: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協議雙端工具web效果展示

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

2、函式動態修改

函式動態修改原理

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

函式動態web效果展示

方案效果:
—— 函式動態修改方案共覆蓋安全檢查風險項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手遊安全測試方案,在工具上已經支援所有騰訊在研和運營的手遊專案,依靠自身的技術積累來提高專業程度,持續保持漏洞的發現率。目前提供了專家測試和自動化測試,希望通過提前發現遊戲版本的安全漏洞,預警風險,幫助提高騰訊遊戲的品牌和口碑。

相關推薦

如何提早揭露遊戲外掛風險

作者:sheldon,騰訊高階安全工程師 商業轉載請聯絡騰訊WeTest獲得授權,非商業轉載請註明出處。 WeTest導讀 隨著大量外掛、輔助、工作室等非法盈利團隊藉由移動遊戲產業迅猛發展的東風趁虛而入,對遊戲開發商和玩家來說都造成了不小的傷害,安全問

修改助手共享目錄/快取目錄/Temp資料夾路徑

       我們在電腦上安裝了 騰訊手遊助手 後,發現騰訊手遊助手的快取目錄/遊戲安裝目錄/共享目錄(即"Temp"資料夾)的路徑,無法通過設定修改,這時,我們可以通過修改登錄檔的方法進行修改。 1

夢幻成仙,誅滅外掛——《夢幻誅仙》的阻擊外掛之旅

超過 ext 客戶端 left ron 相加 功能 出現 成本 隨著智能手機的全面普及和市場泛娛樂化,移動遊戲行業發展迅猛,無論是市場收入還是用戶規模,手遊在遊戲市場上已經占據了半壁江山。如此火熱的市場吸引了大量外掛、輔助工作室等非法盈利團隊,嚴重影響了遊戲的收益、平衡,縮

首款區塊鏈遊戲23日發布,精靈還是妖怪?

騰訊區塊鏈昨天,騰訊區塊鏈業務總經理蔡弋戈在2018年中國“互聯網+”數字經濟峰會金融分論壇上透露,騰訊將於4月23日發布首款區塊鏈遊戲。 據悉,騰訊首款區塊鏈遊戲代號“Z”。騰訊將會註重對區塊鏈底層技術的應用,以提升“Z”的可玩性和真實性。 那麽,騰訊的首款區塊鏈遊戲會是什麽樣的呢?我們不妨先做一些猜想。

廣州遊戲產業大存亡,斷臂求生,做遊戲開發還有前景嗎?

來源:易簡財經(ID:ejfinance) 在審批之下,廣州遊戲行業迎來了生死時刻。      作為廣州的遊戲中心,凌晨的科韻路是熱鬧的,剛下班的程式設計師們三五成群從公司中走出,相約去附近的大排擋宵夜。不過,蔡圓(化名)卻拒絕了同事的邀請,獨自一人回到家中,思考未來的出路。 (C/

侍魂上線,侍魂:朧月傳說安卓模擬器電腦版詳細教程

侍魂:朧月傳說手遊怎麼在電腦上玩?侍魂手遊模擬器玩不了?不存在的。侍魂:朧月傳說是騰訊新出的一款和風武者3D動作手遊,已經在12月3日正式上線了,很多人反饋模擬器裡面搜尋不到這款遊戲,今天就教一下你們怎麼樣不用模擬器也可以在電腦上玩侍魂:朧月傳說手遊。   1、首先需要在電腦

網絡遊戲Unity3D幀同步

一、        前言  幀同步,根據wiki百科的定義是,一種對同步源進行畫素級同步顯示的處理技術,對於網路上的多個接入者,一個訊號將會通過主機同步傳送給其他人,並同步顯示在各個終端上。同步訊號可以是每幀的畫素資料,也可以是影響資料變化的關鍵事件資訊。 幀同步在網路遊

Python爬取王者榮耀中的遊戲英雄角色

    王者榮耀相信大家都很熟悉的了,我就不多介紹了,臨近畢業又是組團開黑的高峰,去年接觸了這一款遊戲,平時閒暇時間沒事喜歡玩兩局,不知不覺王者峽谷內已經誕生了眾多的英雄角色,也有很多王者榮耀助手之類的軟體來提供遊戲操作攻略,今天想花一點時間來探索一些峽谷內的英雄們,簡單當做

高效率完成一次接入80個渠道SDK——遊戲接入SDK服務端篇

.1 概要     通常,遊戲開發商並不會只在一個渠道上線他們的遊戲,接入越多的渠道,代表著可能獲取越多的使用者,但同時也代表著越多的接入SDK工作量、工期和費用。一款遊戲要有足夠的使用者,甚至需要接入30家以上的各種渠道,以保障自己的市場覆蓋率。 單個SDK接入流程在一

節後不做背鍋俠!做到這點,就不用擔心外掛

兩種 智能 ref 模擬點擊 破解 -o 為什麽 保護 手遊 附錄網易易盾移動安全專家“科普”:如何正確選擇選擇可靠的第三方服務 市面上的手遊反外掛產品宣傳誇上天,實際應用情況有可能是另外一碼事。那到底如何提前知道一款手遊反外掛可靠不可靠,避免踩坑?其實,遊戲首先要考慮自己

WeTest《2017中國移動遊戲質量白皮書》開放預約,再為國內把把脈

分析 榮耀 ref play 嚴格 核心 str 成了 數據 產品為王,質量先行。如果說2016年是爆款手遊相繼崛起的一年,那麽2017年則更像是打磨精品、建立生態的高手切磋之年。守住一個遊戲的質量生命線,方能建立健康生態,方能在如火如荼的行業競爭中角逐到最後。 秉承往年宗

Netty遊戲伺服器實戰開發(8):利用redis或者zookeeper實現3pc分散式事務鎖(二)。支撐系列某百萬級流量公測

導讀:在上篇文章中介紹了分散式事務專案的基本原理和工程元件,我們瞭解到了分散式事務的理論知識。處於實戰的經驗,我們將理論知識使用到實際專案中。所以我們將藉助idea中maven工程 來實戰我們的專案。 回到正文: 在上篇文章中我們已經把需要的準備工作做好了。現在

RPG代號:夏娃(龍族幻想)DNA首測,這遊戲畫風也太美了吧

龍族幻想手遊什麼時候上線(之前叫代號:夏娃,現在已經更名為龍族幻想)?等了這麼久,騰訊今年代理髮行的全新次世代RPG手遊大作終於迎來首次DNA限量測試:       測試玩家招募時間從12.12-12.25日,測試時間為12.26-12.28,想要

為測試賦能,WeTest探索AI自動化測試之路

面數據 利用 ima 動畫 作者 就會 安全 嘗試 機械 作者:周大軍/孫大偉, 騰訊後臺開發 高級工程師 商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請註明出處。 WeTest導讀 做好自動化測試從來不件容易的事情,更何況是手遊的自動化測試

建一座安全的“天空城” ——揭秘WeTest如何與祖龍共同挖掘安全漏洞

rpg 差異 商業 log 自動 pla 腳本 逆向 對比 作者:騰訊WeTest手遊安全測試團隊商業轉載請聯系騰訊WeTest獲得授權,非商業轉載請註明出處。 WeTest導讀 《九州天空城3D》上線至今,長期穩定在APP Store暢銷排行的前五,本文將介紹騰訊W

xLua 2.1.13 釋出,開源的熱更新解決方案

   新增特性 新增AdaptByDelegate注入模式; 新增xlua.get_generic_method,用於呼叫泛型函式; 支援類似CS.System.Collections.Generic.List(CS.System.Int32)的泛型寫法; 注入新選項

開源熱更新方案Xlua嚐鮮(三)——C#訪問Lua

C#訪問Lua 這裡指的是C#主動發起對Lua資料結構的訪問。 一、獲取一個全域性基本資料型別 訪問LuaEnv.Global就可以了,上面有個模版Get方法,可指定返回的型別。 luaenv.Global.Get<int>("a"); luaenv.Globa

:大型實時對戰的毫秒級網路優化

作者簡介 張丹 騰訊遊戲 新終端運營中心總監 手遊技術專家,華為騰訊 NFV 產業聯合創新實驗室發起人,擁有12年無線網際網路和遊戲運營經驗,騰訊移動遊戲技術平臺以及騰訊手遊 SDK 的創始人,並全面負責騰訊移動遊戲的技術評估、優化、接入和運維工作。 前言 本文主要是針對手機遊戲進行一些整體解決方

開源熱更新方案Xlua嚐鮮(四)——Lua呼叫C#

new C#物件 你在C#這樣new一個物件: var newGameObj = new UnityEngine.GameObject(); 對應到Lua是這樣: local newGameObj =CS.UnityEngine.GameObject() 基本類似,除了:

如何打造一款實時對戰

2015年以來,手機遊戲的市場偏好,逐漸從早期的休閒類、跑酷類、卡牌類遊戲,轉向重度、操作性更強的ARPG 、FPS、、MOBA類遊戲。因此實時對戰這一遊戲玩法,也逐漸成為了手機遊戲的一個核心玩法。縱觀AppStore暢銷榜前十的遊戲,過半都支援玩家實時的PK或者合作攻關。