CN111709017A - 安卓平台的细化增强权限管控与解析系统 - Google Patents

安卓平台的细化增强权限管控与解析系统 Download PDF

Info

Publication number
CN111709017A
CN111709017A CN202010550974.2A CN202010550974A CN111709017A CN 111709017 A CN111709017 A CN 111709017A CN 202010550974 A CN202010550974 A CN 202010550974A CN 111709017 A CN111709017 A CN 111709017A
Authority
CN
China
Prior art keywords
authority
user
permission
analysis
database
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202010550974.2A
Other languages
English (en)
Inventor
刘秀萍
高宏松
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Jingmen Huiyijia Information Technology Co ltd
Original Assignee
Jingmen Huiyijia Information Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jingmen Huiyijia Information Technology Co ltd filed Critical Jingmen Huiyijia Information Technology Co ltd
Priority to CN202010550974.2A priority Critical patent/CN111709017A/zh
Publication of CN111709017A publication Critical patent/CN111709017A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供的安卓平台的细化增强权限管控与解析系统,集细化增强授权管控系统、组合权限安全检测于一体,既有效解决了当前安卓系统粗粒度授权问题,又结合权限组合解析,在权限层面让用户更好理解应用程序安全程度,解决了用户的实际权限管控需求,设计并实现了一个细化增强授权管控系统,使得用户可对单一权限进行三种细化增强控制,提供动态的权限管控体系,在原始安卓系统上增加了权限组合解析单元,通过解析权限找到可能引起安全隐患的组合,将解析结果直观的展现给用户,帮助用户是否授权安装应用提供合理的判断;给权限赋予不同的等级和危险值,精准量化应用程序的威胁程度,具有巨大是推广应用价值。

Description

安卓平台的细化增强权限管控与解析系统
技术领域
本发明涉及一种安卓权限管控与解析系统,特别涉及一种安卓平台的细化增强权限管控 与解析系统,属于安卓平台权限管控技术领域。
背景技术
移动互联网飞速发展,移动设备的性能得到了极大改善,处理速度越来越快,用户体验 越来越好,手机已成为人们日常生活中最重要的连接纽带,应用场景越来越丰富和多样化。 作为在各平台上优势明显的安卓系统,在当今的移动互联网时代极端重要,成为亿万用户的 选择。在安卓平台上,用户可通过多种渠道随意下载安装第三方应用,最常见的方式是通过 第三方商店、手机厂商应用市场、运营商处下载安装。多种下载渠道的出现给用户带来便利 的同时也带来了一系列的问题,使安卓系统的安全面临严重而且前所未有的危机。由于应用 市场核查app的标准宽泛,安卓系统便成为了恶意软件的攻击对象,各种存在不同程度安全 隐患的应用便如雨后春笋般出现在各大市场,难以检测和监督。无论用户有意还是无意打开 应用,无论界面可见还是隐藏,只要智能手机工作,就时刻处于危险状态中,在用户不知情 的情况下带来安全隐患,系统安全得不到有效保障。
普通用户根据功能需要下载和安装应用,没有能力识别该应用是否存在安全隐患、是否 影响已有的安全体系,只能被动接受。安卓系统对这一问题提供了解决方法,包括用户安装 应用时展现应用所申请的权限页面,用户可选择安装和取消,用户可看到应用所申请的权限 信息列表,若选择安装就相当于默认同意所有的权限申请,若担心某个权限会有安全隐患, 只能取消应用安装。用户无法根据自己的意愿部分选择或者部分否决,即使意识到存在可能 的安全问题也没有判断依据,缺乏专业背景进一步让他们陷入窘境。因此应用是否成功安装 往往跟权限体系关系不大,取决因素是用户对采用该应用的需求程度,安装时对权限管控的 灵活性局限性大,依然没法达到理想效果,解决不了用户的实际问题。
安卓系统的这一问题受到了社会各界的广泛关注,现有市场上也出现了零星的相应产品, 但这些解决方法是以开发者为中心、粗粒度的授权体系,给普通安卓应用程序用户带来了极 大的不便,没有考虑普通用户实际使用场景和背景。而且安卓系统的开放性使得恶意软件的 开发成本降低,攻击方式越来越多样化,常见的方法无法从根本上解决那些申请敏感权限进 行恶意攻击的问题,用户的安全和利益得不到保障。另外,现有技术中缺少对组合权限进行 解析,但很大一部分恶意软件恰恰是利用这一漏洞肆意攻击安卓终端。单个权限不会带来巨 大威胁,但组合起来的后果却很严重,安卓系统中存在的多达百余种的权限,每项权限都有 其存在的意义,都是系统资源的必备条件,因此不能直接断定某一种或者某一类权限是不能 申请的,也不能因为申请了此类权限而断定该应用是恶意应用,因而当前大众对单一权限的 信任度很大,在安装时对权限并不特别在意,在授权过程也没有危机意识。单个权限的危险 程度没有被重视,由多个权限组成的组合权限的安全隐患便同样被用户忽视。
现有技术的权限管控体系主要分为二大类,一类是对框架层的应用程序安装系统进行扩 充和增强,另一类是运行时进行动态权限检测。现有技术的Kirin规则对应用程序安装系统 进行扩充,根据安全策略公式决策是否同意授权并安装应用,Kirin的输入是应用程序的权 限集及检测到的功能操作,然后通过自定义的语言编码处理,根据结果是否通过来进行解析。 虽然Kirin能在安装时对应用权限提取信息进行检测,但Kirin还存在一些明显不足:一是 结果错误率较高,Kirin识别申请的敏感资源、功能性需求、资源安全需求和安全体系的局 限性等因素存在误差和难度,最后的结果也不精确;二是Kirin并不提供解决方法,只在一 定程度上提示用户,没有深入提供解决问题的能力;三是存在要不全部否决要不全部同意的 问题,无法带来灵活的处理方式,在用户权限管控时发挥的作用十分有限。
现有技术的Apex是相对较完善的资源控制访问框架,其中的Poly安装系统通过修改安 卓原始系统的应用程序安装系统,使得用户可以在安装程序时根据时间、地点、状态等自己 的实际需要来对单条权限授权,Apex的授权形式多样,但这种开放性的策略定制系统需用户 具备一定的安卓系统知识,需在安装时进行复杂繁琐的编辑设置等操作,对于普通用户来说 较难理解和执行;用户对具体权限的安全程度和可能带来的隐患了解不够,没有判断的依据, 因此在真实采用场景下不能解决用户实际问题,用户可能会直接忽视该系统的重要性。
针对现有技术存在的部分缺点,本发明拟解决以下问题:
一是随着安卓系统安全环境的日益复杂,原始的权限体系虽发挥的作用不小,但是逐渐 暴露了大量的问题,粗粒度授权管理策略在安装应用时,读取解析完配置文件中申请的权限 信息并在安装页展示给用户,让用户查看并进行确认,在界面上提供安装和取消二个按钮, 用户点击安装则意味着同意应用采用所有的权限,进入安装过程,用户点击取消意味着否决 所有的权限,应用安装请求直接取消,用户实际上仍处于十分被动的二选一地位。
二是现有技术权限分配无法动态设置,在原始安卓系统中,只能在安装时查看全部权限 并确认,之后不会出现第二次设置的机会,在运行时更不会有任何及时反馈和二次变更机会。 当用户不想再授予应用某个权限时,只能卸载应用,这既不是应用开发商也不是用户想要的 结果。在安装时没有理解权限功能选择了同意授权,一旦在采用时发现不妥之处想要再次变 更就无法解决。无法动态设置的不足源于没有考虑用户的体验和利益,改进确实迫在眉睫。 本发明在提出细化增强授权管控系统的同时还考虑能否实现实时智能调配,在运行时给用户 二次选择的机会,提供了许可、否决和询问三种选择,取代原有的授权永不改变的模式。
三是现有技术用户选择是否安装应用往往只取决于其迫切需要的程度,不理解权限的意 义,对权限安全危险程度没有直接的感知。权限的解析太少又专业,普通用户既不能理解权 限意思,也不清楚应用安全到底有没有保障,没有任何可以给用户作为参考性的东西,完全 没有考虑权限安全带来的隐患,权限管控体系的功能不能发挥真正作用。
四是现有技术以开发者为中心,不充足的权限体系文档,对开发人员常注重功能实现忽 略权限申请的重要性,除编写代码时粗心大意,更大原因在于他们本身对权限的理解有限, 没有完善的文档帮助。没有考虑自身实际需要,最常见的后果是没有遵循最小权限原则,申 请了冗余权限。冗余权限的出现是恶意应用利用进行攻击的有利条件,通过权限访问应用的 重要资源和隐私信息,最终对用户带来损失,其原因是开发者对权限理解不足,缺乏专业知 识,面对系统众多的权限无法清晰分辨实际功能与权限的对应关系,导致错用滥用权限。
五是现有技术没有检测组合权限可能带来的安全危险,除单个权限能带来安全隐患,采 用多个权限也是恶意软件的特征之一。为了完善现有安卓系统的权限安全体系,必须考虑多 个权限之间的联系,重视组合权限可能带来的安全隐患,检测出具有安全危险的组合权限并 展现在界面上告知给用户,让用户有直观的认识。检测出可能的危险组合权限后,用户也能 结合检测结果在授权系统中做出选择,增大用户对权限的理解程度为用户的选择提供实际依 据。
六是现有技术无法精准标识应用程序的安全危险程度,应用程序安装时,用户只能看到 程序申请的权限列表,对没有专业背景的普通用户,安装时的辅助信息过于形式化,没有真 正解决问题。只有以用户能理解的方式展示应用程序的安全程度才能真正起到警示用户的作 用,最清楚且易于理解的方式之一是采用数字打分。本发明提出一种新的计算应用程序的安 全危险值的公式,然后与原方法进行比较解析,最后根据计算结果值的高低,在界面上相应 地给用户警示。
七是现有技术缺乏合理的建议和安全防御策略,现有的安卓原始安装系统中,用户看到 权限列表后,只能选择安装或者取消,当用户想要采用该应用的功能却对某些权限可能带来 的影响不安时,没有更好的选择。一旦用户迫切需要采用该应用程序,在实际场景下没有合 理的解决方法,只能选择安装或取消。在对权限进行解析后,对于可能被恶意应用利用的权 限,可提供合适的防御措施缓解问题,确定安全防御策略后,在技术上实现这些策略,既不 影响用户安装应用程序,又不影响原始系统的功能,还能保障用户安全,减少恶意应用带来 的安全隐患。
发明内容
针对现有技术的不足,本发明针对没有专业背景的普通用户,在原始安卓系统的基础上 设计实现一种操作简单具有实际效果的技术方法,从权限管控源头上减少安全隐患,做到既 能对单个权限进行细化增强授权,又能解析组合权限可能带来的危险,让用户既能灵活授权 又能清晰理解应用程序的安全危险程度,同时还能结合用户实际使用场景提出必要的安全防 御策略,具有巨大是推广应用价值和广阔的市场空间。
为达到以上技术效果,本发明所采用的技术方案如下:
安卓平台的细化增强权限管控与解析系统,提出集细化增强授权、实时智能调配、权限 组合解析、计算安全危险值、权限威胁防御于一体的权限管控方法,主要包括细化增强授权 管控系统和组合权限的安全检测分析系统二大方面;
在细化增强授权管控系统中,包括用户配置单元、权限管控单元、权限核查单元、权限 储存单元;
组合权限的安全检测分析系统包括基于权限安全分类的危险级别、应用程序的安全危险 值、组合权限的安全检测与防御,实现组合权限的安全检测分析系统重点在于读取解析应用 程序权限集、计算应用程序的安全危险值;组合权限的安全检测分析系统将安卓平台权限进 行分类得到通讯安全、隐私数据、网络状态和硬件四大类,并设置组合权限和单个权限对应 的安全危险值,然后解析改良ASESD算法得到权限安全危险值计算方法,得出检测组合权限 和实现安全防御的方法;
细化增强授权管控系统跨越应用层和框架层,其中在应用层实现与用户交互的UI界面, 在框架层通过修改安卓源码,实现权限管控、权限核查和权限储存几大核心单元;
用户配置单元:在用户配置单元通过修改安卓系统原始的应用程序安装界面,给用户提 供对权限进行细化增强授权的操作入口;用户在修改后的UI界面上对单个权限进行授权操作, 提供许可、否决、询问三种选项;用户配置单元的程序读取并解析应用程序申请的权限,然 后以列表形式展现给用户,同时监测用户的点击操作,弹出选择框让用户选择,并记录用户 的选择结果;
权限管控单元:一是响应交互界面的权限编辑请求,二是响应权限核查单元的权限查询 请求,三是作为唯一可访问权限数据库的单元,内部包含对权限数据库SQLite的增删改查基 本操作;
权限核查单元:应用程序发起权限核查时,新增一个自定义的核查入口,通过权限管控 单元查询用户对该权限的授权程度,根据返回结果选择后续执行路径;若查询结果是许可, 则直接传递给原始安卓的权限核查体系;若查询结果是否决,则在程序运行界面上弹出系统 提示框告知用户可能的后果,并且提供用户二次变更的机会;若查询结果是询问,则弹出系 统询问提示框,展现该权限的解析和功能详情,让用户做进一步是许可还是否决的选择;
权限储存单元:权限储存单元利用数据库表储存用户对单一权限设置的隐私保护策略, 利用SQLite数据库对权限状态进行增删改查;当用户通过应用程序安装界面设置权限时,权 限管控单元会相应创建数据库并写入数据;当系统核查应用权限时,根据应用程序的包名和 权限名查询数据库该权限的状态,然后进行后续处理;程序运行时,若用户二次变更权限授 权,数据库表中的权限状态实时被更新,创建的数据库表以应用程序的包名为表名。
安卓平台的细化增强权限管控与解析系统,进一步的,根据安卓系统权限的特征,将所 有的权限分为四类:
第一类,通讯安全类:包括与电话、短信、通讯录相关的具体权限,申请这些权限应用 程序可采用手机最重要的电话短信功能,对手机产生严重的安全危险;这类权限有读取通讯 录READ_CONTACTS、录音RECORD_AUDIO、打电话CALL_PHONE、发送短信SEND_SMS、接收短信 RECEIVE_SMS;
第二类,隐私数据类:包括泄露用户隐私数据的权限,包括读写储存文件、获取位置信 息、系统日志信息和配置文件相关权限;
第三类,网络状态类:这类权限是应用程序广泛采用的安全危险程度一般的权限,是应 用程序正常采用的基本权限;这类权限有INTERNET、蓝牙BLUETOOTH、CHANGE_WIFI_STATE;
第四类,硬件类:硬件类权限与手机底层硬件相关,对手机安全基本无影响,这类权限 包括获取电池电量统计信息BATTERY_STATS、设置闹铃提醒SET_ALARM;
对通讯安全、隐私数据、网络状态和硬件四大类权限分别设置安全危险值,根据该权限 在应用程序中出现的频率确定安全危险值,其中应用程序中组合权限对应的四个级别的安全 危险值分别设置为6、3、1、0,而单个权限对应的安全危险值分别为3、2、1、0。
安卓平台的细化增强权限管控与解析系统,进一步的,设定每个级别的安全危险值后, 解析应用程度的权限集合,计算出应用程序的安全危险值,以精准数字的形式向用户展示;
本发明提出了一种权限安全危险值计算方法,利用基于权限安全分类的危险级别划分结 果,将所有权限归入四类中,考虑由这四类可能组成的组合,最后的计算采用四大类别的组 合分别对应的安全危险值以及四大类别中单个权限对应的安全危险值,得到一个更具有代表 意义的值,结合权限威胁等级划分和权值分配结果,体现应用程序整体的权限安全危险程度;
权限安全危险值计算方法按类别分别计算,将各类别的组合权限安全危险值分别乘以对 应的组合数量得到该类组合的安全危险值,然后所有可能的组合相加,最后加上单个权限对 应的安全危险值得到最终计算结果;
将基于权限安全分类得到的通讯安全、隐私数据、网络状态、硬件四大类权限分别用b1、 b2、b3、b4表示,那可能的组合权限有b1b2、b1b3、b1b4、b2b3、b2b4、b3b4、b1b2b3、b1b2b4、b1b3b4、 b2b3b4、b1b2b3b4共11种,归类后组合中最多包含四类权限,结合组合权限安全危险值和单个 权限安全危险值,权限安全危险值计算式为:
F=∑A0×c0+∑A1×c1+∑A2×c2+∑A3×c3
其中A0是单独权限的安全危险值,A1是二个组合权限时的权限安全危险值,A2是三个组 合权限时的权限安全危险值,A3是四个组合权限时的权限安全危险值,c0是单个权限出现的 数量,ci中i=1,2,3分别对应i个权限组成的组合权限的数量,F是应用程序的安全危险值。
安卓平台的细化增强权限管控与解析系统,进一步的,组合权限的安全检测与防御中, 针对威胁组合,修改安卓系统,根据检测出的权限提供相应的解决方法和建议,用户可选择 进行处理或不处理,在不影响现有系统的体系下增强防御能力:
一是修改安卓系统API,对于需要申请权限才能采用的系统API,对应修改API的处理逻 辑和结果;
二是修改系统内容提供者的内容,应用程序访问隐私数据,需要用到内容提供者对应的 方法,这时便加入处理判断逻辑,返回虚假数据或空数据;
三是向用户提供恰当的建议,对于无法处理和难以判断的恶意权限提出建议,提出的建 议与用户使用习惯相关,让用户根据建议做出决断。
安卓平台的细化增强权限管控与解析系统,进一步的,实现权限设置单元,首先修改应 用程序安装权限确认界面,修改包括:
一是修改app_permission_item.xml文件,该文件是展现单个权限信息的布局文件,为 提示用户对单个权限进行授权,在布局文件中加入了一个提示箭头,采用<ImageView>控件, 并且把箭头的切图放在对应的res目录下;
二是新增布局文件select_dlg.xml,该文件是授权弹出框的静态布局,在LinearLayout 中包含权限详情的TextView和许可、否决、询问三个按钮Button,用户通过该弹出框查看 权限的详细释义并点击按钮进行选择;
三是修改install_confirm.xml布局文件,在该布局文件中的取消和安装按钮之间增加 一个解析按钮,点击解析按钮跳转到解析界面,解析界面在权限组合解析中使用;
四是新增一个布局文件analyse.xml,该布局文件主要展现权限组合解析的结果,展现 应用程序危险值、检测出的危险组合权限和解决方法的建议,在权限组合解析中使用;
用户配置单元让用户选择许可、否决和询问三种方式进行授权处理,以弹出框的方式让 用户查看权限详情并提供选项让用户进行选择,结合布局变化,代码实现为:
一是在PackageInstallerActivity中对解析按钮添加监测事件,点击按钮跳转至权限解 析页AnalyseActivity;
二是在AppSecurityPermissions文件中监测单个权限的点击事件,点击时出现弹出框, 并将读取到的单个权限信息展现在弹出框上,弹出框提供给用户许可、否决、询问三个选项, 点击按钮进行对应的授权,点击按钮后弹出框消失;
三是监测许可、否决、询问三个按钮的点击事件,以HashMap的数据结构记录用户的选 择,其中key是权限名,value是权限状态,分别以0、1、2表示三种状态;
四是用户点击安装按钮时,将HashMap对象传递给原始的安装系统,以Intent方式传递 给InstallAppProgress,再在权限管控单元读取此值并储存在数据库中。
安卓平台的细化增强权限管控与解析系统,进一步的,实现权限管控单元为添加自定义 的方法,结合PKMS各类之间的关系图,权限管控单元修改的文件包括:
一是InstallAppProgress.java,在调用的PackageManager对象的方法installPaccage WithVerificationAndEncryption的参数中加入权限设置单元的数据;
二是PaccageManager.java,文件在frameworcs/base/core/android/java/content/pm 目录下,修改InstallAppProgress类中调用对应的抽象方法installPaccageWith VerificationAndEncryption,新添加一个参数,参数类型为HashMap<String,Integer>;
三是ApplicationPaccageManager.java,该文件继承自PackageManager,随之修改该文 件中实现的方法,加入新参数;
四是IPaccageManager.aidl,该文件是AIDL体系的核心文件,定义通信的接口,为加 入自定义的installPackageA方法,先在该文件中添加新方法;
五是PaccageManagerService,这是实现installPaccageA方法的文件,文件位置在 frameworcs/base/services/java/com/android/server/pm目录下,在该方法中获取参数传 过来的HashMap类型的数据,建立数据库并插入数据;
六是新建SQLite数据库,数据库名为应用程序的包名,采用方法openOrCreateDatabase 创建数据,采用insert方法插入ContentValues类型的键值对。
安卓平台的细化增强权限管控与解析系统,进一步的,实现权限核查单元是根据用户权 限设置结果进行权限核查,安卓系统权限核查体系实现集中在在安卓框架层的ActivityManagerService和PackageManagerService中,其中Activity ManagerService对底层uid的身份进行核查;PackageManagerService根据请求者的uid核查对应的权限表,判断用户是否申请权限并得到授权,权限核查在对应的接口方法中实现,核查调用者是否具 有访问对应的permission的权限,其中主要接口有checkPermission和checkUriPermission,checkPermission()判断调用者是否拥有对应的某个权限,经过checkPermission函数的核查后,若uid符合调用要求,调用PackageManagerService中实现的checkUidPermission方法,核查调用者是否拥有对应的权限;
在checkUidPermission函数的头部进行权限核查拦截,在权限列表包含待查询的权限的 条件下,不返回结果,调用自定义的权限核查函数对权限进行二次核查:核查数据库中储存 的权限授权状态,若是0则表示许可,若是1表示否决采用该权限,若是2表示询问该权限, 利用SQLite数据库的查询方法根据表名、权限名查询对应的状态,根据查询结果进行对应的 处理;
第一,若查询结果是0,则返回PERMISSION_GRANTED,许可采用该权限,不做处理直接 进入原始安卓系统的权限核查流程;
第二,若查询结果是1,则展现系统弹出框,详细解析该权限并提示用户之前的否决授 权带来的影响,并提供用户二次选择的机会,;
第三,若查询结果是2,表示用户之前的设置是询问,弹出框询问用户进行二次选择, 询问的同时将权限的详细解析展现给用户以帮助判断,此时若用户选择许可,返回PEAMISSION _GAANFED,若用户选择否决,弹出可能带来的影响进行提示,返回PEAMISSION_DENIED;
用户点击系统弹出框上的按钮时,实时更新数据库,下次采用该权限时根据用户的二次 选择做对应操作,更新数据库采用SQLiteDatabase对象的update方法更新。
安卓平台的细化增强权限管控与解析系统,进一步的,实现权限储存单元采用安卓系统 自身集成的数据库SQLite,利用SQLiteDatabase创建数据库,在SQLiteDatabase中进行其 它操作,采用SQLiteDatabase对数据库进行操作包括:
一是在用户授权后的应用程序安装时创建和插入数据,首先在用户配置单元,记录用户 对单个权限的设置,然后在权限管控单元得到数据,创建数据库,以应用程序的包名为创建 的数据库表的名字,将代表用户配置的数据插入表中,数据库表由perm_id、name、state三 个字段组成,其中perm_id是主键,name是权限名,state是权限状态;
二是权限动态核查时查询数据,在PKMS核查权限方法中查询数据库,若存在数据库,则 根据包名和权限名查询数据state,根据查询结果进行后续处理,若不存在数据库,说明用 户并没有进行过细化增强授权操作,直接进入安卓原始的权限核查体系;
三是权限动态设置时更新数据,用户进行二次变更时实时更新数据库。
安卓平台的细化增强权限管控与解析系统,进一步的,实现对应用程序声明的权限解析, 首先在PackageInstallerActivity中增加一个入口,提供一个解析按钮,当用户点击该解析 按钮时跳转至权限解析结果页AnalyseActivity,在该页查看组合权限的检测结果和应用程 序安全危险值;
在AnalyseActivity中,首先获取用户申请的权限集,得到包含包名、权限等信息,封 装在mPkgInfo对象中,该对象属于PaccageInfo类,在该类中定义包名、版本号、包含四大 组件信息的数组、权限信息列表属性,其中的requestedPermissions是保存用户申请的权限 信息的数组;解析过程主要包括三步:
第一步,preAnalyse(),首先在该方法中处理权限名的前缀,mPcgInfo.requestedPermissions中获取的权限信息包含前缀android.permission.,且每一项权限的前缀都一样, 去掉权限的对应前缀,减少程序解析时间的开销;
第二步,analyse(),在对权限进行前期处理后,在该方法中对应用程序申请的权限集进 行检测和解析,实现时首先初始化通讯安全、隐私数据安全二类权限数组,检测能威胁这二 类安全的组合权限,判断是否存在网络状这一类权限,若存在记下该权限名,作为组合权限 的根节点,再对用户申请的权限逐一解析,若解析的权限功能危及通讯、隐私数据,记下该 权限名作为叶子结点,表示找到了一对危险组合权限;通过程序解析,最终在二个数组 commPerms和privacyPerms中储存解析结果,读取解析结果进行解析;
第三步,postAnalyse(),权限集的检测完成后,解析检测结果并展现在界面上;首先读 取检测结果集,根据英文权限名解析得到中文权限名和功能概述,再在界面上动态添加View, 并将组合权限展现给用户,在静态布局文件activity_analyse.xml中,只定义了一个Linear Layout,在程序中动态添加内容时直接新建FextView,设置需要展现的内容,随后采用 addView方法添加到布局根目录下。
与现有技术相比,本发明的贡献和创新点在于:
一是本发明提供的安卓平台的细化增强权限管控与解析系统,集细化增强授权管控系统、 组合权限安全检测于一体,既有效解决了当前安卓系统粗粒度授权问题,又结合权限组合解 析,在权限层面让用户更好理解应用程序安全程度,在修改原始系统源码的时,遵循与现有 系统兼容、解决实际问题、注重用户体验的原则,解决了用户的实际权限管控需求,改善了 安卓平台原始系统的不足。设计并实现了一个细化增强授权管控系统,使得用户可对单一权 限进行三种细化增强控制:许可、否决、询问,能自由分配权限,满足实际需要,同时提高 应用程序的安全性;提供动态的权限管控体系,在应用运行时可根据用户对权限的设置动态 提醒或者询问,用户可以进行二次权限变更,提供给用户灵活的、细化增强的权限管控体系; 在原始安卓系统上增加了权限组合解析单元,通过解析权限找到可能引起安全隐患的组合, 将解析结果直观的展现给用户,帮助用户是否授权安装应用提供合理的判断;给权限赋予不 同的等级和危险值,精准量化应用程序的威胁程度,针对部分安全隐患给出解决方法和建议, 具有巨大是推广应用价值和广阔的市场空间。
二是本发明提供的安卓平台的细化增强权限管控与解析系统,针对现有技术权限分配无 法动态设置,只能在安装时查看全部权限并确认,之后不会出现第二次设置的机会,在运行 时更不会有任何及时反馈和二次变更机会,当用户不想再授予应用某个权限时,只能卸载应 用,在安装时没有理解权限功能选择了同意授权,一旦在采用时发现不妥之处想要再次变更 就无法解决,无法动态设置的问题,充分考虑用户的体验和利益,在提出细化增强授权管控 系统的同时还考虑能否实现实时智能调配,在运行时给用户二次选择的机会,提供了许可、 否决和询问三种选择,取代原有的授权永不改变的模式,使得系统的使用体验大幅提高,具 有有效性、实用性和先进性。
三是本发明提供的安卓平台的细化增强权限管控与解析系统,针对用户选择是否安装应 用只取决于其迫切需要的程度,不理解权限的意义,权限的解析太少又专业,没有任何可以 给用户作为参考性的东西,权限管控体系的功能不能发挥真正作用的问题,提出以用户为中 心,遵循最小权限原则,不申请冗余权限,使用户对权限理解充分,清晰分辨实际功能与权 限的对应关系,避免错用滥用权限,有效增强安卓系统的安全体系,具备以用户为中心在实 际场景下解决问题的能力,方法局限性小,具有普适性和可移植性,推广应用潜力巨大。
四是本发明提供的安卓平台的细化增强权限管控与解析系统,针对现有技术没有检测组 合权限可能带来的安全危险的问题。完善现有安卓系统的权限安全体系,考虑多个权限之间 的联系,重视组合权限可能带来的安全隐患,检测出具有安全危险的组合权限并展现在界面 上告知给用户,让用户有直观的认识,检测出可能的危险组合权限后,用户也能结合检测结 果在授权系统中做出选择,增大用户对权限的理解程度为用户的选择提供实际依据。
五是本发明提供的安卓平台的细化增强权限管控与解析系统,针对现有技术无法精准标 识应用程序的安全危险程度,应用程序安装时,用户只能看到程序申请的权限列表,辅助信 息过于形式化的问题。设置以用户能理解的方式展示应用程序的安全程度,真正起到警示用 户的作用,提出一种新的计算应用程序的安全危险值的公式,采用数字打分,然后与原方法 进行比较解析,最后根据计算结果值的高低,在界面上相应地给用户警示。
六是本发明提供的安卓平台的细化增强权限管控与解析系统,针对现有技术缺乏合理的 建议和安全防御策略,一旦用户迫切需要采用该应用程序,在实际场景下没有合理的解决方 法,只能选择安装或取消的问题。对于可能被恶意应用利用的权限,提供合适的防御措施缓 解问题,确定安全防御策略,在技术上实现这些策略,既不影响用户安装应用程序,又不影 响原始系统的功能,还能保障用户安全,减少恶意应用带来的安全隐患。
附图说明
图1是本发明安卓平台的细化增强权限管控与解析系统的架构图。
图2是本发明的用户配置单元流程图。
图3是本发明权限核查单元的设计结构示意图。
图4是本发明的权限安全危险值计算方法示意图。
图5是本发明的权限核查单元流程示意图。
具体实施方式
下面结合附图,对本发明提供的安卓平台的细化增强权限管控与解析系统的技术方案进 行进一步的描述,使本领域的技术人员可以更好的理解本发明并能够予以实施。
本发明提供的安卓平台的细化增强权限管控与解析系统,提出集细化增强授权、实时智 能调配、权限组合解析、计算安全危险值、权限威胁防御于一体的权限管控方法,主要包括 细化增强授权管控系统和组合权限的安全检测分析系统二大方面;在细化增强授权管控系统 中,包括用户配置单元、权限管控单元、权限核查单元、权限储存单元;组合权限的安全检 测分析系统将安卓平台权限进行分类得到通讯安全、隐私数据、网络状态和硬件四大类,并 设置组合权限和单个权限对应的安全危险值,然后解析改良ASESD算法得到权限安全危险值 计算方法,得出检测组合权限和实现安全防御的方法。
一、细化增强授权管控系统
通过增强原始的安卓权限管控体系,本发明设计并实现了一个细化增强授权管控系统, 用户可对单个权限执行许可、否决和询问三种授权操作,同时还能在应用程序运行时实时智 能调配权限,对权限进行二次变更优化。
(一)细化增强授权管控系统架构
如图1所示,细化增强授权管控系统由四大单元构成,分别是:用户配置单元、权限管 控单元、权限核查单元、权限储存单元。其中星形虚线是原始安卓系统的权限体系,细化增 强授权管控系统在原有权限体系下进行扩充,改良后的权限管控系统跨越应用层和框架层, 其中在应用层实现与用户交互的UI界面,在框架层通过修改安卓源码,实现权限管控、权限 核查和权限储存几大核心单元。
(二)单元设计
用户配置单元:在用户配置单元通过修改安卓系统原始的应用程序安装界面,给用户提 供对权限进行细化增强授权的操作入口;用户在修改后的UI界面上对单个权限进行授权操作, 提供许可、否决、询问三种选项,用户还可查看单个权限的详细解析,便于更好的理解权限 的功能;用户配置单元的程序读取并解析应用程序申请的权限,然后以列表形式展现给用户, 同时监测用户的点击操作,弹出选择框让用户选择,并记录用户的选择结果,用户配置单元 流程图如图2所示。
权限管控单元:权限管控单元承担对数据库文件的读写操作;一方面,权限管控单元响 应用户配置单元的编辑请求,然后储存在SQLite数据库中,作为后续运行时核查单元的参考 依据;另一方面,接收权限核查单元发来的查询请求,然后读取数据库表,并将查询结果返 回给核查单元;在整个系统中只允许权限管控单元访问数据库,内部包含对权限数据库SQLite 的增删改查基本操作,保证数据库的安全和完整性;权限管控单元在各层之间充当枢纽,这 种分层架构耦合减少,有利于各单元分工合作。
权限管控单元概括为:一是响应交互界面的权限编辑请求,二是响应权限核查单元的权 限查询请求,三是唯一可访问权限数据库的单元,内部包含对权限数据库SQLite的增删改查 基本操作。
权限核查单元:权限核查单元通过扩充原始安卓系统的核查体系,如图3所示,应用程 序发起权限核查时,新增一个自定义的核查入口,通过权限管控单元查询用户在新控制体系 下对该权限的授权程度,根据返回结果选择后续执行路径;若查询结果是许可,则直接传递 给原始安卓的权限核查体系;若查询结果是否决,则在程序运行界面上弹出系统提示框告知 用户可能的后果,并且提供用户二次变更的机会;若查询结果是询问,则弹出系统询问提示 框,展现该权限的解析和功能详情,让用户做进一步是许可还是否决的选择。权限核查单元 一系列操作统一连贯,既能对用户在安装时的选择做出回应,又能提供运行时动态选择的能 力。权限核查单元设计如图3所示。
权限储存单元:权限储存单元利用数据库表储存用户对单一权限设置的隐私保护策略, 利用SQLite数据库对权限状态进行增删改查;当用户通过应用程序安装界面设置权限时,权 限管控单元会相应创建数据库并写入数据;当系统核查应用权限时,根据应用程序的包名和 权限名查询数据库该权限的状态,然后进行后续处理;程序运行时,若用户二次变更权限授 权,数据库表中的权限状态实时被更新;创建的数据库表以应用程序的包名为表名。
二、组合权限的安全检测分析系统
在本发明提出的细化增强授权管控系统的基础上,增加应用程序声明的权限集合解析入 口,通过解析权限集中可能带来安全危险的权限组合,将可能结果展示给用户,有利于用户 对权限的进一步理解和授权判断;此外,为了更精准直观的展示安全危险程度,对权限进行 分类并计算出应用程序的安全危险值显示在解析界面上;对已检测出来的危险权限组合,通 过修改系统接口和方法进行防御处理,对部分不能防御的安全问题提出建议。
(一)基于权限安全分类的危险级别
安卓系统中的具体权限多达百余种,本发明根据安卓系统权限的特征,将所有的权限分 为四类:
第一类,通讯安全类:包括与电话、短信、通讯录相关的具体权限,申请这些权限应用 程序可采用手机最重要的电话短信功能,直接产生恶意收费,对手机产生严重的安全危险; 这类权限有读取通讯录READ_CONTACTS、录音RECORD_AUDIO、打电话CALL_PHONE、发送短信 SEND_SMS、接收短信RECEIVE_SMS。
第二类,隐私数据类:包括泄露用户隐私数据的权限,包括读写储存文件、获取位置信 息、系统日志信息和配置文件相关权限,这些权限的恶意利用会读写隐私信息,造成隐私泄 露。
第三类,网络状态类:这类权限是应用程序广泛采用的安全危险程度一般的权限,是应 用程序正常采用的基本权限,但一旦被恶意应用利用,同样能带来不可小视的后果;这类权 限有INTERNET、蓝牙BLUETOOTH、CHANGE_WIFI_STATE。
第四类,硬件类:硬件类权限与手机底层硬件相关,对手机安全基本无影响。这类权限 包括获取电池电量统计信息BATTERY_STATS、设置闹铃提醒SET_ALARM等。
分类后的权限安全危险程度存在差异,严重安全危险级别的权限与手机重要通讯功能相 关,最能被恶意软件利用;一般安全危险级别的权限与个人信息数据相关;没有明显安全危 险级别的权限则主要包括单个权限威胁不大,但容易结合其它权限带来安全隐患的权限;而 相对安全的权限则是不产生恶意行为的权限;在安卓系统中定义的每一项权限都是应用程序 访问系统资源的必备条件,都是采用正常功能的前提。安全的权限也能带来危险,而危险的 权限也是访问资源必须申请和采用的。
为进一步量化权限的危险程度,对通讯安全、隐私数据、网络状态和硬件四大类权限分 别设置安全危险值,根据该权限在应用程序中出现的频率确定安全危险值,其中应用程序中 组合权限对应的四个级别的安全危险值分别设置为6、3、1、0,而单个权限对应的安全危险 值分别为3、2、1、0。
(二)应用程序的安全危险值
设定每个级别的安全危险值后,解析应用程度的权限集合,计算出应用程序的安全危险 值,以精准数字的形式向用户展示,采用户有更直观的理解。
为了计算程序危险值,ASESD方法提出了安全距离的概念,ASESD方法通过安全距离的乘 积量化组合权限的安全危险程度,但这种计算方法扩大了安全危险值的粗粒度,增大了应用 安全危险值;同时该算法只考虑二个组合权限的危险程度,没有考虑单个权限的威胁,计算 方式不够全面,无法代表整个应用程序所有权限的安全危险程度。
ASESD方法的不足之处有:一是粗粒度的计算结果,ASESD方法采用将二对非封闭的组合 权限的安全距离相乘的计算方式,增大了安全危险值,得到的计算值不精确,由于非封闭安 全距离和封闭安全距离在定义区分具有模糊性,对现实中应用程序非封闭安全距离的组合检 测和判断难度大;二是只考虑二个权限的组合,没有考虑由多个权限组成的组合和单个权限, 提出组合权限的安全危险值代表整个应用程序的安全危险程度,因而这种计算方式,选取由 二个权限组成的组合权限的所有可能情况,然后计算得到R值,但在现实中,组合权限的可 能情况却不仅仅局限于由二个权限组成,还有多种情况,一个完整的计算整体安全危险值的 方法应列举所有可能情况,不以偏概全;三是安全距离值没有结合权限实际功能划分级别, 安全距离的设置没有结合权限具体的功能和对应资源的保护程度;四是应用程序安全危险值 与组合权限的复杂度相关,在应用程序申请的权限集中,可能的组合结果有多种,组合的复 杂度越大,应用程序越有可能存在安全危险,若考虑所有可能,要选取合适的策略进行分类 处理,发现规律化繁为简。
改进ASESD方法的不足,本发明提出了一种权限安全危险值计算方法,利用基于权限安 全分类的危险级别划分结果,将所有权限归入四类中,考虑由这四类可能组成的组合,最后 的计算采用四大类别的组合分别对应的安全危险值以及四大类别中单个权限对应的安全危险 值,得到一个更具有代表意义的值,结合权限威胁等级划分和权值分配结果,更全面地体现 应用程序整体的权限安全危险程度,如图4所示。
权限安全危险值计算方法按类别分别计算,将各类别的组合权限安全危险值分别乘以对 应的组合数量得到该类组合的安全危险值,然后所有可能的组合相加,最后加上单个权限对 应的安全危险值得到最终计算结果。
将基于权限安全分类得到的通讯安全、隐私数据、网络状态、硬件四大类权限分别用b1、 b2、b3、b4表示,那可能的组合权限有b1b2、b1b3、b1b4、b2b3、b2b4、b3b4、b1b2b3、b1b2b4、b1b3b4、 b2b3b4、b1b2b3b4共11种,归类后组合中最多包含四类权限,结合组合权限安全危险值和单个 权限安全危险值,权限安全危险值计算式为:
F=∑A0×c0+∑A1×c1+∑A2×c2+∑A3×c3
其中A0是单独权限的安全危险值,A1是二个组合权限时的权限安全危险值,A2是三个组 合权限时的权限安全危险值,A3是四个组合权限时的权限安全危险值,c0是单个权限出现的 数量,ci中i=1,2,3分别对应i个权限组成的组合权限的数量,F是应用程序的安全危险值, 权限安全危险值计算方法如图4所示。
(三)组合权限的安全检测与防御
权限分类后,组合权限便可按分类进行检测,READ PHONE STATE、ACCESS NETWORKSTATE、 INTERNET是最常用的权限,关于由二个权限组成的组合权限的重要结果数据整理得出,每个 组合权限都与网络状态相关的权限,本发明的实施例实现二个权限组成的组合权限的检测, 并且其中之一的权限属于网络状态类。创新点在于提出了在应用授权解析界面检测组合权限 可能带来的威胁,提供给用户做出选择的判断依据,同时根据检测结果提出危险防御方法和 相应建议。
检测完组合权限,对一些常见的威胁组合,修改安卓系统,根据检测出的权限提供相应 的解决方法和建议,用户可选择进行处理或不处理,让用户有更自由的选择,在不影响现有 系统的体系下增强防御能力:
一是修改安卓系统API,对于需要申请权限才能采用的系统API,对应修改API的处理逻 辑和结果;
二是修改系统内容提供者的内容,内容提供者在安卓系统上承担应用程序间访问和共享 数据的问题,应用程序访问隐私数据,需要用到内容提供者对应的方法,这时便可以加入处 理判断逻辑,返回虚假数据或空数据;
三是向用户提供恰当的建议,对于无法处理和难以判断的恶意权限提出建议,提出的建 议与用户使用习惯相关,让用户根据建议做出决断。
本发明提出的集细化增强授权、实时智能调配、权限组合解析、计算安全危险值、权限 威胁防御于一体的权限管控方法,主要包括细化增强授权管控系统和组合权限的安全检测分 析系统二大方面。在细化增强授权管控系统中,包括系统整体架构图、用户配置单元、权限 管控单元、权限核查单元、权限储存单元。组合权限的安全检测分析系统将安卓平台权限进 行分类得到通讯安全、隐私数据、网络状态和硬件四大类,并设置组合权限和单个权限对应 的安全危险值,然后解析改良ASESD算法得到权限安全危险值计算方法,最后提出了检测组 合权限和实现安全防御的方法。
三、细化增强授权管控系统的实现
(一)用户配置单元
用户配置单元为应用程序安装时用户对权限的授权入口,用户在权限设置页面能看到所 有的权限列表,能查看单个权限的详细信息并进行授权操作。
为实现本发明的权限设置单元,首先修改应用程序安装权限确认界面,修改包括:
一是修改app_permission_item.xml文件,该文件是展现单个权限信息的布局文件,为 提示用户对单个权限进行授权,在布局文件中加入了一个提示箭头,采用<ImageView>控件, 并且把箭头的切图放在对应的res目录下;
二是新增布局文件select_dlg.xml,该文件是授权弹出框的静态布局,在LinearLayout 中包含权限详情的TextView和许可、否决、询问三个按钮Button,用户通过该弹出框查看 权限的详细释义并点击按钮进行选择;
三是修改install_confirm.xml布局文件,在该布局文件中的取消和安装按钮之间增加 一个解析按钮,点击解析按钮跳转到解析界面,解析界面在权限组合解析中使用;
四是新增一个布局文件analyse.xml,该布局文件主要展现权限组合解析的结果,展现 应用程序危险值、检测出的危险组合权限和解决方法的建议,在权限组合解析中使用。
用户配置单元主要是让用户选择许可、否决和询问三种方式进行授权处理,以弹出框的 方式让用户查看权限详情并提供选项让用户进行选择,结合布局变化,代码实现为:
一是在PackageInstallerActivity中对解析按钮添加监测事件,点击按钮跳转至权限解 析页AnalyseActivity;
二是在AppSecurityPermissions文件中监测单个权限的点击事件,点击时出现弹出框, 并将读取到的单个权限信息展现在弹出框上,弹出框提供给用户许可、否决、询问三个选项, 点击按钮进行对应的授权,点击按钮后弹出框消失;
三是监测许可、否决、询问三个按钮的点击事件,以HashMap的数据结构记录用户的选 择。其中key是权限名,value是权限状态,分别以0、1、2表示三种状态;
四是用户点击安装按钮时,将HashMap对象传递给原始的安装系统,以Intent方式传递 给InstallAppProgress,再在权限管控单元读取此值并储存在数据库中。
细化增强授权管控系统的用户配置单元实现后,用户既可看到权限信息,便于理解权限 和做出判断,又可对单个权限进行授权,摒弃原始系统全部许可或者全部否决的授权模式, 交互体验更好。
(二)权限管控单元
程序内部创建数据库时,文件默认储存在/data/data/<package_name>/databases目录 下,且只许可本应用进行读写。因为PackageInstaller在源码中是单独的安装应用,创建的 数据库文件是私有数据,不能被权限核查单元访问,创建数据库无意义,不能简单直接的在 权限设置单元储存数据;
为添加自定义的方法,结合PKMS各类之间的关系图,权限管控单元最终修改的文件包括:
一是InstallAppProgress.java,在调用的PackageManager对象的方法installPaccage WithVerificationAndEncryption的参数中加入权限设置单元的数据;
二是PaccageManager.java,文件在frameworcs/base/core/android/java/content/pm 目录下,修改InstallAppProgress类中调用对应的抽象方法installPaccageWith VerificationAndEncryption,新添加一个参数,参数类型为HashMap<String,Integer>;
三是ApplicationPaccageManager.java,该文件继承自PackageManager,随之修改该文 件中实现的方法,加入新参数;
四是IPaccageManager.aidl,该文件是AIDL体系的核心文件,定义通信的接口,为加 入自定义的installPackageA方法,先在该文件中添加新方法;
五是PaccageManagerService,这是实现installPaccageA方法的文件,文件位置在 frameworcs/base/services/java/com/android/server/pm目录下,在该方法中获取参数传 过来的HashMap类型的数据,建立数据库并插入数据;
六是新建SQLite数据库,数据库名为应用程序的包名,采用方法openOrCreateDatabase 创建数据,采用insert方法插入ContentValues类型的键值对。
(三)权限核查单元
在实现用户配置和权限管控的基础上,系统最关键的是根据用户权限设置结果进行权限 核查,安卓系统权限核查体系实现集中在在安卓框架层的ActivityManagerService和 PackageManagerService中,其中ActivityManagerService对底层uid的身份进行核查; PackageManagerService根据请求者的uid核查对应的权限表,判断用户是否申请权限并得 到授权,权限核查在对应的接口方法中实现,核查调用者是否具有访问对应的permission的 权限,其中主要接口有checkPermission和checkUriPermission,checkPermission()判 断调用者是否拥有对应的某个权限,经过checkPermission函数的核查后,若uid符合调用 要求,调用PackageManagerService中实现的checkUidPermission方法,核查调用者是否拥 有对应的权限。
在checkUidPermission函数的头部进行权限核查拦截,在权限列表包含待查询的权限的 条件下,不返回结果,调用自定义的权限核查函数对权限进行二次核查:核查数据库中储存 的权限授权状态,若是0则表示许可,若是1表示否决采用该权限,若是2表示询问该权限, 利用SQLite数据库的查询方法根据表名、权限名查询对应的状态,根据查询结果进行对应的 处理,如图5所示。
第一,若查询结果是0,则返回PERMISSION_GRANTED,许可采用该权限,不做处理直接 进入原始安卓系统的权限核查流程;
第二,若查询结果是1,则展现系统弹出框,详细解析该权限并提示用户之前的否决授 权带来的影响,并提供用户二次选择的机会,;
第三,若查询结果是2,表示用户之前的设置是询问,弹出框询问用户进行二次选择, 询问的同时将权限的详细解析展现给用户以帮助判断,此时若用户选择许可,返回PEAMISSION _GAANFED,若用户选择否决,弹出可能带来的影响进行提示,返回PEAMISSION_DENIED。
用户点击系统弹出框上的按钮时,实时更新数据库,下次采用该权限时根据用户的二次 选择做对应操作,更新数据库采用SQLiteDatabase对象的update方法更新。
(四)权限储存单元
权限储存单元采用安卓系统自身集成的数据库SQLite,利用SQLiteDatabase创建数据 库,在SQLiteDatabase中进行其它操作,包括添加记录、删除记录、查询记录、修改记录以 及执行数据库语句。采用SQLiteDatabase对数据库进行操作包括:
一是在用户授权后的应用程序安装时创建和插入数据,首先在用户配置单元,记录用户 对单个权限的设置,然后在权限管控单元得到数据,创建数据库,以应用程序的包名为创建 的数据库表的名字,将代表用户配置的数据插入表中,数据库表由perm_id、name、state三 个字段组成,其中perm_id是主键,name是权限名,state是权限状态;
二是权限动态核查时查询数据,在PKMS核查权限方法中查询数据库,若存在数据库,则 根据包名和权限名查询数据state,根据查询结果进行后续处理,若不存在数据库,说明用 户并没有进行过细化增强授权操作,直接进入安卓原始的权限核查体系;
三是权限动态设置时更新数据,用户进行二次变更时实时更新数据库。
四、组合权限的安全检测分析系统方法的实现
在细化增强授权管理体系中,最重要是能让用户在安装界面对权限进行细化增强设置, 但缺乏专业背景的普通用户不了解权限的真正意义,无法对权限进行合理的授权,因此本发 明确立了组合权限的安全检测分析系统方法。实现组合权限的安全检测分析系统重点在于读 取解析应用程序权限集、计算应用程序的安全危险值。
(一)读取解析应用程序权限集
为实现对应用程序声明的权限解析,首先在PackageInstallerActivity中增加一个入口, 提供一个解析按钮,当用户点击该解析按钮时跳转至权限解析结果页AnalyseActivity,在 该页查看组合权限的检测结果和应用程序安全危险值。
综合各因素权限被分为四大类,即通讯安全、隐私安全、网络安全和硬件安全,四大类 权限的危险程度分别对应为严重威胁、一般威胁、无明显威胁、相对安全。安卓系统权限多 达百余种,但每个单一权限都有具体功能和作用,根据功能归类处理是实现组合解析的第一 步。
在实现安全危险检测上集中检测通讯安全、隐私数据安全二类安全,本发明实施例具体 包括:检测由二个权限组成的威胁组合权限,检测与网络状态相结合的通讯安全、隐私数据 安全二类安全,将检测结果分类展现给用户。
在AnalyseActivity中,首先获取用户申请的权限集,得到包含包名、权限等信息,封 装在mPkgInfo对象中,该对象属于PaccageInfo类,在该类中定义包名、版本号、包含四大 组件信息的数组、权限信息列表属性,其中的requestedPermissions是保存用户申请的权限 信息的数组;解析过程主要包括三步:
第一步,preAnalyse(),首先在该方法中处理权限名的前缀,mPcgInfo.requestedPermissions中获取的权限信息包含前缀android.permission.,且每一项权限的前缀都一样, 去掉权限的对应前缀,减少程序解析时间的开销;
第二步,analyse(),在对权限进行前期处理后,在该方法中对应用程序申请的权限集进 行检测和解析,实现时首先初始化通讯安全、隐私数据安全二类权限数组,检测能威胁这二 类安全的组合权限,判断是否存在网络状这一类权限,若存在记下该权限名,作为组合权限 的根节点,再对用户申请的权限逐一解析,若解析的权限功能危及通讯、隐私数据,记下该 权限名作为叶子结点,表示找到了一对危险组合权限;通过程序解析,最终在二个数组 commPerms和privacyPerms中储存解析结果,读取解析结果进行解析。
第三步,postAnalyse(),权限集的检测完成后,解析检测结果并展现在界面上;首先读 取检测结果集,根据英文权限名解析得到中文权限名和功能概述,再在界面上动态添加View, 并将组合权限展现给用户。在静态布局文件activity_analyse.xml中,只定义了一个Linear Layout,在程序中动态添加内容时直接新建FextView,设置需要展现的内容,随后采用 addView方法添加到布局根目录下。
组合权限的检测和解析工作完成,用户在交互界面上能直观看到检测结果,根据检测结 果和文字说明,对权限的授权有更好的判断依据,帮助用户解决在授权时专业背景不足无法 合理选择的问题。
(二)计算应用程序的安全危险值
除检测应用程序申请的权限集中包含的危险组合权限,本发明提出的权限检测方法还能 帮助用户对应用程序整体的危险程度有更直观的认识,采用计算出应用程序的危险值以数字 的形式展现给用户的检测方法。计算出待安装的应用程序危险值后,用户能根据危险值的高 低进行判断,在解析界面看到精准的应用程序危险值真正切实从用户角度解决了问题,危险 值越高,应用程序可能带来的安全隐患越大,提醒用户需要谨慎授权,甚至重新决策是否取 消安装,危险值越低,应用程序便相对安全,让用户在安装和授权时心理压力得到缓解。
通讯安全、隐私数据、网络状态、硬件四大类权限分别以b1、b2、b3、b4表示,可能的组 合权限有b1b2、b1b3、b1b4、b2b3、b2b4、b3b4、b1b2b3、b1b2b4、b1b3b4、b2b3b4、b1b2b3b4共11种,以数字的形式反映应用程序的危险值,设定通讯安全、隐私数据、网络状态、硬件四类中的单个权限的权值分别为3、2、1、0,同时针对不同的组合,分别设定不同的安全危险值6、3、1、0,应用程序的安全危险值的计算结合组合权限安全危险值和单个权限安全危险值,根据安全危险值计算式,计算出应用程序的安全危险值。
应用程序安全危险值的计算在AnalyseActivity中进行,首先获取用户申请的权限集, 即mPkgInfo.requestedPermissions,检测时获取Intent传递过来的PackageInfo类对象 mPkgInfo,该对象包含解析权限所需的所有用户申请权限,再过滤掉权限名的前缀,得到便 于解析的权限简短名;权限解析结束后,计算安全危险值。计算时首先初始化各权限,以 HashMap<String,Integer>的数据结构储存对应权限的安全危险值,其中key是应用权限的名 称,Integer类型的值是该应用权限的安全危险值,然后初始化结果变量result=0。初始化 后采用for循环进行计算,逐一遍历权限集,在第一层循环里,result加上该单个权限的安 全危险值;在第二层循环里,得到二个组合权限的权限危险值,result在已有的结果上继续 加上此时的安全危险值,遍历的次数便是组合权限的数量;在第三层循环里,得到由三个权 限组成的组合权限的危险值,继续加在结果变量result里;最后一个循环是由四个权限组成 的组合权限的情况,同理继续计算,然后循环结束得到的result值就是最终得到的应用程序 安全危险值。得到结果值后,将计算出来的应用程序安全危险值展现在界面上,采用FextView 的setFext方法。

Claims (9)

1.安卓平台的细化增强权限管控与解析系统,其特征在于,提出集细化增强授权、实时智能调配、权限组合解析、计算安全危险值、权限威胁防御于一体的权限管控方法,主要包括细化增强授权管控系统和组合权限的安全检测分析系统二大方面;
在细化增强授权管控系统中,包括用户配置单元、权限管控单元、权限核查单元、权限储存单元;
组合权限的安全检测分析系统包括基于权限安全分类的危险级别、应用程序的安全危险值、组合权限的安全检测与防御,实现组合权限的安全检测分析系统重点在于读取解析应用程序权限集、计算应用程序的安全危险值;组合权限的安全检测分析系统将安卓平台权限进行分类得到通讯安全、隐私数据、网络状态和硬件四大类,并设置组合权限和单个权限对应的安全危险值,然后解析改良ASESD算法得到权限安全危险值计算方法,得出检测组合权限和实现安全防御的方法;
细化增强授权管控系统跨越应用层和框架层,其中在应用层实现与用户交互的UI界面,在框架层通过修改安卓源码,实现权限管控、权限核查和权限储存几大核心单元;
用户配置单元:在用户配置单元通过修改安卓系统原始的应用程序安装界面,给用户提供对权限进行细化增强授权的操作入口;用户在修改后的UI界面上对单个权限进行授权操作,提供许可、否决、询问三种选项;用户配置单元的程序读取并解析应用程序申请的权限,然后以列表形式展现给用户,同时监测用户的点击操作,弹出选择框让用户选择,并记录用户的选择结果;
权限管控单元:一是响应交互界面的权限编辑请求,二是响应权限核查单元的权限查询请求,三是作为唯一可访问权限数据库的单元,内部包含对权限数据库SQLite的增删改查基本操作;
权限核查单元:应用程序发起权限核查时,新增一个自定义的核查入口,通过权限管控单元查询用户对该权限的授权程度,根据返回结果选择后续执行路径;若查询结果是许可,则直接传递给原始安卓的权限核查体系;若查询结果是否决,则在程序运行界面上弹出系统提示框告知用户可能的后果,并且提供用户二次变更的机会;若查询结果是询问,则弹出系统询问提示框,展现该权限的解析和功能详情,让用户做进一步是许可还是否决的选择;
权限储存单元:权限储存单元利用数据库表储存用户对单一权限设置的隐私保护策略,利用SQLite数据库对权限状态进行增删改查;当用户通过应用程序安装界面设置权限时,权限管控单元会相应创建数据库并写入数据;当系统核查应用权限时,根据应用程序的包名和权限名查询数据库该权限的状态,然后进行后续处理;程序运行时,若用户二次变更权限授权,数据库表中的权限状态实时被更新,创建的数据库表以应用程序的包名为表名。
2.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,根据安卓系统权限的特征,将所有的权限分为四类:
第一类,通讯安全类:包括与电话、短信、通讯录相关的具体权限,申请这些权限应用程序可采用手机最重要的电话短信功能,对手机产生严重的安全危险;这类权限有读取通讯录READ_CONTACTS、录音RECORD_AUDIO、打电话CALL_PHONE、发送短信SEND_SMS、接收短信RECEIVE_SMS;
第二类,隐私数据类:包括泄露用户隐私数据的权限,包括读写储存文件、获取位置信息、系统日志信息和配置文件相关权限;
第三类,网络状态类:这类权限是应用程序广泛采用的安全危险程度一般的权限,是应用程序正常采用的基本权限;这类权限有INTERNET、蓝牙BLUETOOTH、CHANGE_WIFI_STATE;
第四类,硬件类:硬件类权限与手机底层硬件相关,对手机安全基本无影响,这类权限包括获取电池电量统计信息BATTERY_STATS、设置闹铃提醒SET_ALARM;
对通讯安全、隐私数据、网络状态和硬件四大类权限分别设置安全危险值,根据该权限在应用程序中出现的频率确定安全危险值,其中应用程序中组合权限对应的四个级别的安全危险值分别设置为6、3、1、0,而单个权限对应的安全危险值分别为3、2、1、0。
3.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,设定每个级别的安全危险值后,解析应用程度的权限集合,计算出应用程序的安全危险值,以精准数字的形式向用户展示;
本发明提出了一种权限安全危险值计算方法,利用基于权限安全分类的危险级别划分结果,将所有权限归入四类中,考虑由这四类可能组成的组合,最后的计算采用四大类别的组合分别对应的安全危险值以及四大类别中单个权限对应的安全危险值,得到一个更具有代表意义的值,结合权限威胁等级划分和权值分配结果,体现应用程序整体的权限安全危险程度;
权限安全危险值计算方法按类别分别计算,将各类别的组合权限安全危险值分别乘以对应的组合数量得到该类组合的安全危险值,然后所有可能的组合相加,最后加上单个权限对应的安全危险值得到最终计算结果;
将基于权限安全分类得到的通讯安全、隐私数据、网络状态、硬件四大类权限分别用b1、b2、b3、b4表示,那可能的组合权限有b1b2、b1b3、b1b4、b2b3、b2b4、b3b4、b1b2b3、b1b2b4、b1b3b4、b2b3b4、b1b2b3b4共11种,归类后组合中最多包含四类权限,结合组合权限安全危险值和单个权限安全危险值,权限安全危险值计算式为:
F=∑A0×c0+∑A1×c1+∑A2×c2+∑A3×c3
其中A0是单独权限的安全危险值,A1是二个组合权限时的权限安全危险值,A2是三个组合权限时的权限安全危险值,A3是四个组合权限时的权限安全危险值,c0是单个权限出现的数量,ci中i=1,2,3分别对应i个权限组成的组合权限的数量,F是应用程序的安全危险值。
4.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,组合权限的安全检测与防御中,针对威胁组合,修改安卓系统,根据检测出的权限提供相应的解决方法和建议,用户可选择进行处理或不处理,在不影响现有系统的体系下增强防御能力:
一是修改安卓系统API,对于需要申请权限才能采用的系统API,对应修改API的处理逻辑和结果;
二是修改系统内容提供者的内容,应用程序访问隐私数据,需要用到内容提供者对应的方法,这时便加入处理判断逻辑,返回虚假数据或空数据;
三是向用户提供恰当的建议,对于无法处理和难以判断的恶意权限提出建议,提出的建议与用户使用习惯相关,让用户根据建议做出决断。
5.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,实现权限设置单元,首先修改应用程序安装权限确认界面,修改包括:
一是修改app_permission_item.xml文件,该文件是展现单个权限信息的布局文件,为提示用户对单个权限进行授权,在布局文件中加入了一个提示箭头,采用<ImageView>控件,并且把箭头的切图放在对应的res目录下;
二是新增布局文件select_dlg.xml,该文件是授权弹出框的静态布局,在LinearLayout中包含权限详情的TextView和许可、否决、询问三个按钮Button,用户通过该弹出框查看权限的详细释义并点击按钮进行选择;
三是修改install_confirm.xml布局文件,在该布局文件中的取消和安装按钮之间增加一个解析按钮,点击解析按钮跳转到解析界面,解析界面在权限组合解析中使用;
四是新增一个布局文件analyse.xml,该布局文件主要展现权限组合解析的结果,展现应用程序危险值、检测出的危险组合权限和解决方法的建议,在权限组合解析中使用;
用户配置单元让用户选择许可、否决和询问三种方式进行授权处理,以弹出框的方式让用户查看权限详情并提供选项让用户进行选择,结合布局变化,代码实现为:
一是在PackageInstallerActivity中对解析按钮添加监测事件,点击按钮跳转至权限解析页AnalyseActivity;
二是在AppSecurityPermissions文件中监测单个权限的点击事件,点击时出现弹出框,并将读取到的单个权限信息展现在弹出框上,弹出框提供给用户许可、否决、询问三个选项,点击按钮进行对应的授权,点击按钮后弹出框消失;
三是监测许可、否决、询问三个按钮的点击事件,以HashMap的数据结构记录用户的选择,其中key是权限名,value是权限状态,分别以0、1、2表示三种状态;
四是用户点击安装按钮时,将HashMap对象传递给原始的安装系统,以Intent方式传递给InstallAppProgress,再在权限管控单元读取此值并储存在数据库中。
6.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,实现权限管控单元为添加自定义的方法,结合PKMS各类之间的关系图,权限管控单元修改的文件包括:
一是InstallAppProgress.java,在调用的PackageManager对象的方法installPaccageWithVerificationAndEncryption的参数中加入权限设置单元的数据;
二是PaccageManager.java,文件在frameworcs/base/core/android/java/content/pm目录下,修改InstallAppProgress类中调用对应的抽象方法installPaccageWithVerificationAndEncryption,新添加一个参数,参数类型为HashMap<String,Integer>;
三是ApplicationPaccageManager.java,该文件继承自PackageManager,随之修改该文件中实现的方法,加入新参数;
四是IPaccageManager.aidl,该文件是AIDL体系的核心文件,定义通信的接口,为加入自定义的installPackageA方法,先在该文件中添加新方法;
五是PaccageManagerService,这是实现installPaccageA方法的文件,文件位置在frameworcs/base/services/java/com/android/server/pm目录下,在该方法中获取参数传过来的HashMap类型的数据,建立数据库并插入数据;
六是新建SQLite数据库,数据库名为应用程序的包名,采用方法openOrCreateDatabase创建数据,采用insert方法插入ContentValues类型的键值对。
7.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,实现权限核查单元是根据用户权限设置结果进行权限核查,安卓系统权限核查体系实现集中在在安卓框架层的ActivityManagerService和PackageManagerService中,其中ActivityManagerService对底层uid的身份进行核查;PackageManagerService根据请求者的uid核查对应的权限表,判断用户是否申请权限并得到授权,权限核查在对应的接口方法中实现,核查调用者是否具有访问对应的permission的权限,其中主要接口有checkPermission和checkUriPermission,checkPermission()判断调用者是否拥有对应的某个权限,经过checkPermission函数的核查后,若uid符合调用要求,调用PackageManagerService中实现的checkUidPermission方法,核查调用者是否拥有对应的权限;
在checkUidPermission函数的头部进行权限核查拦截,在权限列表包含待查询的权限的条件下,不返回结果,调用自定义的权限核查函数对权限进行二次核查:核查数据库中储存的权限授权状态,若是0则表示许可,若是1表示否决采用该权限,若是2表示询问该权限,利用SQLite数据库的查询方法根据表名、权限名查询对应的状态,根据查询结果进行对应的处理;
第一,若查询结果是0,则返回PERMISSION_GRANTED,许可采用该权限,不做处理直接进入原始安卓系统的权限核查流程;
第二,若查询结果是1,则展现系统弹出框,详细解析该权限并提示用户之前的否决授权带来的影响,并提供用户二次选择的机会,;
第三,若查询结果是2,表示用户之前的设置是询问,弹出框询问用户进行二次选择,询问的同时将权限的详细解析展现给用户以帮助判断,此时若用户选择许可,返回PEAMISSION_GAANFED,若用户选择否决,弹出可能带来的影响进行提示,返回PEAMISSION_DENIED;
用户点击系统弹出框上的按钮时,实时更新数据库,下次采用该权限时根据用户的二次选择做对应操作,更新数据库采用SQLiteDatabase对象的update方法更新。
8.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,实现权限储存单元采用安卓系统自身集成的数据库SQLite,利用SQLiteDatabase创建数据库,在SQLiteDatabase中进行其它操作,采用SQLiteDatabase对数据库进行操作包括:
一是在用户授权后的应用程序安装时创建和插入数据,首先在用户配置单元,记录用户对单个权限的设置,然后在权限管控单元得到数据,创建数据库,以应用程序的包名为创建的数据库表的名字,将代表用户配置的数据插入表中,数据库表由perm_id、name、state三个字段组成,其中perm_id是主键,name是权限名,state是权限状态;
二是权限动态核查时查询数据,在PKMS核查权限方法中查询数据库,若存在数据库,则根据包名和权限名查询数据state,根据查询结果进行后续处理,若不存在数据库,说明用户并没有进行过细化增强授权操作,直接进入安卓原始的权限核查体系;
三是权限动态设置时更新数据,用户进行二次变更时实时更新数据库。
9.根据权利要求1所述的安卓平台的细化增强权限管控与解析系统,其特征在于,实现对应用程序声明的权限解析,首先在PackageInstallerActivity中增加一个入口,提供一个解析按钮,当用户点击该解析按钮时跳转至权限解析结果页AnalyseActivity,在该页查看组合权限的检测结果和应用程序安全危险值;
在AnalyseActivity中,首先获取用户申请的权限集,得到包含包名、权限等信息,封装在mPkgInfo对象中,该对象属于PaccageInfo类,在该类中定义包名、版本号、包含四大组件信息的数组、权限信息列表属性,其中的requestedPermissions是保存用户申请的权限信息的数组;解析过程主要包括三步:
第一步,preAnalyse(),首先在该方法中处理权限名的前缀,mPcgInfo.requestedPermissions中获取的权限信息包含前缀android.permission.,且每一项权限的前缀都一样,去掉权限的对应前缀,减少程序解析时间的开销;
第二步,analyse(),在对权限进行前期处理后,在该方法中对应用程序申请的权限集进行检测和解析,实现时首先初始化通讯安全、隐私数据安全二类权限数组,检测能威胁这二类安全的组合权限,判断是否存在网络状这一类权限,若存在记下该权限名,作为组合权限的根节点,再对用户申请的权限逐一解析,若解析的权限功能危及通讯、隐私数据,记下该权限名作为叶子结点,表示找到了一对危险组合权限;通过程序解析,最终在二个数组commPerms和privacyPerms中储存解析结果,读取解析结果进行解析;
第三步,postAnalyse(),权限集的检测完成后,解析检测结果并展现在界面上;首先读取检测结果集,根据英文权限名解析得到中文权限名和功能概述,再在界面上动态添加View,并将组合权限展现给用户,在静态布局文件activity_analyse.xml中,只定义了一个LinearLayout,在程序中动态添加内容时直接新建FextView,设置需要展现的内容,随后采用addView方法添加到布局根目录下。
CN202010550974.2A 2020-06-16 2020-06-16 安卓平台的细化增强权限管控与解析系统 Pending CN111709017A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010550974.2A CN111709017A (zh) 2020-06-16 2020-06-16 安卓平台的细化增强权限管控与解析系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010550974.2A CN111709017A (zh) 2020-06-16 2020-06-16 安卓平台的细化增强权限管控与解析系统

Publications (1)

Publication Number Publication Date
CN111709017A true CN111709017A (zh) 2020-09-25

Family

ID=72540963

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010550974.2A Pending CN111709017A (zh) 2020-06-16 2020-06-16 安卓平台的细化增强权限管控与解析系统

Country Status (1)

Country Link
CN (1) CN111709017A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560083A (zh) * 2020-12-02 2021-03-26 支付宝(杭州)信息技术有限公司 安全保护方法、装置及电子设备
CN112863150A (zh) * 2021-01-11 2021-05-28 Tcl通讯(宁波)有限公司 提示方法、装置、存储介质及移动终端
CN113326502A (zh) * 2021-06-27 2021-08-31 刘秀萍 可疑行为量化评判的安卓应用分类授权法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560083A (zh) * 2020-12-02 2021-03-26 支付宝(杭州)信息技术有限公司 安全保护方法、装置及电子设备
CN112863150A (zh) * 2021-01-11 2021-05-28 Tcl通讯(宁波)有限公司 提示方法、装置、存储介质及移动终端
CN112863150B (zh) * 2021-01-11 2022-09-02 Tcl通讯(宁波)有限公司 提示方法、装置、存储介质及移动终端
CN113326502A (zh) * 2021-06-27 2021-08-31 刘秀萍 可疑行为量化评判的安卓应用分类授权法

Similar Documents

Publication Publication Date Title
US20240022607A1 (en) Automated and adaptive model-driven security system and method for operating the same
CN111709017A (zh) 安卓平台的细化增强权限管控与解析系统
US10230732B2 (en) Authorization policy objects sharable across applications, persistence model, and application-level decision-combining algorithm
CN105046146B (zh) 一种安卓系统的资源访问方法
Cuppens et al. Modeling contextual security policies
CN100492357C (zh) 最优化行级别数据库安全的系统和方法
US9053302B2 (en) Obligation system for enterprise environments
CN103875003A (zh) 用于在移动网络环境中把应用列入白名单的系统和方法
CN103368904A (zh) 移动终端、可疑行为检测及判定系统和方法
CN105051749A (zh) 基于策略的数据保护
Kritikos et al. Towards a security-enhanced PaaS platform for multi-cloud applications
US20070239471A1 (en) Systems and methods for specifying security for business objects using a domain specific language
CN110727930B (zh) 权限控制方法及装置
US11916964B2 (en) Dynamic, runtime application programming interface parameter labeling, flow parameter tracking and security policy enforcement using API call graph
EP3196798A1 (en) Context-sensitive copy and paste block
CN112270011A (zh) 对现存应用系统的业务及数据安全防护方法、装置及系统
CN106650418A (zh) 基于多策略的Android访问控制系统及方法
CN111880839A (zh) 一种api处理方法和装置
US8214382B1 (en) Database predicate constraints on structured query language statements
CN115238247A (zh) 基于零信任数据访问控制系统的数据处理方法
CN111639021A (zh) 应用程序的权限测试方法、装置及终端设备
CN113326502A (zh) 可疑行为量化评判的安卓应用分类授权法
Rocha et al. Functionality-based mobile application recommendation system with security and privacy awareness
Kern et al. A meta model for authorisations in application security systems and their integration into RBAC administration
Nauman et al. Realization of a user‐centric, privacy preserving permission framework for Android

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination