陳天偉
摘 要: 傳統(tǒng)Android惡意行為識(shí)別方法無法解決惡意行為特征的動(dòng)態(tài)波動(dòng)性,識(shí)別出的惡意行為精度差,并且需要耗費(fèi)大量的時(shí)間,因此提出基于RBF神經(jīng)網(wǎng)絡(luò)的Android惡意行為識(shí)別方法。該方法首先進(jìn)行Android惡意行為的樣本采集、行為特征提取和數(shù)據(jù)整合,使輸出的結(jié)果可以被RBF神經(jīng)網(wǎng)絡(luò)識(shí)別,然后采用RBF神經(jīng)網(wǎng)絡(luò)局部逼近的特點(diǎn)提高學(xué)習(xí)速度,增強(qiáng)神經(jīng)網(wǎng)絡(luò)結(jié)果的輸出質(zhì)量,并采用K均值聚類算法得到所有特征集中各樣本到該特征集中心距離的平方和,取該距離的最小值,通過最小二乘遞推法計(jì)算隱含層節(jié)點(diǎn)到數(shù)據(jù)輸出層節(jié)點(diǎn)的權(quán)值,完成RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,實(shí)現(xiàn)Android惡意行為的準(zhǔn)確識(shí)別。實(shí)驗(yàn)結(jié)果說明所提方法可以提高對Android惡意行為識(shí)別的正確率和效率。
關(guān)鍵詞: RBF神經(jīng)網(wǎng)絡(luò); Android惡意行為; 識(shí)別; 特征集; 局部逼近; 權(quán)值
中圖分類號(hào): TN915.08?34; TP391 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)15?0083?04
Android malicious behavior recognition based on RBF neural network
CHEN Tianwei1, 2
(1. University of Electronic Science and Technology of China, Chengdu 610101, China; 2. Urban Vocational College of Sichuan, Chengdu 610110, China)
Abstract: The traditional Android malicious behavior recognition method can′t solve the dynamic fluctuations of malicious behavior characteristics, has poor accuracy of malicious behavior recognition, and spends a large amount of time. Therefore, the Android malicious behavior recognition method based on RBF neural network is proposed. The items of sample acquisition of Android malicious behavior, behavior feature extraction and data integration are carried out to make that the output result can be identified by RBF neural network. The local approximation characteristic of RBF neural network is adopted to improve the output quality of neural network and learning speed. The K?means clustering algorithm is adopted to get the quadratic sum of distances from each sample in the feature set to the center of the feature set, so as to obtain the minimum distance. The least square recursive method is used to calculate the weight from the node of hidden layer to the node of data output layer, accomplish the training of RBF neural network, realize the accurate identification of Android malicious behavior. The experimental results show that the proposed method can improve the accuracy and efficiency of Android malicious behavior recognition.
Keywords: RBF neural network; Android malicious behavior; recognition; feature set; local approximation; weight
隨著經(jīng)濟(jì)的快速發(fā)展,移動(dòng)互聯(lián)網(wǎng)應(yīng)用領(lǐng)域日益擴(kuò)大,智能Android系統(tǒng)也已成為市場占有量最大的操作系統(tǒng)之一,面對日益龐大的Android數(shù)據(jù)庫,采用有效的行為識(shí)別方法對Android惡意和正常的行為進(jìn)行識(shí)別成為目前急需解決的問題。傳統(tǒng)的LSSVM Android惡意行為識(shí)別方法采用LSSVM基于惡意行為特征進(jìn)行識(shí)別,無法解決惡意行為特征的動(dòng)態(tài)波動(dòng)性,識(shí)別出的惡意行為精度差,并且需要耗費(fèi)大量的時(shí)間[1],為解決該問題,本文提出基于RBF神經(jīng)網(wǎng)絡(luò)的Android惡意行為識(shí)別方法,提高對Android惡意行為識(shí)別的正確率和效率,得到了滿意度較高的識(shí)別結(jié)果。
本文為規(guī)范Android惡意行為和正常行為的識(shí)別標(biāo)準(zhǔn),使得到的樣本具有較高的代表性,在進(jìn)行樣本采集時(shí)需要利用其他檢測工具實(shí)施檢測且每個(gè)Android惡意行為都至少被兩種檢測工具標(biāo)定[2]。從收集的總體樣本中隨機(jī)選取70%作為訓(xùn)練樣本,其余樣本為測試數(shù)據(jù)。將大量的樣本實(shí)施訓(xùn)練能有效提高Android惡意行為識(shí)別的概率。
對Android惡意行為特征的提取階段,利用靜態(tài)分析技術(shù)對收集樣本APK進(jìn)行翻譯,其能夠自動(dòng)分析APK的AndroidManifest.xml文件和Smail文件的所屬類別。本文利用靜態(tài)分析技術(shù)對樣本的APK文件進(jìn)行分析[3],得到如表1所示的10類樣本特征。其中,每個(gè)特征集中都包含多個(gè)Android惡意行為特征。
每個(gè)特征集中都包含大量的數(shù)據(jù),其中可能包含一些不重要的數(shù)據(jù),因此本文基于RBF神經(jīng)網(wǎng)絡(luò)的Android惡意行為識(shí)別過程中需要進(jìn)行數(shù)據(jù)整合,計(jì)算出每個(gè)特征的重要性權(quán)重,并按照權(quán)重的大小進(jìn)行排列[4]。之后對提取的特征實(shí)施格式化操作,使輸出結(jié)果可以被RBF神經(jīng)網(wǎng)絡(luò)識(shí)別。將每個(gè)樣本都表示成[1×n]的矩陣,數(shù)據(jù)格式用[x1:y1 x2:y2 … xi:yj … xn:ym]表示,[i]的取值范圍是[0,n],[j]的取值范圍是[0,m]。[i]表示表1中第[i]個(gè)特征類別,[xi]表示該特征的權(quán)值;[ym]為對應(yīng)特征的被引用次數(shù)。
上述過程分析了Android惡意行為識(shí)別方案,該識(shí)別方案可進(jìn)行Android惡意行為的樣本采集、行為特征提取和數(shù)據(jù)整合,使輸出的結(jié)果可以被RBF神經(jīng)網(wǎng)絡(luò)識(shí)別。
徑向基函數(shù)(Radial Basis Function,RBF)神經(jīng)網(wǎng)絡(luò)屬于一種局部逼近的神經(jīng)網(wǎng)絡(luò),當(dāng)輸入空間的局部區(qū)域只有少量的連接權(quán)值時(shí),會(huì)影響神經(jīng)網(wǎng)絡(luò)結(jié)果的輸出,采用本文RBF神經(jīng)網(wǎng)絡(luò)局部逼近的特點(diǎn)提高學(xué)習(xí)速度[5],增強(qiáng)神經(jīng)網(wǎng)絡(luò)結(jié)果的輸出。圖1為RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),屬于三層的前端反饋網(wǎng)絡(luò),其包括三個(gè)層次:數(shù)據(jù)輸入層、隱含層和數(shù)據(jù)輸出層,每個(gè)層次各包括[n],[q]和[m]個(gè)單元數(shù)。輸入信號(hào)通過數(shù)據(jù)輸入層傳導(dǎo)至隱含層,隱含層中的節(jié)點(diǎn)即RBF節(jié)點(diǎn)由高斯函數(shù)構(gòu)成,數(shù)據(jù)輸出層即為常用的線性函數(shù)。
RBF神經(jīng)網(wǎng)絡(luò)隱含層中采用的高斯函數(shù)為:
[ui(x)=exp-(x-ci)2σ2i, i=1,2,…,q] (1)
式中:[ui]為隱含層中第[i]個(gè)節(jié)點(diǎn)的輸出結(jié)果,輸入的Android惡意行為樣本為[X=(x1,x2,…,xn)T];[ci]表示隱含層中節(jié)點(diǎn)[i]高斯函數(shù)的中心;[σi]為節(jié)點(diǎn)[i]歸一化參數(shù),隱含層中所有節(jié)點(diǎn)的個(gè)數(shù)用[q]表示。數(shù)據(jù)輸出層中輸出結(jié)果的大小在[0,1]之間,且該值隨著輸入樣本距節(jié)點(diǎn)中心距離的減小而增大[6]。輸出結(jié)果與隱含層中節(jié)點(diǎn)的線性關(guān)系表達(dá)式如下:
[Yj=i=1qωijμj(x), j=1,2,…,m] (2)
式中[ωij]表示從隱含層中第[i]個(gè)節(jié)點(diǎn)到數(shù)據(jù)輸出層第[j]個(gè)節(jié)點(diǎn)的連接權(quán)值。因此,可以在RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)中實(shí)現(xiàn)數(shù)據(jù)輸入層[x]到[ui(x)]的非線性映射和數(shù)據(jù)輸出層從[ui(x)]到[y]的線性映射。
本文基于RBF神經(jīng)網(wǎng)絡(luò)的Android惡意行為識(shí)別方法,采用RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)過程相似于BP神經(jīng)網(wǎng)絡(luò),關(guān)鍵區(qū)別在于隱含層采用的函數(shù)不同,BP神經(jīng)網(wǎng)絡(luò)隱含層采用sigmoid函數(shù),屬于全局逼近的神經(jīng)網(wǎng)絡(luò);本文采用的RBF神經(jīng)網(wǎng)絡(luò)隱含層,采用高斯函數(shù)屬于局部逼近的神經(jīng)網(wǎng)絡(luò),因此只有少數(shù)幾個(gè)權(quán)值的變動(dòng)可能造成神經(jīng)網(wǎng)絡(luò)輸出結(jié)果的變化,對神經(jīng)網(wǎng)絡(luò)訓(xùn)練時(shí)也只需調(diào)節(jié)幾個(gè)關(guān)鍵的權(quán)值。因此這種局部逼近的神經(jīng)網(wǎng)絡(luò)可以增強(qiáng)RBF神經(jīng)網(wǎng)絡(luò)的學(xué)習(xí)效率,提高對Android惡意行為的識(shí)別能力。
通過對RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練得到隱含層中每個(gè)節(jié)點(diǎn)基函數(shù)的中心[ci],寬度[σi]及從隱含層中第[i]個(gè)節(jié)點(diǎn)到數(shù)據(jù)輸出層第[j]個(gè)節(jié)點(diǎn)的連接權(quán)值[ωij],從而實(shí)現(xiàn)Android數(shù)據(jù)輸入到Android惡意行為數(shù)據(jù)輸出的映射過程。本文對RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練過程分為兩個(gè)階段[7]:先利用K均值聚類算法對節(jié)點(diǎn)中心進(jìn)行調(diào)整,其對RBF神經(jīng)網(wǎng)絡(luò)實(shí)施訓(xùn)練的原理為計(jì)算所有特征集中每一個(gè)樣本到該特征集中心距離的平方和,并取該距離的最小值,其計(jì)算過程如下:
1) 設(shè)置[n]個(gè)聚類中心,用[ci(0)]表示,其中括號(hào)中的0為獲得聚類中心共進(jìn)行的迭代次數(shù),進(jìn)行初次聚類時(shí)其向量的值可以是任意向量,本文將其設(shè)置為初始的[n]個(gè)訓(xùn)練樣本。
2) 對靠近聚類中心的訓(xùn)練樣本實(shí)施分組,對任意一個(gè)訓(xùn)練樣本[X],計(jì)算出該樣本到每個(gè)聚類中心的歐氏距離[8],根據(jù)歐氏距離劃分到距聚類中心近的一組。
3) 按照聚類后的分組情況,依據(jù)式(3)重新計(jì)算聚類中心:
[ci(k)=1Nij=1Mxij] (3)
式中:[i=1,2,…,N];[Ni]為第[i]組的所有樣本總量;[xij]為第[i]組中的第[j]個(gè)樣本。
4) 若出現(xiàn)結(jié)果[ci(k)=ci(k-1),i=1,2,…,N]時(shí),K均值聚類算法結(jié)束;沒有出現(xiàn)該結(jié)果則返回到步驟2)重新計(jì)算。
完成對Android行為樣本的聚類后計(jì)算高斯函數(shù)的歸一化參數(shù),設(shè)[σ2i]為高斯函數(shù)的半徑,其表示每個(gè)從數(shù)據(jù)輸入層輸入的Android行為數(shù)據(jù)大小,[σ2i]可以表示為:
式中:[Mi]表示第[i]組中包含的元素?cái)?shù)量;[xij]為第[i]組中的第[j]個(gè)樣本;[ci]表示第[i]組中的中心點(diǎn)。
RBF神經(jīng)網(wǎng)絡(luò)訓(xùn)練的第二階段為計(jì)算隱含層節(jié)點(diǎn)到數(shù)據(jù)輸出層節(jié)點(diǎn)的權(quán)值[w],對權(quán)值[w]計(jì)算的方法包括最小二乘遞推算法、鏡像映射最小二乘法和最小均方算法[9],本文采用最小二乘遞推法(RLS)計(jì)算[w],目標(biāo)函數(shù)定義為:
式中:[L]表示Android樣本的長度;加權(quán)因子用[λ(P)]表示,其取值范圍在[0,1]之間;[dp]為目標(biāo)函數(shù)的輸出樣本;[yp]表示實(shí)際的輸出Android惡意數(shù)據(jù)樣本。
若使得到的[w]為最小值,使目標(biāo)函數(shù)式(5)的值最小即可。由于:
可以根據(jù)最小二乘遞推算法得出:
式中:[qp(t)=q1p(t),q2p(t),…,qmp(t)T],[m]表示隱含層中節(jié)點(diǎn)的數(shù)量。
以上過程完成了對RBF神經(jīng)網(wǎng)絡(luò)的訓(xùn)練 [10],得到了適宜的RBF神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和參數(shù),能夠?qū)崿F(xiàn)對Android惡意行為的準(zhǔn)確識(shí)別。
為驗(yàn)證本文RBF神經(jīng)網(wǎng)絡(luò)的Android惡意行為識(shí)別方法的識(shí)別結(jié)果正確率和識(shí)別的用時(shí)情況,在實(shí)驗(yàn)環(huán)境為Internet 4核2.7 Hz,運(yùn)行內(nèi)存為4 GB的Windows XP系統(tǒng)的計(jì)算機(jī)上采用Matlab軟件實(shí)施仿真實(shí)驗(yàn)。實(shí)驗(yàn)將所有的Android惡意行為劃分為一類,正常的行為分為一類,為驗(yàn)證本文方法的有效性,將KNN方法和LSSVM Android惡意行為識(shí)別方法作為對比方法,在特征維度為100的情況下,以Android惡意行為和正常行為平均識(shí)別的正確率、錯(cuò)誤率和平均識(shí)別時(shí)間為評價(jià)指標(biāo)對本文方法的有效性進(jìn)行檢測。
圖2和圖3分別為采用三種方法進(jìn)行Android惡意行為和正常行為識(shí)別結(jié)果的平均識(shí)別正確率和平均識(shí)別錯(cuò)誤率的對比結(jié)果,每種方法均進(jìn)行10次識(shí)別,取其平均值作為最終實(shí)驗(yàn)參考結(jié)果。
從圖2可以看出,采用本文方法進(jìn)行Android惡意行為識(shí)別的平均正確率在96%左右,稍高于對正常行為的識(shí)別正確率,而KNN方法和LSSVM Android惡意行為方法在進(jìn)行Android惡意行為和正常識(shí)別的正確率分別在84%,80%,75%和76%,均低于本文方法的識(shí)別正確率,達(dá)不到對Android惡意行為識(shí)別的標(biāo)準(zhǔn)。從圖3三種方法在惡意識(shí)別和正常識(shí)別的錯(cuò)誤率對比結(jié)果可以得出,本文方法對Android惡意行為識(shí)別的錯(cuò)誤率極低,對Android惡意行為的識(shí)別效果較好,得到的Android惡意行為識(shí)別效果滿意度較高,可廣泛應(yīng)用于各領(lǐng)域。
實(shí)驗(yàn)在進(jìn)行Android惡意行為識(shí)別過程中,對惡意行為識(shí)別的用時(shí)是判斷本文方法有效性的重要手段。從圖4結(jié)果中可以看出,本文方法對Android惡意行為和正常行為的平均識(shí)別用時(shí)分別在6.4 ms和6.5 ms左右;KNN方法對Android惡意行為和正常行為的平均識(shí)別用時(shí)分別為9.5 ms和10.4 ms;LSSVM Android惡意行為識(shí)別方法對Android惡意行為和正常行為識(shí)別用時(shí)分別為11.4 ms和12 ms。從該識(shí)別結(jié)果可以看出,本文方法對Android惡意行為和正常行為識(shí)別用時(shí)最短,識(shí)別效率最高,KNN方法和LSSVM方法對Android惡意行為和正常行為識(shí)別的用時(shí)較長,識(shí)別速率較緩慢,無法滿足對大量Android惡意行為識(shí)別的要求。
為驗(yàn)證本文方法在不同特征維度下對Android惡意行為的識(shí)別用時(shí),設(shè)置5組特征維度,分別采用本文方法和LSSVM方法進(jìn)行Android惡意行為識(shí)別,表2為不同特征維度下的識(shí)別用時(shí)和速率。
從表2可以得出,本文方法和LSSVM方法隨著特征維度的增大對Android惡意行為的識(shí)別用時(shí)都有所提高,但本文方法識(shí)別時(shí)間的增幅較低且在較高特征維度時(shí)的識(shí)別速率較快,說明本文方法應(yīng)用于Android惡意行為識(shí)別的效果較好。
本文設(shè)計(jì)基于RBF神經(jīng)網(wǎng)絡(luò)的Android惡意行為識(shí)別方法,采用RBF神經(jīng)網(wǎng)絡(luò)局部逼近的特點(diǎn)提高學(xué)習(xí)速度,增強(qiáng)神經(jīng)網(wǎng)絡(luò)結(jié)果的輸出質(zhì)量,提高Android惡意行為識(shí)別精度和效率。
參考文獻(xiàn)
[1] 盧先領(lǐng),王洪斌,徐仙.基于加速度信號(hào)和進(jìn)化RBF神經(jīng)網(wǎng)絡(luò)的人體行為識(shí)別[J].模式識(shí)別與人工智能,2015,28(12):1127?1136.
LU Xianling, WANG Hongbin, XU Xian. Human activity re?cognition based on acceleration signal and evolutionary RBF neural network [J]. Pattern recognition and artificial intelligence, 2015, 28(12): 1127?1136.
[2] 蔣銳.基于PCA?LBP算法的競技賽技術(shù)動(dòng)作行為識(shí)別模型[J].科技通報(bào),2016,32(6):162?165.
JIANG Rui. Behavior recognition model of competitive action based on PCA?LBP algorithm [J]. Bulletin of science and technology, 2016, 32(6): 162?165.
[3] 陳澤恩.基于k近鄰和最小二乘支持向量機(jī)的Android惡意行為識(shí)別[J].吉林大學(xué)學(xué)報(bào)(理學(xué)版),2015,53(4):720?724.
CHEN Zeen. Identification of Android malicious behaviors based on k nearest neighbor algorithm and least squares support vector machine [J]. Journal of Jilin University (science edition), 2015, 53(4): 720?724.
[4] 王志瑞,劉正濤,黃慧.基于LERBF算法的人體行為自相似識(shí)別[J].控制工程,2016,23(11):1784?1789.
WANG Zhirui, LIU Zhengtao, HUANG Hui. Self similarity recognition of human behavior based on LERBF algorithm [J]. Control engineering, 2016, 23(11): 1784?1789.
[5] 王忠民,曹洪江,范琳.一種基于卷積神經(jīng)網(wǎng)絡(luò)深度學(xué)習(xí)的人體行為識(shí)別方法[J].計(jì)算機(jī)科學(xué),2016,43(z2):56?58.
WANG Zhongmin, CAO Hongjiang, FAN Lin. Method on human activity recognition based on convolutional neural networks [J]. Computer science, 2016, 43(S2): 56?58.
[6] 孫潤康,彭國軍,李晶雯,等.基于行為的Android惡意軟件判定方法及其有效性[J].計(jì)算機(jī)應(yīng)用,2016,36(4):973?978.
SUN Runkang, PENG Guojun, LI Jingwen, et al. Behavior oriented method of Android malware detection and its effectiveness [J]. Journal of computer applications, 2016, 36(4): 973?978.
[7] 朱煜,趙江坤,王逸寧,等.基于深度學(xué)習(xí)的人體行為識(shí)別算法綜述[J].自動(dòng)化學(xué)報(bào),2016,42(6):848?857.
ZHU Yu, ZHAO Jiangkun, WANG Yining, et al. A review of human action recognition based on deep learning [J]. Acta automatica sinica, 2016, 42(6): 848?857.
[8] 徐曉惠,張繼業(yè),趙玲.一類混合時(shí)滯復(fù)值神經(jīng)網(wǎng)絡(luò)的動(dòng)態(tài)行為分析[J].西南交通大學(xué)學(xué)報(bào),2014,49(3):470?476.
XU Xiaohui, ZHANG Jiye, ZHAO Ling. Dynamic behaviors analysis of a class of complex?valued neural networks with mixed time delays [J]. Journal of Southwest Jiaotong University, 2014, 49(3): 470?476.
[9] 黃波,丁浩,張孝芳,等.基于RBF神經(jīng)網(wǎng)絡(luò)的某復(fù)雜裝備故障預(yù)測方法[J].計(jì)算機(jī)仿真,2014,31(1):14?17.
HUANG Bo, DING Hao, ZHANG Xiaofang, et al. Predication method of complex equipment based on RBF neural network [J]. Computer simulation, 2014, 31(1): 14?17.
[10] 郭麗杰,趙明娟,康建新.基于PCA和RBF神經(jīng)網(wǎng)絡(luò)的石化裝置故障監(jiān)測與診斷[J].燕山大學(xué)學(xué)報(bào),2016,40(5):456?461.
GUO Lijie, ZHAO Mingjuan, KANG Jianxin. Fault monitoring and diagnosis based on PCA and RBF neural network for petrochemical plant [J]. Journal of Yanshan University, 2016, 40(5): 456?461.