任 璐,尹 青,常 瑞,蒋 航
数学工程与先进计算国家重点实验室,郑州 450001
ARM-Android平台的访问控制机制研究进展*
任 璐,尹 青,常 瑞+,蒋 航
数学工程与先进计算国家重点实验室,郑州 450001
Abstract:With the increasing dependence on mobile devices,the security of mobile platforms has aroused extensive attention.Android is a popular open source software stack for a wide range of embedded devices.As the core of system security,the access control mechanism of Android is always a hot spot.This paper focuses on access control mechanisms for the ARM-Android platform,including the hardware isolation,application sandbox and permissionbased protection methods.Several model enhancements in different system levels are analyzed according to the comparison of specific control strategies.Then the status of research on multi-level comprehensive access control schemes is summarized.Furthermore,combining ARM TrustZone isolation environment,this paper proposes an access control model and its key technology.Mechanism specifications are obtained through the system analysis,and the formal method is applied to model abstraction and demonstration.Based on the vulnerability analysis and formal modeling work,directions for the relevant research are discussed at last.
Key words:ARM-Android;access control;model enhancement
随着人们对移动设备的依赖,移动设备的安全性问题日益凸显。Android设备是应用广泛的开源性移动平台,其访问控制机制作为系统安全的核心,更是备受关注。针对ARM-Android系统的硬件隔离、系统沙箱和权限保护机制,根据具体策略进行分类对比,综合分析了不同系统层次的模型改进方案,并总结了多层次综合策略访问控制的研究现状。进一步结合ARM TrustZone隔离环境,提出了一种系统访问控制的安全模型及关键实现技术,通过系统分析得到机制规范,并利用形式化方法进行了模型抽象和证明。最后根据安全机制的漏洞分析和形式化建模工作,梳理了相关研究方向。
ARM-Android;访问控制;模型改进
在自携设备(bring your own device,BYOD)、工业4.0等新型应用场景下,伴随着Android系统的应用急剧增长及迅速更新换代,移动嵌入式设备的安全需求更加复杂,Android的安全研究也随之发展,如系统安全分析与系统改进[1-4]、应用分析与恶意检测[5-7]等。
设备应用环境的多样化,对系统访问控制也有了更高的要求。ARM-Android作为流行的移动平台架构,主要通过自主访问控制进行系统保护,在访问控制粒度和授权管理上仍暴露出许多安全漏洞,如CVE-2015-38581)http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-3858.、CVE-2016-08052)http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2016-0805.漏洞等,因此访问控制模型研究一直是工业和学术界研究的热点。此外,当前的可信执行技术也为系统安全提供了更强的硬件隔离环境,利于实现更底层的访问控制。然而由于嵌入式设备的资源受限,硬件隔离技术的应用生态并不成熟,尚未出现一个通用的安全访问控制模型,缺少理论支撑。
本文针对ARM-Android架构,重点总结了2010年以来的Android访问控制模型改进方案,并结合ARM TrustZone环境,提出了一种系统访问控制的安全模型及形式化建模和验证思路。结合机制安全性分析的相关工作,提出了可行的ARM-Android访问控制安全研究方向。
Android软件栈自底向上依次是内核、中间件和应用层,其中中间件包括运行时环境和系统库,以及应用框架层。Android能搭载在不同架构的硬件设备上,而ARM架构在功耗和成本上的优势使其在移动终端占主要地位,其系统结构如图1所示。
Fig.1 ARM-Android system architecture图1 ARM-Android系统结构
访问控制是信息安全保障机制的核心内容,传统的控制机制包括强制访问控制(mandatory access control,MAC)和自主访问控制(discretionary access control,DAC)。其中MAC通常是由系统对数据和用户划分安全等级标签,用户不能改变对象安全级别。DAC允许对象的属主来制定该对象的保护策略,具有易用性与可扩展性。
根据策略应用的具体场景,基本的访问控制模型中加入了更多的授权环境要素,如基于角色的访问控制(role-based access control,RBAC)、基于任务的访问控制(task-based access control,TBAC)、基于属性的访问控制(attribute-based access control,ABAC)等,它们根据各自需求,能够综合实现MAC和DAC策略。图2(a)是ABAC的基本授权示意图。
在开放式网络环境中动态、连续的访问控制需求下,使用控制的核心模型增加义务和条件作为授权相关元素[8],即访问决策时要考虑主体获得或行使对客体的访问权前或过程中必须完成的操作和满足的约束条件,其模型示意如图2(b)所示。
Fig.2 Access control model图2 访问控制模型
根据ARM-Android的系统结构,其访问控制机制主要包括硬件层、中间件及应用框架层安全,如表1所示。
Table 1 Access control mechanisms for ARM-Android platforms表1 ARM-Android平台的访问控制机制
(1)ARM硬件隔离机制
近年主流的系统底层隔离技术包括构建可信执行环境(trusted execution environment,TEE)及虚拟化方式。其中TEE[9]主要基于CPU的特殊模式或安全硬件实现安全系统与普通系统的隔离。ARM TrustZone技术、SIM卡以及可信平台模块(trusted platform module,TPM)等,都提供了TEE环境。虚拟化在硬件层上增加虚拟器监控层Hypervisor,ARM正着力于硬件扩展,提供虚拟化支持。
ARM TrustZone[10]作为最具代表性的TEE方法,得到了研究者和工业界的关注利用。TrustZone技术隔离片上系统硬件和软件资源,使它们处于两个区域,分别用于安全子系统和存储其他内容,其整体架构如图3所示,其中硬件逻辑可确保普通世界组件无法访问安全世界资源。
Fig.3 ARM TrustZone architecture图3 ARM TrustZone架构图
(2)Android沙箱隔离
Android使用内核层Linux的访问控制机制和运行时的虚拟机来实现沙箱隔离,从系统底层提供了基本的访问控制机制。
设备中的应用程序在安装时,Android为每个应用程序包进程分配一个单独的用户空间,并为它创建一个隔离的沙箱,拥有独立地址空间和资源,使得不同应用程序和进程间能够互相隔离。
(3)Android权限机制
在应用程序框架层,Android定义了权限机制,对应用可以执行的某些具体操作进行权限细分和访问控制,并向用户通知应用程序使用的权限情况。
每个权限被定义成一个字符串,权限可由系统或用户定义,主要包含权限名称、所属权限组和保护级别,保护级别代表了应用使用权限时的认证方式。
Android6.0版本3)https://developer.android.com/guide/topics/security/permissions.html.实现了运行时权限动态检测。用户可以直接安装应用,当应用的权限请求中包含不恰当的权限时,用户可以拒绝授权。在程序运行时刻,系统通过引用监视器,监控组件通信过程,对权限保护的组件进行权限检查,判断通信过程是否能够进行。
在ARM-Android已有的访问控制机制基础上,研究者在硬件、内核、中间件以及综合层次对模型进行改进优化,增强机制安全,实现开放环境下可信方对敏感信息的使用控制,具体研究如下。
移动设备的访问控制机制普遍利用软件实现,其部署开销和维护成本较高,系统隔离技术的日渐成熟为访问控制提出了新的发展方案。
Sabt等人[9]提出结合可信计算环境的使用控制方案,通过TPM保护加密数据,然而TPM只能提供预定义的编程接口,存在局限性。Xu等人[11]提出基于TrustZone的嵌入式系统访问控制增强模型,采用Domain and Type Enforcement、Bell-Lapadula等多策略的访问控制方案。在分布式计算环境下,Bonnet等人[12]提出TEE上部署存储、计算和数据传输架构等,进行互联网数据的共享使用控制。
此外,ARM TrustZone技术也为虚拟化提供了硬件支持。Varanasi等人[13]基于现有的硬件扩展技术,最早设计和实现了一个支持完全虚拟化的虚拟机监视器(virtual machine monitor,VMM),并在模拟硬件上进行性能测试。vTZ[14]提出TEE虚拟化方案,结合硬件虚拟化和TrustZone来支持多个相互隔离的安全空间,并允许无缝地从TEE部署到虚拟化环境。在工业界,ARM TrustZone架构也在嵌入式设备上得到广泛应用,如华为和支付宝采用的指纹支付技术、三星KNOX等。
在内核层对沙箱隔离机制进行改进,主要通过Linux内核提供的接口挂接相应钩子,形成MAC模型。按照实现原理,改进方案主要分为以下两种。
(1)基于标签的访问控制
由SELinux保护的操作系统为每个对象和主体存储安全上下文标签,每个访问控制决策都依赖于访问主体和客体的标签。Shabtai等人[15]克服了系统结构、安全配置等问题,将SELinux用在Android系统中,然而系统较为复杂,策略创建、优化和维护消耗较大。
(2)基于路径名的访问控制
Baláž等人[16]在Linux内核中增加了一个安全模块,为每个应用定义安全策略,当应用程序进行系统调用时,进入访问控制模块,与应用请求的资源路径名匹配,实现MAC策略。
Liu等人[17]针对Android数据同步和程序调试时的权限泄露隐患,令手机用户对每个文件建立控制策略,包含文件路径和对应的权限列表,根据对应系统调用的参数与文件路径名进行匹配,实现访问控制。
在中间件对Android权限机制进行改进,目标集中在静态授权扩展,访问控制粒度细化,防止权限提升攻击等方面。按照实现原理,中间件的改进可主要分为以下几种。
Fig.4 Policy tree of Saint model图4 Saint安全策略树
(1)基于策略的访问控制
Apex[18]扩展了基本的权限策略,增加运行时访问控制,允许用户动态改变授权,保持向后兼容性。Saint[19]根据Android系统不同层次的安全需求,完善了原有的权限机制策略,进而实现细粒度的访问控制,如图4所示。
(2)基于行为的访问控制
Lei等人[20]利用时序逻辑描述语言,为关键系统资源访问定义安全的行为模式,动态监视应用行为,实现访问控制。研究者在中间件增加资源访问安全行为定义、分配和实施模块,证明能有效抵御短信服务的恶意攻击,但该方案存在安全行为模式定义的局限性,且当访问的安全资源增加时,性能损耗增加,系统难以部署和维护。
(3)基于标签的访问控制
YAASE[21]将保护数据与用户定义的标签结合,利用TaintDroid[22]进行数据和跟踪,并根据细粒度访问策略控制数据传递,防止恶意软件通过网络访问或共谋攻击窃取敏感信息。Huang[23]在Android应用框架层中引入保护域和应用白名单,根据白名单将安装应用与相应保护域绑定。将Android应用的保护域作为访问控制的标签,保证应用授予的权限范围,进而限制应用行为。然而,该方案仅使用权限静态分析,在应用安装时刻指派保护域,仍存在运行时的权限泄露。
(4)基于上下文的访问控制
CRePE[24]是早期在Android系统中实现上下文相关的访问控制方案。根据用户定义的上下文控制策略,在不同情境转换时对应用权限进行细粒度控制。在中间件,CRePE对系统代码进行修改,增加了必要构件,并为用户和可信方提供了策略定义接口。Shebaro等人[25]使用轻量级的控制方案,利用4个构件收集上下文信息,进行策略管理和执行,增加应用对资源的访问权力、系统方法、功能、用户数据和服务的限制。
多层次的安全策略同时借鉴了沙箱隔离和权限机制的改进模型思想,实现更加灵活的访问控制。
Bugiel等人[26]通过对Android的系统行为进行启发式分析,提出一个以系统为中心,策略驱动的多层次运行时控制,在中间件控制通信,并提供内核和中间件间的回调机制。MPdroid[27]在内核层利用Linux安全模块(Linux security module,LSM)对进程间通信进行控制,在应用框架层采用RBAC机制,框架层中的RBAC数据库包括角色信息、权限信息和对应用的控制规则。
TrustDroid[28]实现了Android软件栈上不同层次上的隔离。在内核层使用TOMOYO模型,在中间件控制域间的通信和数据访问,在应用层允许基于上下文的网络访问控制。该方案增加轻量级有效隔离,为访问控制安全提供了新方向。
结合分布式系统架构中的使用控制策略,Lazouski等人[8]针对云端使用控制交互的终端设备,通过部署数据保护系统和UXACML授权系统两个主要部件,实现了数据使用控制方案。其中,受保护的数据在设备中加密存储,数字保护系统控制数据访问,授权系统提供访问决策与授权。
Bai等人[29]则采用在使用控制模型上增加上下文感知的方案,构建ConUCON模型。形式化模型包括7个构件,分别是主体、客体、属性状态、权力、权限、义务和上下文。其中上下文定义为环境和系统属性,如CPU速率、电池、设备位置和时间等。
表2对强制访问控制、权限机制以及使用控制机制在Android系统中的利用效率、灵活性和易用性等方面进行对比分析。表3具体总结了Android不同系统层次的访问控制方案。联系不同系统层次下模型改进的优缺点,可以提出进一步的优化方向。采用多层次多策略的访问控制方案,能够综合策略的性能优势,然而这也同时增加了方案实现的复杂度,控制模型的设计不适用于复杂的机制实现。因此在优化访问控制策略的基础上,也需要选择一种面向应用实现的模型设计方法。
Table 2 Comparison of access control mechanisms表2 访问控制机制对比
基于TrustZone架构的Android系统中,安全机制复杂,实现和证明难度较大,实际中也并未出现理想的系统设计方案与完备的评测体系。本研究从ARM-Android平台的访问控制着手,设计轻量级机制,并应用B方法进行模型抽象和规范的形式化证明,在理论上保证设计模块的安全性,并通过相应工具生成系统可执行代码,保证工程实现与理论模型的统一,具有可行性。针对访问控制机制的形式化抽象和分析方法,也能作为其他安全模块的构建和分析基础,为更多的安全机制设计与系统安全证明提供一种实际有效的途径。
Table 3 Access control security enhancements forAndroid表3 Android访问控制改进方案
在TrustZone架构上实现Android系统保护,需要在嵌入式内核中集成TrustZone驱动,并在中间件实现TrustZone本地系统库和客户端服务进程,Android系统本身也提供了强大的技术支持。以手机支付场景为例,对硬件安全世界内的敏感信息进行访问控制,大体过程如下:
(1)普通世界(normal world,NW)中,Android应用层的支付应用向应用框架层的TrustZone客户端服务发出请求。
(2)TrustZone客户端服务收到应用请求后,调用TrustZone API实现的本地系统库,向内核层的Trust-Zone驱动发出请求。
(3)TrustZone驱动处理相应的请求,通过SMC命令,切换到安全世界(secure world,SW)中的Monitor模式。
(4)在Monitor模式下,完全切换到安全操作系统的系统堆栈空间以及进程空间,安全操作系统通知TrustZone服务端处理任务,进而分发安全性任务请求。
(5)SW中,安全操作系统的应用层处理对应的任务请求,具体执行安全代码、敏感资源和相关外设访问。
(6)SW中的任务执行完毕后,根据需求切换到NW。
可见,一个基本的访问过程包含硬件、软件两个层次,涉及了两个独立的操作系统及其切换过程等。因此需要根据实际的系统结构分层建立基本抽象机,在操作规范中不仅要描述完整的资源访问过程,还有系统世界切换动作,保证敏感资源始终处于安全隔离状态。
此外,在Android软件栈中的访问控制包含了内核层和中间件层次,类似于传统操作系统中的用户空间和内核空间,软件抽象机需要进一步分层,描述用户空间的应用运行与通信,并对应内核空间中的进程通信,在内核空间中实现基于策略的强制访问控制。根据上述分析,将采用形式化B方法模块化构建系统抽象机。
在安全攸关的领域,利用基于模型的形式化方法进行软件系统开发,可以弥补常见的需求规格说明与需求管理的缺陷。B方法[30]作为典型的形式化方法,在Atelier B等工具支持下,能够根据需求构建抽象模型,对抽象机不断精化,最终生成系统的可执行代码,其过程如图5所示。它在保证精确的形式化语义和严格推理的同时,更面向实际和计算机应用。
Fig.5 Construction process of B method-based access control module图5 基于B方法的访问控制模块构建流程
依据上述系统分析,需要对两个层次的访问控制机制进行抽象。以硬件层访问控制机制为例,首先对控制规则进行非形式化描述,再通过形式化抽象,得到抽象机规范。建模过程中并未描述应用、组件通信、SW中的安全存储、完整性验证等细节,这是由于初步的模型高度抽象,主要包含安全属性强相关的抽象结构,在后续的模型精化过程中可以加入更多的具体化操作,用更接近计算机实现的结构代替抽象结构。
(1)基本要素
针对系统进程对敏感资源的访问控制,需要定义基本的部分访问控制要素和控制规则。其中,基本要素包括资源实体、系统状态等,各要素抽象应当符合B方法的语法定义。要素对应的系统操作定义应保证满足定义的访问控制规则。系统抽象机的访问控制规则和部分要素分别如表4、表5所示。随着抽象机规模的扩大,访问要素及规则会继续增加。
(2)构建抽象机
依据上述访问控制要素建立抽象机M1,建立TrustZone的访问控制形式化规范,形式如图6所示。
对Android软件层次的访问控制机制的抽象与上述步骤类似,在Android访问控制模型研究的基础上,提出对系统资源的强制访问控制策略,并进行规范证明。在构建软件层的抽象机时,可以进一步分解为内核层、中间件的访问控制机制,独立的成员抽象机的内在一致性可以独立证明。在构建硬件、软件层次的抽象机M1、M2后,以递增的方式构造抽象机规范,组合构建为ARM-Android平台上的访问控制模块,图7(a)是抽象机合并构造的语法定义,(b)是整体结构。
Table 4 Basic control rules表4 基本控制规则
Fig.6 Abstract machine of hardware layer图6 硬件层抽象机
Fig.7 Formal model structure图7 形式化模型结构图
Table 5 Basic elements of access control mechanism表5 访问控制基本要素
在得到B语言描述的访问控制机制形式化规范后,进一步精化,在抽象模型中加入具体细节,并利用Atelier B工具生成证明任务,通过证明得到最终的可实现代码。
尽管ARM-Android采用了多层次的安全模型保证应用隔离和访问控制,其中仍存在系统漏洞,造成权限泄露等。对安全机制进行漏洞挖掘和形式化分析,也是机制研究的重要工作。以Android权限机制分析为例,研究者通过分析策略实现中的漏洞,用形式化方法分析安全策略的定义描述,保证安全机制完备性。
Faruki等人[1]对Android系统安全进行综述,提出Android系统安全问题主要分为版本更新、Native代码执行以及不同威胁攻击。Fang等人[2]从直接、间接两方面详细分析了Android权限机制的安全风险,包括过度授权、权限提升攻击等。其中,应用级别的权限提升攻击可以分为混淆代理攻击和共谋攻击。Felt等人[31]将权限提升称为权限再次授权攻击,分析了其攻击方法和防御方案。此外,尽管Android系统新版本采用新的权限机制,并加强内核层的访问控制,但仍无法达到预期安全性,对于广大用户仍存在文档说明不足,权限控制不力,影响用户体验等现实问题。因此,仍需要在理论分析和工程实践两方面对Android访问控制机制深入研究。
Shin等人[32]最早针对权限机制建立了一个基于状态的形式化模型,根据官方文档对机制安全规范进行抽象,利用Coq工具辅助性证明机制安全规范存在的不足。该模型没有考虑应用与系统之间的交互关系。Fragkaki等人[33]从系统动态角度对Android权限机制进行抽象建模,直接对应用组件进行形式化定义,分析权限再次授权和撤销过程中的安全属性。该模型缺少其他属性的相关操作定义,如权限保护级别定义等。
随着Android平台更新和机制研究逐步成熟,Betarte等人[34]提出了一个综合的权限机制状态机模型,在Android应用定义中增加对组件的描述,并考虑到运行时实例化等,其完整性、可表达性更强。与单纯地构建权限形式化系统不同,Armando等人[35]采用基于语言的形式化建模,扩展了Chaudhuri[36]提出的类型系统,建立Android应用框架模型和多层统一的完整评估方案。
不同于Shin[32]和Betarte[34]的工作,本文建立的形式化访问控制模型考虑了硬件隔离,并综合多层次策略,旨在构建满足安全需求的可行模块。文献[33]同样采用了从抽象模型到工程实践的思路,提出了SOREBET方案,但文中的模型抽象化程度高,无法证明形式化模型和应用实现的统一性。而本文利用了形式化B方法面向应用的独有特点,抽象模型中的操作对应工程应用中的动作,并始终维持定义的安全不变式,通过逐步精化引入可实现结构,能够保证理论与实践的统一。形式化建模为访问控制机制研究提供了理论支撑,同时工程实现暴露出的机制漏洞,为抽象模型的安全性条件提供补充,促进模型的完善和进一步实现。
总结近年来ARM-Android访问控制机制研究可以看出,一些成熟的访问控制模型在平台中并不能充分适用,同时在开放环境下,需要软硬件结合的隔离执行方式。综合考虑平台攻击和访问控制模型的实用性、可靠性,提出以下几点研究趋势:
(1)建立面向隔离执行环境的ARM-Android平台的轻量级访问控制模型,实现细粒度权限机制,并尽可能减小可信计算基的规模。
(2)结合常见形式化规范语言和定理证明方法,建立合理的形式化模型,并在理论上对访问控制机制进行安全性分析。
(3)针对模型中的规则冲突问题,进行有效的冲突检测,保证访问控制规则的一致性和完整性。
(4)基于ARM-Android平台在开放环境下的多种安全需求进一步完善机制,包括数据安全、安全连接、管理策略安全等需求,构建成体系的模型系统。
本文根据ARM-Android平台的访问控制机制分析,为上述研究趋势提出一个可行方案:采用基于标签的访问控制方法,定义关键资源的上下文标签,将应用的使用权限具体映射到系统资源以细化权限粒度,并进行使用控制。明确安全方案的保护目标,针对防止权限泄露定义访问策略和安全属性,建立相应的威胁模型。进一步利用B语言形式化描述访问控制方案,并对系统安全性进行逻辑证明。基于形式化B方法建立访问控制模型,既能够在抽象阶段通过类型检查和模型证明检验设计方案的正确性和完备性,又能够保证工程实现与形式化模型相统一,避免安全机制规范的不足。这是嵌入式系统访问控制安全领域内的较新尝试。
本文针对ARM-Android平台上的访问控制机制研究,总结了系统不同架构层上的安全机制,并分类对比了不同策略的访问控制模型改进方案。基于ARM TrustZone架构,提出建立多层次、轻量级的访问控制模型,并利用B方法进行形式化规范和验证的研究方案。通过抽象控制要素和控制规则,限制系统对敏感资源的访问操作。结合形式化B方法面向应用的特点,通过建立规范抽象机,逐步精化实现可执行的代码模块。最后结合机制安全分析相关工作,提出未来研究的方向,分析利用B方法进行访问控制模块设计的特点,保证形式化模型抽象与工程实际相统一。
[1]Faruki P,BharmalA,Laxmi V,et al.Android security:a survey of issues,malware penetration and defenses[J].IEEE Communications Surveys&Tutorials,2015,17(2):998-1022.
[2]Fang Zheran,Han Weili,Li Yingjiu.Permission based Android security:issues and countermeasures[J].Computers&Security,2014,43(6):205-218.
[3]Zhang Yuqing,Wang Kai,Yang Huan,et al.Survey of Android OS security[J].Journal of Computer Research and Development,2014,51(7):1385-1396.
[4]Arena V,Catania V,La Torre G,et al.SecureDroid:an Android security framework extension for context-aware policy enforcement[C]//Proceedings of the 2013 International Conference on Privacy and Security in Mobile Systems,Atlantic City,USA,Jun 24-27,2013.Piscataway,USA:IEEE,2013:1-8.
[5]Sahs J,Khan L.A machine learning approach to Android malware detection[C]//Proceedings of the 2012 European Intelligence and Security Informatics Conference,Odense,Denmark,Aug 22-24,2012.Washington:IEEE Computer Society,2012:141-147.
[6]Feng Yu,Anand S,Dillig I,et al.Apposcopy:semanticsbased detection of Android malware through static analysis[C]//Proceedings of the 22nd International Symposium on Foundations of Software Engineering,Hong Kong,China,Nov 16-21,2014.New York:ACM,2014:576-587.
[7]Zhou Yajin,Wang Zhi,Zhou Wu,et al.Hey,you,get off of my market:detecting malicious Apps in official and alternative Android markets[C]//Proceedings of the 19th Annual Network and Distributed System Security Symposium,San Diego,USA,Feb 5-8,2012.Reston,USA:The Internet Society,2012.
[8]Lazouski A,Martinelli F,Mori P,et al.Stateful data usage control for Android mobile devices[J].International Journal of Information Security,2016,8743:1-25.
[9]Sabt M,Achemlal M,Bouabdallah A.Trusted execution environment:what it is,and what it is not[C]//Proceedings of the 14th International Conference on Trust,Security and Privacy in Computing and Communications,Helsinki,Finland,Aug 20-22,2015.Washington:IEEE Computer Society,2015:57-64.
[10]ARM security technology building a secure system using TrustZone technology[EB/OL].[2017-01-06].http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.prd29-genc-009492c/index.html.
[11]Xu Yanling,Pan Wei,Zhang Xinguo.Design and implementation of secure embedded systems based on TrustZone[C]//Proceedings of the 2008 International Conference on Embedded Software and Systems,Chengdu,China,Jul 29-31,2008.Washington:IEEE Computer Society,2008:136-141.
[12]Bonnet P,González J,Granados J.A distributed architecture for sharing ecological data sets with access and usage control guarantees[C]//Proceedings of the 7th International Congress on Environmental Modelling and Software,San Diego,USA,Jun 15-19,2014:1-7.
[13]Varanasi P,Heiser G.Hardware-supported virtualization on ARM[C]//Proceedings of the 2011 Asia-Pacific Workshop on Systems,Shanghai,Jul 11-12,2011.New York:ACM,2011:11.
[14]vTZ:TrustZone and TEE virtualization[EB/OL].[2017-01-18].https://www.trustkernel.com/en/products/hypervisor/vtz.html.
[15]Shabtai A,Fledel Y,Elovici Y.Securing Android-poweredmobile devices using SELinux[J].IEEE Security&Privacy Magazine,2010,8(3):36-44.
[16]Baláž A,Madoš B,Ambróz M.Android access control extension[J].Acta Informatica Pragensia,2015,4(3):310-317.
[17]Liu Changping,Fan Mingyu,Wang Guangwei,et al.Lightweight access control oriented toward Android[J].Application Research of Computers,2010,27(7):2611-2613.
[18]Nauman M,Khan S,Zhang Xinwen.Apex:extending Android permission model and enforcement with user-defined runtime constraints[C]//Proceedings of the 5th ACM Symposium on Information,Computer and Communications Security,Beijing,Apr 13-16,2010.New York:ACM,2010:328-332.
[19]Ongtang M,Mclaughlin S,Enck W,et al.Semantically rich application-centric security in Android[J].Security&Communication Networks,2012,5(6):658-673.
[20]Lei Lingguang,Jing Jiwu,Wang Yuewu,et al.A behaviorbased system resources access control scheme for Android[J].Journal of Computer Research and Development,2014,51(5):1028-1038.
[21]Russello G,Crispo B,Fernandes E,et al.YAASE:yet another android security extension[C]//Proceedings of the 3rd International Conference on Privacy,Security,Risk and Trust and 3rd International Conference on Social Computing,Boston,USA,Oct 9-11,2011.Piscataway,USA:IEEE,2011:1033-1040.
[22]Enck W,Gilbert P,Han S,et al.TaintDroid:an informationflow tracking system for realtime privacy monitoring on smartphones[J].ACM Transactions on Computer Systems,2014,32(2):5.
[23]Huang Qing.An extension to the Android access control framework[D].Linköping,Sweden:Linköping University,2011.
[24]Conti M,Crispo B,Fernandes E,et al.CRêPE:a system for enforcing fine-grained context-related policies on Android[J].IEEE Transactions on Information Forensics&Security,2012,7(5):1426-1438.
[25]Shebaro B,Oluwatimi O,Bertino E.Context-based access control systems for mobile devices[J].IEEE Transactions on Dependable&Secure Computing,2015,12(2):150-163.
[26]Bugiel S,Davi L,Dmitrienko A,et al.Towards taming privilege-escalation attacks on Android[C]//Proceedings of the 19th Annual Network and Distributed System Security Symposium,San Diego,USA,Feb 5-8,2012.Reston,USA:The Internet Society,2012:346-360.
[27]Guo Tao,Zhang Puhan,Liang Hongliang,et al.Enforcing multiple security policies for Android system[C]//Proceedings of the 2nd International Symposium on Computer,Communication,Control and Automation,Singapore,Dec 1-2,2013.Red Hook,USA:CurranAssociates,2013:165-169.
[28]Bugiel S,Davi L,Dmitrienko A,et al.Practical and lightweight domain isolation on Android[C]//Proceedings of the 1st ACM Workshop Security and Privacy in Smartphones and Mobile Devices,Chicago,USA,Oct 17,2011.New York:ACM,2011:51-62.
[29]Bai Guangdong,Gu Liang,Feng Tao,et al.Context-aware usage control for Android[C]//LNICST 50:Proceedings of the 2010 International Conference on Security and Privacy in Communication Systems,Singapore,Sep 7-9,2010.Berlin,Heidelberg:Springer,2010:326-343.
[30]Abrial J R.The B-book:assigning programs to meanings[M].New York:Cambridge University Press,2005.
[31]Felt A P,Wang H J,Moshchuk A,et al.Permission redelegation:attacks and defenses[C]//Proceedings of the 20th USENIX Conference on Security,San Francisco,USA,Aug 8-12,2011.Berkeley,USA:USENIX Association,2011:22-22.
[32]Shin W,Kiyomoto S,Fukushima K,et al.A formal model to analyze the permission authorization and enforcement in the Android framework[C]//Proceedings of the 2nd International Conference on Social Computing,Minneapolis,USA,Aug 20-22,2010.Washington:IEEE Computer Society,2010:944-951.
[33]Fragkaki E,Bauer L,Jia L,et al.Modeling and enhancing Android’s permission system[C]//LNCS 7459:Proceedings of the 17th European Symposium on Research in Computer Security,Pisa,Italy,Sep 10-12,2012.Berlin,Heidelberg:Springer,2012:1-18.
[34]Betarte G,Campo J D,Luna C,et al.Verifying Android’s permission model[C]//LNCS 9399:Proceedings of the 12th International Colloquium on Theoretical Aspects of Computing,Cali,Colombia,Oct 29-31,2015.Cham:Springer,2015:485-504.
[35]Armando A,Costa G,Merlo A.Formal modeling and rea-soning about the Android security framework[C]//LNCS 8191:Proceedings of the 7th International Symposium on Trustworthy Global Computing,Newcastle upon Tyne,UK,Sep 7-8,2012.Berlin,Heidelberg:Springer,2012:64-81.
[36]Chaudhuri A.Language-based security on Android[C]//Proceedings of the 4th Workshop on Programming Languages and Analysis for Security,Dublin,Ireland,Jun 15-21,2009.New York:ACM,2009:1-7.
附中文参考文献:
[3]张玉清,王凯,杨欢,等.Android安全综述[J].计算机研究与发展,2014,51(7):1385-1396.
[17]刘昌平,范明钰,王光卫,等.Android手机的轻量级访问控制[J].计算机应用研究,2010,27(7):2611-2613.
[20]雷灵光,荆继武,王跃武,等.一种基于行为的Android系统资源访问控制方案[J].计算机研究与发展,2014,51(5):1028-1038.
Research Progress onAccess Control Mechanisms forARM-Android Platforms*
REN Lu,YIN Qing,CHANG Rui+,JIANG Hang
State Key Laboratory of Mathematical Engineering andAdvanced Computing,Zhengzhou 450001,China
A
TP309.1
+Corresponding author:E-mail:crix1021@163.com
REN Lu,YIN Qing,CHANG Rui,et al.Research progress on access control mechanisms for ARM-Android platforms.Journal of Frontiers of Computer Science and Technology,2017,11(10):1545-1556.
ISSN 1673-9418 CODEN JKYTA8
Journal of Frontiers of Computer Science and Technology
1673-9418/2017/11(10)-1545-12
10.3778/j.issn.1673-9418.1702049
E-mail:fcst@vip.163.com
http://www.ceaj.org
Tel:+86-10-89056056
*The National Natural Science Foundation of China under Grant No.61572516(国家自然科学基金).
Received 2017-02,Accepted 2017-07.
CNKI网络优先出版:2017-07-04,http://kns.cnki.net/kcms/detail/11.5602.TP.20170704.1805.004.html
REN Lu was born in 1993.She is an M.S.candidate at Information Engineering University.Her research interest is embedded system security.
任璐(1993—),女,河南开封人,信息工程大学硕士研究生,主要研究领域为嵌入式系统安全。
YIN Qing was born in 1968.She received the Ph.D.degree from Information Engineering University in 2006.Now she is a professor at Information Engineering University.Her research interest is computer application.
尹青(1968—),女,湖北武汉人,2006年于信息工程大学获得博士学位,现为信息工程大学教授,主要研究领域为计算机应用。
CHANG Rui was born in 1981.She received the M.S.degree from Wuhan University of Technology in 2007.Now she is an associate professor at Information Engineering University,and Ph.D.candidate and visiting scholar at Zhejiang University.Her research interests include computer architecture and embedded system security,etc.
常瑞(1981—),女,河南郑州人,2007年于武汉理工大学获得硕士学位,现为信息工程大学副教授,浙江大学博士访问学者,主要研究领域为计算机体系架构,嵌入式系统安全等。
JIANG Hang was born in 1989.He is an M.S.candidate at Information Engineering University.His research interest is embedded system security.
蒋航(1989—),男,浙江东阳人,信息工程大学硕士研究生,主要研究领域为嵌入式系统安全。