移動應(yīng)用安全加固技術(shù)到底有多重要
據(jù)統(tǒng)計,超97%的Android應(yīng)用遭受盜版侵襲,病毒木馬肆虐、流氓軟件和釣魚應(yīng)用隨處可見,嚴重影響了開發(fā)者收益、客戶端安全和體驗。愛加密移動應(yīng)用安全加固平臺,可從根本上解決移動應(yīng)用的安全缺陷和風險,通過Android應(yīng)用加固、iOS應(yīng)用加固、游戲應(yīng)用加固、H5文件加固、微信小程序加固、SDK加固、SO文件加固和源對源混淆加固等技術(shù),使加固后的移動應(yīng)用具備防逆向分析、防二次打包、防動態(tài)調(diào)試、防進程注入、防數(shù)據(jù)篡改等安全保護能力。
愛加密始終以創(chuàng)新發(fā)展為宗旨,通過不斷的提升產(chǎn)品和服務(wù)質(zhì)量,為金融、政府、能源、交通、運營商等廣大行業(yè)用戶提供完善的移動安全服務(wù)。愛加密移動應(yīng)用安全加固平臺,優(yōu)化了AAB加固能力;增強了源對源動態(tài)保護技術(shù);全面支持服務(wù)端jar加固、PHP加固、Python加固等,安全防護能力不斷提升,并以自主核心技術(shù)為突破點,持續(xù)引領(lǐng)行業(yè)風向標。

二、源對源混淆-iOS端
字符串加密
對程序中的字符串進行保護,增大程序的分析難度:對字符串采取隨機加密方式,運行時動態(tài)解密。
控制流扁平化
對C/C++代碼中的函數(shù)所對應(yīng)的控制流進行“橫向”變扁邊長,使其在常用反編譯工具中,增加破解者分析難度,有效的保護核心算法的原始邏輯。
等效指令替換
對C/C++函數(shù)中的運算表達式進行等效轉(zhuǎn)換,使其在常用反編譯工具中,增加破解者分析難度,有效的保護核心算法的原始邏輯。
虛假控制流
在C/C++函數(shù)中,插入一些虛假的不可達指令或多余的跳轉(zhuǎn)指令,在運行時刻這些插入的指令不會運行,在靜態(tài)分析時難以被發(fā)現(xiàn),從而保護用戶的源代碼安全。
局部變量名混淆
對源代碼中的變量名進行混淆,混淆后的變量名為無意義的名稱。
完整性保護
對應(yīng)用進行完整性校驗,發(fā)現(xiàn)應(yīng)用被重簽名,應(yīng)用自動退出運行。
代碼段校驗
對應(yīng)用代碼段進行完整性校驗,發(fā)現(xiàn)代碼段被篡改,應(yīng)用自動退出運行。
資源文件完整性校驗
對應(yīng)用資源文件進行完整性校驗,發(fā)現(xiàn)資源文件被篡改,則退出運行。
不透明謂詞
將代碼中分支跳轉(zhuǎn)判斷條件由原來的確定值變?yōu)楸磉_式,增加程序邏輯復(fù)雜性,降低代碼可讀性。
符號混淆
對方法名、類名進行混淆,增大分析難度,無法通過方法名、類名快速定位程序核心代碼。
防動態(tài)調(diào)試
對應(yīng)用進行防調(diào)試保護,檢測到配置防動態(tài)調(diào)試功能的類、方法、函數(shù)被GDB、Xcode、LLDB工具進行動態(tài)調(diào)試時,應(yīng)用自動退出運行。
防動態(tài)注入
當利用Framework或者Dylib等第三方庫的方式對應(yīng)用進行動態(tài)注入(越獄環(huán)境利用Cydia直接注入,非越獄環(huán)境利用yololib注入后重簽)時,自動退出運行。
Hook檢測
對應(yīng)用進行防Hook保護,檢測到配置防Hook保護功能的類、方法、函數(shù)在被Frida、Cydia Substrate工具動態(tài)注入時,應(yīng)用自動退出運行。
混淆多樣性
采用隨機化技術(shù),相同加固策略下,每次混淆的輸出結(jié)果是隨機且不重復(fù)的,增強了代碼的保護能力。
過濾指定文件/目錄
對填寫的指定文件或者指定目錄下面的所有文件不進行混淆。
三、AAB加固
防逆向保護
二代DEX整體加密保護
對DEX文件進行整體加密,防止通過第三方反編譯工具獲取源碼;
防止對DEX文件進行Java層動態(tài)調(diào)試。
三代代碼分離保護
將DEX文件中的方法名和方法體分離加密,防止查看;
按需解密,使用到函數(shù)時進行解密,內(nèi)存中的DEX不連續(xù)存儲;
防止通過內(nèi)存DUMP獲取明文DEX。
四代混合加密保護
防止apktool、dex2jar等工具對APK進行反編譯;
抽取加密APK內(nèi)全部代碼,防止查看;
防止通過內(nèi)存DUMP獲取APK源代碼。
五代VMP保護(虛擬指令集技術(shù))
自定義虛擬指令,防止在內(nèi)存中還原代碼;
防止內(nèi)存DUMP獲取核心數(shù)據(jù)和代碼;
增加黑客反編譯代碼后對業(yè)務(wù)邏輯的理解難度。
so加殼
對so庫文件進行高強度加殼加密;
防止在內(nèi)存中整體DUMP出未加密的so庫;
防止通過IDA Pro還原so庫。
so Linker
愛加密so Linker安全加固對整個so文件進行加密壓縮,包括代碼段、導(dǎo)出表和字符串等,運行時再解密解壓縮到內(nèi)存,從而有效的防止so數(shù)據(jù)的泄露。使用so Linker,隱藏so的基地址,有效的防止so被DUMP。
使用函數(shù)運行時動態(tài)加解密技術(shù)(FRAEP),在運行前進行解密,運行結(jié)束后進行加密,從而保證了so即使被DUMP,也無法反匯編出源碼(so函數(shù)指令不運行時,在內(nèi)存中處于加密狀態(tài))。so Linker代碼使用愛加密自有的so VMP技術(shù)保護,大大增強了反調(diào)試代碼被跟蹤的難度。
so防調(diào)用
將so同APP的綁定,保證so文件無法被復(fù)制到其他APK中使用
防止攻擊者直接調(diào)用so庫功能
防止通過篡改APK制作惡意軟件、釣魚應(yīng)用
數(shù)據(jù)防泄密
防日志泄露
攔截日志輸出接口;
攔截到的日志信息不在進行輸出打印操作。
本地Sharepferences數(shù)據(jù)加密
Sharepreferences讀寫過程中的自動攔截加密、解密;
加密so庫進行加固,混淆保護,防止算法本身被破解。
防調(diào)試保護
防止動態(tài)調(diào)試
防止GDB、IDA Pro等動態(tài)調(diào)試工具調(diào)試APK;
保護內(nèi)存數(shù)據(jù)不被讀取;
保護內(nèi)存數(shù)據(jù)不被篡改。
防止內(nèi)存代碼注入
實時檢測APK運行環(huán)境,監(jiān)控內(nèi)存和進程狀態(tài);
檢測到內(nèi)存注入時,則自動退出。
防模擬器
實時檢測APK運行環(huán)境;
發(fā)現(xiàn)APK運行在模擬器環(huán)境,則彈出警告信息或自動退出;
防止各類通過模擬器執(zhí)行的攻擊手段。
防trace分析
防止應(yīng)用被TraceView工具分析,防止跟蹤查看APP的執(zhí)行流程、函數(shù)調(diào)用圖,保護APP的核心業(yè)務(wù)邏輯。
HOOK框架檢測
HOOK攻擊框架檢測,可以檢測部分Xposed框架、Substrate框架、Frida框架
檢測到HOOK框架自動退出運行。
頁面數(shù)據(jù)保護
?防截屏
防止APK被自動化截取界面;
保護用戶的賬號、密碼、銀行卡等數(shù)據(jù)安全。
防劫持
防止APK正常界面被惡意替換為仿冒界面;
應(yīng)用遭受劫持攻擊時,自動彈出警告信息,提醒用戶;
防止各類釣魚應(yīng)用。
四、服務(wù)端Jar加固
對服務(wù)端Jar(Web服務(wù)端應(yīng)用的開發(fā)涉及到第三方SDK)以及Windows上面的可執(zhí)行Jar文件進行虛擬化保護,防止通過逆向分析獲取源代碼,保護SDK代碼、業(yè)務(wù)邏輯不被泄漏。
VMP保護
對服務(wù)端Jar進行VMP保護,將原始指令轉(zhuǎn)化為愛加密自定義虛擬機指令,使用自定義虛擬機解釋器解釋執(zhí)行,防止通過逆向分析獲取源代碼,保護SDK代碼、業(yè)務(wù)邏輯不被泄漏。
字符串加密
對Jar進行語法分析以及邏輯分析,解析出代碼中字符串的位置,然后對字符串進行混淆以及加密,使破解者無法使用它來快速定位程序核心代碼的位置。
防調(diào)試
防止通過動態(tài)調(diào)試的方式獲取服務(wù)端Jar的核心代碼邏輯。檢測到Jar被動態(tài)調(diào)試,則自動退出運行。
五、PHP加固
對PHP文件中的源代碼進行加密,加密后無法直接查看PHP文件中明文的源代碼。
1、加固包增量小
加密后包增量大小不超過原包“±5%”。
2、兼容性好
加固包兼容性高達99%,實現(xiàn)ART全面兼容。
3、全面的移動應(yīng)用安全加固技術(shù)
支持Android應(yīng)用加固、iOS應(yīng)用加固、游戲應(yīng)用加固、H5文件加固、Android SDK加固、so文件加固。
4、高效的性能,節(jié)約時間
應(yīng)用加固時間短,可即時獲取加固后的應(yīng)用。
5、無人工操作,節(jié)約成本
全自動一鍵操作,無需專業(yè)的安全技術(shù)人員參與,大幅降低人力開銷及技術(shù)學(xué)習(xí)成本。