1.一種基于逆向解析機(jī)制的Android安全增強(qiáng)系統(tǒng),其特征在于,包括:
靜態(tài)檢測(cè)模塊、逆向解析模塊、權(quán)限管理模塊、請(qǐng)求中轉(zhuǎn)模塊、網(wǎng)絡(luò)保鏢模塊、數(shù)據(jù)庫(kù)服務(wù)模塊、通知模塊以及日志記錄模塊;
靜態(tài)檢測(cè)模塊,用于檢測(cè)已安裝應(yīng)用中是否存在潛在惡意應(yīng)用;
具體如下:通過(guò)惡意應(yīng)用MD5特征庫(kù)的匹配、基于惡意應(yīng)用家族組合權(quán)限的匹配、基于危險(xiǎn)權(quán)限的匹配和基于危險(xiǎn)意圖的匹配相結(jié)合的靜態(tài)檢測(cè)技術(shù),進(jìn)行多層過(guò)濾,獲取已安裝Android應(yīng)用的潛在風(fēng)險(xiǎn);
逆向解析模塊,用于向風(fēng)險(xiǎn)應(yīng)用中植入包括用戶態(tài)沙箱代碼的安全策略,得到加固應(yīng)用,并實(shí)時(shí)監(jiān)控加固應(yīng)用在安裝后的行為;
所述用戶態(tài)沙箱代碼用于保證應(yīng)用在一個(gè)監(jiān)控程序的監(jiān)控環(huán)境中運(yùn)行,從而完成對(duì)應(yīng)用某些權(quán)限的禁止和允許;
所述安全策略包括目標(biāo)apk的解包、加入用戶態(tài)沙箱代碼和加固apk的重建;
權(quán)限管理模塊,用于對(duì)逆向解析后的應(yīng)用進(jìn)行權(quán)限管理與行為審計(jì);
所述權(quán)限管理為根據(jù)用戶需求設(shè)置的權(quán)限禁止或許可;
所述行為審計(jì)為將用戶的行為信息記錄到數(shù)據(jù)庫(kù)中;
請(qǐng)求中轉(zhuǎn)模塊,用于對(duì)加固應(yīng)用的不同權(quán)限請(qǐng)求進(jìn)行中轉(zhuǎn)和響應(yīng),將應(yīng)用對(duì)Android系統(tǒng)資源的請(qǐng)求轉(zhuǎn)發(fā)至監(jiān)控端的監(jiān)控程序監(jiān)控,根據(jù)監(jiān)控端的返回值進(jìn)行響應(yīng);
所述網(wǎng)絡(luò)保鏢模塊包含廣告插件檢測(cè)子模塊和流量監(jiān)控子模塊;
其中,廣告插件檢測(cè)子模塊,用于根據(jù)數(shù)據(jù)庫(kù)中惡意廣告黑名單檢測(cè)出含有廣告插件的應(yīng)用,并提供對(duì)含廣告應(yīng)用的卸載功能;
流量監(jiān)控子模塊,用于對(duì)應(yīng)用的流量監(jiān)控;
數(shù)據(jù)庫(kù)服務(wù)模塊,用于存儲(chǔ)和維護(hù)以下數(shù)據(jù):加固應(yīng)用的權(quán)限設(shè)置信息、靜態(tài)檢測(cè)結(jié)果、應(yīng)用行為信息、廣告黑名單、惡意應(yīng)用黑名單、證書(shū)庫(kù);
所述通知模塊,用于將靜態(tài)檢測(cè)的危險(xiǎn)結(jié)果、監(jiān)控程序攔截到的應(yīng)用的危險(xiǎn)行為、含廣告插件應(yīng)用名稱和插件數(shù)量信息通知給用戶,并引導(dǎo)用戶正確配置應(yīng)用的權(quán)限,對(duì)應(yīng)用進(jìn)行安全加固;
所述日志記錄模塊,用于協(xié)同系統(tǒng)靜態(tài)檢測(cè)模塊、權(quán)限管理模塊、廣告檢測(cè)模塊,將靜態(tài)檢測(cè)結(jié)果、權(quán)限設(shè)置信息、廣告攔截的信息記錄下來(lái),形成日志記錄。
2.根據(jù)權(quán)利要求1所述的基于逆向解析機(jī)制的Android安全增強(qiáng)系統(tǒng),其特征在于,所述靜態(tài)檢測(cè)模塊通過(guò)惡意應(yīng)用MD5特征庫(kù)的匹配、惡意應(yīng)用家族組合權(quán)限的匹配、危險(xiǎn)權(quán)限的匹配和危險(xiǎn)意圖的匹配相結(jié)合的靜態(tài)檢測(cè)技術(shù),進(jìn)行四層過(guò)濾,檢測(cè)Android應(yīng)用的潛在風(fēng)險(xiǎn)。
3.根據(jù)權(quán)利要求1所述的基于逆向解析機(jī)制的Android安全增強(qiáng)系統(tǒng),其特征在于,所述逆向解析模塊的工作流程如下:
1)目標(biāo)apk的解包:使用apktool工具,將目標(biāo)應(yīng)用的apk安裝包解包;
2)加入用戶態(tài)沙箱代碼;所述用戶態(tài)沙箱代碼用于保證應(yīng)用在一個(gè)監(jiān)控程序的監(jiān)控環(huán)境中運(yùn)行,從而完成對(duì)應(yīng)用某些權(quán)限的禁止和允許;
3)加固apk的重建:加入用戶態(tài)沙箱代碼后,再次調(diào)用apktool,完成對(duì)加固apk的重建;
4)加固apk簽名及優(yōu)化:加固apk重建后,對(duì)其進(jìn)行簽名,然后對(duì)簽名后的apk進(jìn)行優(yōu)化,完成對(duì)目標(biāo)apk的逆向解析工作。