一種監(jiān)控Android程序行為的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明屬于計算機(jī)【技術(shù)領(lǐng)域】,具體公開了一種監(jiān)控Android程序行為的方法及系統(tǒng)。該方法包括以下步驟:啟動運行所述Android程序;監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志;根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。該系統(tǒng)包括與之對應(yīng)的運行模塊、監(jiān)控模塊和分析模塊。本發(fā)明通過外置監(jiān)控程序或者修改系統(tǒng)函數(shù),獲得并生成相應(yīng)的運行日志,運行日志中包括有程序運行期間的所有行為數(shù)據(jù),通過這些運行行為數(shù)據(jù)作為判斷一個程序黑白的依據(jù),可使得效率和準(zhǔn)確率都更高。不僅如此,難以閱讀的加密程序,在其運行時其相關(guān)行為則無處遁形。因此,本發(fā)明相對于現(xiàn)有分析方法分析效率和準(zhǔn)確率都更高。
【專利說明】—種監(jiān)控Android程序行為的方法及系統(tǒng)
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)【技術(shù)領(lǐng)域】,具體涉及一種監(jiān)控Android程序行為的方法及系統(tǒng)。
【背景技術(shù)】
[0002]Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于便攜設(shè)備,如智能手機(jī)和平板電腦。目前尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初由Andy Rubin開發(fā),主要支持手機(jī)。2005年由Google收購注資,并組建開放手機(jī)聯(lián)盟開發(fā)改良隨后,逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上。第一部Android智能手機(jī)發(fā)布于2008年10月。2011年第一季度,Android在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2012年11月數(shù)據(jù)顯示,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場76%的份額,中國市場占有率為90%。
[0003]APK 是 Android Package 的縮寫,即 Android 安裝包(APK)。APK 是類似 SymbianSis或Sisx的文件格式。通過將APK文件直接傳到Android模擬器或Android手機(jī)中執(zhí)行即可安裝。APK文件和sis—樣,把a(bǔ)ndroid sdk編譯的工程打包成一個安裝程序文件,格式為apk。APK文件其實是zip格式,但后綴名被修改為apk,通過UnZip解壓后,可以看到Dex 文件,Dex 是 Dalvik VM executes 的全稱,即 Android Dalvik 執(zhí)行程序,并非 Java ME的字節(jié)碼而是Dalvik字節(jié)碼。
[0004]目前,對于未知的可疑的APK程序,是采用人工靜態(tài)分析的方法,分析其運行時是否具有惡意行為,從而辨別該未知程序是否為病毒程序。此種方法,不僅分析速度慢,而且對于一些加密程序無法分析。
【發(fā)明內(nèi)容】
[0005]為了解決上述問題,本發(fā)明的目的在于提供一種監(jiān)控Android程序行為的方法及系統(tǒng),以提聞Android程序行為的分析效率。
[0006]為了實現(xiàn)上述發(fā)明目的,得到了以下技術(shù)方案:
[0007]一種監(jiān)控Android程序行為的方法,包括以下步驟:
[0008]啟動運行所述Android程序;
[0009]監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志;
[0010]根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
[0011]進(jìn)一步的,所述監(jiān)控所述Android程序的運行行為,具體是:通過安裝在所述Android系統(tǒng)中的外置監(jiān)控程序監(jiān)控所述Android程序的運行行為。
[0012]進(jìn)一步的,所述監(jiān)控所述Android程序的運行行為,具體是:
[0013]通過Android系統(tǒng)函數(shù)監(jiān)控所述Android程序的運行行為,所述Android系統(tǒng)函數(shù)中插入有監(jiān)控代碼片段。
[0014]一種監(jiān)控Android程序行為的系統(tǒng),包括以下模塊:[0015]運行模塊,用于啟動運行所述Android程序;
[0016]監(jiān)控模塊,用于監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志;
[0017]分析模塊,用于根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
[0018]進(jìn)一步的,所述監(jiān)控模塊監(jiān)控所述Android程序的運行行為,具體是通過安裝在所述Android系統(tǒng)中的外置監(jiān)控程序監(jiān)控所述Android程序的運行行為。
[0019]進(jìn)一步的,所述監(jiān)控模塊監(jiān)控所述Android程序的運行行為,具體是通過Android系統(tǒng)函數(shù)監(jiān)控所述Android程序的運行行為,所述Android系統(tǒng)函數(shù)中插入有監(jiān)控代碼片段。
[0020]本發(fā)明通過外置監(jiān)控程序或者修改系統(tǒng)函數(shù),獲得并生成相應(yīng)的運行日志,運行日志中包括有程序運行期間的所有行為數(shù)據(jù),通過這些運行行為數(shù)據(jù)作為判斷一個程序黑白的依據(jù),可使得效率和準(zhǔn)確率都更高。不僅如此,難以閱讀的加密程序,在其運行時其相關(guān)行為則無處遁形。因此,本發(fā)明相對于現(xiàn)有分析方法分析效率和準(zhǔn)確率都更高。
【專利附圖】
【附圖說明】
[0021]此【專利附圖】
【附圖說明】所提供的圖片用來輔助對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,并不構(gòu)成對本發(fā)明的不當(dāng)限定,在附圖中:
[0022]圖1是本發(fā)明實施例1方法對應(yīng)的流程圖;
[0023]圖2是本發(fā)明系統(tǒng)對應(yīng)的框圖;
[0024]圖3是本發(fā)明實施例2方法對應(yīng)的流程圖。
【具體實施方式】
[0025]實施例1
[0026]如圖1所示,本實施例公開了一種監(jiān)控Android程序行為的方法,包括以下步驟:
[0027](I)啟動運行所述Android程序;
[0028](2)通過安裝在所述Android系統(tǒng)中的外置監(jiān)控程序監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志;現(xiàn)有Luix系統(tǒng)中已有各種監(jiān)控程序,比如連網(wǎng)監(jiān)控程序,比如文件操作監(jiān)控程序,又比如進(jìn)程創(chuàng)建監(jiān)控程序;
[0029](3)根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
[0030]如圖2所示,本實施例還公開了一種與上述方法對應(yīng)的系統(tǒng),該系統(tǒng)包括以下模塊:
[0031]運行模塊1,用于啟動運行所述Android程序;
[0032]監(jiān)控模塊2,用于通過安裝在所述Android系統(tǒng)中的外置監(jiān)控程序監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志;
[0033]分析模塊3,用于根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
[0034]本實施例通過在Android系統(tǒng)中直接安裝外置的監(jiān)控程序,以監(jiān)控相應(yīng)的程序行為,然后在插入了監(jiān)控程序的Android系統(tǒng)中運行可疑Android程序,通過安裝的外置監(jiān)控程序獲取其運行日志,從而提高程序分析效率。[0035]實施例2
[0036]如圖3所示,本實施例公開了一種監(jiān)控Android程序行為的方法,包括以下步驟:
[0037](I)啟動運行所述Android程序;
[0038](2)通過Android系統(tǒng)函數(shù)監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志,所述Android系統(tǒng)函數(shù)中插入有監(jiān)控代碼片段;現(xiàn)有Luix系統(tǒng)中已有各種監(jiān)控程序,比如連網(wǎng)監(jiān)控程序,比如文件操作監(jiān)控程序,又比如進(jìn)程創(chuàng)建監(jiān)控程序;
[0039](3)根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
[0040]如圖2所示,本實施例還公開了一種與上述方法對應(yīng)的系統(tǒng),該系統(tǒng)包括以下模塊,但是監(jiān)控模塊2有所不同,具體如下:
[0041 ] 運行模塊I,用于啟動運行所述Android程序;
[0042]監(jiān)控模塊2,用于通過Android系統(tǒng)函數(shù)監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志,所述Android系統(tǒng)函數(shù)中插入有監(jiān)控代碼片段;
[0043]分析模塊3,用于根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
[0044]本實施例通過修改Android系統(tǒng)函數(shù)本身,以監(jiān)控相應(yīng)的程序行為,然后在插入了監(jiān)控代碼片段的Android系統(tǒng)中運行可疑Android程序,通過修改后的系統(tǒng)函數(shù)獲取其運行日志,從而提高程序分析效率。
[0045]以上詳細(xì)描述了本發(fā)明的較佳具體實施例,應(yīng)當(dāng)理解,本領(lǐng)域的普通技術(shù)無需創(chuàng)造性勞動就可以根據(jù)本發(fā)明的構(gòu)思做出諸多修改和變化。因此,凡本【技術(shù)領(lǐng)域】中技術(shù)人員依本發(fā)明構(gòu)思在現(xiàn)有技術(shù)基礎(chǔ)上通過邏輯分析、推理或者根據(jù)有限的實驗可以得到的技術(shù)方案,均應(yīng)該在由本權(quán)利要求書所確定的保護(hù)范圍之中。
【權(quán)利要求】
1.一種監(jiān)控Android程序行為的方法,其特征在于包括以下步驟: 啟動運行所述Android程序; 監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志; 根據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
2.根據(jù)權(quán)利要求1所述的監(jiān)控Android程序行為的方法,其特征在于,所述監(jiān)控所述Android程序的運行行為,具體是: 通過安裝在所述Android系統(tǒng)中的外置監(jiān)控程序監(jiān)控所述Android程序的運行行為。
3.根據(jù)權(quán)利要求1所述的監(jiān)控Android程序行為的方法,其特征在于,所述監(jiān)控所述Android程序的運行行為,具體是: 通過Android系統(tǒng)函數(shù)監(jiān)控所述Android程序的運行行為,所述Android系統(tǒng)函數(shù)中插入有監(jiān)控代碼片段。
4.一種監(jiān)控Android程序行為的系統(tǒng),其特征在于包括以下模塊: 運行模塊,用于啟動運行所述Android程序; 監(jiān)控模塊,用于監(jiān)控所述Android程序的運行行為,并獲取相應(yīng)的運行日志; 分析模塊,用于根 據(jù)所述運行日志分析判定所述Android程序是否具有惡意行為。
5.根據(jù)權(quán)利要求4所述的監(jiān)控Android程序行為的系統(tǒng),其特征在于: 所述監(jiān)控模塊監(jiān)控所述Android程序的運行行為,具體是通過安裝在所述Android系統(tǒng)中的外置監(jiān)控程序監(jiān)控所述Android程序的運行行為。
6.根據(jù)權(quán)利要求4所述的監(jiān)控Android程序行為的系統(tǒng),其特征在于: 所述監(jiān)控模塊監(jiān)控所述Android程序的運行行為,具體是通過Android系統(tǒng)函數(shù)監(jiān)控所述Android程序的運行行為,所述Android系統(tǒng)函數(shù)中插入有監(jiān)控代碼片段。
【文檔編號】G06F21/56GK103902893SQ201210567920
【公開日】2014年7月2日 申請日期:2012年12月24日 優(yōu)先權(quán)日:2012年12月24日
【發(fā)明者】林堅明, 李敏怡 申請人:珠海市君天電子科技有限公司, 北京金山安全軟件有限公司, 貝殼網(wǎng)際(北京)安全技術(shù)有限公司, 北京金山網(wǎng)絡(luò)科技有限公司