基于RBF神经网络的Android恶意行为识别
   来源:现代电子技术     2018年08月12日 12:51

6.3 基于rbf神经网络的辨识6.3 基于rbf神经网络的辨识.ppt

陈天伟

摘 要: 传统Android恶意行为识别方法无法解决恶意行为特征的动态波动性,识别出的恶意行为精度差,并且需要耗费大量的时间,因此提出基于RBF神经网络的Android恶意行为识别方法。该方法首先进行Android恶意行为的样本采集、行为特征提取和数据整合,使输出的结果可以被RBF神经网络识别,然后采用RBF神经网络局部逼近的特点提高学习速度,增强神经网络结果的输出质量,并采用K均值聚类算法得到所有特征集中各样本到该特征集中心距离的平方和,取该距离的最小值,通过最小二乘递推法计算隐含层节点到数据输出层节点的权值,完成RBF神经网络的训练,实现Android恶意行为的准确识别。实验结果说明所提方法可以提高对Android恶意行为识别的正确率和效率。

关键词: RBF神经网络; Android恶意行为; 识别; 特征集; 局部逼近; 权值

中图分类号: TN915.08?34; TP391 文献标识码: A 文章编号: 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

0 引 言

隨着经济的快速发展,移动互联网应用领域日益扩大,智能Android系统也已成为市场占有量最大的操作系统之一,面对日益庞大的Android数据库,采用有效的行为识别方法对Android恶意和正常的行为进行识别成为目前急需解决的问题。传统的LSSVM Android恶意行为识别方法采用LSSVM基于恶意行为特征进行识别,无法解决恶意行为特征的动态波动性,识别出的恶意行为精度差,并且需要耗费大量的时间[1],为解决该问题,本文提出基于RBF神经网络的Android恶意行为识别方法,提高对Android恶意行为识别的正确率和效率,得到了满意度较高的识别结果。

1 基于RBF神经网络的Android恶意行为识别

1.1 Android恶意行为识别方案设计

1.1.1 Android恶意行为样本采集

本文为规范Android恶意行为和正常行为的识别标准,使得到的样本具有较高的代表性,在进行样本采集时需要利用其他检测工具实施检测且每个Android恶意行为都至少被两种检测工具标定[2]。从收集的总体样本中随机选取70%作为训练样本,其余样本为测试数据。将大量的样本实施训练能有效提高Android恶意行为识别的概率。

1.1.2 Android恶意行为特征提取

对Android恶意行为特征的提取阶段,利用静态分析技术对收集样本APK进行翻译,其能够自动分析APK的AndroidManifest.xml文件和Smail文件的所属类别。本文利用静态分析技术对样本的APK文件进行分析[3],得到如表1所示的10类样本特征。其中,每个特征集中都包含多个Android恶意行为特征。

1.1.3 Android恶意行为数据整合

每个特征集中都包含大量的数据,其中可能包含一些不重要的数据,因此本文基于RBF神经网络的Android恶意行为识别过程中需要进行数据整合,计算出每个特征的重要性权重,并按照权重的大小进行排列[4]。之后对提取的特征实施格式化操作,使输出结果可以被RBF神经网络识别。将每个样本都表示成[1×n]的矩阵,数据格式用[x1:y1 x2:y2 … xi:yj … xn:ym]表示,[i]的取值范围是[0,n],[j]的取值范围是[0,m]。[i]表示表1中第[i]个特征类别,[xi]表示该特征的权值;[ym]为对应特征的被引用次数。

上述过程分析了Android恶意行为识别方案,该识别方案可进行Android恶意行为的样本采集、行为特征提取和数据整合,使输出的结果可以被RBF神经网络识别。

1.2 RBF神经网络的Android恶意行为识别

径向基函数(Radial Basis Function,RBF)神经网络属于一种局部逼近的神经网络,当输入空间的局部区域只有少量的连接权值时,会影响神经网络结果的输出,采用本文RBF神经网络局部逼近的特点提高学习速度[5],增强神经网络结果的输出。图1为RBF神经网络结构,属于三层的前端反馈网络,其包括三个层次:数据输入层、隐含层和数据输出层,每个层次各包括[n],[q]和[m]个单元数。输入信号通过数据输入层传导至隐含层,隐含层中的节点即RBF节点由高斯函数构成,数据输出层即为常用的线性函数。

RBF神经网络隐含层中采用的高斯函数为:

[ui(x)=exp-(x-ci)2σ2i, i=1,2,…,q] (1)

式中:[ui]为隐含层中第[i]个节点的输出结果,输入的Android恶意行为样本为[X=(x1,x2,…,xn)T];[ci]表示隐含层中节点[i]高斯函数的中心;[σi]为节点[i]归一化参数,隐含层中所有节点的个数用[q]表示。数据输出层中输出结果的大小在[0,1]之间,且该值随着输入样本距节点中心距离的减小而增大[6]。输出结果与隐含层中节点的线性关系表达式如下:

[Yj=i=1qωijμj(x), j=1,2,…,m] (2)

式中[ωij]表示从隐含层中第[i]个节点到数据输出层第[j]个节点的连接权值。因此,可以在RBF神经网络结构中实现数据输入层[x]到[ui(x)]的非线性映射和数据输出层从[ui(x)]到[y]的线性映射。

本文基于RBF神经网络的Android恶意行为识别方法,采用RBF神经网络的学习过程相似于BP神经网络,关键区别在于隐含层采用的函数不同,BP神经网络隐含层采用sigmoid函数,属于全局逼近的神经网络;本文采用的RBF神经网络隐含层,采用高斯函数属于局部逼近的神经网络,因此只有少数几个权值的变动可能造成神经网络输出结果的变化,对神经网络训练时也只需调节几个关键的权值。因此这种局部逼近的神经网络可以增强RBF神经网络的学习效率,提高对Android恶意行为的识别能力。

1.3 RBF神经网络的训练

通过对RBF神经网络的训练得到隐含层中每个节点基函数的中心[ci],宽度[σi]及从隐含层中第[i]个节点到数据输出层第[j]个节点的连接权值[ωij],从而实现Android数据输入到Android恶意行为数据输出的映射过程。本文对RBF神经网络的训练过程分为两个阶段[7]:先利用K均值聚类算法对节点中心进行调整,其对RBF神经网络实施训练的原理为计算所有特征集中每一个样本到该特征集中心距離的平方和,并取该距离的最小值,其计算过程如下:

1) 设置[n]个聚类中心,用[ci(0)]表示,其中括号中的0为获得聚类中心共进行的迭代次数,进行初次聚类时其向量的值可以是任意向量,本文将其设置为初始的[n]个训练样本。

2) 对靠近聚类中心的训练样本实施分组,对任意一个训练样本[X],计算出该样本到每个聚类中心的欧氏距离[8],根据欧氏距离划分到距聚类中心近的一组。

3) 按照聚类后的分组情况,依据式(3)重新计算聚类中心:

[ci(k)=1Nij=1Mxij] (3)

式中:[i=1,2,…,N];[Ni]为第[i]组的所有样本总量;[xij]为第[i]组中的第[j]个样本。

4) 若出现结果[ci(k)=ci(k-1),i=1,2,…,N]时,K均值聚类算法结束;没有出现该结果则返回到步骤2)重新计算。

完成对Android行为样本的聚类后计算高斯函数的归一化参数,设[σ2i]为高斯函数的半径,其表示每个从数据输入层输入的Android行为数据大小,[σ2i]可以表示为:

式中:[Mi]表示第[i]组中包含的元素数量;[xij]为第[i]组中的第[j]个样本;[ci]表示第[i]组中的中心点。

RBF神经网络训练的第二阶段为计算隐含层节点到数据输出层节点的权值[w],对权值[w]计算的方法包括最小二乘递推算法、镜像映射最小二乘法和最小均方算法[9],本文采用最小二乘递推法(RLS)计算[w],目标函数定义为:

式中:[L]表示Android样本的长度;加权因子用[λ(P)]表示,其取值范围在[0,1]之间;[dp]为目标函数的输出樣本;[yp]表示实际的输出Android恶意数据样本。

若使得到的[w]为最小值,使目标函数式(5)的值最小即可。由于:

可以根据最小二乘递推算法得出:

式中:[qp(t)=q1p(t),q2p(t),…,qmp(t)T],[m]表示隐含层中节点的数量。

以上过程完成了对RBF神经网络的训练 [10],得到了适宜的RBF神经网络结构和参数,能够实现对Android恶意行为的准确识别。

2 实验结果与分析

为验证本文RBF神经网络的Android恶意行为识别方法的识别结果正确率和识别的用时情况,在实验环境为Internet 4核2.7 Hz,运行内存为4 GB的Windows XP系统的计算机上采用Matlab软件实施仿真实验。实验将所有的Android恶意行为划分为一类,正常的行为分为一类,为验证本文方法的有效性,将KNN方法和LSSVM Android恶意行为识别方法作为对比方法,在特征维度为100的情况下,以Android恶意行为和正常行为平均识别的正确率、错误率和平均识别时间为评价指标对本文方法的有效性进行检测。

图2和图3分别为采用三种方法进行Android恶意行为和正常行为识别结果的平均识别正确率和平均识别错误率的对比结果,每种方法均进行10次识别,取其平均值作为最终实验参考结果。

从图2可以看出,采用本文方法进行Android恶意行为识别的平均正确率在96%左右,稍高于对正常行为的识别正确率,而KNN方法和LSSVM Android恶意行为方法在进行Android恶意行为和正常识别的正确率分别在84%,80%,75%和76%,均低于本文方法的识别正确率,达不到对Android恶意行为识别的标准。从图3三种方法在恶意识别和正常识别的错误率对比结果可以得出,本文方法对Android恶意行为识别的错误率极低,对Android恶意行为的识别效果较好,得到的Android恶意行为识别效果满意度较高,可广泛应用于各领域。

实验在进行Android恶意行为识别过程中,对恶意行为识别的用时是判断本文方法有效性的重要手段。从图4结果中可以看出,本文方法对Android恶意行为和正常行为的平均识别用时分别在6.4 ms和6.5 ms左右;KNN方法对Android恶意行为和正常行为的平均识别用时分别为9.5 ms和10.4 ms;LSSVM Android恶意行为识别方法对Android恶意行为和正常行为识别用时分别为11.4 ms和12 ms。从该识别结果可以看出,本文方法对Android恶意行为和正常行为识别用时最短,识别效率最高,KNN方法和LSSVM方法对Android恶意行为和正常行为识别的用时较长,识别速率较缓慢,无法满足对大量Android恶意行为识别的要求。

为验证本文方法在不同特征维度下对Android恶意行为的识别用时,设置5组特征维度,分别采用本文方法和LSSVM方法进行Android恶意行为识别,表2为不同特征维度下的识别用时和速率。

从表2可以得出,本文方法和LSSVM方法随着特征维度的增大对Android恶意行为的识别用时都有所提高,但本文方法识别时间的增幅较低且在较高特征维度时的识别速率较快,说明本文方法应用于Android恶意行为识别的效果较好。

3 结 论

本文设计基于RBF神经网络的Android恶意行为识别方法,采用RBF神经网络局部逼近的特点提高学习速度,增强神经网络结果的输出质量,提高Android恶意行为识别精度和效率。

参考文献

[1] 卢先领,王洪斌,徐仙.基于加速度信号和进化RBF神经网络的人体行为识别[J].模式识别与人工智能,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算法的竞技赛技术动作行为识别模型[J].科技通报,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近邻和最小二乘支持向量机的Android恶意行为识别[J].吉林大学学报(理学版),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算法的人体行为自相似识别[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].计算机科学,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].计算机应用,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] 朱煜,赵江坤,王逸宁,等.基于深度学习的人体行为识别算法综述[J].自动化学报,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] 徐晓惠,张继业,赵玲.一类混合时滞复值神经网络的动态行为分析[J].西南交通大学学报,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].计算机仿真,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].燕山大学学报,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.

神经网络 恶意 文章