如何研究一个安全的安卓生态系统:对现有技术的调查
摘要:安卓系统的开放性和可扩展性使其成为流行的移动设备平台,以及推动物联网的强大候选平台。不幸的是,这些属性也让安卓系统变得脆弱,会因为有利可图或者有趣的特性而遭受他人攻击。为了减轻这些威胁,目前已经提出了许多针对特定问题的解决方案。随着安全问题和解决方案的数量和复杂性不断地增加,我们认为现在是时候系统地重新评估Android的安全架构和生态系统中的安全实践。我们将Android平台上最新的安全研究分为两类:软件栈和生态系统。对于以上两类,我们对其所存在的问题进行了全面叙述,指出了提出的解决方案的局限性,并确定了未来研究的方向性。基于所收集的信息,我们为构建下一代安全的Android生态系统描绘了蓝图。
CCS概念:移动平台的安全与隐私;恶意软件问题及缓解方法;社会层面的安全和隐私
关键字:安卓,移动恶意软件,调查,生态系统
1. 介绍
自2008年10月首款Android手机上市以来,安卓的系统安全就一直是人们关注的焦点。随着Android发展成为全球市场份额中最受欢迎的移动操作系统,针对安卓的攻击的数量和复杂性一直在继续增加[Svajcer 2014; Zhou and Jiang 2012]。
与此同时,对高端Android设备的安全需求也在不断增加。网络购物、手机银行和个人医疗等安全敏感应用程序越来越受欢迎。此外,由于安卓系统的开放性和可扩展性,Android开始不仅仅局限在智能手机发展,还出现在智能电视、汽车导航系统和家庭自动化系统中。因此,Android也被认为是不断增长的物联网生态系统中最有前途的平台之一。基于这些事实,人们可以轻易地预测到android将来的安全格局。
由于对准备一个安全的安卓平台的迫切需求,我们相信现在是重新系统评估安卓安全体系结构和生态系统中的安全实践的正确时机。在过去的几年里,许多安全问题被发现,并提出了许多防御技术来解决这些问题。然而由于安卓生态系统的规模和复杂性,每项研究工作通常只关注一个特定的问题。当下正缺少指导整体生态系统优化的整体蓝图,我们将着手分析、分类和评估目前提出的解决方案,并阐明构造下一代安卓生态系统的方法。
在这篇文献中,我们调查了在顶级会议和期刊上介绍的与Android相关的研究和开发工作。在不失去一般性的情况下,我们以安卓恶意软件攻击和防御为主题,将恶意软件定义为任何攻击性工具来实现他们的目标。需要注意的是,恶意软件几乎可以采取任何形式,比如利用内核漏洞的根工具包,恶意网络域滥用不当使用安全套接字层(SSL),或者只是重新包装一个流行的Android应用程序。恶意软件可以实现多个目标,包括但不限于侵入性广告(广告软件)或损害隐私(间谍软件)。因此,关于恶意软件的讨论提供了对各种安卓安全主题的广泛覆盖。我们基于进攻和防御技术的重点在于的两个关键领域来阐述:
(1)安卓软件堆栈:恶意软件试图利用系统的弱点或设计错误来渗透和执行预期的操作。 一旦恶意软件在设备部署,它就可以利用Android操作系统中的漏洞来获取root特权, 或者利用权限系统中的漏洞来欺骗系统。它还可能滥用诸如动态代码加载等特性来挂载攻击或使用侧通道和隐蔽通道。
(2)安卓生态系统:恶意软件试图逃避应用程序的审查和检测,以达到吸引用户下载或找到替代的分销渠道来接触终端用户的目的。攻击者通常模仿一个流行的应用程序的外观,甚至重新包装它,以欺骗幼稚的用户安装他/她的恶意应用程序。恶意软件还可能使用混淆技术来隐藏其攻击意图和逃避系统对恶意软件的检查。
本文的剩余部分阐述内容如下:第二节包含了关于Android平台安全体系结构和当前生态系统中的安全实践的背景知识:理解本文其余部分的必要性。第3-7节描述了安卓软件堆栈上的进攻和防御技术。第8-11节描述了安卓生态系统上的进攻和防御技术。在第12节中,我们将对安卓平台在不久的将来可能面临的问题提出我们的看法。我们还讨论了如何面对物联网(Lot)的发展趋势以及日益增长的隐私保护需求。基于这些调查成果,我们将在第13节中阐述我们对下一代安卓生态系统的设想,其中反恶意软件技术被部署在每位核心参与者旁。
2. 理解安卓安全
本节说明了我们对当前Android安全架构的看法。首先将全面概述安卓组件分层设计,重点关注与安全相关的组件;然后我们将讨论Android生态系统中目前的安全措施。这个部分还可以作为用于查找感兴趣的切入口。
2.1. Android 平台安全架构
在Android平台的分层架构中,上层组件的安全建立在下层组件的安全之上。与传统的观点相反,Android安全完全依赖于Android开源项目(AOSP) [Android Developers 2016b]。我们在图1中提出的架构考虑的是更大的生态系统,包括原始设备制造商(OEM)、运营商和谷歌。它还阐明了这些实体在构建安全的Android系统中的角色和关系。
2.1.1. Android操作系统。Linux内核是整个软件栈的基础。Android利用Linux的自由访问控制(DAC)实现了应用程序级的沙盒。通过为每个应用分配一个唯一的UID, Android在基于UID的进程边界内隔离各个应用。因此,应用程序在默认情况下不能与其他应用程序交互,只能访问自己沙箱中的资源(例如,自己的文件)。类似地,每个系统资源(如网络、声音等)被分配一个唯一的GID。分配GID是为了授予应用程序对特定资源的访问权,应用程序的UID被添加到资源的GID组。虽然许多Android应用运行在Dalvik虚拟机(VM)中,但VM不像Java VM那样提供额外的沙箱,所以Android应用的唯一安全边界是基于DAC的应用沙盒。
这一层的攻击主要集中于利用特定的内核漏洞来破坏DAC沙箱,而防御技术则集中于加强内核,以消除漏洞或减少攻击发生时的影响。对该层的攻击和防御的详细描述将在第3节进行讨论。
2.1.2. Android应用框架(AAF)。为了给应用程序提供对资源(如GPS或联系人)的细粒度访问,需要Android从Linux DAC模型中抽象出来,在AAF中实现它的权限模型。获得权限的第一步需要开发者声明应用程序所需的资源;然后,用户在安装应用程序时批准声明的权限。研究人员利用这种权限模型探讨了许多安全问题,并提出了各种新的模型来解决这些问题,如第4节所述。
除了权限模型中的问题,Android应用隔离方案的另一个常见攻击方法是使用侧通道和隐蔽通道。在Android中,这些攻击方式特别是它们的缓解措施还没有被彻底研究过;因此,此类攻击将成为物联网等新平台的新威胁。我们在第五部分研究他们的资格、潜在威胁,以及可能的缓解措施。
除了权限模型之外,AAF还提供了一组丰富的特性,比如动态代码加载和可访问性。不幸的是,在现有的Android安全模型中修改新特性常常会引入漏洞。我们将在第6节系统地探讨它们。
2.1.3. 应用程序层。无论是预装的还是用户安装的Android应用程序,通常为了促进组件重用去遵循模块化设计。一个应用程序必须被划分为活动、服务、广播接收和内容提供。它们被一个AndroidManifest.xml文件规划在一起。大多数应用程序组件通过Intent(默认的组件间通信(ICC)通道)进行通信,并使用Content Provider与其他应用程序共享数据,Content Provider可以以类似SQL的方式查询。应用程序开发者也可以自由地用本地代码构建应用程序,并享受Android框架提供的丰富服务,如加密和SD卡访问。然而,如果开发者因为错误或粗心而未能利用这些服务或遵守上述原则,他们就会让自己的应用和用户成为攻击的对象。关于这个问题已经做了一些研究,如我们在第4节和第6节所描述的。
2.1.4. 设备碎片化。在图1中,灰色框中的组件反映了Android设备碎片化的影响。这些组件有时是由OEM和运营商等设备分销商高度定制的。然而,这种定制经常会引入新的安全问题,如第7节所述。
2.2. 整个生态系统的安全实践
与传统的桌面系统相比,像Android这样的移动平台通常有更多元化的参与者,这反过来又给生态系统带来了新的功能。例如,应用商店模式是所有主流手机生态系统中普遍存在的一种功能,它最近[1]才开始出现在桌面系统中(如Windows 10和Mac OS)。这些特性给Android平台安全带来了复杂性和机遇。
2.2.1. 核心参与者。在参与安卓生态系统的数百名利益相关者中,我们会关注四个对象:用户、开发者、应用商店和开放手机联盟(谷歌、OEM和运营商)。因为这些对象都是安卓生态系统的核心参与者。这些参与者之间的互动本质上是软件/应用程序和收入的流动。我们在图2中可视化了这些交互作用。当在生态系统中考虑攻击者(特别是恶意软件编写器)时(也如图2所示),交互图显示了生态系统应该实现的两个目标:(1)防止恶意软件伤害到终端用户,(2)防止攻击者从中获得利益。
2.2.2.防御恶意软件的实践方案。为了保护恶意软件攻击的对象,我们确定了以下方法,这些实践方案可以被不同的对象采用,以共同使生态系统更安全。
——恶意行为检测:为了检测应用程序的恶意行为,谷歌Play引入了Bouncer [Poeplau et al. 2014],一种恶意软件扫描服务,用于检测应用商店内以及预装程序中的恶意软件。研究人员也为此探索了各种各样的新技术(第8节)。
——重包装检测和预防:检测应用程序是否被重新包装,这对于一个成功和安全的生态系统至关重要。这一领域的研究吸引了许多研究人员(第9节)。
——切断传播渠道;与目前允许从其他商店下载应用的开放应用分发模式不同,研究人员建议切断应用商店和不可信来源的恶意软件的发布(第10节)。
——消除激励:Android的盈利模式涉及开发者和应用商店(如谷歌Play和Amazon app store)之间的收入分成。这种模式通过削弱恶意软件开发者的动机,从而间接地削弱了非法恶意软件(第11节)。
外文原文资料信息
[1] 外文原文作者:Meng Xu, Chengyu Song, Yang Ji, et al.
[2] 外文原文所在书名或论文题目:Toward Engineering a Secure Android Ecosystem: A Survey of Existing Techniques
[3] 外文原文来源:Meng Xu, Chengyu Song, Yang Ji, et al. Toward Engineering a Secure Android Ecosystem: A Survey of Existing Techniques. ACM Computing Surveys, 2016, 49(2): 1-47.
网页地址:https://dl.acm.org/doi/10.1145/2963145
-
外文原文资料:lt;
剩余内容已隐藏,支付完成后下载完整资料
英语原文共 47 页,剩余内容已隐藏,支付完成后下载完整资料
资料编号:[596094],资料为PDF文档或Word文档,PDF文档可免费转换为Word
以上是毕业论文外文翻译,课题毕业论文、任务书、文献综述、开题报告、程序设计、图纸设计等资料可联系客服协助查找。