基于半监督学习的Android恶意软件检测方法

来源 :电脑知识与技术 | 被引量 : 0次 | 上传用户:pp_dolphin
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘要:Android操作系统作为当前最为流行的智能手机应用平台,但受到各种恶意软件的攻击。目前已有研究基于抽取的恶意软件特征来构建机器学习分类器完成恶意软件检测,但实际应用中我们通常仅能获取少量的标记数据和大量的无标记数据,因此如何有效地利用少量的标记数据集和大量的无标记数据成为当前研究一个挑战。为此,该文提出了一种基于半监督学习的恶意软件检测方法。首先,我们选取了一些特征表征隐藏在Android恶意软件中的恶意代码;然后,我们基于少量的标记数据和大量的无标记数据构建半监督分类模型,通过类EM迭代算法优化朴素贝叶斯分类器;最后,通过公开数据集VirusShare验证算法的有效性。
  关键词:混合类型恶意软件攻击;半监督检测器;EM迭代;恶意软件检测;VirusShare
  中图分类号:TP206 .3 文献标识码:A 文章编号:1009-3044(2017)34-0265-04
  Abstract: Android, one of most popular open source mobile operating systems, is confronted with lots of malicious threats. Although many studies have been presented to malware detection, which do not agree with the fact that, in practice, we are often given only a few labeled but a majority of unlabeled data. How to effectively utilize a small number of labeled data sets and a large number of unlabeled data has become a challenge problem for android malware detection. In this paper, we propose a semi-supervised learning-based method to detect the android malware (SSAMD for short). Firstly, we select some features combination of permissions and resources. Secondly, a semi-supervised learning system is employed for the categorization of both labeled and unlabeled data. Extensive experiments on VirusShare datasets demonstrate the effective of our presented algorithm.
  Key words: hybrid malware detection; semi-supervised detectors; EM iterative; malware detection; VirusShare
  1 概述
  Android操作系統是最常用的智能手机平台,随着该系统的不断发展以及Android生态系统也在不断增长,目前在市场上发布的应用软件达数百万个,因此需要快速有效地机制对恶意软件进行分析和检测[1]。通常这些恶意软件是通过重新包装流行的合法的具有相似恶意代码的应用程序,攻击者通过注入其恶意代码在良性应用程序上,通过第三方平台传播这些恶意软件,对用户隐私信息构成了巨大威胁。由于Android系统的开发门槛较低和Android系统源码的开源性,Android系统的漏洞很容易受到病毒、特洛伊木马和蠕虫等各种恶意软件威胁的影响[2]。此外,Enck等人[3]发现Android的内置安全功能在很大程度上是不够的,甚至是非恶意的程序可以(无意)公开机密信息。据MetaIntell 机构2014研究报告报道,在Top-500个Android应用程序中大概有460个应用在下载到Android设备时存在安全或隐私风险[4]。以目前被认为最值得信赖的安全的Google Play商城为例,已有很多研究指出目前有大量的恶意软件已经绕过Google Play商城的安全检测。由于恶意攻击者想要影响大量的受众,其多针对目前比较流行的应用软件如:Facebook、Twitter、微博等。借助在应用软件中的这些漏洞,恶意软件可以在手机中实现各种恶意行为。智能手机上的恶意软件可能会使手机部分或完全无法使用;造成不必要的花费;窃取私人信息(可能通过网络钓鱼和社会工程)或感染用户电话簿中的每个用户信息等[5,6]。
  目前的针对恶意软件检测的研究主要集中于程序分析和机器学习检测方法。首先通过提取程序中的语义特征(如:代码片段、调用函数等)通过机器学习分类器来发现恶意代码和行为模式[7-10]。同时,更高层的语义表达如调用图(调用函数构建的语义图)、控制语句和数据流图同样用于恶意软件检测[11-12]。目前的基于机器学习的恶意软件方法多集中于监督和无监督检测方法,但实际应用中我们通常仅能获取少量的标记数据和大量的无标记数据,因此如何有效地利用少量的标记数据集和大量的无标记数据成为当前研究一个挑战。
  为此,本文提出了一种基于半监督学习的恶意软件检测方法。首先,我们选取了一些特征表征隐藏在Android恶意软件中的恶意代码;然后,我们基于少量的标记数据和大量的无标记数据构建半监督分类模型,将数据分为正常软件和恶意软件两个类别;最后,通过公开数据集验证算法有效性。
  2 相关工作
  目前的手机虚假软件检测方法主要基于行为模式构建机器学习分类器完成恶意软件检测。一些方法通过监控每个软件的电池耗费量,并捕捉反常消耗行为[13]。同时,也有些方法通过监控系统调用和检测异常系统调用模式[14]。此外,还有一些方法通过与比较著名的恶意软件进行比较[15]或启发式算法实现恶意软件检测[16]。   多数学者主要基于主机的入侵检测系统(Host-based Intrusion Detection Systems, HIDS),即通过异常行为或基于规则的方法来抽取和分析一些表明恶意软件的特征。Yap和Ewe提出了行为检测器来检测手机系统的恶意行为[17],其提出了一个概念证明方案来检测诺基亚手机Symbian操作系统的恶意软件行为,并检测到了一个模拟的尝试使用未经授权的消息服务器的木马软件。由于需要预先定义特定的恶意行为模式,显然该方法难以检测不断更新攻击模式的恶意软件行为。Narayanan等人基于比特字符串流通过在线学习方法实现引导扇区病毒软件[7]。Schultz则比较了基于三种不同的特征集(DLL和系统调用、二进制程序中的字符串以及二进制的原始十六进制表达)训练了三种机器学习算法,并比较了三种算法的优缺点[18]。由于人工标记软件是否是恶意软件的成本比较高,上述机器学习方法忽视了我们一般只能获取少量的标记数据,因此,本位提出了半监督学习的恶意软件检测方法,并通过实验验证了我们方法能够取得较好的准确率和召回率。
  3 半监督学习检测器设计
  本文基于开源包Androguard 来访问和抽取Android软件的特征,Androguard提供了整套的界面用于分析和逆向工程Android应用程序。由于Androguard提供了完整的权限和资源两大类特征,我们基于该这两类特征进一步提出了半监督学习的实现虚假软件检测,首先扩展朴素贝叶斯分类器,并通过EM迭代将标记数据和无标记数据集成起来。
  3.1 初始分类器构建
  将上述结果,我们可产生EM迭代过程。简单来说,本节的半监督迭代算法交替更新两个过程:第一步为期望(E)步,利用当前估计的参数来计算对数似然的期望值;第二步为最大化(M)步,重新寻找能使E步产生的似然期望最大化的参数值均值[μkl]和方差[σ2kl];然后新得到的参数重新被用于E步,直至收敛到局部最优解。
  4 实验设计和结果分析
  在本节中我们主要讨论实验数据、评估标准、比较对象,最后给出了结果表和分析。
  4.1 实验设计
  数据集:实验数据中的恶意软件样本来自于VirusShare,我们从该样本库中选取了4,129个恶意软件,而正常软件样本选至我国的Android市场,并通过360和腾讯手机管家等反病毒软件进行验证为正常软件的样本作为正常软件,我们选取了4,200个正常软件。
  比较对象:为了评估我们提出的SSAMD模型的性能,我们选取了NavieBayes (NB)、C4.5和无监督检测器PCA与我们算法的进行比较,其中NB和C4.5基于Weka软件实现,而PCA则基于MATLAB编程实现,且假设恶意软件个数已知。
  其中TP表示发现的恶意软数量,TN表示正常采样数据被检测为恶意软件数量,FN则表示没被检测器发现的恶意软件数量。通常P和R用于衡量检测器的准确性和完整性,而F则用于衡量总体性能。
  4.2 实验参数分析
  我们第一组实验主要用于探索参数无标记权重λ的影响,实验过程中采用五则交叉验证的方法进行。试验中分别选取了权限(permission)、資源(resource)和权限 资源三种特征集进行实验,实验选取F-Measure作为评判标准,实验结果如图1所示。从图1中我们可以看出当无标记权重λ=0.4时获得最大值,我们后面的实验将都以λ=0.4作为最终设置。
  4.3 实验比较
  本小节中主要根据我们提出的SSAMD与NB、C4.5和PCA算法进行比较来证明我们算法的有效性,分别选取了权限、资源和权限 资源三类特征集进行实验,实验结果如表1所示。
  从表1可以看出,我们的算法SSAMD取得了最好的检测结果,在其他三类检测器中C4.5取得了最好的结果,而无监督检测器PCA在检测个数已知的情况下同样取得了比NB更好的结果。从不同检测指标角度分析可以看出资源特征对所有的检测器的波动都比较大,而基于权限的检测指标更为稳定一些。将权限和资源两类特征结合,各检测器能够取得更佳的效果。
  5 结束语
  传统的Android恶意软件检测方法多是基于监督和无监督学习的恶意用户检测方法,这些方法忽视了我们仅能获取商量的标记数据集这一现实。本文提出了一种基于类EM的半监督检测器用于检测Android恶意软件,首先基于权限和资源特征构建特征集,并采用半监督检测器提高检测性能,通过实验分析取得了较好的效果。实验结果表明,本文提出的半监督恶意软件检测方法在准确度和效率方面优于许多已有的机器学习检测方法。因此,本文的方法是可行且高效的。
  注释:
  1. http://www.cs.waikato.ac.nz/ml/weka/
  参考文献:
  [1] SUAREZ-TANGIL G, DASH S K, AHMADI M, et al. DroidSieve: Fast and accurate classification of obfuscated android malware[C]. Proceedings of the Seventh ACM on Conference on Data and Application Security and Privacy, New York, NY: ACM, 2017: 309-320.
  [2] ZHANG M, YIN H. Semantics-Aware Android Malware Classification[M]. Android Application Security. Springer International Publishing, 2016: 19-43.   [3] ENCK W, OCTEAU D, McDANIEL P, and et al. A Study of Android Application Security[C]. USENIX security symposium, New York, NY: ACL, 2011, 2: 2.
  [4] MetaIntell Identifies Enterprise Security Risks, Privacy Risks and Data leakage in 92% of Top 500 Android Mobile Applications In businesswire [EB/OL], Jan 2014, http://wwwbusinesswire.com/
  [5] MALIK J, KAUSHAL R. CREDROID: Android malware detection by network traffic analysis[C]. Proceedings of the 1st ACM Workshop on Privacy-Aware Mobile Computing New York, NY: ACM, 2016: 28-36.
  [6] GRACE M, ZHOU Y, ZHANG Q, et al. Riskranker: scalable and accurate zero-day android malware detection[C]. Proceedings of the 10th international conference on Mobile systems, applications, and services New York, NY: ACM, 2012: 281-294.
  [7] NARAYANAN A, YANG L, CHEN L, et al. Adaptive and scalable Android malware detection through online learning[C]. 2016 International Joint Conference on Neural Networks (IJCNN). New York, NY: IEEE, 2016: 2484-2491.
  [8] WU S, WANG P, LI X, and et al. Effective detection of android malware Based on the usage of data flow APIs and machine learning[J]. Information and Software Technology, 2016, 75: 17-25.
  [9] ALLIX K, BISSYANDE T F, JEROME Q, and et al. Empirical assessment of machine learning-based malware detectors for Android[J]. Empirical Software Engineering, 2016, 21(1):183-211.
  [10] CHEN W, ASPINALL D, GORDON A D, and et al. More semantics more robust: Improving android malware classifiers[C]. Proceedings of the 9th ACM Conference on Security
其他文献
中国人权白皮书是中国政府公开对外发布的中国人权发展状况的正式文件,这类文件对于理解中国人权发展事业提供了独特的视角。特殊主体人权是中国人权白皮书的重要内容之一,对
城市空气污染现已成为全民关注的主要环境议题。基于《中国统计年鉴2012》和中国环境数据2011,本文采用岭回归方法对全国31个主要城市空气污染影响因素进行研究。通过分析岭
SFA和GSA是侧重点不同的两种语言分析方法,在对同一所高职院校的学生分别进行SFA和GSA的语篇教学实践后得知:两种方法都取得了一定的成效,而且效果差异并不明显;两种方法都可
以对硝基苯酚在10℃条件下的微生物降解过程为研究对象,融合单因素实验、细胞疏水性实验、细胞膜通透性实验与降解动力学实验探究菌株Pseudomonas sp.ZL对对硝基苯酚的低温降
1 临床资料 患者男,51岁,因"脾脏肿大、免疫球蛋白异常4个月"于2004年12月9日入院.无发热、盗汗、消瘦.曾在外院诊为"原发性巨球蛋白血症",行环磷酰胺+长春新碱化疗1次,因病
从词源词义和应用意义两个方面论证:“太”为时间联系,“极”为空间联系,“太极”指宇宙在时空极点状态下的空时关系,引申为宇宙从时空原始状态下,生成、演化的发展规律或模式。“
摘要:该文完全基于B/S的体系结构,网站的后台管理和发布浏览均基于浏览器,全面支持各种Web浏览器。采用先进技术开发,具有跨平台,跨数据库的通用性和移植性;支持Unix、Linux主流操作系统,支持Oracle、MySQL、等主流数据库,支持各类中间件;系统应具有高度的安全性和稳定性。采用加密传输机制,具备页面防篡改功能。在大访问量的情况下仍能保持稳定。 遵循W3C、JCP等国际组织的HTML5,
摘要:伴随着现代化农业种植技术的持续性发展,桉树因为具备有生长速度、树材质量,备受种植农户、厂家的青睐,再加上桉树的生长特性以及种植管理技术的研究不断深入,桉树的生长速度得到了明显的提升,同时也获得了许多的种植效益。对此,为了进一步提升桉树的综合栽培效益,本文简要分析桉树生长特性与种植管理技术,希望可以为相关工作者提供帮助。  关键词:桉树;生长特性;种植管理技术  桉树也被称为尤加利树,属于桃金
随着社会发展与竞争加剧,高职学校产生了高职"心理问题学生"。这个群体主要表现为学习效率低下、人际交往不顺、自我认知不正确和择业心理存在误区等问题。究其原因,主要包括
本文从城市音乐文化发展的角度探讨了传统音乐的生存方式。本文认为传统音乐具有三种基本属性,分别是自然地理的环境属性、人文历史的文化属性和多重功能的社会意义,正是由于