十年網(wǎng)站開發(fā)經(jīng)驗 + 多家企業(yè)客戶 + 靠譜的建站團隊
量身定制 + 運營維護+專業(yè)推廣+無憂售后,網(wǎng)站問題一站解決
安卓平臺已經(jīng)逐漸成為最受歡迎的移動終端操作系統(tǒng),基于安卓系統(tǒng)的軟件應(yīng)用數(shù)量眾多,同時安全威脅也在不斷增加。介紹了Android系統(tǒng)的安全風(fēng)險及加固的核心技術(shù),據(jù)此提出了一種安卓應(yīng)用程序的安全加固系統(tǒng),設(shè)計和實現(xiàn)了基于代碼混淆的加固技術(shù),從而達到了移動應(yīng)用安全 加固的目的。
成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站制作、網(wǎng)站建設(shè)、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)碑林,10余年網(wǎng)站建設(shè)經(jīng)驗,價格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792
安卓系統(tǒng)安全風(fēng)險
在Android應(yīng)用軟件迅速發(fā)展的同時,Android用戶也面臨著許多威脅。常見的惡意威脅如下:
1、惡意扣費
移動應(yīng)用威脅中最常見的惡意行為是惡意扣費。威脅手段包括用戶在不知曉或者不知情的情況下,擅自使用非法手段讓用戶訂購各種收費,活在無意識狀態(tài)下使用手機支付服務(wù)的情況下,它會屏蔽服務(wù)短信發(fā)送回服務(wù)提供商,破壞系統(tǒng)的正常功能。
2、隱私竊取
隱私竊取是近年來流行的一種應(yīng)用威脅,它是用戶不知道的情況下擅自竊取用戶的秘密信息。該病毒感染手機后,開始竊取用戶隱私信息的背景,包括通話記錄、短信內(nèi)容、地理位置、通訊錄、瀏覽器歷史記錄信息,然后通過病毒上傳信息到遠程服務(wù)器被黑客控制。如果用戶在手機上有網(wǎng)絡(luò)支付和其他行為,該賬戶的隱私也將是一個嚴重的威脅。
3、遠程控制
病毒會自動在后臺引導(dǎo)載人,并在用戶不知道或不授權(quán)的情況下與服務(wù)器連接。進一步,通過與服務(wù)器交互,在沒有權(quán)限的情況下對受害手機進行控制,從而進一步扣除費用,下載惡意軟件和其他惡意行為。
4、資源消耗
在用戶不知道或者不授權(quán)的情況下,導(dǎo)致用戶收費的損失,自動發(fā)送短信、多媒體短信、電子郵件、網(wǎng)絡(luò)連接等。
5、惡意通信
在用戶不知道或者不授權(quán)的情況下,傳播病毒或木馬本身,使得它的衍生工具或者其他移動互聯(lián)網(wǎng)惡意代碼可以通過其進行復(fù)制、感染或者提供下載。
6、其他
病毒在后臺大量下載軟件,并消耗用戶手機流量,或者執(zhí)行一些更耗電的操作來消耗手機的功率,從而影響正常手機通信。
幾維安全 安卓加固系統(tǒng)的實現(xiàn)
1、防逆向保護
針對Android應(yīng)用的Java、C、C++代碼采取混淆、虛擬化、加殼等安全保護措施,防止攻擊者通過逆向手段反編譯Dex和So文件。同時滿足等保2.0中的數(shù)據(jù)保密性保護要求:應(yīng)采取加密、混淆等措施,對移動應(yīng)用程序進行保密性保護,防止被反編譯。
2、Dex文件加殼
Dex文件加殼可以防止dex2Jar、Apktool、AndroidKiller、JEB等逆向工具反編譯Dex文件,從而避免Java代碼被惡意分析、核心技術(shù)被竊取。Dex文件加殼基于類加載的方式實現(xiàn),對Classes.dex文件進行整體加密,并拆解存放在APK的資源中,在APP應(yīng)用運行時先在內(nèi)存中解密Classes.dex,并讓Dalvik虛擬機動態(tài)加載Dex并開始執(zhí)行。
效果對比:
利用JEB反編譯原始Dex文件效果如下,可以清晰看到原始的Java代碼。
利用JEB反編譯已加密Dex文件效果如下,只能看到kiwivm殼的代碼,無法查看原始Java代碼。
3、Dex-Java2C保護
Dex-Java2C是針對Java函數(shù)進行深度加密,將Java自動化翻譯為C代碼,并進行Native層的虛擬化加密,相比Dex文件加殼粒度更細,安全更高。攻擊者無法還原Java函數(shù),從而避免關(guān)鍵Java代碼被惡意分析、核心技術(shù)被竊取。
Dex-Java2C基于LLVM編譯器實現(xiàn),利用復(fù)雜的處理流程將Android-Dex指令代碼轉(zhuǎn)換成LLVM-IR,然后利用LLVM后端編譯器直接生成【或者與代碼虛擬化配合使用】Native指令。該方案的轉(zhuǎn)換是不可逆的,從根本上讓逆向工程不具備可行性,從達到保護關(guān)鍵Java代碼的目的。
效果對比:
利用JEB反編譯原始Dex文件效果如下,可以清晰看到原始的Java代碼的函數(shù)體。
4、So文件加殼
So文件加殼可以防止IDA、ghidra等逆向工具的反編譯分析,從而避免C/C++代碼被惡意分析,核心技術(shù)被竊取。So文件加殼技術(shù)與Windows平臺的加殼技術(shù)類似,利用特殊的算法對文件進行加密處理、抹掉ELF格式中的關(guān)鍵節(jié)區(qū)描述數(shù)據(jù),并行文件壓縮存儲,從而造成IDA等工具解析失敗,達到防反編譯,保護C/C++代碼的目的。
效果對比
采用IDA工具反編譯未加殼的So文件,可以看到相關(guān)的函數(shù)信息。
采用IDA工具反編譯已加殼的So文件,出現(xiàn)解析錯誤,造成反編譯失敗
幾維安全安卓加固技術(shù)優(yōu)勢
1、安全覆蓋全面
能夠保護應(yīng)用Dex文件和So文件,并且提供主動防御保護機制,全面保護APP安全;
2、安全強度高
獨家Dex-Java2C和源碼虛擬化技術(shù)配合使用,對Java代碼進行高強度加密,可抵擋專業(yè)黑客的逆向攻擊;
3、加密粒度細
以Java/C/C++代碼的函數(shù)為單位進行加密保護,粒度細、可控性高、隱蔽性強;
4、兼容性高
適配APP內(nèi)的各種業(yè)務(wù)邏輯,并且高級版的Java2C通過中間代碼進行加密保護,兼容性與原始應(yīng)用一致;
5、性能損耗低
Dex加殼方案的啟動時間增量小于1s,是業(yè)界做得最好的方案。Java函數(shù)級加密影響非常小,可以忽略不計。
Android 開發(fā)人員已經(jīng)為廣大用戶開發(fā)出海量的應(yīng)用程序,這給用戶帶來方便的同時也帶來了巨大的安全隱患。幾維安全在長期的攻防實戰(zhàn)之中推出了一站式、全生命周期移動安全解決方案,面對中小企業(yè)免費提供APP檢測與加固服務(wù),登錄幾維安全官網(wǎng)即可免費申請使用。