具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種新型代理服務(wù)器的工作機(jī)制,尤其涉及一種具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器及工作方法。
【背景技術(shù)】
[0002]隨著移動(dòng)終端的迅速普及,移動(dòng)終端上的應(yīng)用更是層出不窮,每天上百萬計(jì)移動(dòng)終端的應(yīng)用出現(xiàn)在各大第三方應(yīng)用市場,例如,國內(nèi)的安卓市場、百度應(yīng)用市場、安智市場,國外的谷歌市場、亞馬遜商店、Apple Store等。盡管第三方應(yīng)用市場在移動(dòng)應(yīng)用上架前就已經(jīng)對(duì)安裝文件進(jìn)行了惡意代碼掃描,但是仍然發(fā)現(xiàn)大量的惡意應(yīng)用存在于各大第三方應(yīng)用市場。2011年發(fā)現(xiàn)的惡意軟件-DroidDream家族,在被谷歌下架之前已經(jīng)感染了超過26萬Android設(shè)備。
[0003]傳統(tǒng)的移動(dòng)終端惡意軟件的檢測方法主要包括靜態(tài)檢測方法和動(dòng)態(tài)檢測方法。靜態(tài)檢測方法主要是通過反編譯和反匯編等逆向工程手段分析惡意應(yīng)用的惡意代碼。這種方式需要用戶在終端設(shè)備上安裝惡意代碼檢測工具,并且在很大程度上依賴用戶去做判斷,檢測能力很大程度上取決于病毒庫的規(guī)模和數(shù)量,對(duì)惡意軟件變種的發(fā)現(xiàn)能力不強(qiáng);動(dòng)態(tài)檢測方法作為一種在沙盒中模擬惡意應(yīng)用的運(yùn)行的方法,通過觀察系統(tǒng)調(diào)用等達(dá)到識(shí)別的目的。雖然動(dòng)態(tài)檢測技術(shù)具有能夠發(fā)現(xiàn)未知惡意應(yīng)用的能力,但是動(dòng)態(tài)檢測方法分析復(fù)雜,難以實(shí)現(xiàn)大規(guī)模部署。特別是面向一些典型的特殊應(yīng)用場景如軍隊(duì)、政府等私有網(wǎng)絡(luò)環(huán)境,需要嚴(yán)格限制移動(dòng)終端安裝的移動(dòng)應(yīng)用類型,并且不允許有移動(dòng)終端惡意軟件存在,否則移動(dòng)終端惡意軟件造成的損失將是不可估量的。
[0004]基于以上現(xiàn)狀,迫切需要一種機(jī)制能夠在移動(dòng)終端惡意軟件在被下載到移動(dòng)終端之前能被有效識(shí)別,或者移動(dòng)終端惡意軟件即使被安裝也能夠通過流量行為分析及時(shí)發(fā)現(xiàn)??紤]到代理服務(wù)器作為一種信息的中轉(zhuǎn)站,具備在文件等資源被下載到終端用戶之前進(jìn)行分析和檢測的可能性。傳統(tǒng)的代理服務(wù)器已經(jīng)提供了防止攻擊、充當(dāng)防火墻的安全功能,但是當(dāng)用戶使用移動(dòng)終端通過代理服務(wù)器連接網(wǎng)絡(luò),或者從網(wǎng)絡(luò)上下載應(yīng)用安裝到移動(dòng)終端時(shí),傳統(tǒng)的代理服務(wù)器無法對(duì)所下載的移動(dòng)應(yīng)用安裝文件做任何檢查。
【發(fā)明內(nèi)容】
[0005]為解決現(xiàn)有技術(shù)存在的不足,本發(fā)明公開了一種具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器,該新型代理服務(wù)器對(duì)用戶下載的移動(dòng)應(yīng)用具有三重檢測能力,即移動(dòng)應(yīng)用在被下載到移動(dòng)終端設(shè)備之前可以實(shí)現(xiàn)靜態(tài)檢測和動(dòng)態(tài)檢測,在移動(dòng)應(yīng)用被安裝之后可以進(jìn)一步進(jìn)行流量行為分析,能充分保證用戶移動(dòng)終端安裝的軟件的安全可靠性,同時(shí)及時(shí)發(fā)現(xiàn)可能存在的惡意軟件網(wǎng)絡(luò)行為。
[0006]為實(shí)現(xiàn)上述目的,本發(fā)明的具體方案如下:
[0007]具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器,包括:
[0008]靜態(tài)檢測模塊,通過調(diào)度靜態(tài)檢測接口對(duì)下載的移動(dòng)應(yīng)用進(jìn)行靜態(tài)檢測,若檢測為惡意應(yīng)用則記錄下該應(yīng)用的MD5值,并將該值寫到檢測記錄緩存區(qū)的內(nèi)存空間中,標(biāo)記為惡意應(yīng)用,若檢測為正常應(yīng)用則將原文件送入動(dòng)態(tài)檢測模塊做下一步的檢測;
[0009]動(dòng)態(tài)檢測模塊,通過調(diào)用第三方動(dòng)態(tài)檢測服務(wù)提供的API接口實(shí)現(xiàn)對(duì)靜態(tài)檢測模塊檢測為正常的移動(dòng)應(yīng)用做第二重檢測,若動(dòng)態(tài)檢測為惡意應(yīng)用,則記錄下該應(yīng)用的MD5值,并將該值寫到檢測記錄緩存區(qū)的內(nèi)存空間中,標(biāo)記為惡意應(yīng)用;若檢測為正常應(yīng)用,則將該安裝文件返回給用戶,同時(shí),在檢測記錄緩存區(qū)的內(nèi)存空間中記錄下該應(yīng)用的MD5值,標(biāo)記為正常應(yīng)用;
[0010]流量行為分析模塊,檢測安裝的應(yīng)用產(chǎn)生的流量,經(jīng)過靜態(tài)檢測和動(dòng)態(tài)檢測這兩重檢測,在移動(dòng)終端上下載和安裝通過這兩重檢測的移動(dòng)應(yīng)用,應(yīng)用在安裝后將會(huì)產(chǎn)生網(wǎng)絡(luò)流量,此時(shí)流量行為分析模塊對(duì)用戶所安裝的應(yīng)用的流量進(jìn)行處理并通過流量檢測服務(wù)模型檢測該流量行為是否為惡意軟件所產(chǎn)生。
[0011]優(yōu)選的,所述具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器還包括查詢匹配模塊,用于識(shí)別出該文件是應(yīng)用的安裝文件并計(jì)算該應(yīng)用安裝文件的MD5值,然后與檢測記錄緩存區(qū)的MD5值記錄信息做查詢匹配,若檢測到該應(yīng)用的MD5值存在于緩存區(qū)中,并且標(biāo)記為正常應(yīng)用,則用戶可以正常下載;若檢測到該應(yīng)用的MD5值存在于緩存區(qū)中,且標(biāo)記為惡意應(yīng)用,則阻止該應(yīng)用下載并向用戶推送代理服務(wù)器檢測到該應(yīng)用為惡意應(yīng)用的消息;若在緩存區(qū)中沒有該應(yīng)用的MD5值的記錄信息,則依次經(jīng)過靜態(tài)檢測模塊、動(dòng)態(tài)檢測模塊及流量行為分析模塊進(jìn)行檢測。
[0012]優(yōu)選的,所述具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器還包括數(shù)據(jù)更新模塊,對(duì)代理服務(wù)器上硬盤空間備份的檢測記錄緩存區(qū)數(shù)據(jù)的更新,基于代理服務(wù)器緩存替換算法來實(shí)現(xiàn),同時(shí)保存檢測記錄緩存區(qū)中的數(shù)據(jù)到代理服務(wù)器上的硬盤空間中,在每次緩存更新替換之前,檢查硬盤空間中是否已經(jīng)有檢測記錄緩存區(qū)所有的數(shù)據(jù)、數(shù)據(jù)是否一致:若硬盤空間中沒有檢測記錄緩存區(qū)中的某些數(shù)據(jù),則寫入硬盤空間中;若硬盤空間中有檢測記錄緩存區(qū)中的所有數(shù)據(jù),則不寫入硬盤空間中。
[0013]進(jìn)一步的,移動(dòng)終端通過連接模塊建立與代理服務(wù)器的連接,連接后該移動(dòng)終端具有監(jiān)聽來自代理服務(wù)器的推送消息的功能,同時(shí)能夠記錄用戶所安裝應(yīng)用的MD5值信息;Message Digest Algorithm MD5 (中文名為消息摘要算法第五版)為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。
[0014]進(jìn)一步的,具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器的檢測方法,包括以下步驟:
[0015]在移動(dòng)終端建立與代理服務(wù)器的連接;代理服務(wù)器解析用戶請(qǐng)求的域名并轉(zhuǎn)發(fā)用戶的請(qǐng)求,然后從網(wǎng)絡(luò)上下載移動(dòng)應(yīng)用到代理服務(wù)器;
[0016]靜態(tài)檢測單元調(diào)用第三方的靜態(tài)檢測服務(wù)接口對(duì)下載的移動(dòng)應(yīng)用做靜態(tài)檢測??寫入該文件的MD5值到檢測記錄緩存區(qū),若靜態(tài)檢測結(jié)果為惡意應(yīng)用,則在MD5值后添加識(shí)別標(biāo)簽,并刪除掉原文件,同時(shí)由消息推送單元向用戶發(fā)出該應(yīng)用為惡意應(yīng)用的通知消息;若靜態(tài)檢測結(jié)果為正常應(yīng)用,則繼續(xù)由動(dòng)態(tài)檢測模塊對(duì)應(yīng)用進(jìn)行動(dòng)態(tài)檢測;
[0017]動(dòng)態(tài)檢測單元調(diào)用第三方動(dòng)態(tài)檢測服務(wù)接口對(duì)應(yīng)用做動(dòng)態(tài)檢測:若動(dòng)態(tài)檢測結(jié)果為惡意應(yīng)用,則將該應(yīng)用的MD5值寫入檢測記錄緩存區(qū),并相應(yīng)地添加識(shí)別標(biāo)簽,刪除原文件,同時(shí),經(jīng)過消息推送單元向用戶的終端發(fā)送惡意應(yīng)用的通知消息;若檢測結(jié)果為正常應(yīng)用,則將該應(yīng)用的MD5值寫入檢測記錄緩存區(qū),并相應(yīng)地添加識(shí)別標(biāo)簽,同時(shí),返回原文件的安裝文件供用戶下載;
[0018]移動(dòng)終端成功下載經(jīng)過靜態(tài)和動(dòng)態(tài)檢測的應(yīng)用,在安裝應(yīng)用時(shí),移動(dòng)終端對(duì)所安裝的應(yīng)用記錄下其MD5值;
[0019]移動(dòng)終端通過代理服務(wù)器接入網(wǎng)絡(luò),流量行為分析模塊開始負(fù)責(zé)利用應(yīng)用的流量特征進(jìn)行惡意軟件的檢測,并上傳移動(dòng)終端App上應(yīng)用安裝記錄上所記錄的該應(yīng)用對(duì)應(yīng)的MD5值到流量檢測模塊,流量行為分析模塊使用流量行為分析單元進(jìn)行檢測,若檢測結(jié)果為惡意應(yīng)用,則修改檢測記錄緩存區(qū)中查找與該應(yīng)用相同的MD5值的記錄,若存在,則將其類別標(biāo)簽修改為惡意標(biāo)簽,同時(shí)在消息推送單元向用戶終端發(fā)出惡意應(yīng)用的通知消息,應(yīng)用管理單元同時(shí)完成終止該用戶終端與外部網(wǎng)絡(luò)的連接,若檢測為正常應(yīng)用,則可以正常使用。
[0020]進(jìn)一步的,上述具有移動(dòng)終端惡意軟件行為檢測能力的代理服務(wù)器的檢測方法在移動(dòng)終端建立與代理服務(wù)器的連接之后用戶交互模塊收到用戶移動(dòng)終端的連接請(qǐng)求;用戶交互單元驗(yàn)證用戶的身份信息,完成用戶的注冊;用戶向代理服務(wù)器發(fā)出下載應(yīng)用的請(qǐng)求,啟動(dòng)應(yīng)用管理模塊,控制應(yīng)用的下載。
[0021]進(jìn)一步的,應(yīng)用管理單元對(duì)下載的移動(dòng)應(yīng)用做檢查,檢查其是否符合標(biāo)準(zhǔn)的移動(dòng)應(yīng)用文件格式。
[0022]進(jìn)一步的,靜態(tài)檢測和動(dòng)態(tài)檢測流程包括:
[0023]代理服務(wù)器解析用戶的請(qǐng)求域名并轉(zhuǎn)發(fā)用戶下載移動(dòng)應(yīng)用請(qǐng)求,開始從網(wǎng)絡(luò)上下載移動(dòng)應(yīng)用到本地代理服務(wù)器;
[0024]應(yīng)用管理單元對(duì)下載的應(yīng)用做過濾,只保留移動(dòng)應(yīng)用原文件的安裝文件,并計(jì)算該文件的MD5值;
[0025]靜態(tài)檢測接口調(diào)用第三方靜態(tài)檢測引擎對(duì)移動(dòng)應(yīng)用進(jìn)行靜態(tài)檢測;
[0026]若靜態(tài)檢測為惡意應(yīng)用,則由用戶交互模塊負(fù)責(zé)通知用戶檢測到惡意應(yīng)用的推送消息;
[0027]消息推送單元負(fù)責(zé)將惡意應(yīng)用的檢測結(jié)果推送到用戶的移動(dòng)終端;
[0028]與入該惡意應(yīng)用的MD5值到檢測記錄緩存區(qū),并相應(yīng)的標(biāo)記為惡意應(yīng)用標(biāo)識(shí)符“I”;
[0029]若靜態(tài)檢測為正常應(yīng)用,則調(diào)用第三方動(dòng)態(tài)檢測服務(wù),并利用第三方動(dòng)態(tài)檢測服務(wù)提供的接口對(duì)應(yīng)用做動(dòng)態(tài)檢測;
[0030]若動(dòng)態(tài)檢測到該應(yīng)用為惡意應(yīng)用,則由用戶通知模塊負(fù)責(zé)通知用戶檢測到惡意應(yīng)用的推送消息,推送消息單元將惡意應(yīng)用的檢測結(jié)果推送到用戶終端;
[0031]與入該惡意應(yīng)用的MD5值到檢測記錄緩存區(qū),并相應(yīng)的標(biāo)記為惡意應(yīng)用標(biāo)識(shí)符“I”;
[0032]若動(dòng)態(tài)檢測結(jié)果為正常應(yīng)用,則寫入該應(yīng)用的MD5值到檢測記錄緩存區(qū),并相應(yīng)的標(biāo)記為正常應(yīng)用標(biāo)識(shí)符“ O ”。
[0033]進(jìn)一步的,流量檢測的流程包括:
[0034]用戶安裝下載的移動(dòng)應(yīng)用;
[0035]在用戶安裝所下載的移動(dòng)應(yīng)用的同時(shí),移動(dòng)終端記錄下所安裝的移動(dòng)應(yīng)用的MD5值;
[0036]用戶運(yùn)行所下載的移動(dòng)應(yīng)用,通過新型代理服務(wù)器接入網(wǎng)絡(luò),并將該應(yīng)用的MD5值上傳到流量行為分析模塊;
[0037]流量行為分析單元接入流量行為分析模型服務(wù),利用應(yīng)用的網(wǎng)絡(luò)流量進(jìn)行檢測;
[0038]若檢測結(jié)果為惡意應(yīng)用,則在檢測記錄緩存區(qū)內(nèi)查找與該應(yīng)用相匹配的MD5值,若存在,則修改該應(yīng)用對(duì)應(yīng)的類別標(biāo)簽,將“O”修改為“1”,即從正常應(yīng)用修改為惡意應(yīng)用;
[0039]消息推送單元向用戶終端推送惡意應(yīng)用的檢測結(jié)果;
[0040]中斷用戶終端與外部網(wǎng)絡(luò)的連接;
[0041 ] 若檢測為正常應(yīng)用,則用戶可以正常使用。
[0042]進(jìn)一步的,流量行為分析模塊在工作時(shí),從網(wǎng)絡(luò)流量數(shù)據(jù)中提取出能夠有效表征移動(dòng)終端惡意軟件網(wǎng)絡(luò)行為的特征;
[0043]按照不同的特征類型對(duì)提取的能