电竞比分网-中国电竞赛事及体育赛事平台

0731-85137865

010-68207668

產(chǎn)業(yè)研究 / STANDARD

產(chǎn)業(yè)調(diào)研

聯(lián)系我們


地址:長(zhǎng)沙市天心區(qū)雀園路568號(hào)創(chuàng)谷主樓2樓天心文化(廣告)產(chǎn)業(yè)園

電話:0731-85137865

郵箱:gongxin@www.wzwhfm.com


行業(yè)調(diào)研 您現(xiàn)在的位置: 首頁(yè)電競(jìng)產(chǎn)業(yè)產(chǎn)業(yè)研究 行業(yè)調(diào)研-手游安全真正應(yīng)該關(guān)注什么?

手游安全真正應(yīng)該關(guān)注什么?

日期:2020-04-26 作者:新浪游戲

一、手游安全應(yīng)該關(guān)注什么?

之前接到客戶某款游戲第三方安全測(cè)試機(jī)構(gòu)的報(bào)告,報(bào)告顯示游戲存在高危,客戶有點(diǎn)納悶:用了第三方專業(yè)(易盾)的保護(hù),怎么還存在高危?接下來(lái),讓我們一起分析一下這些“高危”,是不是真正對(duì)手游構(gòu)成了嚴(yán)重的威脅?

第三方的安全測(cè)試機(jī)構(gòu)會(huì)對(duì)手游APP進(jìn)行安全測(cè)試,包括客戶端的靜態(tài)安全、客戶端數(shù)據(jù)安全和客戶端運(yùn)行時(shí)安全等,接下來(lái)我們一一分析下:

1。客戶端靜態(tài)安全

1.1反編譯安全

某第三方測(cè)試機(jī)構(gòu)通過(guò)apktool 和dex2jar 工具對(duì)APK進(jìn)行反編譯,如下圖1-1所示,得到該APK不安全的結(jié)論:APP可以被反編譯看到j(luò)ava的源碼。

由于目前在眾多的手游架構(gòu)中,絕大多數(shù)的核心邏輯是:

U3D引擎:mono中的dll文件,和il2cpp形式中的libil2cpp.so文件和global-metadata.dat文件;

NX引擎:npk文件;

coscos引擎:lua文件;

layaair:js文件等

核心是上面的這些,而不是游戲包中的dex文件,因此這種粗粒度的檢測(cè)不具有參考價(jià)值,更構(gòu)不成高危信息。

1.2完整性校驗(yàn):

該第三方機(jī)構(gòu)通過(guò)對(duì)該APK替換一個(gè)文件,重新打包能運(yùn)行——粗粒度得到該APK存在高危的安全問(wèn)題。

由于手游發(fā)布到各個(gè)渠道的時(shí),渠道會(huì)對(duì)APK文件中嵌入些渠道信息,因此母包一般情況下不會(huì)加入完整性校驗(yàn),并且對(duì)于游戲包中的資源文件等核心文件的保護(hù)和校驗(yàn)處理,易盾有對(duì)應(yīng)的資源文件加密和強(qiáng)文件校驗(yàn),進(jìn)一步針對(duì)性的保護(hù)游戲中的核心文件,因此上面那種粗粒度的檢測(cè)到高危是不具有參考價(jià)值。

2??蛻舳藬?shù)據(jù)安全

第三方測(cè)試機(jī)構(gòu)首先運(yùn)行目標(biāo)APP,使用MemSpcetor查看目標(biāo)APP進(jìn)程中的內(nèi)存段,然后尋找對(duì)應(yīng)的登錄的敏感信息。

這里先不談?wù)撨@個(gè)工具運(yùn)行所需要的環(huán)境,以及這樣的內(nèi)存數(shù)據(jù)是不是手游的核心內(nèi)存數(shù)據(jù),而是先來(lái)認(rèn)知一個(gè)關(guān)鍵點(diǎn)——對(duì)于手游來(lái)說(shuō),最重要的是什么?實(shí)際上,最重要的是游戲運(yùn)行過(guò)程中游戲業(yè)務(wù)邏輯所展現(xiàn)出來(lái)的內(nèi)存數(shù)據(jù)安全。比如以GG修改器以及變種代表的一類的攻擊工具;比如通過(guò)加速/減速這一類的變速工具以及模擬點(diǎn)擊類工具,通過(guò)這一類的工具來(lái)實(shí)現(xiàn)自動(dòng)打怪升級(jí)、做任務(wù)、血量無(wú)限、金幣自設(shè)置、游戲速度加減等(內(nèi)存數(shù)據(jù)的保護(hù),易盾有對(duì)應(yīng)的修改器檢測(cè)和內(nèi)存數(shù)據(jù)檢測(cè)等)。

3。客戶端運(yùn)行安全

對(duì)于手游運(yùn)行安全,第三方測(cè)試機(jī)構(gòu)只是僅僅測(cè)試了對(duì)于root的環(huán)境;

實(shí)際上,手游很多是需要支持模擬器運(yùn)行的,我們知道模擬器大部分是root的形式存在的,因此直接粗粒度的提示用戶風(fēng)險(xiǎn)是不符合業(yè)務(wù)邏輯的。

并且隨著Android系統(tǒng)的不斷升級(jí),通過(guò)尋找系統(tǒng)本身的漏洞會(huì)越來(lái)越難,因而陸續(xù)出現(xiàn)了magsik和多開(kāi)助手之類的軟件達(dá)到相同的root的功能,因此重點(diǎn)應(yīng)該關(guān)注這些運(yùn)行環(huán)境。易盾除了對(duì)于運(yùn)行時(shí)上述安全檢查以外,還有其他所有能夠被攻擊者所利用的各種隱患安全環(huán)境檢查。

第三方測(cè)試機(jī)構(gòu)在運(yùn)行安全檢查時(shí),除了檢查上面的root安全,還應(yīng)檢查客戶端輸入記錄保護(hù)和劫持保護(hù)等。尤其是成功的Activity劫持將會(huì)替換客戶端的啟動(dòng)界面,對(duì)用戶產(chǎn)生很大的誘騙作用。

這些是另一個(gè)層面的安全,對(duì)于真正的手游安全我們更應(yīng)該關(guān)注另外兩個(gè)層面:反破解和反外掛。

二、手游外掛的侵略

寓攻于守,方能破敵,因此作為防守人,首先要知道攻擊者是怎么進(jìn)行入侵的?知彼知己,方能百戰(zhàn)不殆。

1。破解

攻擊者破解手段有很多,主要是包括如下兩種邏輯:

1.1直面破解

攻擊者通過(guò)去反編譯分析游戲中的核心文件,比如代碼邏輯或者是資源文件。典型的就是通過(guò)U3D mono中的dll文件,找到對(duì)應(yīng)的游戲邏輯進(jìn)行篡改,達(dá)到自己的破解目的,或者去分析il2cpp中的libil2cpp.so文件,分析其中的關(guān)鍵游戲邏輯進(jìn)行篡改,進(jìn)而進(jìn)行二次打包(如下圖2-1所示)。面對(duì)這些破解手段,重要文件的各種加固加殼的保護(hù)應(yīng)運(yùn)而生,進(jìn)而阻擋攻擊者的分析。

1.2迂回破解

部分攻擊者不是直接通過(guò)正面的角度去破解,而是通過(guò)研究加載重要邏輯文件的流程,通過(guò)hook或者注入的操作來(lái)達(dá)到自己的目的,如圖2-2所示,為某攻擊者通過(guò)注入一個(gè)so文件達(dá)到自己的目的。

也有些攻擊者,重點(diǎn)放在對(duì)于libunity.so文件上,如下圖2-3所示,通過(guò)修改libunity.so文件的關(guān)鍵輸出邏輯達(dá)到作弊的效果。

這些攻擊者在面對(duì)保護(hù)方案的時(shí)候,通過(guò)HOOK來(lái)對(duì)一些創(chuàng)建線程或者退出邏輯來(lái)成功且巧妙的繞過(guò)一些保護(hù),進(jìn)而達(dá)到自己的目的,以下就是某攻擊手段通過(guò)對(duì)退出邏輯進(jìn)行HOOK的操作。

2。外掛

手游外掛指通過(guò)破壞游戲運(yùn)行的正常數(shù)據(jù)和邏輯的各種工具,或者偽造客戶端玩家“正常”操作的一切手段。

目前手游外掛的表現(xiàn)形式多種多樣,一類包括以模擬點(diǎn)擊類、加速器、修改器以及對(duì)應(yīng)所產(chǎn)生的各種變種,或者是通過(guò)修改內(nèi)存數(shù)據(jù)的原理結(jié)合andlua或者c4droid等框架來(lái)達(dá)到對(duì)應(yīng)的各種輔助效果,再配合一些外掛所需要的運(yùn)行環(huán)境,比如云真機(jī),各類各端模擬器,以及多開(kāi)等環(huán)境,進(jìn)而達(dá)到自己的目的。

當(dāng)然隨著移動(dòng)游戲的市場(chǎng)的快速發(fā)展,也出現(xiàn)了一些不修改客戶端的邏輯,偽造玩家來(lái)達(dá)到自己的手段,比如腳本精靈和一些脫機(jī)掛等等,還有一些諸如打金工作室,想更高效地刷取獲取游戲幣,從而實(shí)現(xiàn)自己的利益化。

2.1 直接掛

直接掛主要指的是通過(guò)修改客戶端的執(zhí)行邏輯,進(jìn)行修改作弊,大多數(shù)情況下是通用的,有一對(duì)多的屬性。比如GG修改器,燒餅和葫蘆俠等以及衍生的這類的變種,原理是利用修改器搜索相應(yīng)數(shù)值,再根據(jù)數(shù)值變化規(guī)律定位到在內(nèi)存中的位置,然后直接進(jìn)行修改達(dá)到對(duì)應(yīng)的效果。

也有各類的加速/減速器,比如光環(huán)助手,叉叉變速器等代表。原理上通過(guò)HOOK一些關(guān)于時(shí)間相關(guān)的函數(shù),影響游戲幀更新頻率,實(shí)現(xiàn)加速過(guò)關(guān)、減速躲閃技能等功能。

由于直接掛比較多且成熟,這里就不舉例說(shuō)明了。

2.2 間接掛

間接掛在不修改客戶端邏輯的情況下進(jìn)行自動(dòng)模擬升級(jí),比較有代表性的是模擬點(diǎn)擊類的掛,一般情況下是一對(duì)一。

以下是一個(gè)通過(guò)借助于PC端的Android模擬器的模擬掛的實(shí)例,通過(guò)在/data/local/tmp釋放一些重要文件,然后強(qiáng)求adb連接以后,通過(guò)傳遞一些功能標(biāo)志來(lái)對(duì)游戲的libil2cpp文件進(jìn)行操作,來(lái)達(dá)到自動(dòng)模擬點(diǎn)擊的效果。

三、手游安全的防護(hù)

手游安全問(wèn)題主要包括反外掛和反破解兩個(gè)方面,在不斷與各類破解、外掛的攻防對(duì)戰(zhàn)中,網(wǎng)易易盾通過(guò)總結(jié)不同新型外掛的屬性,持續(xù)對(duì)手游加固和反外掛模塊進(jìn)行迭代,完善功能、加強(qiáng)防御,做到了疾如風(fēng)、徐如林,不動(dòng)如山。

來(lái)源:游戲陀螺

新浪聲明:新浪網(wǎng)登載此文出于傳遞更多信息之目的,并不意味著贊同其觀點(diǎn)或證實(shí)其描述。


版權(quán)聲明:

1、 網(wǎng)站注明“來(lái)源:中國(guó)通信工業(yè)協(xié)會(huì)電子競(jìng)技分會(huì)”的所有作品,其他媒體、網(wǎng)站或個(gè)人轉(zhuǎn)載使用時(shí)必須注明:“來(lái)源:中國(guó)通信工業(yè)協(xié)會(huì)電子競(jìng)技分會(huì)”。

2、凡本網(wǎng)站注明“來(lái)源:XXX”的作品,均轉(zhuǎn)載其它媒體,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。本網(wǎng)站提供的資料如與相關(guān)紙質(zhì)文本不符,以紙質(zhì)文本為準(zhǔn)。