如何做好iOS应用安全?这有一把行之有效的“三板斧”
本文由? 網(wǎng)易云 發(fā)布。
?
iOS應(yīng)用面臨很多破解問(wèn)題,常見(jiàn)的有IAP內(nèi)購(gòu)破解、山寨版本、破解版本等;大眾應(yīng)用上,微信搶紅包、微信多開(kāi)等;而在iOS游戲上,越來(lái)越泛濫的外掛問(wèn)題也不斷困擾著游戲廠(chǎng)商。
?
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 網(wǎng)易云易盾資深安全開(kāi)發(fā)工程師王桂林
3月17日,Cocoa社區(qū)CVP系列開(kāi)發(fā)者沙龍?jiān)诒本┡e辦,網(wǎng)易云易盾資深安全開(kāi)發(fā)工程師王桂林出席沙龍,并做《iOS游戲的破解以及防護(hù)》的演講,分享了究竟該如何做好App的安全防護(hù)工作。
?
攻防,首先得知道他們是怎么破的
?
要想防護(hù)的好,必須要知道對(duì)手是怎么破解的,王桂林首先分享了兩個(gè)破解分析實(shí)例。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 游戲加速分析過(guò)程
第一個(gè)實(shí)例就是加速器,“加速器原理都差不多,只是實(shí)現(xiàn)方式不一樣。”王桂林說(shuō),它們的原理都是通過(guò)修改時(shí)間相關(guān)函數(shù)實(shí)現(xiàn)加減速功能,實(shí)現(xiàn)方式上主要是兩大類(lèi),一類(lèi)是U3D,另外一類(lèi)是COCOS。如何做的呢?“通過(guò)有無(wú)UnityAppController來(lái)判斷是否為Unity游戲。如果為Unity游戲的話(huà),就會(huì)用Hook OC的方法;如果不是Unity游戲,就會(huì)采用常規(guī)的Hook Gettimeofday方式修改游戲。”
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 修改參數(shù)
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 破解效果
只要是手游,基本都被外掛侵害,《旅行青蛙》是當(dāng)下非常火的佛系游戲,網(wǎng)易云易盾資深安全開(kāi)發(fā)工程師于是就對(duì)它進(jìn)行了分析:通過(guò)iOS和安裝安裝包聯(lián)合分析,就可以發(fā)現(xiàn)iOS使用的是IL2CPP模式,C#腳本轉(zhuǎn)成C/C++代碼,使用II2CppDumper還原符號(hào)。王桂林說(shuō):“知道這些開(kāi)發(fā)情況后,就可以搜索三葉草、抽獎(jiǎng)券代碼,通過(guò)修改對(duì)應(yīng)的代碼達(dá)到三葉草數(shù)目無(wú)限、抽獎(jiǎng)券變成自己想要的效果等。”
?
不論是加速器,還是外掛,都會(huì)傷害正常玩家——包括付費(fèi)玩家,同時(shí)也會(huì)影響游戲開(kāi)發(fā)者的收入,面對(duì)這些情況時(shí),我們?cè)撛趺崔k?
?
iOS游戲安全,行之有效的“三板斧”
?
那iOS游戲怎么才能做好相應(yīng)的保護(hù)?面對(duì)現(xiàn)場(chǎng)大家期盼的眼神,王桂林分享了網(wǎng)易云易盾行之有效的“三板斧”:
?
- 第一板斧是防靜態(tài)分析,這里包括字符串加密、符號(hào)混淆、代碼邏輯混淆和游戲存檔加密;
- 第二板斧是防動(dòng)態(tài)調(diào)試、反調(diào)試和通信安全(數(shù)據(jù)加密);
- 第三板斧是外掛檢測(cè)、加速掛、內(nèi)存修改掛和自動(dòng)任務(wù)掛等。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 字符串加密
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? 代碼邏輯混淆
具體來(lái)看字符串加密、符號(hào)混淆、代碼邏輯混淆。字符串加密,就是在編譯器編譯源碼時(shí),對(duì)程序中的字符串進(jìn)行加密,運(yùn)行的時(shí)候動(dòng)態(tài)解密;符號(hào)混淆,則是將代碼中使用的類(lèi)名、方法名、屬性替換成其他意義的名字;代碼邏輯混淆,就是在編譯器編譯源碼時(shí),對(duì)代碼結(jié)構(gòu)進(jìn)行變形,提高代碼的復(fù)雜度和逆向分析難度,從而保護(hù)程序不被輕易破解,里面也可以加密算法邏輯和特定的驗(yàn)證邏輯,比如一開(kāi)始的代碼結(jié)構(gòu)很簡(jiǎn)單,改了以后就會(huì)變得很復(fù)雜。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 反調(diào)試
王桂林說(shuō),上面的都屬于放靜態(tài)分析范疇,它都是對(duì)變量進(jìn)行加密保護(hù),讓破解者無(wú)法搜索。外掛都會(huì)有反調(diào)試分析,因此靜態(tài)分析之外還有防動(dòng)態(tài)調(diào)試,比如說(shuō)反調(diào)試,它使應(yīng)用無(wú)法被調(diào)試、避免被動(dòng)態(tài)分析的風(fēng)險(xiǎn);同時(shí),易盾還會(huì)做通信數(shù)據(jù)加密,防止被抓包工具抓包分析。
?
做好上面防護(hù)之外,易盾也采取主動(dòng)出擊,做外掛檢測(cè)、加速掛、內(nèi)存修改掛和自動(dòng)任務(wù)掛等。
?
“這就是網(wǎng)易云易盾行之有效的三板斧——從防靜態(tài)分析到防動(dòng)態(tài)調(diào)試到最后的外掛識(shí)別,全方位保護(hù)iOS應(yīng)用和游戲安全。”王桂林最后說(shuō)。
?
感興趣的朋友可以點(diǎn)這里免費(fèi)試用網(wǎng)易云易盾加固產(chǎn)品。
?
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?? “移動(dòng)安全診斷室”活動(dòng)
?
原文地址:http://mp.weixin.qq.com/s/KIp3ZHpd7O2OCwhTauVkKA
?
了解 網(wǎng)易云 :
網(wǎng)易云官網(wǎng):https://www.163yun.com/
新用戶(hù)大禮包:https://www.163yun.com/gift
網(wǎng)易云社區(qū):https://sq.163yun.com/
?
總結(jié)
以上是生活随笔為你收集整理的如何做好iOS应用安全?这有一把行之有效的“三板斧”的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 分布式存储与传统SAN、NAS的优、劣对
- 下一篇: 云栖科技评论第53期:前沿技术要“会说话