MADAM:有效且高效的基于行为的Android恶意软件检测和预防外文翻译资料

 2023-02-23 11:25:59

英语原文共 15 页,剩余内容已隐藏,支付完成后下载完整资料


MADAM:有效且高效的基于行为的Android恶意软件检测和预防

安德里亚·萨拉奇诺、丹尼尔·斯甘杜拉、吉安卢卡·迪尼和法比奥·马蒂内利

摘要:Android用户不断受到越来越多的恶意应用程序(app)的威胁,通常称为恶意软件。

恶意软件对用户隐私、金钱、设备和文件完整性构成严重威胁。在本文中,我们注意到,通过研究恶意软件的行为,我们可以将恶意软件分为少量的行为类,每个行为类执行一组有限的错误行为来描述它们。这些错误行为可以通过监控属于不同Android级别的功能来定义。本文提出了一种新的基于主机的Android设备恶意软件检测系统MADAM,该系统从内核、应用程序、用户和软件包四个层次同时分析和关联特征,以检测和阻止恶意行为。MADAM的设计特别考虑到了几乎所有真正的恶意软件在野外都能找到的特征。MADAM利用两个并行分类程序和一个基于行为特征的检测器的协作,检测并有效阻止了96%以上的恶意应用程序,这些恶意应用程序来自三个包含2800个应用程序的大型数据集。我们进行了大量的实验,包括对9804个正版应用程序的测试台的分析,以显示低错误报警率、可忽略的性能开销和有限的电池消耗。

索引术语:Android安全、入侵检测系统、恶意软件、分类

1在过去几年中,智能手机和平板电脑的引入变得非常流行。截至2014年底,全球活跃的移动设备数量接近70亿台,在发达国家,移动设备与人的比率估计为120.8%[1]。鉴于移动设备分布广泛,且功能强大,在过去两年中,移动设备已成为攻击者的主要目标[2]。谷歌推出的开源操作系统(OS)Android目前拥有最大的市场份额[1],超过80%。由于Android的开放性和普及性,它是针对移动设备的主要攻击目标(98.5%),目前有超过100万个恶意应用在网络上[3]。恶意应用程序(通常称为恶意软件)是针对移动设备的安全攻击的主要载体。它们伪装成普通而有用的应用程序,隐藏着危险的代码,在后台执行威胁用户隐私、设备完整性甚至用户信誉的操作。Android恶意应用程序执行的一些常见攻击示例包括窃取联系人、登录凭据、文本消息或恶意向用户订阅昂贵的PremiumServices 可以在Android设备上执行,而不需要用户注意它们(或whenitistooate),因为有近60%的现有恶意软件会发送隐藏的高费率短信。这些行为大多表现在一类被称为特洛伊木马的应用程序上,这些应用程序可以在不受谷歌控制的在线市场上找到。然而,作为Android应用程序的官方市场,Google Play也拥有大量被认为是恶意的应用程序。

2随着Android恶意软件的大量增加,研究界提出了一些安全解决方案,从应用程序的静态或动态分析[4],到应用安全策略来加强数据安全[5],[6] ,以执行运行时强制[7],[8]。然而,这些解决方案仍然存在重大缺陷。特别是,它们是针对特定对象的,即它们通常集中并攻击单一类型的安全攻击,例如隐私泄露[7]、[8]或特权提升(越狱)[5]、[9]。此外,这些框架通常需要一个定制的操作系统[8]。除了这些特别的安全解决方案之外,为了限制应用程序可以执行的(危险的)操作集,Android还引入了其本机安全机制,即权限和应用程序隔离。这两种机制分别强制AccessControlToSecurityCriticalResources和操作,并避免应用程序干扰另一个应用程序的执行。但是,权限和隔离机制都显示出漏洞[10]。本文提出了一种适用于Android设备的多级行为化恶意软件检测器MADAM(Android恶意软件多级异常检测器)。

具体来说,通过检索内核级、应用级、用户级和包级四个不同抽象级别的五组功能,来检测应用程序行为、设备操作、与用户和正在运行的应用程序的交互。对于某些功能组基于dapproadama应用程序和异常对于其他组sitimplementsasignature-basedapproachtat考虑从已知恶意软件错误行为中派生的行为模式。事实上,MADAM被设计用来检测从几种恶意软件中提取的恶意行为模式。这种多层次的行为分析使MADAM能够检测出几乎所有恶意软件的典型错误行为,这些恶意软件在野外都能找到。因此,MADAM显示了有效的检测能力,因为它带来了1.4%的性能开销和4%的电池消耗。最后,MADAM之所以可用,是因为这两个要求几乎不允许任何用户交互,也不影响用户体验和效率。MADAM实现了以下目标:

  1. 它监视七组Android特性,其中系统调用(类型和数量)在设备上全局发布,安全相关的API调用和用户活动,以检测异常的用户和设备行为模式;为此,它使用两个协作的基于邻近度的分类器来检测和警告异常;(ii)它通过检测特定的行为模式来拦截和阻止危险行为,该行为模式考虑到用户和设备已知的一组安全危害;(iii)每次安装新的应用程序时,MADAM都会通过分析来评估其安全风险请求的权限和信誉元数据,如用户分数和下载号码,如果评估为有风险,它会将应用插入可疑列表。

1.1论文贡献本文的贡献如下:1详细讨论了一种基于行为的Android设备多级恶意软件检测系统MADAM。MADAM检测Android应用程序的恶意软件,阻止它们,并通过删除负责的应用程序来防止进一步的恶意操作。MADAM结合了来自不同Android级别的几类特性,并应用了基于异常和基于签名的机制。我们已经针对三个恶意应用程序的数据集,即基因组[11]、传染性移动设备[12]和病毒共享数据集,评估了MADAM的有效性。实验报告称,从2010年到2015年,在一个由2784个恶意应用程序组成的测试平台上,检测准确率达到96.9%,这些应用程序分为125个家族。结果已与VirusTotal[13]工具进行了比较,显示了相当的准确性。MADAM还检测到9个恶意软件家族逃脱了病毒总数检查,特别是零日攻击程序[14]。在不同的实际使用条件下,已经进行了大量的测试来评估虚警率。特别是,在正常使用设备的一周内,在正常使用条件下,MADAM显示的假阳性率(FPR)为2:8,10,45。额外的可用性测试,旨在评估MADAM 通过对9804个正版应用程序的分析。只有22个应用程序(0.2%)在安装时被认为是潜在威胁,在运行时检测期间没有一个被认为是有害的。我们还测量了MADAM的性能开销,以估计对用户体验和电池续航时间的影响。通过标准软件工具进行的实验表明,在电池续航时间方面,全球性能开销分别为1.4%和4%。此外,我们提出了一个基于行为的分类法,将现有的Android恶意软件分为七个类,用于派生同一类中常见的错误行为模式。MADAM的主要新颖之处在于它的跨层方法,以及一种新的技术集成(其中一些技术已经存在),它以低开销提供高效率。MADAM被认为是为了证明多层次的方法可以在有限的开销下在设备上动态检测当前的大部分Android恶意软件。为了验证这种方法确实是可行的,我们进行了一系列广泛的试验,从经验上证明了它的有效性。论文的其余部分安排如下:在第二节中,我们提出了一种新的恶意软件分类方法,用于帮助检测已知和异常行为。我们还描述了MADAM的多级方法和Android特性,这些特性与从每个speci c类中检测错误行为相关。在第3节中,我们详细描述了MADAM架构的所有组件,而在第4节中,我们详细介绍了通过将特征与错误行为关联起来来检测恶意软件的算法。第五节讨论了三个数据集的检测结果,包括2800个真实的恶意应用程序,并给出了虚警率和性能开销的实验结果。第六节介绍了相关领域的相关工作,并与夫人进行了比较。最后,第七节对本文进行了总结。

在本节中,我们提出了Android恶意软件的分类法,MADAM使用该分类法来检测、识别和阻止一般的错误行为类。

2.1 MADAM恶意软件行为类恶意Android应用程序和恶意软件系列的数量不断增加。事实上,根据[3],到2013年底,已有超过1000万个针对Android的恶意应用程序可用。最近,2014年上半年的一份报告[15]显示了由20个新的恶意软件家族组成的增长。尽管有大量的恶意应用和威胁,Android恶意软件可以被分为一个更为有限和可管理的类,代表一个speci c(恶意)行为。基于这些原因,我们提出以下基于行为的恶意软件分类法(恶意软件的行为类)

  1. 僵尸网络:在设备上打开后门,等待来自外部服务器或短信息的命令的恶意软件。
  2. Rootkit:执行缓冲区转移以获取设备上超级用户(根)权限的恶意软件。
  3. SMS特洛伊木马:恶意软件,其特征是:(一)未经用户同意,私自发送SMS消息,一般为用户订阅优质服务,或向所有用户联系人发送垃圾邮件;(二)利用部分银行机构基于SMS消息的认证机制,对不需要的交易进行授权(银行木马)。
  4. 间谍软件:从移动设备获取私人数据的恶意软件,如IMEI和IMSI、联系人、消息或社交网络帐户凭据;一个重要的子类是从位置接口获取数据并在未经用户同意的情况下将其发送到外部服务器的恶意软件。
  5. 安装程序:安装具有新授权的应用程序以增加危害系统的能力的恶意软件。
  6. 勒索软件:防止用户与设备交互的恶意软件,通过连续显示要求用户支付勒索金以删除该恶意软件的网页,或加密要求勒索金以检索解密密钥的个人文件。
  7. 特洛伊木马:以前的类不考虑其行为的任何恶意软件,如未经用户同意修改或删除设备中的数据的恶意软件,或通过USB连接设备时感染个人计算机的恶意软件。请注意,某些恶意应用可能属于这些类中的多个。例如,一些应用程序包括rootkit和Botnet功能,或者能够安装新的应用程序和发送短信。这八个类的引入是为了让MADAM能够对不同的恶意软件错误有效。实际上,每个恶意软件类执行一组错误行为,这些错误行为可以通过关联来自不同级别的特定功能的分析来识别。下面将详细介绍这种方法。

2.2基于多层次行为的特征分析正如我们之前强调的,MADAM需要在不同的层次上分析不同类型的特征,以检测恶意软件行为类的错误行为。因此,MADAM在四个级别监视Android系统,并检索五组功能(四组运行时,一组静态)。表1列出了监测特征的详尽列表。该表为每个功能报告相应的Android级别、功能组、其描述以及使用该功能的不当行为。特别是,在第一级(一级,内核级),MADAM监视发出的系统调用,这些调用描述最低级别的设备行为。实际上,应用程序或Android框架执行的任何操作最终都会转换成一系列系统调用。因此,从安全性的角度来看,MADAM会拦截被认为是关键的系统调用,特别是那些与文件操作相关的调用。这种方法的基本原理是,MADAM使用这些特性,检测与突然增加的系统调用相关的错误行为,特别是如果不是由用户活动引起的。这些错误行为与检测试图执行缓冲区溢出攻击的rootkit和访问用户文件的特洛伊木马程序有关。MADAM还监视由框架或应用程序调用的与安全相关的关键API(二级,应用程序级),以执行在安全方面可能很关键的操作。也就是说,被监视的操作是:(i)安装一个新的应用程序,(ii)请求管理员权限(恶意软件用来获得对设备的更大控制并避免删除),(iii)生成太多进程,(iv)在前台的应用程序(即与用户积极互动的应用程序)上持续监控这些关键的API调用,与检测与勒索软件、间谍软件、僵尸网络和安装程序恶意软件相关的不当行为相关。在这个级别上,由MADAM监控的另一组相关功能是SMS。事实上,超过90%的恶意软件在野外发现[3]与不当使用短信功能有关,这也给用户带来了直接的财务成本。还监视用户联系人列表,以检测SMS特洛伊木马的行为模式(详见第3.3节)。通过监视用户活动(级别III,用户级别),MADAM能够理解用户何时(或何时)与设备交互,将这两个行为(活动或空闲)与设备活动联系起来。事实上,当用户与手机交互时,设备上监视的事件(内核级和应用程序级)的数量通常高于用户不交互时的数量。这组功能与用户活动和短信息功能直接相关,以检测与间谍软件和僵尸网络相关的不当行为,即用户不活动时发送的消息,以及安装程序,即安装应用程序的恶意软件没有用户交互。最后,在静态分析方面,MADAM分析了静态的app元数据(四级,包级),即app声明的权限和信誉元数据,如评分、市场和下载号。MADAM使用这些功能在部署时对应用程序执行初步风险评估。应用程序的第一次评估将由运行时的MADAM框架使用,以确定哪些应用程序需要监控已知的错误行为模式。注意,如第3.2节所述,MADAM还对Android系统执行全局监控,该系统考虑所有应用程序执行的操作。

通过将这些功能的一个子集与分类关联,MADAM能够区分正常和异常的设备行为,并找出应用程序执行的恶意操作。另一方面,MADAM利用特征的进一步子集来检测已知的错误行为模式。检测算法将在第4节中描述。相反,在下一节中,我们将详细介绍MADAM体系结构、其组件及其交互以及MADAM如何从四个层次收集、分析和关联特征

  1. MADAM体系结构为了在四个系统级别派生特征,并检测和防止错误行为,MADAM可以逻辑地分解为四个主要的体系结构块,如图1所示(特别是,参见“MADAM体系结构”)。第一个是应用程序风险评估,其中包括应用程序评估器,该评估器在应用程序安装到设备上之前,对应用程序包(apk)的元数据(权限和市场数据)进行分析。此评估计算应用程序的风险分数,即应用程序是恶意软件的可能性。基于此风险评估,此组件将填充一组可疑应用程序(应用程序可疑列表),这些应用程序将在运行时受到监视。第二个块是全局监视器,它在三个级别监视设备和操作系统功能,即内核(SysCall监视器)、用户(用户活动监视器)和应用程序(消息监视器)。无论生成这些功能的特定应用程序或系统组件如何,这些功能都会受到监控,并用于塑造设备本身的当前行为。然后,这些行为被分类为真实(正常)或恶意(异常)的成分分类。第三个块是每个应用程序监控器,它实现一组已知的行为模式,以通过

    剩余内容已隐藏,支付完成后下载完整资料


    资料编号:[234373],资料为PDF文档或Word文档,PDF文档可免费转换为Word

您需要先支付 30元 才能查看全部内容!立即支付

课题毕业论文、外文翻译、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。