1.一種Android惡意軟件檢測系統(tǒng),其特征在于,包括:
特征提取模塊,用于提取API特征提取及權(quán)限特征;
特征選擇模塊,用于計算每個API特征和權(quán)限特征的TF-SFD,并根據(jù)TF-SFD的數(shù)值從大到小排序,選擇前M1個API特征,前M2個權(quán)限特征組成特征矩陣;
分類鑒別模塊,對所述特征矩陣進(jìn)行訓(xùn)練,得到分類模型,并對所述分類模塊進(jìn)行鑒別。
2.如權(quán)利要求1所述的Android惡意軟件檢測系統(tǒng),其特征在于,所述特征提取模塊包括API特征提取模塊及權(quán)限特征提取模塊。
3.如權(quán)利要求2所述的Android惡意軟件檢測系統(tǒng),其特征在于,所述API特征提取模塊基于Dedexer工具,通過命令“java-jar Dedexer.jar-d<directory><dex file>”將classes.dex文件反編譯成smali文件,在smali文件中提取Android應(yīng)用軟件的API特征。
4.如權(quán)利要求2所述的Android惡意軟件檢測系統(tǒng),其特征在于,所述權(quán)限特征提取模塊通過反編譯AndroidManifest.xml文件提取權(quán)限特征,并通過權(quán)限特征向量來表示該軟件,若軟件申請了該權(quán)限,置為1;未申請該權(quán)限,則置為0。
5.如權(quán)利要求1所述的Android惡意軟件檢測系統(tǒng),其特征在于,所述特征選擇模塊通過下述算法計算每個API特征和權(quán)限特征的TF-SFD,
TF-SFDi,j=TFi,j*SFDi
其中:wi,j是指第i個特征,在第j個類中出現(xiàn)的次數(shù),N是指特征的總數(shù),NiMal是指包含第i個特征的惡意軟件數(shù)量,NMAL是指惡意軟件總數(shù),NiBen是包含第i個特征的正常軟件數(shù)量,NBen是正常軟件總數(shù)。
6.如權(quán)利要求1所述的Android惡意軟件檢測系統(tǒng),其特征在于,所述分類鑒別模塊通過隨機森林算法對所述特征矩陣進(jìn)行訓(xùn)練,得到分類模型,并對所述分類模塊進(jìn)行鑒別。
7.如權(quán)利要求1所述的Android惡意軟件檢測系統(tǒng),其特征在于,所述類鑒別模塊通過樸素貝葉斯算法或支持向量機算法或神經(jīng)網(wǎng)絡(luò)算法或決策樹算法對所述特征矩陣進(jìn)行訓(xùn)練,得到分類模型,并對所述分類模塊進(jìn)行鑒別。
8.一種Android惡意軟件檢測方法,其特征在于,包括下述步驟:
提取API特征提取及權(quán)限特征;
計算每個API特征和權(quán)限特征的TF-SFD,并根據(jù)TF-SFD的數(shù)值從大到小排序,選擇前M1個API特征,前M2個權(quán)限特征組成特征矩陣;
對所述特征矩陣進(jìn)行訓(xùn)練,得到分類模型,并對所述分類模塊進(jìn)行鑒別。
9.如權(quán)利要求8所述的Android惡意軟件檢測方法,其特征在于,
提取API特征提取具體為:基于Dedexer工具,通過命令“java-jar Dedexer.jar-d<directory><dex file>”將classes.dex文件反編譯成smali文件,在smali文件中提取Android應(yīng)用軟件的API特征;
提取權(quán)限特征具體為:通過反編譯AndroidManifest.xml文件提取權(quán)限特征,并通過權(quán)限特征向量來表示該軟件,若軟件申請了該權(quán)限,置為1;未申請該權(quán)限,則置為0。
10.如權(quán)利要求8所述的Android惡意軟件檢測方法,其特征在于,通過下述算法計算每個API特征和權(quán)限特征的TF-SFD,
TF-SFDi,j=TFi,j*SFDi
其中:wi,j是指第i個特征,在第j個類中出現(xiàn)的次數(shù),N是指特征的總數(shù), NiMal是指包含第i個特征的惡意軟件數(shù)量,NMAL是指惡意軟件總數(shù),NiBen是包含第i個特征的正常軟件數(shù)量,NBen是正常軟件總數(shù)。