基于静态分析的Android应用特征提取方法文献综述

 2022-11-24 22:28:45
  1. 课题目标及意义

对于Android恶意应用检测这个命题,学术界已经进行了相当多的研究,其中有很多十分优秀的检测方法,并且能够达到相当惊人的准确率(接近99%)。这意味着,如果想要再开发出一种全新的Android恶意应用检测方法不仅困难重重,而且意义可能并不那么巨大。因此,本次课题将从特征提取——Android恶意应用检测中的一个十分重要的环节入手,进行相关研究。

本次课题的目标是研究一种Android应用的特征提取方法,以APK作为研究对象,通过静态分析提取较全面的静态特征集,在此基础上,研究特征选择方法,识别对检测恶意行为类别最有效的静态特征组合。这种应用特征方式将会在某些方面,例如提取速度、最终恶意应用检测精确度等,超过当今一些比较优秀的特征提取方法,同时在其他方面也并不落后太多。

  1. 课题研究背景及发展现状

在当今的互联网时代,移动设备的出现使得信息交换变得更加频繁。研究调查表明,个人计算机的购买量正在逐渐减少,而移动设备的出货量却逐年增加。对于现在的互联网用户,由于其便捷性、易使用性,移动设备正在变得越来越流行。而正是由于这种流行性,对于移动设备的攻击也在日益增加——移动设备上的恶意软件数量正在迅速增长。

当今市场上有许多操作系统,例如Android, iOS, Windows Phone 以及 BlackBerry。 根据报告,Android操作系统占据了绝对的主导地位——在2015年出货的移动设备中,有81.9%的设备运行的是Android操作系统[1]。也正因此,对于Android设备的恶意攻击也正在急速地增加。根据F-Secure的报告,在2012年,关于Android的恶意软件达到了79%。

基于这种现状,对于Android恶意软件的检测也就变得非常有必要。

事实上,关于Android恶意软件的相关工作已经开展了很多。杨欢的团队以IKE网络协议为例,提出一种基于模糊测试技术的网络协议漏洞挖掘方法,首次将频繁模式挖掘算法应用到智能手机的恶意应用检测,设计并实现了权限频繁模式挖掘算法PApriori[2]。祝小兰等人提出了一种基于敏感权限及其函数调用流程图的静态综合检测方法,并采用Munkres匈牙利算法计算待测样本与特征库在相同敏感权限下两个函数调用图之间的编辑距离,得到两个函数调用图之间的相似性,进而得到两个应用程序之间的相似性,据此对恶意软件进行检测识别[3]。Aafer Y 的团队设计了DroidAPIMiner,最终能够达到99%的准确率[4]。通过探索应用内部的不同行为,Tian K等人提出了一种新的Android重新打包的恶意软件检测技术,该技术基于关于代码异质性分析,从战略上将应用程序的代码结构划分为基于多个依赖项的代码区域(代码的子集),最终实现了0.35%的错误误报率和2.97%的正确误报率[5]。Alam S 团队开发的Know是第一个在droid本机代码级别运行的系统,它可以检测恶意软件嵌入在本机代码和字节码中。经过传统恶意软件变体的测试,它可以实现检出率(DR)为99.48%[6]。以上的工作从各种不同的角度切入Android恶意软件检测这一命题,随后进行了程度不一的研究,并且在实验的最后都能够达到相当高的精度。

很显然,特征选取对于整个Android恶意软件检测的流程有着至关重要的影响,在机器学习中,特征选择是第一步,也是最为关键的一步。选择大量特征中最有用的功能子集可能会更改整个实验的结果[7]。此外,特征选取可以减少数据集的维数,当数据较少时,可以轻松可视化数据趋势[8]。而关于特征工程这一主题的研究也绝不算少。Suarez-Tangil的团队在总体上讨论了智能设备的恶意软件[9]。但是,它们的文章只是非常简短地讨论了各种类型的特征,但是却未涵盖所有类型的可用特征。同样,La Polla等人研究了各种类型的移动设备,各种恶意软件对设备的影响,以及不同的检测方法。但是他们并没有提及检测中具体使用了哪些特征——然而,这些特征又是相当重要的[10]。因此,他们的工作显然也是不完善的。 Mohite和Sonar调查了移动恶意软件检测中的不同分析技术。它们在其文章的描述中提到了检测方法的示例。但是,它并不包括数据集和评估措施[11]。此外,它并没有全面涵盖所有近期作品。 Peng等人研究了移动恶意软件的演变,破坏和传播模型。他们在论文中包括了各种操作系统,而非聚焦于Android,这使得研究变得并不具有精确性,同时也很难将研究进行得更加深入彻底[12]。

了解相关工作之后,本人又对恶意软件的类型进行了深入学习。想要正确地、精准地提取出合适的特征,了解各类恶意软件显然是很有必要的。

一般来说,攻击者都会对APK安装包进行重打包工作,这使得他们能够在重新生成的看似无害的安装包里面加入他们想要注入的代码,随后对Android移动设备进行恶意攻击。这些攻击种类繁多,有的非常简单,有的又可以进行十分复杂的操作,危害性极大。简单的恶意软件有很多,例如Android Dowgin,这是一种广告软件,在感染之后,用户的通知区域会一直显示广告,并且难以删除。一些Android攻击者也会因为受到经济上的鼓励对Android设备进行攻击。在安装相关软件后,某些应用程序会将昂贵的短消息服务(SMS)发送给高级号码,而用户却不了解其本身会反映在用户账单中[13]。某些恶意软件则十分擅长隐蔽自己,它们会在设备熄屏之后再等待数分钟,随后确认用户不再使用设备之后再执行恶意活动,如果用户使用设备,它则会停止活动。这使得发现这种恶意软件变得更加困难。僵尸网络比以上的恶意行为更加危险,感染设备后,攻击者即可访问设备并可以通过控制设备上的应用程序执行恶意活动。僵尸网络是此类受感染设备的网络。一个攻击者往往可以控制数百个这种受感染的设备[14]。

最后,在了解相关恶意软件的类型之后,本人对于特征进行了相关了解。特征具体可以分为静态特征,动态特征,混合特征,应用元信息。其中静态特征包括Android权限特征、Android的JAVA代码特征以及一些其他杂项的静态特征,动态特征包括Android系统调用特征,Android网络交通特征以及一些其他杂项的动态特征。静态特征与动态特征占据了特征中的主导地位,调查显示,静态特征平均占据特征中的45%,动态特征则为42%。剩下的10%与2%则分别对应混合特征与应用元信息。混合特征,顾名思义,就是在检测系统中,一起使用的一组静态特征和动态特征。在静态特征中,Android权限特征是最为常用的特征。这是因为,Android操作系统基于Linux体系,而Android权限对于攻击者来说是第一道障碍,即使JAVA代码包含恶意代码,代码中的一些API调用也需要获取许可——即Android权限[15]。一些其他的静态特征则还包括意图、网络地址、String字符串和硬件组件等。意图这一特征位于APK安装文件中的Manifest清单中,也是较为常见的静态特征之一。

剩余内容已隐藏,您需要先支付 10元 才能查看该篇文章全部内容!立即支付

发小红书推广免费获取该资料资格。点击链接进入获取推广文案即可: Ai一键组稿 | 降AI率 | 降重复率 | 论文一键排版