威脅手游安全,這些知識(shí)點(diǎn)你要了解看看!
點(diǎn)擊上方藍(lán)字關(guān)注我

背景



手游客戶端的發(fā)展往往會(huì)吸引一批想從游戲中獲利以及愛(ài)好逆向分析研究員的關(guān)注,因此手游的安全攻守之道就產(chǎn)生了。那么這些威脅對(duì)象的存在,給手游客戶端的安全帶來(lái)很大程度上的影響,所帶來(lái)影響的結(jié)果就是:游戲中出現(xiàn)各種外掛腳本,游戲客戶端破解版,打金工作室泛濫等等各種作弊行為的出現(xiàn),最終導(dǎo)致手游客戶端的平衡性被破壞,玩家流失,最終導(dǎo)致手游收入的降低。
接下來(lái)我們分析威脅手游客戶端安全的對(duì)象有哪些???

運(yùn)行環(huán)境的威脅



模擬器
主流模擬器: 夜神模擬器,雷電模擬器,mumu模擬器,逍遙模擬器,藍(lán)疊模擬器,騰訊手游助手,海馬玩模擬器,遁地模擬器。
模擬器原理: 一種是基于Qemu,一種是基于Genymotion(VirtualBox類)。
模擬器識(shí)別:特有模塊、文件、設(shè)備、配置、特征等等。
對(duì)抗策略:
檢測(cè)到模擬器對(duì)數(shù)據(jù)進(jìn)行上傳,并對(duì)應(yīng)模擬器玩家進(jìn)行策略調(diào)整,如在MOBA類型游戲,進(jìn)行將同類型的玩家匹配到一起;如角色扮演類型游戲,進(jìn)行降低游戲的收益。


(圖片來(lái)源2020騰訊游戲安全會(huì)議)
root權(quán)限
root解析:使得手機(jī)可以獲得超級(jí)管理員權(quán)限,android系統(tǒng)是基于Linux內(nèi)核的,默認(rèn)情況下并不提供超級(jí)管理員權(quán)限,所以獲取su的權(quán)限的過(guò)程就變成了人們常說(shuō)的root。
root方案:
1.通過(guò)第三方app
2.通過(guò)進(jìn)入Recovery模式刷寫root包
對(duì)抗策略 :
root對(duì)抗結(jié)合模擬器環(huán)境,對(duì)是否是root進(jìn)行上傳服務(wù)器,并進(jìn)行結(jié)合是否root進(jìn)行設(shè)定游戲策略。
虛擬機(jī)
主流虛擬機(jī):vmos(虛擬大師),VirtualXposed,光速虛擬機(jī),X8沙箱,平行空間。
虛擬機(jī)危害:它可以免Root進(jìn)行使用外掛,外掛腳本泛濫,外掛操作更簡(jiǎn)單,虛擬機(jī)種類繁多。
對(duì)抗策略: 因不需要進(jìn)行root就能很方便的使用手游輔助軟件,因此對(duì)這種的對(duì)抗方式就是識(shí)別到了就閃退。
云手機(jī)
主流云手機(jī):多多云,紅手指,河馬云手機(jī),百度云手機(jī)等等
云手機(jī)原理:云手機(jī)是虛擬化技術(shù),最終為用戶在云端提供的一個(gè)個(gè)安卓實(shí)例(操作系統(tǒng))。用戶通過(guò)視頻流的方式,遠(yuǎn)程實(shí)時(shí)控制云手機(jī),最終實(shí)現(xiàn)安卓原生APP及手游的云端運(yùn)行。
檢測(cè)方案:
1.通過(guò)底層識(shí)別方式進(jìn)行識(shí)別云手機(jī)
2.通過(guò)風(fēng)險(xiǎn)感知,實(shí)時(shí)反饋用戶異常玩家
3.通過(guò)機(jī)器學(xué)習(xí),依托海量數(shù)據(jù)庫(kù),模型精準(zhǔn),識(shí)別新型云真機(jī)
4.通過(guò)反饋跟蹤,根據(jù)用戶反饋異常,進(jìn)行相似性搜索,排查一批異常云手機(jī)玩家

內(nèi)存安全威脅



修改器
主流修改器 : GG修改器,CE修改,葫蘆娃修改器,八爪魚修改器,八門神器,燒餅修改器,葫蘆俠,叉叉助手,泡椒修改器,晃游修改器,熊貓俠修改器
修改器原理:
通過(guò)打開并讀取進(jìn)程中的/proc/%d/maps的內(nèi)存數(shù)據(jù),修改內(nèi)存數(shù)據(jù)而實(shí)現(xiàn)。
修改器檢測(cè)方案:
1. 安裝環(huán)境識(shí)別檢測(cè)
2.運(yùn)行時(shí)進(jìn)程環(huán)境檢測(cè)
3.數(shù)據(jù)埋點(diǎn)檢測(cè)
4.心跳包的建設(shè)及檢測(cè)
5.內(nèi)存蜜罐檢測(cè)
對(duì)抗策略:
1.檢測(cè)到游戲閃退
2.檢測(cè)到對(duì)賬號(hào)進(jìn)行封號(hào)處罰
注入框架
主流注入框架: frida,xposed
Frida原理:
frida是基于ptrace注入屬于一對(duì)一的注入。frida使用ptrace attach到進(jìn)程之后,往進(jìn)程中注入一個(gè)frida-agent-32.so模塊,此模塊是frida和frida-server通信的重要模塊,所以frida不會(huì)一直占用ptrace,注入模塊完成后便detach。
Xposed原理:
它是通過(guò)替換/system/bin/app_process 程序控制 zygote 進(jìn)程,從而使 app_process 在啟動(dòng)過(guò)程中加載XposedBridge.jar 這個(gè)jar包,從而完成對(duì)Zygote進(jìn)程及其創(chuàng)建的Dalvik虛擬機(jī)的劫持,所以它是屬于全局注入的。
常規(guī)檢測(cè)方案:
1.檢測(cè)進(jìn)程模塊關(guān)鍵模塊frida-agent-32.so,XposedBridge.jar;
2.檢測(cè)關(guān)鍵文件、包名、端口,調(diào)用棧
3.檢測(cè)底層的通訊協(xié)議
非常規(guī)檢測(cè)方案:
因frida和xposed都以開源因此可以通過(guò)修改源碼中關(guān)鍵信息重新定制版本,所以對(duì)于兩個(gè)框架檢測(cè)需檢測(cè)底層技術(shù)方案配合游戲的運(yùn)營(yíng)策略結(jié)合進(jìn)行檢測(cè)。
對(duì)抗策略 :
1.檢測(cè)到游戲閃退
2.檢測(cè)到對(duì)賬號(hào)進(jìn)行封號(hào)處罰

腳本輔助類威脅



模擬點(diǎn)擊工具
主流模擬點(diǎn)擊器: 按鍵精靈,觸摸精靈,腳本精靈,鳥人助手,節(jié)點(diǎn)精靈,Xscript工具
模擬器原理:通過(guò)錄制玩家操作反復(fù)重放,或通過(guò)取色點(diǎn)識(shí)圖等方式進(jìn)行自動(dòng)操作的輔助程序。用戶觸摸屏幕,對(duì)/dev/input/event寫入觸摸信號(hào)量而實(shí)現(xiàn)模擬點(diǎn)擊。

對(duì)抗策略:上傳識(shí)別檢測(cè)數(shù)據(jù),并進(jìn)行大數(shù)據(jù)行為分析,最終結(jié)合用戶行為數(shù)據(jù)進(jìn)行對(duì)應(yīng)處罰。

威脅小結(jié)



威脅手游安全對(duì)象從原理上來(lái)說(shuō)主要分為:內(nèi)存修改、函數(shù)調(diào)用、模擬點(diǎn)擊、協(xié)議模擬。其中尤以內(nèi)存修改類外掛占比居多,因此對(duì)于威脅手游安全的主要打擊對(duì)象還是主要放在修改器和注入框架方面。另外由于文章篇幅有限僅分析一部分的威脅對(duì)象,手游安全的威脅對(duì)象遠(yuǎn)遠(yuǎn)不止以上部分,還有如同步器,加速器,反調(diào)試等等,剩余部分后續(xù)進(jìn)行技術(shù)方案實(shí)踐分析。

(圖片來(lái)源2020騰訊游戲安全會(huì)議)

解決方案



目前手游安全主流的對(duì)抗方案:手游客戶端進(jìn)行接入反外掛檢測(cè)SDK的模塊,并調(diào)用sdk檢測(cè)對(duì)抗的功能接口(sdk主要包含jar包和so文件),所以判斷手游客戶端是否接入主流的反外掛檢測(cè)模塊,只要在游戲客戶端的lib目錄下判斷是否存在反外掛的so文件,例如游戲接入某訊的MTP產(chǎn)品,那么游戲客戶端的lib目錄下會(huì)有個(gè)libtersafe.so文件,游戲接入某易的易盾產(chǎn)品,那么游戲客戶端的lib目錄下會(huì)有個(gè)libNetHTProtect.so文件。接入完sdk后剩下最后一個(gè)步驟那就是對(duì)手游客戶端進(jìn)行做加固保護(hù)。

End

點(diǎn)個(gè)

在看
你最好看
