网站首页  词典首页

请输入您要查询的论文:

 

标题 Android平台下恶意软件分析与检测
范文

    贾慧 李永忠

    

    

    

    摘 要:针对Android平台下恶意软件侵扰问题,提出一种基于权限—敏感API特征的加权朴素贝叶斯分类算法的检测方案。首先对Android应用程序中的配置文件进行解析,然后利用Apktool工具对APK文件进行反编译,提取出权限—敏感API特征集,并通过信息增益算法和卡方检验算法过滤冗余数据,最后利用加权朴素贝叶斯分类算法的恶意软件检测模型进行分类判断。实验结果证明,该系统能有效提高分类器的效率和恶意软件的检测率。

    关键词:Android;恶意软件;加权朴素贝叶斯算法;权限—敏感API特征

    DOI:10. 11907/rjdk. 182748 开放科学(资源服务)标识码(OSID):

    中图分类号:TP309 文献标识码:A 文章编号:1672-7800(2019)007-0182-04

    Analysis and Detection of Malware Under the Android Platform

    JIA Hui, LI Yong-zhong

    (School of Computer Science, Jiangsu University of Science and Technology, Zhenjiang 212003,China)

    Abstract: Aiming at the problem of malware intrusion under Android platform at present, this paper proposes an Android malware detection scheme based on the weighted naive Bayes classification algorithm based on the permission-sensitive API features. Firstly, the configuration files in the Android application is analyzed,Then the Apktool tool to decompile the APK file is used to extract the permission-sensitive API feature set, and the residual data in the feature set is filtered by the information gain algorithm and the Chi-square test algorithm; Finally, use the weighted naive Bayesian classification algorithm to maliciously The software detection model performs classification and judgment. The experimental results verify that the system can effectively improve the efficiency of the classifier and the detection rate of malware.

    Key Words: Android; malware; weighted naive Bayesian algorithm; permissions-sensitive API features

    作者简介:贾慧(1993-),女,江苏科技大学计算机学院硕士研究生,研究方向为网络与信息安全;李永忠(1961-),男,硕士,江苏科技大学计算机学院教授,研究方向为网络安全、嵌入式应用。

    0 引言

    Android系统在互联网中占有极大的市场份额,相对开源的特点使得Android平台成为恶意软件侵袭的重灾区。根据《2018年上半年手机安全报告》分析显示[1],360互联网安全中心累计截获新增恶意程序样本1.4亿个,Android平台新增恶意程序样本283.1万个,平均每天截获新增手机恶意程序样本近1.6万个。针对Android平台日益严重的安全问题进行恶意软件的检测研究具有重要现实意义。Borja[2]等根据 Android系统的权限机制,采用多种分类算法对恶意软件进行检测,但其只采用权限特征,比較单一,不能全面考虑存在的关联特征;文献[3]提出了一种基于敏感权限及API的静态综合检测法,但该方法比较适合已知的恶意应用程序。

    为了提高分类算法准确率,同时降低分类消耗时间,本文提出将提取的权限—敏感API特征作为混合特征集[4],通过信息增益—卡方验证算法过滤特征集中的冗余数据,提取出比较符合朴素贝叶斯分类器特点的特征集,同时对特征属性进行加权,以此提高朴素贝叶斯分类算法对 Android 恶意软件的检测性能。通过收集大量的恶意软件进行对比实验,结果证明此方案能明显提高朴素贝叶斯分类器对恶意软件检测的效率及准确率。

    1 权限—敏感API特征集提取

    1.1 权限特征属性分析与提取

    为防止用户信息被越权访问,造成信息泄露[5],Android平台提供的权限机制是对应用程序访问系统功能或资源都进行相应的权限检测[6],同时要求开发者在AndroidManifest.xml文件中声明相对应的〈uses-permission〉标签,用户在安装软件时需要接受相关权限[7]才能完成软件安装。Yajin Zhou [8]建立了一个超过1 200 种Android 恶意软件的数据集,通过对比良性软件与恶意软件中配置文件(AndroidManifest.xml)中的user-permission 权限标签,发现恶意软件调用敏感权限行为[9]的次数明显比良性软件要多。比较常见的敏感权限有SEND_SMS、WRITE_SMS、RECEIVE_SM、CALL_PHONE等权限标签。恶意软件为了实现其功能,必须获取相应的权限。所以提取Android应用程序的配置文件信息很有必要。如果在程序的静态配置文件中含有该权限标签用1表示,不包含则用0表示。权限特征提取流程如图1所示。

    图1 权限特征提取流程

    1.2 敏感API特征属性分析与提取

    本文中的API指Android 系统本身所提供的函数接口[10]。应用程序可以通过这些函数接口访问和获取用户的敏感数据,例如获取账户信息、手机照片、发送扣费短信等,这些敏感行为称之为敏感API。通过对AndroidManifest.xml文件中的jar包的源代码进行敏感API调用扫描,发现恶意软件样本中对getSubscriberId()、getDeviceId()、getNETWORKCountryIso()、getLatitude()等敏感API调用较多。本文通过KMP 字符串匹配算法[11]对应用程序进行敏感 API 调用匹配,如果在程序的源代码中含有该敏感API标签用1表示,不包含则用0表示。敏感API特征提取流程如图2所示。

    2 基于权限相关性的处理方案

    2.1 信息增益算法

    信息增益算法[12]通过过滤特征集中的冗余数据,提取出与类别属性相关度较大的特征属性。通过信息增益算法,当权限—敏感API特征集中某一个特征属性对应分类的信息增益值越大,说明该特征属性对分类的影响越大,需要提取该特征属性。相反,信息增益很小则对正确分类影响不大,但会降低分类性能,所以要去除这些冗余数据[13]。设置[θ]值为0.2,当[Gain(Y)>θ]时,特征集变为X与Y的合集,特征属性 Y 的信息增益计算公式如下:

    [Gain(Y)=I(X1,X2,?,Xm)-E(Y)] (1)

    其中

    [I(X1,X2,?Xm)=-i=1mP(ci)bP(ci)] (2)

    [E(Y)=j=1zXj1+Xj2+…+XjmXI(Xj1+Xj2+?+Xjm)] (3)

    公式(1)是计算特征属性 Y 与权限—敏感API分类的信息增益值,[Xi]是训练样本中对应的分类,m表示分类个数。公式(2)是计算样本所需的期望信息,其中[P(Ci)]是在样本空间中该类别占有的比重。公式(3)是计算样本空间中特征属性 Y 的熵。

    2.2 卡方检验

    卡方检验[14]是通过计算两个分类变量之间的卡方值,查表得出其对应概率,判断这两个变量之间是否相互独立[15]。四格卡方检验公式如下:

    [X2=(ad-bc)?N(a+b)(c+d)(a+c)(b+d)] (4)

    公式(4)中a,b,c,d代表了两种条件属性构成的4种情况,N 是a,b,c,d频数之和。将经过信息增益算法处理的特征集作为数据输入,通过公式(4)计算得出相应的卡方值,当概率大于0.95时,这两个特征属性就是相关的,否则就剔除这个特征属性。由此可以通过信息增益—卡方检验得到适合朴素贝叶斯分类器特点的特征集F。

    3 木马检测系统设计与实现

    通过比较几种常见的检测技术,本文提出基于权限—敏感API特征的朴素贝叶斯分类算法的Android恶意软件检测方案。

    3.1 系统整体架构

    系统分为文件解析、特征提取、数据处理、朴素贝叶斯分类算法模型建立和结果顯示5个模块,系统整体架构如图3所示。

    图3 系统架构

    3.2 文件解析模块

    文件扫描模块主要对导入的API文件进行解析。首先扫描系统中的文件,然后判断是否是压缩形式。如果是压缩形式,进行解压缩操作。该模块工作流程如图4所示。

    图4 文件扫描模块流程

    3.3 数据处理模块

    数据预处理的主要目的是对权限—敏感API特征集去除冗余特征,以有效提高分类器的性能以及准确性。本文利用信息增益和卡方检验组合算法对提取的组合特征进行数据预处理,预处理流程如图5所示。

    3.4 检测模块

    恶意软件检测模块主要运用加权朴素贝叶斯算法对样本中提取的特征集进行计算,判断是否为恶意软件。加权主要是因为每个特征属性对分类的影响不一样,根据每个特征属性对类别变量的相关度量化相应的权重值,以此提高朴素贝叶斯分类算法的分类性能。设C表示属性的类别集合,其中有m个类C(C1,C2,…Cm),利用信息增益算法和卡方检验算法得到适合朴素贝叶斯分类算法的权限-敏感API特征集F[(F1,F2,?Fj)],根据朴素贝叶斯算法定理[16-18]可得:

    [P(CiF)=P(Ci)P(FCi)P(F)] (5)

    式(5)中,[P(F)]是常数,只需判断[P(Ci)P(FCi)]的值就可得到概率的值。通过对每个特征属性进行相应的加权处理,得到如下公式:

    [P(FCi)=k=1jPFkCiWi] (6)

    若样本 F 属于某一类,只需满足:

    [C(F)=arg maxP(ci)k=1jPFkCiWi]

    [(1kj,1im)] (7)

    其中,[Wi]是对应特征属性的权重系数,相应特征属性的权重越大该特征属性就越明显[19]。权重系数[Wi]根据信息增益算法中的特征属性Y[(Y1,Y2,?Yp)]进行计算:

    [Wi=Gain(Yn)n=1pGain(Yn)] (8)

    根据公式(7),加权朴素贝叶斯算法可将样本对象归类,从而完成分类并显示结果。

    4 实验结果分析

    Android 平台对应用软件的敏感权限进行检测,运行如图6所示。

    本文采用大量的训练样本进行实验对比,其中恶意样本来源于 Contagiodump[20],实验对比结果如表1所示,运行结果如图7所示。

    表1 不同特征集实验对比结果

    其中,TP——检测正确的恶意软件样本数量;

    FN——检测错误的恶意软件样本数量;

    FP——检测错误的良性软件样本数量;

    TN——检测正确的良性软件样本数量;

    FPR——正常程序中的误报率FPR=[FPFP+TN];

    TPR——恶意软件中的正报率TPR=[TPTP+FN];

    ACC——检测率ACC=[TP+TNTP+FN+FP+TN]。

    

    图7 不同特征集处理实验对比

    将未处理的权限—敏感API特征集与剔除冗余数据的特征集进行比较,进一步证明通过信息增益—卡方验证算法提取的特征集能提高朴素贝叶斯分类器性能。实验对比结果如表2所示,运行结果如图8所示。

    表2 不同处理方式实验对比结果

    [处理方式\&检测率\&FPR\&TPR\&ACC\&未处理\&0.204\&0.853\&0.832\&信息增益\&0.113\&0.860\&0.873\&卡方验证\&0.121\&0.845\&0.876\&信息增益-卡方验证\&0.079\&0.907\&0.915\&]

    为评估本系统工作效率,将本实验与基于权限的朴素贝叶斯分类算法的恶意软件检测系统进行对比实验,结果表明:采用权限—敏感API特征集明显提高了朴素贝叶斯分类算法的分类性能。实验结果如表3所示。

    图8 不同数据处理方式实验对比

    表3 本系统与不同算法对比

    综上所述,本文采用基于权限—敏感API特征集,利用加权朴素贝叶斯分类算法的恶意软件检测模型,能够实现更加精准、快速的检测,达到预期效果。

    5 结语

    本文使用基于权限—敏感API特征的朴素贝叶斯分类算法检测模型检测软件是否为恶意软件,使用权限—敏感API特征集以及信息增益—卡方验证算法,降低了分类消耗时间,对特征属性加权提高了分类效率,增加了系统检测准确率,达到了设计目的。

    参考文献:

    [1] 360安全卫士. 2018年上半年中国互联网安全告[EB/OL]. http://www.freebuf.com.

    [2] BORJA S,IGOR S,LAORDEN C,et al. PUMA: permission usage to detect malware in Android[C]. International Jiont Conference CISIS 12-ICEUTE 12-SOCO 12 Special Sessions. Berlin,Germany:Springer,2012:289-298.

    [3] ZHU X L,WANG J F,DU Y,et al. Detecting android malware based on sensitive permissions and function-call graphs[J]. Journal of Sichuan University:Natural Science Edition, 2016,53(3):526-533.

    [4] 盛超,魏盛娜. 基于權限与敏感API的恶意程序检测方法[J]. 网络通信及安全,2017(1):96-101.

    [5] YAN M,PENG X G. Permission detection system based on Android security mechanism[J]. Computer Engineering and Design,2013,34(3):854-858.

    [6] 陈伟鹤,邱道龙. 一种增强的Android安全机制模型[J]. 无线通信技术,2014(3):152-157.

    [7] SHI R,JIANGSU N. Detection of malicious application based on improved na?ve Bayesian algorithm Android[J]. Journal of Security and Safety Technology,2016,4(3):39-44.

    [8] ZHOU Y J,JIANG X X. Dissecting Android malware: characterization and evolution. north carolina state university[J]. Security and Privacy(SP), IEEE,2012(5):43-46.

    [9] ZHOU Y,JIANG X. Dissecting android malware:characterization and evolution[C]. Proceedings of the 2012 IEEE Symposium on Security and Privacy. Washington,D.C.:IEEE Computer Society,2012:95-109.

    [10] 邵舒迪,虞慧群,范贵生. 基于权限和API特征结合的Android恶意软件检测方法[J]. 计算机科学,2017(8):139-141.

    [11] 刘磊,李广力,徐玥,等. 基于移动平台的异构并行字符串匹配算法[J]. 吉林大学学报,2017(5):88-92.

    [12] 任克强,张国萍. 基于相对文档频的平衡信息增益降维方法[J]. 江西理工大学学报,2008(3):92-96.

    [13] FEIZOLLAH A, ANUAR N B, SALLEH R, et al. A review on feature selection in mobile malware detection[J].? Digital Investigation, 2015(13):22-37.

    [14] 郑艳梅,鲜茜. 基于权限信息的 Android 恶意软件分类检测[J]. 现代计算机学报,2018(11):76-79.

    [15] ZHANG R, YANG J Y. Android malware detection based on permission correlation[J]. Journal of Computer Applications,2014,34(5):1322-1325.

    [16] 张立民,刘峰,张瑞峰.? 一种构造系数的自相关函数特征提取算法[J]. 无线电通信技术,2012,38(5):56-59.

    [17] MITCHELL T. Machine learning[M]. Beijing:China Machine Press, 2012:112-136.

    [18] GOU K X, JUN G X, ZHAO Z. Learning Bayesian network structure from distributed homogeneous data[C]. Eighth ACIS International Conference on Software Engineering, Artificial Intelligence,Networking, and Parallel/Distributed Computing,2007: 250-254.

    [19] 居友道. 基于改进朴素贝叶斯算法的Android恶意软件检测[D]. 南京:南京邮电大学,2016.

    [20] STUTTARD D, PINTO M. The Web application hackers handbook: finding and exploiting security flaws[M]. [S.l. ]. Wiley,2011.

    (責任编辑:杜能钢)

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/3/23 4:04:36