如何在網(wǎng)站后臺(tái)找到死鏈接群站優(yōu)化之鏈輪模式
不同于安卓的開源生態(tài),iOS一直秉承著安全性更高的閉源生態(tài),系統(tǒng)中的硬件、軟件和服務(wù)會(huì)經(jīng)過嚴(yán)格審核和測(cè)試,來保障安全性與穩(wěn)定性。
據(jù)FairGurd觀察,雖然iOS系統(tǒng)具備一定的安全性,但并非沒有漏洞,如市面上常見的作弊手段——iOS越獄。
iOS越獄工具Unc0ver
iOS越獄是指通過軟件或硬件漏洞,移除或繞過蘋果在iOS設(shè)備上的操作系統(tǒng)限制,從而獲得設(shè)備的最高權(quán)限。
設(shè)備越獄后,用戶可以通過獲取的最高權(quán)限,安裝 Cydia 管理器等軟件,從而繞過 App Store 安裝各種未審核的插件、外掛,來修改系統(tǒng)文件,甚至訪問系統(tǒng)級(jí)別的API。
Cydia管理器
而具體到游戲作弊場(chǎng)景,外掛作者可以對(duì)游戲程序砸殼用于逆向分析,也可以利用 substrate 對(duì)游戲邏輯進(jìn)行 hook 從而制作出各種游戲外掛。
這些游戲外掛程序可以被其他越獄玩家直接安裝,也可以通過 Cydia 管理器進(jìn)行分發(fā)。鑒于用戶使用越獄設(shè)備可能帶來不良影響,所以很多游戲都會(huì)檢測(cè)設(shè)備是否越獄。
常見的越獄檢測(cè)手段有:檢查越獄文件和目錄、檢查權(quán)限、檢查Sandbox等,可以通過這些維度來判斷設(shè)備是否處于越獄狀態(tài),但這其中也存在一些問題。
常見的iOS越獄檢測(cè)手段
如:在檢查越獄文件和目錄時(shí),通常會(huì)檢查 /Application/Cydia.app 是否存在,但如果一臺(tái)越獄設(shè)備未使用 Cydia 商店,就會(huì)造成漏報(bào)。
還有一種情況,如果一臺(tái)設(shè)備使用了不完美越獄,并使用了 Cydia 商店,設(shè)備重啟后會(huì)恢復(fù)到未越獄狀態(tài),但 /Application/Cydia.app 依然存在,這種情況下就會(huì)造成誤報(bào)。
其他情況下,作弊者可以使用反越獄檢測(cè)插件來躲避檢測(cè)。常見的插件有HideJB/abapass/fyjb 等。
這些插件對(duì)系統(tǒng)接口層做了許多 hook,能夠過濾所有與越獄相關(guān)的字符串,從而使得應(yīng)用層無法正常檢測(cè)。
HideJB操作界面
此外,FairGuard收集并分析了大量反越獄檢測(cè)插件,總結(jié)了一些它們繞過越獄檢測(cè)的常用手段:
-
Hook NSFileManager 的 fileExistsAtPath,過濾越獄相關(guān)字符串。
-
偽造進(jìn)程模塊列表,防止越獄相關(guān)模塊被檢測(cè)。
-
Hook stat / access / lstat 等 c 層 api, 過濾越獄相關(guān)文件。
-
對(duì) app 代碼中的 svc 匯編代碼進(jìn)行 patch hook, 隱藏越獄相關(guān)文件。
針對(duì)iOS端面臨的越獄難題,FairGuard在分析了大量反越獄插件的基礎(chǔ)上,針對(duì)性地開發(fā)了越獄檢測(cè)模塊及配套的安全功能,并接入多款熱門游戲并驗(yàn)證了出色的保護(hù)能力。
反越獄保護(hù)
采用獨(dú)家檢測(cè)技術(shù),做到精準(zhǔn)識(shí)別不誤報(bào),會(huì)根據(jù)多種運(yùn)行時(shí)信息綜合判斷,對(duì)未知反越獄插件/越獄方式做檢測(cè),針對(duì)反越獄插件做處理,不漏報(bào)。
反調(diào)試保護(hù)
雙重防護(hù),先使用ptrace、syscall、sysctl、異常等檢測(cè)方式,再對(duì)防護(hù)代碼進(jìn)行加密保護(hù),效果更佳。
反重簽名保護(hù)
精準(zhǔn)校驗(yàn)包體內(nèi)簽名,使用加固時(shí)存儲(chǔ)的簽名,與運(yùn)行時(shí)獲取的簽名進(jìn)行對(duì)比。
反修改器保護(hù)
在代碼對(duì)抗防護(hù)階段,FairGuard提供本地檢測(cè)代碼,并保護(hù)其有效性。
此外,FairGuard研發(fā)了在線特征更新檢測(cè)功能,獲取樣本后可第一時(shí)間下發(fā)特征,用最短的時(shí)間保護(hù)App的安全性。