欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

應(yīng)用程序的檢測(cè)方法、檢測(cè)裝置和服務(wù)器與流程

文檔序號(hào):11920265閱讀:183來(lái)源:國(guó)知局
本發(fā)明涉及服務(wù)器
技術(shù)領(lǐng)域
:,具體而言,涉及一種應(yīng)用程序的檢測(cè)方法、一種應(yīng)用程序的檢測(cè)裝置和一種服務(wù)器。
背景技術(shù)
::在相關(guān)技術(shù)中,可以從靜態(tài)分析角度和動(dòng)態(tài)分析角度來(lái)檢測(cè)安裝的應(yīng)用程序是否為惡意應(yīng)用程序。其中,當(dāng)從靜態(tài)分析角度來(lái)檢測(cè)時(shí),利用readelf工具靜態(tài)抽取安裝的應(yīng)用程序的可執(zhí)行鏈接格式文件(ExecutableandLinkableFormat,ELF)的函數(shù)調(diào)用列表,抽取后使用分類算法進(jìn)行分析,以判斷安裝的應(yīng)用程序是否為惡意應(yīng)用程序。當(dāng)從動(dòng)態(tài)分析角度來(lái)檢測(cè)時(shí),在Android平臺(tái)上實(shí)現(xiàn)了一個(gè)行為監(jiān)測(cè)系統(tǒng)(Host-basedIntrusionDetectionSystem,HTDS),可以動(dòng)態(tài)監(jiān)測(cè)應(yīng)用程序的各種特征和事件。例如,在安裝的應(yīng)用程序運(yùn)行過(guò)程中自動(dòng)生成輸入日志,行為監(jiān)測(cè)系統(tǒng)分析日志來(lái)檢測(cè)安裝的應(yīng)用程序是否為惡意應(yīng)用程序。但是,靜態(tài)分析角度和動(dòng)態(tài)分析角度來(lái)檢測(cè)安裝的應(yīng)用程序是否為惡意應(yīng)用程序有如下的缺陷:(1)靜態(tài)分析不能識(shí)別新出現(xiàn)的惡意行為特征,例如,一些惡意軟件通過(guò)偽裝、加殼、混淆、加密等方式改變軟件特征,使得檢測(cè)不夠全面。(2)動(dòng)態(tài)分析的代碼覆蓋率低,且容易出現(xiàn)漏報(bào)情況,也會(huì)導(dǎo)致動(dòng)態(tài)分析檢測(cè)不夠全面。因此,如何更加全面地檢測(cè)出安裝的應(yīng)用程序是否為惡意的應(yīng)用程序成為亟待解決的技術(shù)問(wèn)題。技術(shù)實(shí)現(xiàn)要素:本發(fā)明正是基于上述問(wèn)題,提出了一種新的技術(shù)方案,可以更加全面地檢測(cè)出安裝的應(yīng)用程序是否為惡意的應(yīng)用程序。有鑒于此,本發(fā)明的第一方面提出了一種應(yīng)用程序的檢測(cè)方法,包括:獲取多個(gè)類別中的每個(gè)類別的應(yīng)用程序執(zhí)行多個(gè)系統(tǒng)調(diào)用函數(shù)中的每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值;根據(jù)所述權(quán)值,計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值;當(dāng)安裝的應(yīng)用程序運(yùn)行時(shí),獲取所述安裝的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值,并獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別;根據(jù)所述當(dāng)前使用值和所述目標(biāo)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,確定所述安裝的應(yīng)用程序是否為惡意應(yīng)用程序。在該技術(shù)方案中,通過(guò)計(jì)算每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,并將安裝的應(yīng)用程序運(yùn)行時(shí)執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值與對(duì)應(yīng)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值進(jìn)行比較,以確定安裝的應(yīng)用程序是否為惡意應(yīng)用程序。由于同一類別的良性應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值相比系統(tǒng)調(diào)用閾值而言比較小,因此,即使惡意應(yīng)用程序通過(guò)偽裝、加殼、混淆、加密等方式改變軟件特征,根據(jù)應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況可以更加全面地檢測(cè)出應(yīng)用程序是否為惡意應(yīng)用程序。另外,本方案的代碼覆蓋率比較高,可以避免動(dòng)態(tài)分析時(shí)出現(xiàn)的漏報(bào)情況,進(jìn)一步地保證了檢測(cè)應(yīng)用程序的全面性。而且依據(jù)安裝的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況進(jìn)行動(dòng)態(tài)監(jiān)控,能有效地發(fā)現(xiàn)安裝的應(yīng)用程序出現(xiàn)惡意行為的變化,達(dá)到動(dòng)態(tài)檢測(cè)惡意應(yīng)用程序的目的。在上述技術(shù)方案中,優(yōu)選地,所述獲取多個(gè)類別中的每個(gè)類別的應(yīng)用程序執(zhí)行多個(gè)系統(tǒng)調(diào)用函數(shù)中的每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,具體包括:獲取所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的運(yùn)行信息,其中,所述運(yùn)行信息包括:所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的多個(gè)時(shí)間段中的每個(gè)時(shí)間段內(nèi)是否執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)和所述每個(gè)類別的應(yīng)用程序在所述每個(gè)時(shí)間段內(nèi)執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率;根據(jù)所述運(yùn)行信息,通過(guò)以下的公式計(jì)算所述每個(gè)類別的應(yīng)用程序執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,W(Si,Rj)=Ui×[1-F(Si,Rj)]2,其中,Si表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)中的第i個(gè)系統(tǒng)調(diào)用函數(shù),Rj表示所述多個(gè)類別中的第j個(gè)類別的應(yīng)用程序,W(Si,Rj)表示所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的所述權(quán)值,Ui表示在所述多個(gè)時(shí)間段中的任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序是否執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù),F(xiàn)(Si,Rj)表示在所述任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。在該技術(shù)方案中,根據(jù)每個(gè)類別的應(yīng)用程序在多個(gè)時(shí)間段內(nèi)是否執(zhí)行系統(tǒng)調(diào)用函數(shù)以及執(zhí)行系統(tǒng)調(diào)用函數(shù)的頻率,計(jì)算出每個(gè)類別的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,從而根據(jù)該權(quán)值可以準(zhǔn)確地計(jì)算出每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,所述根據(jù)所述權(quán)值,計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,具體包括:根據(jù)所述權(quán)值,通過(guò)第一公式計(jì)算所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值;根據(jù)所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,通過(guò)第二公式計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,所述第一公式為:所述第二公式為:其中,M(Rj)表示所述第j個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,X表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)的個(gè)數(shù),Y表示所述多個(gè)時(shí)間段的時(shí)間段數(shù),N表示所述第j個(gè)類別的且參與M(Rj)的值計(jì)算的應(yīng)用程序的個(gè)數(shù),T(Rj)表示所述第j個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,所述獲取多個(gè)類別中的每個(gè)類別的應(yīng)用程序執(zhí)行多個(gè)系統(tǒng)調(diào)用函數(shù)中的每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值之前,還包括:獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),其中,所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)包括:所述每個(gè)應(yīng)用程序是否使用多個(gè)權(quán)限中的每個(gè)權(quán)限和所述每個(gè)應(yīng)用程序的分類標(biāo)簽;使用SMO算法將所述多個(gè)應(yīng)用程序中的每?jī)蓚€(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)進(jìn)行比較,以將所述多個(gè)應(yīng)用程序分成所述多個(gè)類別和確定類別函數(shù)表達(dá)式;以及所述獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別,具體包括:根據(jù)所述類別函數(shù)表達(dá)式,確定所述目標(biāo)類別。在該技術(shù)方案中,通過(guò)獲取待訓(xùn)練的每個(gè)應(yīng)用程序使用權(quán)限的情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,該分類標(biāo)簽為標(biāo)識(shí)應(yīng)用程序?yàn)榱夹詰?yīng)用程序或者惡意應(yīng)用程序的標(biāo)簽,以確定可以確定應(yīng)用程序類別的類別函數(shù)表達(dá)式。當(dāng)安裝新的應(yīng)用程序時(shí),直接根據(jù)該類別函數(shù)表達(dá)式就可以準(zhǔn)確地確定出安裝的應(yīng)用程序的類別,從而保證了檢測(cè)安裝的應(yīng)用程序是否為惡意應(yīng)用程序的檢測(cè)結(jié)果的準(zhǔn)確性。而且使用SMO算法不僅保證了類別函數(shù)表達(dá)式進(jìn)行分類的準(zhǔn)確率,還提高了數(shù)據(jù)處理的效率。在上述任一技術(shù)方案中,優(yōu)選地,所述獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),具體包括:在所述每個(gè)應(yīng)用程序的文件中提取XML格式的文件;對(duì)所述XML格式的文件進(jìn)行分析,以獲取所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)。在該技術(shù)方案中,通過(guò)對(duì)每個(gè)應(yīng)用程序的XML格式的文件進(jìn)行分析,例如,XML格式的文件為AndroidManifest.xml文件,以獲取每個(gè)應(yīng)用程序的使用權(quán)限情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,從而根據(jù)獲取到的權(quán)限情況和分類標(biāo)簽得到對(duì)應(yīng)用程序進(jìn)行分類的類別函數(shù)表達(dá)式。本發(fā)明的第二方面提出了一種應(yīng)用程序的檢測(cè)裝置,包括:第一獲取單元,用于獲取多個(gè)類別中的每個(gè)類別的應(yīng)用程序執(zhí)行多個(gè)系統(tǒng)調(diào)用函數(shù)中的每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值;計(jì)算單元,用于根據(jù)所述權(quán)值,計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值;第二獲取單元,用于當(dāng)安裝的應(yīng)用程序運(yùn)行時(shí),獲取所述安裝的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值,并獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別;確定單元,用于根據(jù)所述當(dāng)前使用值和所述目標(biāo)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,確定所述安裝的應(yīng)用程序是否為惡意應(yīng)用程序。在該技術(shù)方案中,通過(guò)計(jì)算每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,并將安裝的應(yīng)用程序運(yùn)行時(shí)執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值與對(duì)應(yīng)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值進(jìn)行比較,以確定安裝的應(yīng)用程序是否為惡意應(yīng)用程序。由于同一類別的良性應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值相比系統(tǒng)調(diào)用閾值而言比較小,因此,即使惡意應(yīng)用程序通過(guò)偽裝、加殼、混淆、加密等方式改變軟件特征,根據(jù)應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況可以更加全面地檢測(cè)出應(yīng)用程序是否為惡意應(yīng)用程序。另外,本方案的代碼覆蓋率比較高,可以避免動(dòng)態(tài)分析時(shí)出現(xiàn)的漏報(bào)情況,進(jìn)一步地保證了檢測(cè)應(yīng)用程序的全面性。而且依據(jù)安裝的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況進(jìn)行動(dòng)態(tài)監(jiān)控,能有效地發(fā)現(xiàn)安裝的應(yīng)用程序出現(xiàn)惡意行為的變化,達(dá)到動(dòng)態(tài)檢測(cè)惡意應(yīng)用程序的目的。在上述技術(shù)方案中,優(yōu)選地,所述第一獲取單元包括:第一獲取子單元,用于獲取所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的運(yùn)行信息,其中,所述運(yùn)行信息包括:所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的多個(gè)時(shí)間段中的每個(gè)時(shí)間段內(nèi)是否執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)和所述每個(gè)類別的應(yīng)用程序在所述每個(gè)時(shí)間段內(nèi)執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率;計(jì)算子單元,用于根據(jù)所述運(yùn)行信息,通過(guò)以下的公式計(jì)算所述每個(gè)類別的應(yīng)用程序執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,W(Si,Rj)=Ui×[1-F(Si,Rj)]2,其中,Si表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)中的第i個(gè)系統(tǒng)調(diào)用函數(shù),Rj表示所述多個(gè)類別中的第j個(gè)類別的應(yīng)用程序,W(Si,Rj)表示所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的所述權(quán)值,Ui表示在所述多個(gè)時(shí)間段中的任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序是否執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù),F(xiàn)(Si,Rj)表示在所述任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。在該技術(shù)方案中,根據(jù)每個(gè)類別的應(yīng)用程序在多個(gè)時(shí)間段內(nèi)是否執(zhí)行系統(tǒng)調(diào)用函數(shù)以及執(zhí)行系統(tǒng)調(diào)用函數(shù)的頻率,計(jì)算出每個(gè)類別的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,從而根據(jù)該權(quán)值可以準(zhǔn)確地計(jì)算出每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,所述計(jì)算單元具體用于,根據(jù)所述權(quán)值,通過(guò)第一公式計(jì)算所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,根據(jù)所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,通過(guò)第二公式計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,所述第一公式為:所述第二公式為:其中,M(Rj)表示所述第j個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,X表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)的個(gè)數(shù),Y表示所述多個(gè)時(shí)間段的時(shí)間段數(shù),N表示所述第j個(gè)類別的且參與M(Rj)的值計(jì)算的應(yīng)用程序的個(gè)數(shù),T(Rj)表示所述第j個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,還包括:第三獲取單元,用于獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),其中,所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)包括:所述每個(gè)應(yīng)用程序是否使用多個(gè)權(quán)限中的每個(gè)權(quán)限和所述每個(gè)應(yīng)用程序的分類標(biāo)簽;處理單元,用于使用SMO算法將所述多個(gè)應(yīng)用程序中的每?jī)蓚€(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)進(jìn)行比較,以將所述多個(gè)應(yīng)用程序分成所述多個(gè)類別和確定類別函數(shù)表達(dá)式;以及所述第二獲取單元具體用于,根據(jù)所述類別函數(shù)表達(dá)式,確定所述目標(biāo)類別。在該技術(shù)方案中,通過(guò)獲取待訓(xùn)練的每個(gè)應(yīng)用程序使用權(quán)限的情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,該分類標(biāo)簽為標(biāo)識(shí)應(yīng)用程序?yàn)榱夹詰?yīng)用程序或者惡意應(yīng)用程序的標(biāo)簽,以確定可以確定應(yīng)用程序類別的類別函數(shù)表達(dá)式。當(dāng)安裝新的應(yīng)用程序時(shí),直接根據(jù)該類別函數(shù)表達(dá)式就可以準(zhǔn)確地確定出安裝的應(yīng)用程序的類別,從而保證了檢測(cè)安裝的應(yīng)用程序是否為惡意應(yīng)用程序的檢測(cè)結(jié)果的準(zhǔn)確性。而且使用SMO算法不僅保證了類別函數(shù)表達(dá)式進(jìn)行分類的準(zhǔn)確率,還提高了數(shù)據(jù)處理的效率。在上述任一技術(shù)方案中,優(yōu)選地,所述第三獲取單元包括:提取子單元,用于在所述每個(gè)應(yīng)用程序的文件中提取XML格式的文件;第二獲取子單元,用于對(duì)所述XML格式的文件進(jìn)行分析,以獲取所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)。在該技術(shù)方案中,通過(guò)對(duì)每個(gè)應(yīng)用程序的XML格式的文件進(jìn)行分析,例如,XML格式的文件為AndroidManifest.xml文件,以獲取每個(gè)應(yīng)用程序的使用權(quán)限情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,從而根據(jù)獲取到的權(quán)限情況和分類標(biāo)簽得到對(duì)應(yīng)用程序進(jìn)行分類的類別函數(shù)表達(dá)式。本發(fā)明的第三方面提出了一種服務(wù)器,包括上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的檢測(cè)裝置,因此,該服務(wù)器具有和上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的檢測(cè)裝置相同的技術(shù)效果,在此不再贅述。通過(guò)本發(fā)明的技術(shù)方案,可以更加全面地檢測(cè)出安裝的應(yīng)用程序是否為惡意的應(yīng)用程序。附圖說(shuō)明圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)方法的流程示意圖;圖2示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)方法的流程示意圖;圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)裝置的結(jié)構(gòu)示意圖;圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖;圖5示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。具體實(shí)施方式為了可以更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)的實(shí)施例及實(shí)施例中的特征可以相互組合。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明的保護(hù)范圍并不受下面公開的具體實(shí)施例的限制。圖1示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)方法的流程示意圖。如圖1所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)方法,包括:步驟102,獲取多個(gè)類別中的每個(gè)類別的應(yīng)用程序執(zhí)行多個(gè)系統(tǒng)調(diào)用函數(shù)中的每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值。其中,多個(gè)系統(tǒng)調(diào)用函數(shù)包括但不限于以下的多種組合:open、access、recv、recvmsg、read、write、send、sendmsg、clone、close、sendto、recvfrom、execve、ioctl、brk、sbrk、chmod、chown。步驟104,根據(jù)所述權(quán)值,計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。步驟106,當(dāng)安裝的應(yīng)用程序運(yùn)行時(shí),獲取所述安裝的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值,并獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別。步驟108,根據(jù)所述當(dāng)前使用值和所述目標(biāo)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,確定所述安裝的應(yīng)用程序是否為惡意應(yīng)用程序。在該技術(shù)方案中,通過(guò)計(jì)算每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,并將安裝的應(yīng)用程序運(yùn)行時(shí)執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值與對(duì)應(yīng)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值進(jìn)行比較,以確定安裝的應(yīng)用程序是否為惡意應(yīng)用程序。由于同一類別的良性應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值相比系統(tǒng)調(diào)用閾值而言比較小,因此,即使惡意應(yīng)用程序通過(guò)偽裝、加殼、混淆、加密等方式改變軟件特征,根據(jù)應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況可以更加全面地檢測(cè)出應(yīng)用程序是否為惡意應(yīng)用程序。另外,本方案的代碼覆蓋率比較高,可以避免動(dòng)態(tài)分析時(shí)出現(xiàn)的漏報(bào)情況,進(jìn)一步地保證了檢測(cè)應(yīng)用程序的全面性。而且依據(jù)安裝的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況進(jìn)行動(dòng)態(tài)監(jiān)控,能有效地發(fā)現(xiàn)安裝的應(yīng)用程序出現(xiàn)惡意行為的變化,達(dá)到動(dòng)態(tài)檢測(cè)惡意應(yīng)用程序的目的。在上述技術(shù)方案中,優(yōu)選地,步驟102具體包括:獲取所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的運(yùn)行信息,其中,所述運(yùn)行信息包括:所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的多個(gè)時(shí)間段中的每個(gè)時(shí)間段內(nèi)是否執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)和所述每個(gè)類別的應(yīng)用程序在所述每個(gè)時(shí)間段內(nèi)執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率;根據(jù)所述運(yùn)行信息,通過(guò)以下的公式計(jì)算所述每個(gè)類別的應(yīng)用程序執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,W(Si,Rj)=Ui×[1-F(Si,Rj)]2,其中,Si表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)中的第i個(gè)系統(tǒng)調(diào)用函數(shù),Rj表示所述多個(gè)類別中的第j個(gè)類別的應(yīng)用程序,W(Si,Rj)表示所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的所述權(quán)值,Ui表示在所述多個(gè)時(shí)間段中的任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序是否執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù),F(xiàn)(Si,Rj)表示在所述任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。在該技術(shù)方案中,根據(jù)每個(gè)類別的應(yīng)用程序在多個(gè)時(shí)間段內(nèi)是否執(zhí)行系統(tǒng)調(diào)用函數(shù)以及執(zhí)行系統(tǒng)調(diào)用函數(shù)的頻率,計(jì)算出每個(gè)類別的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,從而根據(jù)該權(quán)值可以準(zhǔn)確地計(jì)算出每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,步驟104具體包括:根據(jù)所述權(quán)值,通過(guò)第一公式計(jì)算所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值;根據(jù)所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,通過(guò)第二公式計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,所述第一公式為:所述第二公式為:其中,M(Rj)表示所述第j個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,X表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)的個(gè)數(shù),Y表示所述多個(gè)時(shí)間段的時(shí)間段數(shù),N表示所述第j個(gè)類別的且參與M(Rj)的值計(jì)算的應(yīng)用程序的個(gè)數(shù),T(Rj)表示所述第j個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,步驟102之前還包括:獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),其中,所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)包括:所述每個(gè)應(yīng)用程序是否使用多個(gè)權(quán)限中的每個(gè)權(quán)限和所述每個(gè)應(yīng)用程序的分類標(biāo)簽;使用SMO算法將所述多個(gè)應(yīng)用程序中的每?jī)蓚€(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)進(jìn)行比較,以將所述多個(gè)應(yīng)用程序分成所述多個(gè)類別和確定類別函數(shù)表達(dá)式;以及所述獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別,具體包括:根據(jù)所述類別函數(shù)表達(dá)式,確定所述目標(biāo)類別。在該技術(shù)方案中,通過(guò)獲取待訓(xùn)練的每個(gè)應(yīng)用程序使用權(quán)限的情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,該分類標(biāo)簽為標(biāo)識(shí)應(yīng)用程序?yàn)榱夹詰?yīng)用程序或者惡意應(yīng)用程序的標(biāo)簽,以確定可以確定應(yīng)用程序類別的類別函數(shù)表達(dá)式。當(dāng)安裝新的應(yīng)用程序時(shí),直接根據(jù)該類別函數(shù)表達(dá)式就可以準(zhǔn)確地確定出安裝的應(yīng)用程序的類別,從而保證了檢測(cè)安裝的應(yīng)用程序是否為惡意應(yīng)用程序的檢測(cè)結(jié)果的準(zhǔn)確性。而且使用SMO算法不僅保證了類別函數(shù)表達(dá)式進(jìn)行分類的準(zhǔn)確率,還提高了數(shù)據(jù)處理的效率。在上述任一技術(shù)方案中,優(yōu)選地,所述獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),具體包括:在所述每個(gè)應(yīng)用程序的文件中提取XML格式的文件;對(duì)所述XML格式的文件進(jìn)行分析,以獲取所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)。在該技術(shù)方案中,通過(guò)對(duì)每個(gè)應(yīng)用程序的XML格式的文件進(jìn)行分析,例如,XML格式的文件為AndroidManifest.xml文件,以獲取每個(gè)應(yīng)用程序的使用權(quán)限情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,從而根據(jù)獲取到的權(quán)限情況和分類標(biāo)簽得到對(duì)應(yīng)用程序進(jìn)行分類的類別函數(shù)表達(dá)式。圖2示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)方法的流程示意圖。如圖2所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)方法,包括:步驟202,獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),其中,訓(xùn)練數(shù)據(jù)包括:每個(gè)應(yīng)用程序是否使用多個(gè)權(quán)限中的每個(gè)權(quán)限和每個(gè)應(yīng)用程序的分類標(biāo)簽。在GooglePlay中,所有的應(yīng)用程序分為26個(gè)類別。本文用Python腳本結(jié)合AAPT針對(duì)訓(xùn)練集中的多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序提取AndroidManifest.xml,再對(duì)這個(gè)xml格式的文件進(jìn)行自動(dòng)化分析,獲取每個(gè)應(yīng)用程序的分類標(biāo)簽和每個(gè)應(yīng)用程序的權(quán)限使用情況。假設(shè)訓(xùn)練集中有n個(gè)應(yīng)用程序,每個(gè)應(yīng)用程序的權(quán)限情況可以記錄為下:Ai(P1,P2,P3,P4…P136)其中Ai(1≤i≤n)代表應(yīng)用程序的名稱;P1-136代表按字母表順序排列的136個(gè)權(quán)限,例如,若某個(gè)應(yīng)用程序使用P1這個(gè)權(quán)限,則將P1記為1,若某個(gè)應(yīng)用程序不使用P1這個(gè)權(quán)限,則將P1記為0。例如(0,0,1,1,0)表示應(yīng)用程序使用了第三個(gè)和第四個(gè)權(quán)限。通常權(quán)限有136種之多,但是并非所有的應(yīng)用程序同時(shí)使用這136種權(quán)限,一般而言,應(yīng)用程序可能只使用其中的10種到25種。與權(quán)限數(shù)量的相比下,每個(gè)應(yīng)用程序使用的權(quán)限就相當(dāng)于一個(gè)稀疏矩陣。假設(shè)統(tǒng)計(jì)的N個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)為:(A1,S1),(A2,S2),(A3,S3)……(An,Sn)其中Ai(1≤i≤n)為上文所定義的應(yīng)用程序的權(quán)限使用情況;Si(1≤i≤n)為應(yīng)用程序的分類標(biāo)簽,Si取1和-1兩個(gè)值,1代表應(yīng)用程序?yàn)榱夹詰?yīng)用程序,-1代表應(yīng)用程序?yàn)閻阂鈶?yīng)用程序。步驟204,使用SMO(SequentialMinimalOptimization,序列最小優(yōu)化)算法對(duì)訓(xùn)練數(shù)據(jù)進(jìn)行處理,以將多個(gè)應(yīng)用程序分成多個(gè)類別和確定類別函數(shù)表達(dá)式。SMO算法會(huì)對(duì)這個(gè)n個(gè)訓(xùn)練數(shù)據(jù)中的類別兩兩比較,依據(jù)訓(xùn)練集中應(yīng)用程序的權(quán)限和類別進(jìn)行學(xué)習(xí),從而將N個(gè)應(yīng)用程序分成多個(gè)類別,以及得到判定類別函數(shù)關(guān)系式。在Android客戶端中使用PackManager(Android系統(tǒng)管理應(yīng)用程序包類)獲取應(yīng)用程序的權(quán)限列表。步驟206,計(jì)算每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。Linux內(nèi)核的系統(tǒng)調(diào)用函數(shù)多達(dá)290多種,但其中能反映出應(yīng)用程序的行為的系統(tǒng)調(diào)用函數(shù)僅僅占其中一小部分,為了盡可能地提高精確度和減少運(yùn)算量,提取了以下的18個(gè)系統(tǒng)調(diào)用函數(shù):open、access、recv、recvmsg、read、write、send、sendmsg、clone、close、sendto、recvfrom、execve、ioctl、brk、sbrk、chmod、chown,這18個(gè)系統(tǒng)調(diào)用函數(shù)的說(shuō)明見具體見表1。表1open打開文件acess確定文件的可取性recv通過(guò)socket接受信息recvmsg同recvread讀文件write寫文件send通過(guò)socket發(fā)送信息sendmsg同sendmsgclone按指定條件創(chuàng)建子進(jìn)程close關(guān)閉文件描述字sendto發(fā)送UDP信息recvfrom接受UDP信息execve運(yùn)行可執(zhí)行文件ioctlI/O總控制函數(shù)brk改變文件方式sbrk同sbrkchmod改變文件方式chown改變文件的屬主或用戶組在Android客戶端中使用strace工具獲取應(yīng)用程序運(yùn)行時(shí)執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況,重點(diǎn)關(guān)注上述的18種系統(tǒng)調(diào)用函數(shù)。一般而言,相同類別下的應(yīng)用程序所實(shí)現(xiàn)的功能相近,其執(zhí)行的系統(tǒng)調(diào)用函數(shù)的情況也相似。應(yīng)用程序執(zhí)行18種系統(tǒng)調(diào)用函數(shù)的頻數(shù)是穩(wěn)定的,如果出現(xiàn)惡意行為,會(huì)引起應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的頻數(shù)改變。在將N個(gè)應(yīng)用程序分成多個(gè)類別之后,運(yùn)行每個(gè)類別的應(yīng)用程序,以獲取每個(gè)類別的應(yīng)用程序在運(yùn)行后的多個(gè)時(shí)間段中的每個(gè)時(shí)間段內(nèi)是否執(zhí)行每個(gè)系統(tǒng)調(diào)用函數(shù)和每個(gè)類別的應(yīng)用程序在每個(gè)時(shí)間段內(nèi)執(zhí)行每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。例如,每隔1分鐘獲取一次每個(gè)類別的應(yīng)用程序在當(dāng)前的1分鐘內(nèi)是否執(zhí)行每個(gè)系統(tǒng)調(diào)用函數(shù)和執(zhí)行每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。當(dāng)獲取到1分鐘內(nèi)的信息時(shí),使用以下的公式對(duì)當(dāng)前1分鐘內(nèi)的信息進(jìn)行處理,以計(jì)算出每個(gè)類別的應(yīng)用程序執(zhí)行每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值。計(jì)算的公式如下:W(Si,Rj)=Ui×[1-F(Si,Rj)]2,其中,Si表示多個(gè)系統(tǒng)調(diào)用函數(shù)中的第i個(gè)系統(tǒng)調(diào)用函數(shù),Rj表示多個(gè)類別中的第j個(gè)類別的應(yīng)用程序,W(Si,Rj)表示第j個(gè)類別的應(yīng)用程序執(zhí)行第i個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,Ui表示在當(dāng)前的10分鐘內(nèi),第j個(gè)類別的應(yīng)用程序是否執(zhí)行第i個(gè)系統(tǒng)調(diào)用函數(shù),若有執(zhí)行了第i個(gè)系統(tǒng)調(diào)用函數(shù)則Ui=1,若沒(méi)有執(zhí)行第i個(gè)系統(tǒng)調(diào)用函數(shù)則Ui=0,F(xiàn)(Si,Rj)表示在當(dāng)前的10分鐘內(nèi),第j個(gè)類別的應(yīng)用程序執(zhí)行第i個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。然后通過(guò)以下的公式計(jì)算每個(gè)類別的應(yīng)用程序?qū)Χ鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,該公式為:X表示多個(gè)系統(tǒng)調(diào)用函數(shù)的個(gè)數(shù),M(Rj)表示第j個(gè)類別的應(yīng)用程序?qū)Χ鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值。最后通過(guò)以下的公式計(jì)算每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,該公式為:其中,M(Rj)表示第j個(gè)類別的應(yīng)用程序?qū)Χ鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,X表示多個(gè)系統(tǒng)調(diào)用函數(shù)的個(gè)數(shù),Y表示時(shí)間段數(shù),N表示第j個(gè)類別的且參與M(Rj)的值計(jì)算的應(yīng)用程序的個(gè)數(shù),T(Rj)表示第j個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。其中,參與M(Rj)的值計(jì)算的應(yīng)用程序?yàn)榱夹詰?yīng)用程序。步驟208,終端上運(yùn)行新安裝的應(yīng)用程序時(shí),每隔一分鐘將應(yīng)用程序的運(yùn)行信息發(fā)送給服務(wù)器。安裝的應(yīng)用程序的運(yùn)行信息包括:安裝的應(yīng)用程序在當(dāng)前的1分鐘內(nèi)是否執(zhí)行每個(gè)系統(tǒng)調(diào)用函數(shù)和執(zhí)行每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。步驟210,服務(wù)器根據(jù)類別函數(shù)表達(dá)式對(duì)安裝的應(yīng)用程序進(jìn)行分類,以確定安裝的應(yīng)用程序的目標(biāo)類別。步驟212,計(jì)算安裝的應(yīng)用程序?qū)Χ鄠€(gè)系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值。具體地,計(jì)算安裝的應(yīng)用程序?qū)Χ鄠€(gè)系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值的方案與上述中的計(jì)算每個(gè)類別的應(yīng)用程序的使用值的方案相同,在此不再重復(fù)贅述。步驟214,判斷當(dāng)前使用值是否大于目標(biāo)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,若判定安裝的應(yīng)用程序的當(dāng)前使用值大于目標(biāo)類別的系統(tǒng)調(diào)用閾值,則執(zhí)行步驟216,若判定安裝的應(yīng)用程序的當(dāng)前使用值小于或等于目標(biāo)類別的系統(tǒng)調(diào)用閾值,則執(zhí)行步驟218。步驟216,判定安裝的應(yīng)用程序?yàn)閻阂鈶?yīng)用程序。步驟218,判斷是否獲取了10分鐘的運(yùn)行信息,在判斷結(jié)果為是時(shí),執(zhí)行步驟220,在判斷結(jié)果為否時(shí),重新執(zhí)行步驟208,即重新獲取下一分鐘內(nèi)的應(yīng)用程序的運(yùn)行信息,直到獲取了10分鐘的應(yīng)用程序的運(yùn)行信息時(shí)為止。步驟220,判定安裝的應(yīng)用程序?yàn)榱夹詰?yīng)用程序。步驟222,判斷用戶是否修改分類,在判斷結(jié)果為是時(shí),執(zhí)行步驟208,在判斷結(jié)果為否時(shí),結(jié)束本次流程。在上述方案中,步驟202-步驟206和步驟210-步驟222的執(zhí)行主體為服務(wù)器,步驟208的執(zhí)行主體為終端。把未知應(yīng)用程序的檢測(cè)工作移交給服務(wù)器,終端本地只執(zhí)行收集數(shù)據(jù)工作,實(shí)施起來(lái)較為簡(jiǎn)單,同時(shí)能夠避免計(jì)算量過(guò)大而造成系統(tǒng)負(fù)擔(dān)。圖3示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)裝置的結(jié)構(gòu)示意圖。如圖3所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的應(yīng)用程序的檢測(cè)裝置300,包括:第一獲取單元302、計(jì)算單元304、第二獲取單元306和確定單元308。第一獲取單元302,用于獲取多個(gè)類別中的每個(gè)類別的應(yīng)用程序執(zhí)行多個(gè)系統(tǒng)調(diào)用函數(shù)中的每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值;計(jì)算單元304,用于根據(jù)所述權(quán)值,計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值;第二獲取單元306,用于當(dāng)安裝的應(yīng)用程序運(yùn)行時(shí),獲取所述安裝的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值,并獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別;確定單元308,用于根據(jù)所述當(dāng)前使用值和所述目標(biāo)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,確定所述安裝的應(yīng)用程序是否為惡意應(yīng)用程序。在該技術(shù)方案中,通過(guò)計(jì)算每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,并將安裝的應(yīng)用程序運(yùn)行時(shí)執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值與對(duì)應(yīng)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值進(jìn)行比較,以確定安裝的應(yīng)用程序是否為惡意應(yīng)用程序。由于同一類別的良性應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值相比系統(tǒng)調(diào)用閾值而言比較小,因此,即使惡意應(yīng)用程序通過(guò)偽裝、加殼、混淆、加密等方式改變軟件特征,根據(jù)應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況可以更加全面地檢測(cè)出應(yīng)用程序是否為惡意應(yīng)用程序。另外,本方案的代碼覆蓋率比較高,可以避免動(dòng)態(tài)分析時(shí)出現(xiàn)的漏報(bào)情況,進(jìn)一步地保證了檢測(cè)應(yīng)用程序的全面性。而且依據(jù)安裝的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)的情況進(jìn)行動(dòng)態(tài)監(jiān)控,能有效地發(fā)現(xiàn)安裝的應(yīng)用程序出現(xiàn)惡意行為的變化,達(dá)到動(dòng)態(tài)檢測(cè)惡意應(yīng)用程序的目的。在上述技術(shù)方案中,優(yōu)選地,所述第一獲取單元302包括:第一獲取子單元3022,用于獲取所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的運(yùn)行信息,其中,所述運(yùn)行信息包括:所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的多個(gè)時(shí)間段中的每個(gè)時(shí)間段內(nèi)是否執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)和所述每個(gè)類別的應(yīng)用程序在所述每個(gè)時(shí)間段內(nèi)執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率;計(jì)算子單元3024,用于根據(jù)所述運(yùn)行信息,通過(guò)以下的公式計(jì)算所述每個(gè)類別的應(yīng)用程序執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,W(Si,Rj)=Ui×[1-F(Si,Rj)]2,其中,Si表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)中的第i個(gè)系統(tǒng)調(diào)用函數(shù),Rj表示所述多個(gè)類別中的第j個(gè)類別的應(yīng)用程序,W(Si,Rj)表示所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的所述權(quán)值,Ui表示在所述多個(gè)時(shí)間段中的任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序是否執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù),F(xiàn)(Si,Rj)表示在所述任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。在該技術(shù)方案中,根據(jù)每個(gè)類別的應(yīng)用程序在多個(gè)時(shí)間段內(nèi)是否執(zhí)行系統(tǒng)調(diào)用函數(shù)以及執(zhí)行系統(tǒng)調(diào)用函數(shù)的頻率,計(jì)算出每個(gè)類別的應(yīng)用程序執(zhí)行系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,從而根據(jù)該權(quán)值可以準(zhǔn)確地計(jì)算出每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,所述計(jì)算單元304具體用于,根據(jù)所述權(quán)值,通過(guò)第一公式計(jì)算所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,根據(jù)所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,通過(guò)第二公式計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,所述第一公式為:所述第二公式為:其中,M(Rj)表示所述第j個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,X表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)的個(gè)數(shù),Y表示所述多個(gè)時(shí)間段的時(shí)間段數(shù),N表示所述第j個(gè)類別的且參與M(Rj)的值計(jì)算的應(yīng)用程序的個(gè)數(shù),T(Rj)表示所述第j個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。在上述任一技術(shù)方案中,優(yōu)選地,還包括:第三獲取單元310,用于獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),其中,所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)包括:所述每個(gè)應(yīng)用程序是否使用多個(gè)權(quán)限中的每個(gè)權(quán)限和所述每個(gè)應(yīng)用程序的分類標(biāo)簽;處理單元312,用于使用SMO算法將所述多個(gè)應(yīng)用程序中的每?jī)蓚€(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)進(jìn)行比較,以將所述多個(gè)應(yīng)用程序分成所述多個(gè)類別和確定類別函數(shù)表達(dá)式;以及所述第二獲取單元306具體用于,根據(jù)所述類別函數(shù)表達(dá)式,確定所述目標(biāo)類別。在該技術(shù)方案中,通過(guò)獲取待訓(xùn)練的每個(gè)應(yīng)用程序使用權(quán)限的情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,該分類標(biāo)簽為標(biāo)識(shí)應(yīng)用程序?yàn)榱夹詰?yīng)用程序或者惡意應(yīng)用程序的標(biāo)簽,以確定可以確定應(yīng)用程序類別的類別函數(shù)表達(dá)式。當(dāng)安裝新的應(yīng)用程序時(shí),直接根據(jù)該類別函數(shù)表達(dá)式就可以準(zhǔn)確地確定出安裝的應(yīng)用程序的類別,從而保證了檢測(cè)安裝的應(yīng)用程序是否為惡意應(yīng)用程序的檢測(cè)結(jié)果的準(zhǔn)確性。而且使用SMO算法不僅保證了類別函數(shù)表達(dá)式進(jìn)行分類的準(zhǔn)確率,還提高了數(shù)據(jù)處理的效率。在上述任一技術(shù)方案中,優(yōu)選地,所述第三獲取單元310包括:提取子單元3102,用于在所述每個(gè)應(yīng)用程序的文件中提取XML格式的文件;第二獲取子單元3104,用于對(duì)所述XML格式的文件進(jìn)行分析,以獲取所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)。在該技術(shù)方案中,通過(guò)對(duì)每個(gè)應(yīng)用程序的XML格式的文件進(jìn)行分析,例如,XML格式的文件為AndroidManifest.xml文件,以獲取每個(gè)應(yīng)用程序的使用權(quán)限情況和每個(gè)應(yīng)用程序的分類標(biāo)簽,從而根據(jù)獲取到的權(quán)限情況和分類標(biāo)簽得到對(duì)應(yīng)用程序進(jìn)行分類的類別函數(shù)表達(dá)式。圖4示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。如圖4所示,根據(jù)本發(fā)明的一個(gè)實(shí)施例的服務(wù)器400,包括上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的檢測(cè)裝置300,因此,該服務(wù)器400具有和上述技術(shù)方案中任一項(xiàng)所述的應(yīng)用程序的檢測(cè)裝置300相同的技術(shù)效果,在此不再贅述。圖5示出了根據(jù)本發(fā)明的另一個(gè)實(shí)施例的服務(wù)器的結(jié)構(gòu)示意圖。如圖5所示,根據(jù)本發(fā)明的另一個(gè)實(shí)施例的服務(wù)器500,包括存儲(chǔ)器502、處理器504和通信總線506。存儲(chǔ)器502,用于存儲(chǔ)程序代碼,并將該程序代碼傳輸給處理器504。存儲(chǔ)器502可以包括易失性存儲(chǔ)器502(VolatileMemory),例如隨機(jī)存取存儲(chǔ)器(RandomAccessMemory,RAM);存儲(chǔ)器502也可以包括非易失性存儲(chǔ)器(Non-VolatileMemory),例如只讀存儲(chǔ)器(Read-OnlyMemory,ROM)、快閃存儲(chǔ)器(FlashMemory)、硬盤(HardDiskDrive,HDD)或固態(tài)硬盤(Solid-StateDrive,SSD);存儲(chǔ)器502還可以包括上述種類的存儲(chǔ)器的組合。處理器504可以是通用處理器,例如中央處理器(CentralProcessingUnit,CPU),還可以是數(shù)字信號(hào)處理器(DigitalSignalProcessor,DSP)、專用集成電路(ApplicationSpecificIntegratedCircuit,ASIC),或者是被配置成實(shí)施本發(fā)明實(shí)施例的一個(gè)或多個(gè)集成電路。通信總線506用于實(shí)現(xiàn)處理器504和存儲(chǔ)器502之間的連接通信。通信總線506可以是工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(IndustryStandardArchitecture,ISA)總線、外部設(shè)備互連(PeripheralComponentInterconnect,PCI)總線或擴(kuò)展標(biāo)準(zhǔn)體系結(jié)構(gòu)(ExtendedIndustryStandardArchitecture,EISA)總線等。該通信總線506可以分為地址總線、數(shù)據(jù)總線、控制總線等。其中,處理器504用于調(diào)用存儲(chǔ)器502存儲(chǔ)的程序代碼,執(zhí)行如下操作:獲取多個(gè)類別中的每個(gè)類別的應(yīng)用程序執(zhí)行多個(gè)系統(tǒng)調(diào)用函數(shù)中的每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值;根據(jù)所述權(quán)值,計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值;當(dāng)安裝的應(yīng)用程序運(yùn)行時(shí),獲取所述安裝的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的當(dāng)前使用值,并獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別;根據(jù)所述當(dāng)前使用值和所述目標(biāo)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,確定所述安裝的應(yīng)用程序是否為惡意應(yīng)用程序。優(yōu)選地,處理器504具體用于,獲取所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的運(yùn)行信息,其中,所述運(yùn)行信息包括:所述每個(gè)類別的應(yīng)用程序在運(yùn)行后的多個(gè)時(shí)間段中的每個(gè)時(shí)間段內(nèi)是否執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)和所述每個(gè)類別的應(yīng)用程序在所述每個(gè)時(shí)間段內(nèi)執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)的頻率;根據(jù)所述運(yùn)行信息,通過(guò)以下的公式計(jì)算所述每個(gè)類別的應(yīng)用程序執(zhí)行所述每個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的權(quán)值,W(Si,Rj)=Ui×[1-F(Si,Rj)]2,其中,Si表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)中的第i個(gè)系統(tǒng)調(diào)用函數(shù),Rj表示所述多個(gè)類別中的第j個(gè)類別的應(yīng)用程序,W(Si,Rj)表示所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)時(shí)的所述權(quán)值,Ui表示在所述多個(gè)時(shí)間段中的任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序是否執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù),F(xiàn)(Si,Rj)表示在所述任一時(shí)間段內(nèi),所述第j個(gè)類別的應(yīng)用程序執(zhí)行所述第i個(gè)系統(tǒng)調(diào)用函數(shù)的頻率。優(yōu)選地,處理器504具體用于,根據(jù)所述權(quán)值,通過(guò)第一公式計(jì)算所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值;根據(jù)所述每個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,通過(guò)第二公式計(jì)算所述每個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值,所述第一公式為:所述第二公式為:其中,M(Rj)表示所述第j個(gè)類別的應(yīng)用程序?qū)λ龆鄠€(gè)系統(tǒng)調(diào)用函數(shù)的使用值,X表示所述多個(gè)系統(tǒng)調(diào)用函數(shù)的個(gè)數(shù),Y表示所述多個(gè)時(shí)間段的時(shí)間段數(shù),N表示所述第j個(gè)類別的且參與M(Rj)的值計(jì)算的應(yīng)用程序的個(gè)數(shù),T(Rj)表示所述第j個(gè)類別的應(yīng)用程序的系統(tǒng)調(diào)用閾值。優(yōu)選地,處理器504還用于,獲取多個(gè)應(yīng)用程序中的每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù),其中,所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)包括:所述每個(gè)應(yīng)用程序是否使用多個(gè)權(quán)限中的每個(gè)權(quán)限和所述每個(gè)應(yīng)用程序的分類標(biāo)簽;使用SMO算法將所述多個(gè)應(yīng)用程序中的每?jī)蓚€(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)進(jìn)行比較,以將所述多個(gè)應(yīng)用程序分成所述多個(gè)類別和確定類別函數(shù)表達(dá)式;以及所述獲取所述安裝的應(yīng)用程序所屬的目標(biāo)類別,具體包括:根據(jù)所述類別函數(shù)表達(dá)式,確定所述目標(biāo)類別。優(yōu)選地,處理器504具體用于,在所述每個(gè)應(yīng)用程序的文件中提取XML格式的文件;對(duì)所述XML格式的文件進(jìn)行分析,以獲取所述每個(gè)應(yīng)用程序的訓(xùn)練數(shù)據(jù)。以上結(jié)合附圖詳細(xì)說(shuō)明了本發(fā)明的技術(shù)方案,通過(guò)本發(fā)明的技術(shù)方案,可以更加全面地檢測(cè)出安裝的應(yīng)用程序是否為惡意的應(yīng)用程序。在本發(fā)明中,術(shù)語(yǔ)“第一”、“第二”僅用于描述的目的,而不能理解為指示或暗示相對(duì)重要性;術(shù)語(yǔ)“多個(gè)”表示兩個(gè)或兩個(gè)以上。對(duì)于本領(lǐng)域的普通技術(shù)人員而言,可以根據(jù)具體情況理解上述術(shù)語(yǔ)在本發(fā)明中的具體含義。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對(duì)于本領(lǐng)域的技術(shù)人員來(lái)說(shuō),本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。當(dāng)前第1頁(yè)1 2 3 當(dāng)前第1頁(yè)1 2 3 
當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
黔东| 南投县| 龙泉市| 尼木县| 丽水市| 出国| 崇左市| 民和| 内江市| 公安县| 山东| 囊谦县| 岱山县| 冷水江市| 古浪县| 宁远县| 宁阳县| 昭平县| 潜江市| 成都市| 马龙县| 德江县| 凤山县| 南和县| 沙雅县| 巴林右旗| 宜宾市| 兰西县| 镇安县| 集安市| 寻乌县| 太康县| 麻江县| 张家口市| 云阳县| 分宜县| 于都县| 灵山县| 南投县| 洛川县| 白山市|