当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于B方法的Android访问控制建模与安全性分析方法技术

技术编号:26763217 阅读:41 留言:0更新日期:2020-12-18 23:22
本发明专利技术公开一种基于B方法的Android访问控制建模与安全性分析方法,该方法利用形式化语言B对Android访问控制中的安全属性和关键操作进行规约并建模,通过模型检测验证安全性。该方法提供了一种对Android访问控制建模并安全性分析的新方法,针对权限机制进行形式化抽象,设计组件实体抽象机并构建基础模型,在此基础上建立基于调用链、基于IPC追踪和基于细粒度策略的扩展模型,最后根据定理证明及模型检测结果分析该访问控制的安全性,为操作系统的安全机制建模和系统安全证明提供了一种实际有效的途径。

【技术实现步骤摘要】
一种基于B方法的Android访问控制建模与安全性分析方法
本专利技术涉及Android访问控制安全领域,具体涉及一种基于B方法的Android访问控制建模与安全性分析方法。
技术介绍
随着ARM-Android移动平台架构在物联网场景下大规模应用,其安全性问题成为工业和学术界的研究热点。Android是基于权限访问控制的系统,针对Android访问控制权限粒度过粗、权限管理不足、文件说明不充分等问题,目前提出了很多访问控制改进方案提高其安全性,如采用细化访问控制粒度的经典改进策略、在系统中间件实现基于行为的访问控制等方法。同时,针对权限提升攻击也提出了一些防御方案,如IPCInspection、Quire是针对Android运行时的应用通信,采用追踪IPC调用链的方法,动态调整应用权限,实现权限提升攻击的防御;Xmandroid模型利用系统策略的动态分析方法,在Android运行时架构中监控应用之间的通信,并采用了系统通信无向图的形式化表示方法,通过回溯算法枚举当前通信的应用节点及相邻节点实现增强的访问控制。但是在Android系统碎片化严重的现状下,依赖于系统版本的访问控制方案暴露出了应用局限性,方案实现缺少理论分析与验证,不能保证规则的完备性和正确性,其安全性也无法得到验证。综上所述,Android平台访问控制缺乏通用的访问控制形式化模型,无法提供统一的安全分析与验证方法。
技术实现思路
本专利技术的目的在于针对现有Android平台访问控制缺少理论分析与验证的现状,提供一种基于B方法的Android访问控制建模与安全性分析方法,具体技术方案如下:一种基于B方法的Android访问控制建模与安全性分析方法,该方法包括如下步骤:步骤一:对Android访问控制进行分析,提出建模目标与假设,并分析基本访问规则和系统中需要保证的安全属性;步骤二:抽象描述Android访问控制的基本实体要素,包括权限、组件和应用程序实体及其相互关系;步骤三:构建基本实体B模型,包括权限抽象机和组件抽象机,描述抽象机的基本属性及相关操作;步骤四:构建基础模型PermSys,定义PermSys模型中的关系变量及不变式,描述系统根据应用安装包的静态信息,添加应用及相关组件、权限关系的操作,同时描述安全机制中核心的权限检查规范,根据组件状态,定义组件通信中的状态迁移操作,描述同步关系,描述PermSys模型中与访问控制相关的重要操作;在描述组件状态迁移后,实现PermSys模型的构建;步骤五:在基础模型PermSys上增加调用链,构建ChainSys扩展模型,完整记录组件对连续调用的过程,实现更多权限链相关的安全扩展;步骤六:在ChainSys扩展模型的基础上增加对组件动态权限的记录变量,并按照权限缩减规则修改访问相关操作,在不变式中增加对该方案属性的描述,构建InspIPC扩展模型;在ChainSys扩展模型修改调用链操作并添加不变式描述,实现对权限链的完整记录和回溯描述,构建QuireIPC扩展模型;步骤七:在基础模型PermSys的基础上增加操作集合和两种黑名单变量,并根据控制规则添加不变式,增加访问控制操作,以满足既定安全不变式,构建基于细粒度策略的XmanRule扩展模型;步骤八:利用定理证明器完成类型检查和自动证明,对于未证明的证明义务,利用模型检测工具运行未能自动证明的操作,检测规范中是否存在死锁和不变式冲突,验证规范的完备性和正确性。进一步地,所述的步骤一中的安全属性包括唯一性、存在性、最小特权原则,所述的安全属性转化为抽象机中的实体、不变式和操作条件。进一步地,应用程序实体对象具体包含应用标识符、组件集合、权限关系;组件对象包含静态信息和动态信息,所述的静态信息包括标识符、类型、组件保护权限,所述的动态信息包括通信调用相关的状态变化;权限对象包含标识符、保护级别和权限组。进一步地,所述的权限抽象机包含权限名称、所属权限组及保护级别,具有添加、删除权限,更改所属权限组的操作;所述的组件抽象机包括由组件名称、类型、exported属性及其调用保护权限组成的静态信息、系统运行时的调用状态信息,具有增删组件、添加保护权限属性、改变组件状态的基本操作。进一步地,所述的步骤六中,在不变式中增加对该方案属性的描述具体为增加两条规则如下:规则1:当一个应用开始运行时,其权限集初始化为用户授予的所有权限;规则2:两应用通信时,接受者缩减特权,发送者保持权限集不变;将规则1形式化描述为:now_p(A)=grant(A);将规则2形式化描述为:系统出现请求C→D,则now_p(D)=now_p(D)∩now_p(C);其中,now_p(A)表示应用A拥有的权限集;grant(A)描述权限与应用之间的二元关系,表示已授予应用A的权限;进一步地,所述的步骤六中,所述的添加不变式描述为系统应保持调用链源的应用权限始终包含链上所有应用的权限,利用B语言将其形式化描述为:其中,Delchain表示组件调用链的集合;c_enforce描述权限与组件之间的二元关系,表示调用目标组件时需要的权限;last表示调用链上的目标组件;grant描述权限与应用之间的二元关系,表示已授予应用的权限;comps描述组件与应用之间的函数关系,表示应用包含的组件;first表示调用链上的源组件。进一步地,所述的步骤七中,所述的访问控制操作包括:操作1:对访问请求操作Out/In_req(cc1,cc2)进行补充和修改,除了基本的权限验证,增加黑名单过滤;操作2:增加访问成功和失败操作描述;其中,Out/In_req(cc1,cc2)表示组件cc1调用组件cc2。本专利技术的有益效果如下:本专利技术提出的基于B方法的Android访问控制建模与安全性分析的方法,该方法针对Android访问控制进行分析,明确基本访问规则和安全属性,描述基本实体要素并构建对应B模型,在建立权限和组件实体抽象机的基础上,递增构建基础模型;通过分析访问控制改进方案,在基础模型上添加不变式约束,修改并添加相应操作满足不变式安全规约,构建符合实际访问控制的扩展模型。通过形式化模型证明和检测,验证规范的正确性与完备性,为更多的安全机制建模和系统安全证明提供了一种实际有效的途径。附图说明图1是基于B方法建立的Android访问控制各抽象模型层次图。具体实施方式下面根据附图和优选实施例详细描述本专利技术,本专利技术的目的和效果将变得更加明白,应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术的基于B方法的Android访问控制建模与安全性分析方法,先递增构建基础模型PermSys,然后构建扩展模型ChainSys、InspIPC、QuireIPC、XmanRule,最后本文档来自技高网...

【技术保护点】
1.一种基于B方法的Android访问控制建模与安全性分析方法,其特征在于,该方法包括如下步骤:/n步骤一:对Android访问控制进行分析,提出建模目标与假设,并分析基本访问规则和系统中需要保证的安全属性;/n步骤二:抽象描述Android访问控制的基本实体要素,包括权限、组件和应用程序实体及其相互关系。/n步骤三:构建基本实体B模型,包括权限抽象机和组件抽象机,描述抽象机的基本属性及相关操作;/n步骤四:构建基础模型PermSys,定义PermSys模型中的关系变量及不变式,描述系统根据应用安装包的静态信息,添加应用及相关组件、权限关系的操作,同时描述安全机制中核心的权限检查规范,根据组件状态,定义组件通信中的状态迁移操作,描述同步关系,描述PermSys模型中与访问控制相关的重要操作;在描述组件状态迁移后,实现PermSys模型的构建;/n步骤五:在基础模型PermSys上增加调用链,构建ChainSys扩展模型,完整记录组件对连续调用的过程,实现更多权限链相关的安全扩展;/n步骤六:在ChainSys扩展模型的基础上增加对组件动态权限的记录变量,并按照权限缩减规则修改访问相关操作,在不变式中增加对该方案属性的描述,构建InspIPC扩展模型;在ChainSys扩展模型修改调用链操作并添加不变式描述,实现对权限链的完整记录和回溯描述,构建QuireIPC扩展模型;/n步骤七:在基础模型PermSys的基础上增加操作集合和两种黑名单变量,并根据控制规则添加不变式,增加访问控制操作,以满足既定安全不变式,构建基于细粒度策略的XmanRule扩展模型;/n步骤八:利用定理证明器完成类型检查和自动证明,对于未证明的证明义务,利用模型检测工具运行未能自动证明的操作,检测规范中是否存在死锁和不变式冲突,验证规范的完备性和正确性。/n...

【技术特征摘要】
1.一种基于B方法的Android访问控制建模与安全性分析方法,其特征在于,该方法包括如下步骤:
步骤一:对Android访问控制进行分析,提出建模目标与假设,并分析基本访问规则和系统中需要保证的安全属性;
步骤二:抽象描述Android访问控制的基本实体要素,包括权限、组件和应用程序实体及其相互关系。
步骤三:构建基本实体B模型,包括权限抽象机和组件抽象机,描述抽象机的基本属性及相关操作;
步骤四:构建基础模型PermSys,定义PermSys模型中的关系变量及不变式,描述系统根据应用安装包的静态信息,添加应用及相关组件、权限关系的操作,同时描述安全机制中核心的权限检查规范,根据组件状态,定义组件通信中的状态迁移操作,描述同步关系,描述PermSys模型中与访问控制相关的重要操作;在描述组件状态迁移后,实现PermSys模型的构建;
步骤五:在基础模型PermSys上增加调用链,构建ChainSys扩展模型,完整记录组件对连续调用的过程,实现更多权限链相关的安全扩展;
步骤六:在ChainSys扩展模型的基础上增加对组件动态权限的记录变量,并按照权限缩减规则修改访问相关操作,在不变式中增加对该方案属性的描述,构建InspIPC扩展模型;在ChainSys扩展模型修改调用链操作并添加不变式描述,实现对权限链的完整记录和回溯描述,构建QuireIPC扩展模型;
步骤七:在基础模型PermSys的基础上增加操作集合和两种黑名单变量,并根据控制规则添加不变式,增加访问控制操作,以满足既定安全不变式,构建基于细粒度策略的XmanRule扩展模型;
步骤八:利用定理证明器完成类型检查和自动证明,对于未证明的证明义务,利用模型检测工具运行未能自动证明的操作,检测规范中是否存在死锁和不变式冲突,验证规范的完备性和正确性。


2.根据权利要求1所述的基于B方法的Android访问控制建模与安全性分析方法,其特征在于,所述的步骤一中的安全属性包括唯一性、存在性、最小特权原则,所述的安全属性转化为抽象机中的实体、不变式和操作条件。


3.根据权利要求1所述的基于B方法的Android访问控制建模与安全性分析方法,其特征在于,应用程序实体对象具体包含应用标识符、组件集合、权限关系;组件对象包含静态信息和动态信息,所述的静态信息包括标识符、类型、组件保护权限,所述的动态信息包括通信调用相关的状态变化...

【专利技术属性】
技术研发人员:常瑞苗新亮任璐赵永望任奎赵俊单夏烨任新新段吉瑞
申请(专利权)人:浙江大学杭州光通天下网络科技有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1