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