一種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺的制作方法
【專利摘要】本發(fā)明公開了一種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺,本發(fā)明屬于信息安全【技術(shù)領(lǐng)域】;目的在于克服現(xiàn)有Android惡意軟件檢測缺少動態(tài)檢測的不足,實(shí)現(xiàn)Android惡意軟件靜態(tài)檢測和動態(tài)檢測的有機(jī)結(jié)合,通過把應(yīng)用程序安裝到Android沙盒中,自動啟動并操縱Android應(yīng)用程序,模擬用戶對應(yīng)用程序的各種實(shí)際操作,通過對應(yīng)用程序運(yùn)行情況的監(jiān)視,可以獲得應(yīng)用程序的API調(diào)用信息以及各種動態(tài)行為,以此達(dá)到檢測應(yīng)用程序惡意行為的目的;本發(fā)明通過在Android沙盒中模擬用戶對應(yīng)用程序的操作,真實(shí)的還原了應(yīng)用程序的實(shí)際行為,提高了Android惡意軟件檢測的效率和準(zhǔn)確率。
【專利說明】—種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于信息安全【技術(shù)領(lǐng)域】,更為具體地講,涉及一種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺。
【背景技術(shù)】
[0002]當(dāng)前,在使用Android系統(tǒng)的移動設(shè)備中,惡意軟件泛濫嚴(yán)重。這些應(yīng)用程序包含各種惡意行為,引發(fā)用戶的隱私泄漏、經(jīng)濟(jì)損失等安全問題。
[0003]騰訊移動安全實(shí)驗室最新發(fā)布的《2013年第一季度手機(jī)安全報告》顯示,從軟件樣本池中抽取了近470萬個軟件包進(jìn)行代碼掃描后發(fā)現(xiàn),有讀取用戶隱私權(quán)限的相關(guān)操作的軟件比例達(dá)到71%。其中,讀取設(shè)備識別信息與手機(jī)號碼的占61.75%與28.33% ;讀取地理位置信息的占28.27% ;讀取通訊錄的占10.29% ;讀取短信的占4.22% ;打開手機(jī)攝像頭與錄音器的分別占4.15%與3.75%的比例;讀取通話記錄的占2.86% ;讀取瀏覽器書簽的占
7.93%。
[0004]本平臺旨在利用Android虛擬機(jī)沙盤實(shí)現(xiàn)自動化分析惡意軟件。通過監(jiān)控軟件在運(yùn)行時所調(diào)用的系統(tǒng)函數(shù),判斷待測軟件是否含有惡意行為,幫助用戶識別出惡意軟件,避免損失。
【發(fā)明內(nèi)容】
[0005]本發(fā)明的目的在于克服現(xiàn)有Android惡意軟件檢測缺少動態(tài)檢測的不足,提供一種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺,實(shí)現(xiàn)Android惡意軟件靜態(tài)檢測和動態(tài)檢測的有機(jī)結(jié)合,通過把應(yīng)用程序安裝到Android沙盒中,自動啟動并操縱Android應(yīng)用程序,模擬用戶對應(yīng)用程序的各種實(shí)際操作,通過對應(yīng)用程序運(yùn)行情況的監(jiān)視,可以獲得應(yīng)用程序的API調(diào)用信息以及各種動態(tài)行為,以此達(dá)到檢測應(yīng)用程序惡意行為的目的。
[0006]為了實(shí)現(xiàn)上述目的,本發(fā)明面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺,其特征在于,包括:
[0007]—客戶端任務(wù)接收和HTTP請求模塊,該模塊用于給用戶提供一個可以設(shè)置任務(wù)URL和HME0UT的界面,用戶可以輸入待檢測軟件的下載地址,設(shè)置任務(wù)的超時時間,然后向服務(wù)端發(fā)起任務(wù)的HTTP請求;
[0008]一客戶端結(jié)果解析和展示模塊,該模塊等待服務(wù)器端返回JSON格式的數(shù)據(jù),涉及JSON格式的數(shù)據(jù)解析以及對數(shù)據(jù)的組織管理;
[0009]一服務(wù)器端任務(wù)處理模塊,該模塊響應(yīng)客戶端的HTTP任務(wù)請求,根據(jù)參數(shù)URL獲取完整的APPJf APP文件傳到服務(wù)器端控制臺模塊;
[0010]一服務(wù)器端控制臺模塊,該模塊接收到任務(wù)之后,開啟一個新的線程,設(shè)置任務(wù)的參數(shù),啟動Android虛擬機(jī)快照;
[0011]—服務(wù)器端自動化掃描模塊,本模塊解壓APP包,獲得AndroidManifest.xml文件,將反編譯后獲得的明文文件發(fā)送給APP靜態(tài)分析模塊處理;在解壓后的APP包中插入監(jiān)視代碼使其在運(yùn)行時可被監(jiān)視并重新打包,新的APP包發(fā)送給APP動態(tài)分析模塊處理;
[0012]一APP動態(tài)分析模塊,在上一模塊開啟Android虛擬機(jī)之后,本模塊實(shí)現(xiàn)對Android虛擬機(jī)的控制,使APP可在沙盤中自動安裝和運(yùn)行,最終得到APP運(yùn)行的日志信息;
[0013]一APP靜態(tài)分析模塊,本模塊通過分析AndroidManifest.xml文件,獲得APP的應(yīng)用權(quán)限、組件及敏感函數(shù),以此來判斷程序本身可能含有的惡意行為;
[0014]服務(wù)器端控制臺模塊對Android虛擬機(jī)進(jìn)行控制,當(dāng)任務(wù)被提交到服務(wù)器端后,控制臺會創(chuàng)建一個線程,控制虛擬機(jī)的運(yùn)行;控制臺支持多線程,可以同時處理多個任務(wù);控制臺會記錄虛擬機(jī)的實(shí)時運(yùn)行信息,生成運(yùn)行日志。
[0015]服務(wù)器端自動化掃描模塊解壓APP包,獲得AndroidManifest.xml文件,將反編譯后獲得的明文文件發(fā)送給APP靜態(tài)分析模塊處理;在解壓后的APP包中插入監(jiān)視代碼并重新打包,新的APP包發(fā)送給APP動態(tài)分析模塊處理;
[0016]APP動態(tài)分析模塊將APP安裝到Android虛擬機(jī)沙盤環(huán)境中;模擬用戶啟動并操作APP,自動控制APP的運(yùn)行,仿真用戶的操作,來達(dá)到暴露APP的行為的目的;通過對APP運(yùn)行情況的監(jiān)視,可以獲得APP的API調(diào)用信息,并保存為JSON格式的結(jié)果,供接下來對該APP行為的動態(tài)分析。
[0017]APP靜態(tài)分析模塊從AndroidManifest.xml明文文件中獲取APP的基本信息,包括應(yīng)用權(quán)限、組件、觸發(fā)函數(shù)等,并保存為JSON格式的結(jié)果。
[0018]APP動態(tài)分析模塊和APP靜態(tài)分析模塊的JSON格式結(jié)果最終都經(jīng)過服務(wù)器端控制臺模塊發(fā)送給客戶端結(jié)果解析和展示模塊進(jìn)行處理和展示。
[0019]客戶端結(jié)果解析和展示模塊分析APP檢測的JSON格式的數(shù)據(jù),與數(shù)據(jù)庫中已知的惡意行為進(jìn)行匹配,保存經(jīng)過分析處理后的檢測結(jié)果,最后向用戶展示檢測結(jié)果。
[0020]本發(fā)明的發(fā)明目的是這樣實(shí)現(xiàn)的:
[0021]本發(fā)明公開了一種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺,在進(jìn)行Android惡意軟件檢測時,首先通過客戶端任務(wù)接收模塊接收任務(wù),設(shè)置任務(wù)的參數(shù),然后向服務(wù)器端任務(wù)接收模塊發(fā)送HTTP任務(wù)請求。服務(wù)器端任務(wù)處理模塊響應(yīng)請求,根據(jù)任務(wù)參數(shù)獲取完整的APP,并將APP傳到服務(wù)器端控制臺模塊,服務(wù)器端控制臺模塊創(chuàng)建一個線程用于控制Android虛擬機(jī)的運(yùn)行,并記錄虛擬機(jī)的實(shí)時運(yùn)行信息。服務(wù)器端自動化掃描模塊解壓APP包,獲得AndroidManifest.xml文件,將反編譯后獲得的明文文件發(fā)送給APP靜態(tài)分析模塊處理;在解壓后的APP包中插入監(jiān)視代碼并重新打包,新的APP包發(fā)送給APP動態(tài)分析模塊處理;APP動態(tài)分析模塊將APP安裝到Android虛擬機(jī)沙盤環(huán)境中;模擬用戶啟動并操作APP,自動控制APP的各種行為,仿真用戶的操作,達(dá)到檢測APP惡意行為的目的;APP靜態(tài)分析模塊從AndroidManifest.xml明文文件中獲取APP的基本信息,包括應(yīng)用權(quán)限、組件、觸發(fā)函數(shù)等。APP動態(tài)分析掃描模塊和APP靜態(tài)分析模塊的結(jié)果最終都經(jīng)過服務(wù)器端控制臺模塊發(fā)送給客戶端結(jié)果解析和展示模塊進(jìn)行處理和展示??蛻舳私Y(jié)果解析和展示模塊分析APP檢測的JSON格式的數(shù)據(jù),與數(shù)據(jù)庫中已知的惡意行為進(jìn)行匹配,保存經(jīng)過分析處理后的檢測結(jié)果,最后向用戶展示檢測結(jié)果。
[0022]本發(fā)明具有檢測Android軟件動態(tài)行為和靜態(tài)特征的功能,通過動態(tài)檢測和靜態(tài)檢測的有機(jī)結(jié)合,提聞惡意軟件檢測的準(zhǔn)確率和效率,暴露惡意軟件的真實(shí)行為?!緦@綀D】
【附圖說明】
[0023]圖1是本發(fā)明面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺的【具體實(shí)施方式】原理框圖;
[0024]圖2是圖1所示的服務(wù)器端控制臺模塊的原理框圖。
【具體實(shí)施方式】
[0025]下面結(jié)合附圖對本發(fā)明的【具體實(shí)施方式】進(jìn)行描述,以便本領(lǐng)域的技術(shù)人員更好地理解本發(fā)明。需要特別提醒注意的是,在以下的描述中,當(dāng)已知功能和設(shè)計的詳細(xì)描述也許會淡化本發(fā)明的主要內(nèi)容時,這些描述在這里將被忽略。
[0026]圖1是本發(fā)明面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺的【具體實(shí)施方式】原理框圖。
[0027]在本實(shí)施例中,如圖1所示,本發(fā)明面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺包括客戶端任務(wù)接收模塊1、服務(wù)器端任務(wù)處理模塊2、服務(wù)器端控制臺模塊3、服務(wù)器端自動化掃描模塊4、客戶端結(jié)果解析和展示模塊5 ;服務(wù)器端自動化掃描模塊4又包括APP靜態(tài)分析模塊401以及APP動態(tài)分析模塊402。
[0028]客戶端任務(wù)接收模塊I接收用戶的檢測任務(wù),構(gòu)造檢測任務(wù)的各項參數(shù),向服務(wù)器發(fā)送HTTP請求;服務(wù)器端任務(wù)處理模塊2響應(yīng)客戶端的HTTP請求,根據(jù)參數(shù)URL獲取完整的APP,將APP文件傳到服務(wù)器端控制臺模塊3,服務(wù)器端控制臺模塊3接收到任務(wù)之后,開啟一個新的線程,設(shè)置任務(wù)的參數(shù),啟動Android虛擬機(jī)快照;服務(wù)器端自動化掃描模塊4解壓APP包,獲得AndroidManifest.xml文件,將反編譯后獲得的明文文件發(fā)送給APP靜態(tài)分析模塊401處理,在解壓后的APP包中插入監(jiān)視代碼使其在運(yùn)行時可被監(jiān)視并重新打包,新的APP包發(fā)送給APP動態(tài)分析模塊402處理;APP動態(tài)分析模塊402實(shí)現(xiàn)對Android虛擬機(jī)的控制,使APP可在沙盤中自動安裝和運(yùn)行,最終得到APP運(yùn)行的日志信息;APP靜態(tài)分析模塊401通過分析AndroidManifest.xml文件,獲得APP的應(yīng)用權(quán)限、組件及敏感函數(shù),以此來判斷程序本身可能含有的惡意行為。APP靜態(tài)分析模塊401和APP動態(tài)分析模塊402的結(jié)果在服務(wù)器端自動化掃描模塊4中合并后經(jīng)過服務(wù)器端控制臺模塊3發(fā)送到客戶端結(jié)果解析與展示模塊5進(jìn)行數(shù)據(jù)解析與展示,向用戶呈現(xiàn)檢測的結(jié)果。
[0029]圖2是圖1所示的服務(wù)器自動化掃描模塊的原理框圖。
[0030]服務(wù)器自動化掃描模塊,用于實(shí)現(xiàn)APP動態(tài)分析和靜態(tài)分析,整個過程無需人為的干預(yù),分析結(jié)果更為客觀準(zhǔn)確。通過APP動態(tài)分析,模擬用戶對APP的操作,可以還原實(shí)際環(huán)境中APP的使用場景,暴露APP真實(shí)的行為,有效地解決APP靜態(tài)分析中獲取不到的APP動態(tài)行為的缺陷,結(jié)合APP動態(tài)分析和靜態(tài)分析的結(jié)果,可以更全面的反應(yīng)APP的行為特征,更容易發(fā)現(xiàn)APP的惡意行為;
[0031 ] 如圖2所示,在本實(shí)施例中,服務(wù)器自動化掃描模塊4分為APP靜態(tài)分析模塊401和APP動態(tài)分析模塊402。
[0032] 服務(wù)器端自動化掃描模塊4解壓APP包,獲得AndroidManifest.xml文件,將反編譯后獲得的明文文件發(fā)送給APP靜態(tài)分析模塊401處理;在解壓后的APP包中插入監(jiān)視代碼并重新打包,新的APP包發(fā)送給APP動態(tài)分析模塊402處理;APP動態(tài)分析模塊402將APP安裝到Android虛擬機(jī)沙盤環(huán)境中,通過APP自動控制4021模擬用戶啟動并操作APP,獲取APP的API調(diào)用日志,形成APP的運(yùn)行日志,交給服務(wù)器端自動化掃描模塊4 ;APP靜態(tài)分析模塊401通過XML信息提取4011從AndroidManifest.xml明文文件中獲取APP的基本信息,包括應(yīng)用權(quán)限、組件、觸發(fā)函數(shù)等,形成靜態(tài)分析報告,交給服務(wù)器端自動化掃描模塊4 ;服務(wù)器端自動化掃描模塊4整合APP靜態(tài)分析模塊401和APP動態(tài)分析模塊402的結(jié)果,形成最終分析結(jié)果。
[0033]本發(fā)明面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺具有以下特點(diǎn):
[0034]I)、實(shí)現(xiàn)Android惡意軟件靜態(tài)檢測和動態(tài)檢測的合理結(jié)合,整個檢測過程無需人為的干預(yù),分析結(jié)果更為客觀準(zhǔn)確。
[0035]2)、通過APP動態(tài)分析,模擬用戶對APP的操作,可以還原實(shí)際環(huán)境中APP的使用場景,暴露APP真實(shí)的行為,有效地解決APP靜態(tài)分析中獲取不到的APP動態(tài)行為的缺陷,結(jié)合APP動態(tài)分析和靜態(tài)分析的結(jié)果,可以更全面的反應(yīng)APP的行為特征,更容易發(fā)現(xiàn)APP的惡意行為。
[0036]盡管上面對本發(fā)明說明性的【具體實(shí)施方式】進(jìn)行了描述,以便于本技術(shù)領(lǐng)的技術(shù)人員理解本發(fā)明,但應(yīng)該清楚,本發(fā)明不限于【具體實(shí)施方式】的范圍,對本【技術(shù)領(lǐng)域】的普通技術(shù)人員來講,只要各種變化在所附的權(quán)利要求限定和確定的本發(fā)明的精神和范圍內(nèi),這些變化是顯而易見的,一切利用本發(fā)明構(gòu)思的發(fā)明創(chuàng)造均在保護(hù)之列。
【權(quán)利要求】
1.一種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺,其特征在于,包括: 一客戶端任務(wù)接收模塊,該模塊用于給用戶提供一個可以設(shè)置任務(wù)URL和HME0UT的界面,用戶可以輸入待檢測軟件的下載地址,設(shè)置任務(wù)的超時時間,然后向服務(wù)端發(fā)起檢測任務(wù)的HTTP請求; 一客戶端結(jié)果解析與展示模塊,該模塊等待服務(wù)器端返回JSON格式的數(shù)據(jù),涉及JSON格式的數(shù)據(jù)解析以及對數(shù)據(jù)的組織管理; 一服務(wù)器端任務(wù)處理模塊,該模塊響應(yīng)客戶端的HTTP任務(wù)請求,根據(jù)參數(shù)URL獲取完整的APPJf APP文件傳到服務(wù)器端控制臺模塊; 一服務(wù)器端控制臺模塊,該模塊接收到任務(wù)之后,開啟一個新的線程,設(shè)置任務(wù)的參數(shù),啟動Android虛擬機(jī)快照; 一服務(wù)器端自動化掃描模塊,本模塊解壓APP包,獲得AndroidManifest.xml文件,將反編譯后獲得的明文文件發(fā)送給APP靜態(tài)分析模塊處理;在解壓后的APP包中插入監(jiān)視代碼使其在運(yùn)行時可被監(jiān)視并重新打包,新的APP包發(fā)送給APP動態(tài)分析模塊處理; -APP動態(tài)分析模塊,本模塊實(shí)現(xiàn)對Android虛擬機(jī)的控制,使APP可在沙盒中自動安裝和運(yùn)行,最終得到APP運(yùn)行的日志信息; 一APP靜態(tài)分析模塊,本模塊通過分析AndroidManifest.xml文件,獲得APP的應(yīng)用權(quán)限、組件及敏感函數(shù),以此來判斷程序本身可能含有的惡意行為; 服務(wù)器端控制臺模塊對Android虛擬機(jī)進(jìn)行控制,當(dāng)任務(wù)被提交到服務(wù)器端后,控制臺會創(chuàng)建一個線程,控制虛擬機(jī)的運(yùn)行;控制臺支持多線程,可以同時處理多個任務(wù);控制臺會記錄虛擬機(jī)的實(shí)時運(yùn)行信息,生成運(yùn)行日志。 服務(wù)器端自動化掃描模塊解壓APP包,獲得AndroidManifest.xml文件,將反編譯后獲得的明文文件發(fā)送給APP靜態(tài)分析模塊處理;在解壓后的APP包中插入監(jiān)視代碼并重新打包,新的APP包發(fā)送給APP動態(tài)分析模塊處理; APP動態(tài)分析模塊將APP安裝到Android虛擬機(jī)沙盒中;模擬用戶啟動并操作APP,自動控制APP的運(yùn)行,仿真用戶的操作,來達(dá)到暴露APP的行為的目的;通過對APP運(yùn)行情況的監(jiān)視,可以獲得APP的API調(diào)用信息,并保存為JSON格式的結(jié)果,供接下來對該APP行為的動態(tài)分析。 APP靜態(tài)分析模塊從AndroidManifest.xml明文文件中獲取APP的基本信息,包括應(yīng)用權(quán)限、組件、觸發(fā)函數(shù)等,并保存為JSON格式的結(jié)果。 APP動態(tài)分析模塊和APP靜態(tài)分析模的JSON格式結(jié)果最終都經(jīng)過服務(wù)器端控制臺模塊發(fā)送給客戶端結(jié)果解析和展示模塊進(jìn)行處理和展示。 客戶端結(jié)果解析和展示模塊分析APP檢測的JSON格式的數(shù)據(jù),與數(shù)據(jù)庫中已知的惡意行為進(jìn)行匹配,保存經(jīng)過分析處理后的檢測結(jié)果,最后向用戶展示檢測結(jié)果。
2.根據(jù)權(quán)利要求1所述的一種面向移動互聯(lián)網(wǎng)的Android惡意軟件檢測平臺,其特征在于,所述的服務(wù)器端控制臺模塊在接收到任務(wù)之后,開啟一個新的線程,設(shè)置任務(wù)的參數(shù)I1ME0UT,啟動Android虛擬機(jī)快照,將APP傳入Android虛擬機(jī)中; APP動態(tài)分析模塊分為模擬用戶操作和獲取APP運(yùn)行日志兩部分。通過模擬用戶操作,使APP自動運(yùn)行,達(dá)到獲取APP動態(tài)行為的目的; 模擬用戶操作部分,通過模擬用戶對手機(jī)屏幕的點(diǎn)擊操作,實(shí)現(xiàn)對APP的控制,從而使APP如同在真實(shí)環(huán)境中運(yùn)行一樣;此時,通過獲取APP運(yùn)行日志部分,可以把模擬用戶操作時, APP調(diào)用的各種API信息記錄下來,從而得到APP在此次模擬操作中的所有動態(tài)行為。
【文檔編號】H04L29/06GK103685251SQ201310646562
【公開日】2014年3月26日 申請日期:2013年12月4日 優(yōu)先權(quán)日:2013年12月4日
【發(fā)明者】秦志光, 趙洋, 王瑞錦, 劉昺侯, 胡龍, 鞏曉波 申請人:電子科技大學(xué)