CN106951786A - 面向安卓平台的移动应用权限安全分析方法 - Google Patents
面向安卓平台的移动应用权限安全分析方法 Download PDFInfo
- Publication number
- CN106951786A CN106951786A CN201710200591.0A CN201710200591A CN106951786A CN 106951786 A CN106951786 A CN 106951786A CN 201710200591 A CN201710200591 A CN 201710200591A CN 106951786 A CN106951786 A CN 106951786A
- Authority
- CN
- China
- Prior art keywords
- authority
- application
- collection
- redundancy
- analyzed
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/033—Test or assess software
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种面向安卓平台的移动应用权限安全分析方法,包括构造“方法‑权限”映射关系集M;其中“方法‑权限”映射关系描述了调用方法对应的权限;提取待分析应用的权限集P1、方法集C和组件信息;识别冗余权限;分析权限泄露;产生包含冗余权限识别结果和权限泄露分析结果的分析报告。本发明集成了冗余权限检测和权限泄露检测,通过静态分析的方式发现目标应用是否存在冗余权限声明、权限泄露等安全隐患,既能帮助开发者评价自行开发应用权限申请的合理性,又能帮助用户避免安装恶意应用或者那些可能被利用于进行恶意攻击的应用。
Description
技术领域
本发明涉及一种面向安卓平台的移动应用权限安全分析方法,属于静态的应用安全分析技术领域。
背景技术
随着移动互联网与智能终端技术的快速发展与广泛应用,移动应用与服务日益丰富,Android系统成为最流行的智能终端平台。为了实现对隐私或敏感信息的保护,Android系统提供基于权限的访问控制机制,即当开发者利用Android系统提供的API访问系统资源实现丰富的功能时,Android系统借助权限授予机制控制应用程序对API的使用。开发者必须要使用特定的API之前,需要在AndroidManifest.xml文件中声明调用对应的权限。在Android应用安装时通知用户应用所需的权限,由用户自行评估其安全风险,决定是否安装该应用。然而,Android系统的权限机制是一种“all-or-nothing”的授予机制,用户要么允许授予所有的权限,要么取消Android应用的安装过程。一旦用户授予Android应用相应的权限,则无法撤销所授予的权限或者对相应的权限进行任何限制。因此,应用程序合理申请和使用权限是保障Android应用安全的关键。
Android应用的权限安全风险主要来自于冗余权限和权限泄露。冗余权限是指开发者在AndroidManifest.xml文件中申请了特定的权限,然而申请的权限却没有被使用,研究表明,开发人员在编写应用程序时往往为应用程序申请过多的权限,这将增加系统遭受恶意攻击的风险。为了降低这种风险,需要检测出应用程序申请和需要使用哪些权限,进而找出并剔除应用程序并不需要的权限。第二个权限安全风险是权限泄露,权限泄露是指某一应用可能并没有向系统申请某种权限,但是由于Android系统提供了Intent(意图)调用机制,该应用可以通过Intent调用其它应用的组件,从而获得自己所没有的权限。上述行为违反了Android平台的权限机制。攻击者可以通过发现移动终端上的预装应用或知名的第三方应用程序中的权限泄露漏洞,通过构造权限提升攻击来实现恶意目的。
在冗余权限检测方面,通常的思路是借助于API调用、权限申请或两者一起进行检测分析。恶意应用在API的使用和权限申请方面往往表现出不同于同类型正常应用的特性,比如一个相机应用却申请了发送短信息的功能。Felt等人(Felt A P,Chin E,Hanna S,etal.Android permissions demystified[C]//Proc of the 18th ACM Conference onComputer and Communications Security.New York:ACM Press,2011:627-638)发现应用程序开发者会出现一些明显的错误,如申请不存在的权限或申请使用了不需要用到的权限,因此,他们根据Android API使用和权限申请之间的关系设计了Stowaway工具来检查应用程序的权限过度申请情况。Bartel等人(Bartel A,Klein J,Le Traon Y,etal.Automatically securing permission-based software by reducing the attacksurface:an application to Android[C]//Proc of the 27th IEEE/ACM InternationalConference on Automated Software Engineering.New York:ACM Press,2012:274-277)进行了类似的工作,他们通过静态分析方法抽取出了程序中的应用程序框架层入口点,从应用程序框架层入口点进行控制流分析直到代码访问到权限敏感的API来分析出应用程序入口点与不同权限使用的关系,然后利用从代码入口点是否能够访问到之前抽取出的应用程序框架层入口点来判断是否有权限不需要使用。他们认为额外申请的权限一方面为程序开发者的错误,另一方面某些恶意程序实现了代码注入导致无法从代码入口点通过静态分析的方式直接访问到这些被注入的代码。朱佳伟等(Zhu Jiawei,Guan Zhi,Yang Yang,etal.Permission-based abnormal application detection for Android[M].//Information and Communications Security.Berlin:Springer,2012:228-239)之前设计了基于权限可信性的异常程序分析框架,认为应用程序商店中的程序描述文本反映了程序预期的功能,而程序申请的权限则反映了程序的真实行为。对于良性程序,它预期的功能和它的权限是一一对应的,如果某个申请使用的权限并不能通过描述文本体现出来,那么这个权限就认为是不可信的。具体地,通过应用程序商店中的程序描述文本以及所申请权限的对应关系设计了异常程序检测系统。他们对应用程序描述文本和权限之间建立了分析模型,从而自动化地检测出不可信权限,进而判断程序潜在的安全威胁。
在权限泄露检测方面,Grace等人(Grace M C,Zhou Yajin,Wang Zhi,etal.Systematic detection of capability leaks in stock Android smartphones[C]//Proc of the19th Annual Network&Distributed System Security Symposium.2012)对Android设备中预先安装的应用程序进行了显式权限以及隐式权限泄露情况的分析。对于显式权限泄露,恶意程序会利用已安装程序可被公开访问的接口或服务完成更多权限的获取;对于隐式权限泄露,恶意程序通过开发出与已有的程序有着同样签名密钥的方式完成合谋攻击。他们认为,如果某Android应用程序存在可被公开访问的组件接口,并且如果这些不同的组件具有访问某些敏感资源的能力,那么该程序存在权限泄露问题。他们的方案通过分析从Android应用程序不同的组件的入口点出发能够访问到哪些敏感的系统资源的方式检查出这些组件具有访问哪些资源的能力,从而完成了上述目标。Chan等人(Chan P PF,Hui L C K,Yiu S M.DroidChecker:analyzing Android applications forcapability leak[C]//Proc of the 5th ACM Conference on Security and Privacy inWireless and Mobile Networks.New York:ACM Press,2012:125-136)也进行了类似的工作,他们设计并实现了DroidChecker对应用程序可能的显式权限泄露问题进行了分析,与Grace等的方案相比,他们使用了不同的静态分析方法,即污点检测方法对权限泄露问题进行了检查。
通过对已有的研究工作分析可以看出:1)对于冗余权限的检测,基本上基于权限申请和API调用信息的组合开展的,忽视了应用本身是否存在特定的权限和API调用的需求。例如,对于1个录音软件而言,如要求电话状态、录音和互联网连接的权限组合被认为是危险的,互联网连接权限被认为是多余的,因为申请这种权限组合的应用程序存在成为监听用户通话情况的间谍软件的可能性。因此,可以考虑其应用类别信息,通过PackageManager管理类及其子类易于获得该信息。2)现有的权限泄露检测存在误报情形,需要进一步降低误报率;3)缺少一种集成的权限安全分析方法,既能实现冗余检测,又能实现权限泄露,且具有较高的准确性。
发明内容
为了解决上述技术问题,本发明提供了一种面向安卓平台的移动应用权限安全分析方法。
为了达到上述目的,本发明所采用的技术方案是:
面向安卓平台的移动应用权限安全分析方法,包括以下步骤,
构造“方法-权限”映射关系集M;其中“方法-权限”映射关系描述了调用方法对应的权限;
提取待分析应用的权限集P1、方法集C和组件信息;
识别冗余权限;
分析权限泄露;
产生包含冗余权限识别结果和权限泄露分析结果的分析报告。
构建“方法-权限”映射关系集的过程为,
定义权限结构体、方法结构体和“方法-权限”映射关系;其中权限结构体描述系统资源访问权限,方法结构体描述系统资源访问方法;
通过扫描Android系统源码的方式,提取权限审核函数中出现的所有方法和权限映射关系,构造映射关系集M1;
通过构造测试用例的方式,提取每一个方法调用所需的权限,构造映射关系集M2;
合并M1和M2,并剔除重复映射关系,形成最终的“方法-权限”映射关系集M。
权限结构体中包括权限名称,方法结构体中包括若干字段,这些字段通过一定的规则构成方法签名,一个方法的调用仅需要一种权限,在“方法-权限”映射关系中表现为一个方法签名与一个权限名称对应。
提取待分析应用的权限集、方法集和组件信息的过程为,
获取待分析应用安装包中的Androidmanifest.xml文件和classes.dex文件;
从Androidmanifest.xml文件中提取权限集P1以及组件信息;
从classes.dex文件中获取方法集C。
冗余权限识别的过程为,
采用层次聚类的方法将良性应用样本集划分为不同应用类型的簇;
确定待分析应用所对应的簇,进而获取该簇对应的权限集P2;
将待分析应用的权限集P1划分为冗余权限集P3以及有效权限集P4;
比较有效权限集P4和簇对应的权限集P2,从有效权限集P4中识别并剔除疑似的冗余权限集P5。
采用层次聚类的方法将良性应用样本集划分为不同的应用类型的过程为,
遍历选定的规模为N1的良性应用样本集,从每个良性应用样本的安装包中获取方法集;假设第i个良性应用样本的方法数目有N2个,则第i个良性应用样本的方法集可以表示为一个N2维向量,其中i为小于等于N1的正整数;
将用向量形式表示的良性应用样本集进行层次聚类,将良性应用样本集划分为不同应用类型的簇。
确定待分析应用所对应的应用类型,进而获取该类型应用对应的权限集P2的过程为,
将待分析应用的方法集转换成对应的向量,采用欧几里得距离度量公式分别计算所得到的簇中心的距离,根据距离越小,应用相似性越高的原则,确定待分析应用所对应的簇;
收集该簇内每一个应用的权限集,通过集合并操作得到该簇对应的权限集P2。
将待分析应用的权限集P1划分为冗余权限集P3以及有效权限集P4的过程为,
定义初始时冗余权限集P3等于待分析应用的权限集P1,有效权限集P4为空集;
遍历待分析应用的方法集C,从“方法-权限”映射关系集中获取待分析应用的每个方法对应的权限,如果待分析应用方法对应的权限属于权限集P1,则将该权限加入有效权限集P4,在冗余权限集P3中删除该权限;
遍历结束后,得到冗余权限集P3和有效权限集P4。
权限泄露的分析过程为,
遍历组件信息,构建权限泄露候选组件集CS;
分析权限泄露候选组件,识别泄露的权限。
分析权限泄露候选组件,识别泄露的权限的过程为,
对于权限泄露候选组件集CS中的候选组件Cw,获取候选组件Cw要求使用者所需具备的权限集P6,获取候选组件Cw激活所有Action所需的权限集P7,则候选组件Cw泄露的权限集为P8=P7-P7∩P6。
本发明所达到的有益效果:1、本发明集成了冗余权限检测和权限泄露检测,通过静态分析的方式发现目标应用是否存在冗余权限声明、权限泄露等安全隐患,既能帮助开发者评价自行开发应用权限申请的合理性,又能帮助用户避免安装恶意应用或者那些可能被利用于进行恶意攻击的应用;2、本发明的冗余权限检测参考了同类别良性应用的权限申请情况,能给出针对每个冗余权限的确信度,降低了误检率;3、本发明的权限泄露检测能够降低用户隐私数据泄露的风险。
附图说明
图1为本发明的流程图。
图2为构建“方法-权限”映射关系集的流程图。
图3为提取待分析应用关键信息流程图。
图4为冗余权限识别流程图。
图5为权限泄露分析流程图。
图6为分析报告模板。
具体实施方式
下面结合附图对本发明作进一步描述。以下实施例仅用于更加清楚地说明本发明的技术方案,而不能以此来限制本发明的保护范围。
如图1所示,面向安卓平台的移动应用权限安全分析方法,包括以下步骤:
步骤1,构造“方法-权限”映射关系集M。
如图2所示,具体过程为:
S1.1,定义权限结构体、方法结构体和“方法-权限”映射关系;其中权限结构体描述系统资源访问权限,方法结构体描述系统资源访问方法,“方法-权限”映射关系描述了调用方法对应的权限。
权限结构体中包括权限名称,还包括权限等级,等级由低到高分为4级,分别为一般N、危险D、系统S、系统或签名SS,每个权限都对应一个特定的等级;
如:权限结构体PrivilegeStruct;
方法结构体中包括若干字段,每个字段对应方法声明的一个要素,一个完整的方法声明由方法名,类名,包名,参数个数,参数类型,函数类型和返回值类型构成,将这些字段通过一定的规则构成方法签名,比如可通过“+”连接;
如:方法结构体MethodStruct;
“方法-权限”映射关系是一对一关系,即一个方法的调用仅需要一种权限,在“方法-权限”映射关系中表现为一个方法签名与一个权限名称对应。如:<msig,pname>的“方法-权限”映射关系PrivilegetoMethod,其中msig表示方法签名,pname表示权限名称。
S1.2,通过扫描Android系统源码的方式,提取权限审核函数中出现的所有方法和权限映射关系,构造映射关系集M1。
具体为:扫描Android系统源码,提取权限审核函数checkPermission()中出现的方法调用权限审核信息,包括方法签名以及权限,分别实例化一个方法对象m和一个权限对象p,保存方法信息和权限信息;实例化“方法-权限”映射关系以对象m的签名msig作为key,以对象p的p.pname(对象p的权限名称)作为value,存储在映射关系集M1中,数据类型为Map。
S1.3,通过构造测试用例的方式,提取每一个方法调用所需的权限,构造映射关系集M2。
具体为:获取Androidmanfiest.xml中的“minSdkVersion”和“targetSdkVersion”对应的API Level值,确定应用适用的所有Android平台版本,查询Android平台版本对应的API文档,获取完整的方法列表mlist,遍历方法列表mlist,对于任意的方法,实例化一个方法对象m′,保存方法信息;同时为构造一个测试用例去调用该方法,因为没有赋予方法调用权限,所以会产生方法调用异常,异常提示信息中包含了该方法调用所需的权限,实例化一个权限对象p′,保存权限信息;进一步地,实例化“方法-权限”映射关系以对象m′的签名msig作为key,以对象p′的p.pname作为value,存储在映射关系集M2中,数据类型为Map。
S1.4,合并M1和M2,并剔除重复映射关系,形成最终的“方法-权限”映射关系集M。
步骤2,提取待分析应用的权限集P1、方法集C和组件信息。
如图3所示,具体过程为:
S2.1,获取待分析应用安装包中的Androidmanifest.xml文件和classes.dex文件。
S2.2,从Androidmanifest.xml文件中提取权限集P1以及组件信息。
具体过程为:解析AndroidManfiest.xml文件,从标签“use-permission”提取权限集P1,分别从标签“Activity”、标签“Service”、标签“Provider”和标签“receiver”获取对应的组件信息。
S2.3,从classes.dex文件中通过遍历获取方法集C。
步骤3,识别冗余权限。
如图4所示,具体过程为:
S3.1,采用层次聚类的方法将良性应用样本集划分为不同应用类型的簇。
过程如下:
S3.1.1,遍历选定的规模为N1的良性应用样本集,从每个良性应用样本的安装包中获取方法集;假设第i个良性应用样本的方法数目有N2个,则第i个良性应用样本的方法集可以表示为一个N2维向量Vi,Vi(j)为向量Vi的第j个元素,元素值要么为1,要么为0,其中,1表示第i个良性应用样本在程序中调用了第j个方法,0则表示没有调用,i为小于等于N1的正整数;
S3.1.2,将用向量形式表示的良性应用样本集进行层次聚类,将良性应用样本集划分为不同应用类型的簇。
S3.2,确定待分析应用所对应的簇,进而获取该簇对应的权限集P2。
过程如下:
S3.2.1,将待分析应用的方法集转换成对应的向量,采用欧几里得距离度量公式分别计算所得到的簇中心的距离,根据距离越小,应用相似性越高的原则,确定待分析应用所对应的簇,每一个簇代表一种应用类型;
S3.2.2,收集该簇内每一个应用的权限集,通过集合并操作得到该簇对应的权限集P2。
S3.3,将待分析应用的权限集P1划分为冗余权限集P3以及有效权限集P4。
过程如下:
S3.3.1,定义初始时冗余权限集P3等于待分析应用的权限集P1,有效权限集P4为空集;
S3.3.2,遍历待分析应用的方法集C,从“方法-权限”映射关系集中获取待分析应用的每个方法对应的权限,如果待分析应用方法对应的权限属于权限集P1,则将该权限加入有效权限集P4,在冗余权限集P3中删除该权限;
S3.3.3,遍历结束后,得到冗余权限集P3和有效权限集P4。
S3.4,比较有效权限集P4和簇对应的权限集P2,从有效权限集P4中识别并剔除疑似的冗余权限集。
步骤4,分析权限泄露。
如图5所示,具体过程为:
S4.1,遍历组件信息,构建权限泄露候选组件集CS;将具备下列情形之一的组件视为权限泄露候选组件:1)组件声明中“exported”属性值为“true”;2)组件申明中至少包含一个“intent-filter”标签且属性“exported”未出现。
“exported”属性值为“true”表明该组件公开接口可以供其它应用调用与交互,它的默认值依赖于该组件是否包含intent过滤器,若组件中没有定义过滤器,则“exported”的默认值为“false”,表明同一个应用的组件或者带有相同用户ID的应用程序才能使用该组件;否则为“true”。
S4.2,分析权限泄露候选组件,识别泄露的权限。
过程如下:
S4.2.1,定义w=1,数据类型为Map的组件权限泄露映射关系
S4.2.1,对于权限泄露候选组件集CS中的候选组件Cw,获取候选组件Cw要求使用者所需具备的权限集P6,获取候选组件Cw激活所有Action所需的权限集P7,则候选组件Cw泄露的权限集为P8=P7-P7∩P6。
获取候选组件Cw要求使用者所需具备的权限集P6,即获取候选组件Cw的属性“permission”得到该组件定义的要启动或绑定服务的实体必须要有的所有权限,记为P6;若该组件的属性“permission”没有被设置,即则P6设为通过AndroidManifest.xml文件中标签“application”的“permission”属性所设定的所有权限。
获取候选组件Cw激活所有Action所需的权限集P7,即获取候选组件Cw的标签“intent-filter”中定义的所有action实现所需要的权限,记为P7。
S4.2.2,以Cw为key,以P8作为value,构造映射关系存储在PL_map中。
S4.2.3,判断w是否小于权限泄露候选组件集CS的元素个数,如果是,则w=w+1,转至S4.2.1,否则,结束。
步骤5,产生包含冗余权限识别结果和权限泄露分析结果的分析报告。
具体过程为:
S5.1,构造分析报告模板,如图6所示,该模板由2部分构成,包括冗余权限识别结果和权限泄露分析结果。冗余权限识别结果中阐明了确定无疑的冗余权限,可疑的冗余权限,以及有效权限;而权限泄露分析结果阐明了存在权限泄露的组件、所泄露的权限等信息;
S5.2,依次遍历P3、P5和P4,产生冗余权限分析结果;
S5.3,遍历对象PL_map,输出PL_map中每一个key-value形式表示的对象的信息,即组件信息以及泄露的权限信息,产生权限泄露分析结果;
S5.4,输出最终的权限安全分析报告。
上述方法集成了冗余权限检测和权限泄露检测,通过静态分析的方式发现目标应用是否存在冗余权限声明、权限泄露等安全隐患,既能帮助开发者评价自行开发应用权限申请的合理性,又能帮助用户避免安装恶意应用或者那些可能被利用于进行恶意攻击的应用;同时该方法的冗余权限检测参考了同类别良性应用的权限申请情况,能给出针对每个冗余权限的确信度,降低了误检率;该方法的权限泄露检测,能够降低用户隐私数据泄露的风险。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明技术原理的前提下,还可以做出若干改进和变形,这些改进和变形也应视为本发明的保护范围。
Claims (10)
1.面向安卓平台的移动应用权限安全分析方法,其特征在于:包括以下步骤,
构造“方法-权限”映射关系集M;其中“方法-权限”映射关系描述了调用方法对应的权限;
提取待分析应用的权限集P1、方法集C和组件信息;
识别冗余权限;
分析权限泄露;
产生包含冗余权限识别结果和权限泄露分析结果的分析报告。
2.根据权利要求1所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:构建“方法-权限”映射关系集的过程为,
定义权限结构体、方法结构体和“方法-权限”映射关系;其中权限结构体描述系统资源访问权限,方法结构体描述系统资源访问方法;
通过扫描Android系统源码的方式,提取权限审核函数中出现的所有方法和权限映射关系,构造映射关系集M1;
通过构造测试用例的方式,提取每一个方法调用所需的权限,构造映射关系集M2;
合并M1和M2,并剔除重复映射关系,形成最终的“方法-权限”映射关系集M。
3.根据权利要求2所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:权限结构体中包括权限名称,方法结构体中包括若干字段,这些字段通过一定的规则构成方法签名,一个方法的调用仅需要一种权限,在“方法-权限”映射关系中表现为一个方法签名与一个权限名称对应。
4.根据权利要求1所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:提取待分析应用的权限集、方法集和组件信息的过程为,
获取待分析应用安装包中的Androidmanifest.xml文件和classes.dex文件;
从Androidmanifest.xml文件中提取权限集P1以及组件信息;
从classes.dex文件中获取方法集C。
5.根据权利要求1所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:冗余权限识别的过程为,
采用层次聚类的方法将良性应用样本集划分为不同应用类型的簇;
确定待分析应用所对应的簇,进而获取该簇对应的权限集P2;
将待分析应用的权限集P1划分为冗余权限集P3以及有效权限集P4;
比较有效权限集P4和簇对应的权限集P2,从有效权限集P4中识别并剔除疑似的冗余权限集。
6.根据权利要求5所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:采用层次聚类的方法将良性应用样本集划分为不同的应用类型的过程为,
遍历选定的规模为N1的良性应用样本集,从每个良性应用样本的安装包中获取方法集;假设第i个良性应用样本的方法数目有N2个,则第i个良性应用样本的方法集可以表示为一个N2维向量,其中i为小于等于N1的正整数;
将用向量形式表示的良性应用样本集进行层次聚类,将良性应用样本集划分为不同应用类型的簇。
7.根据权利要求6所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:确定待分析应用所对应的应用类型,进而获取该类型应用对应的权限集P2的过程为,
将待分析应用的方法集转换成对应的向量,采用欧几里得距离度量公式分别计算所得到的簇中心的距离,根据距离越小,应用相似性越高的原则,确定待分析应用所对应的簇;
收集该簇内每一个应用的权限集,通过集合并操作得到该簇对应的权限集P2。
8.根据权利要求5所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:将待分析应用的权限集P1划分为冗余权限集P3以及有效权限集P4的过程为,
定义初始时冗余权限集P3等于待分析应用的权限集P1,有效权限集P4为空集;
遍历待分析应用的方法集C,从“方法-权限”映射关系集中获取待分析应用的每个方法对应的权限,如果待分析应用方法对应的权限属于权限集P1,则将该权限加入有效权限集P4,在冗余权限集P3中删除该权限;
遍历结束后,得到冗余权限集P3和有效权限集P4。
9.根据权利要求1所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:权限泄露的分析过程为,
遍历组件信息,构建权限泄露候选组件集CS;
分析权限泄露候选组件,识别泄露的权限。
10.根据权利要求9所述的面向安卓平台的移动应用权限安全分析方法,其特征在于:分析权限泄露候选组件,识别泄露的权限的过程为,
对于权限泄露候选组件集CS中的候选组件Cw,获取候选组件Cw要求使用者所需具备的权限集P6,获取候选组件Cw激活所有Action所需的权限集P7,则候选组件Cw泄露的权限集为P8=P7-P7∩P6。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710200591.0A CN106951786A (zh) | 2017-03-30 | 2017-03-30 | 面向安卓平台的移动应用权限安全分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710200591.0A CN106951786A (zh) | 2017-03-30 | 2017-03-30 | 面向安卓平台的移动应用权限安全分析方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106951786A true CN106951786A (zh) | 2017-07-14 |
Family
ID=59475176
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710200591.0A Pending CN106951786A (zh) | 2017-03-30 | 2017-03-30 | 面向安卓平台的移动应用权限安全分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106951786A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763924A (zh) * | 2018-04-26 | 2018-11-06 | 南京大学 | 一种安卓应用程序中不可信第三方库访问权限控制方法 |
CN110113292A (zh) * | 2018-02-01 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 安全检测方法和应用权确认方法、装置及系统 |
CN110162963A (zh) * | 2019-04-26 | 2019-08-23 | 肖银皓 | 一种识别过权应用程序的方法 |
WO2019217292A1 (en) * | 2018-05-07 | 2019-11-14 | Mcafee, Llc | Methods, systems, articles of manufacture and apparatus to verify application permission safety |
CN110837360A (zh) * | 2019-10-12 | 2020-02-25 | 福建天泉教育科技有限公司 | 应用过度索权的检测方法及计算机可读存储介质 |
CN111221733A (zh) * | 2020-01-06 | 2020-06-02 | 北京小米移动软件有限公司 | 信息处理方法、装置、移动终端及存储介质 |
CN111259374A (zh) * | 2020-01-08 | 2020-06-09 | 苏宁云计算有限公司 | 权限异常检测方法、装置、计算机设备和存储介质 |
CN111767525A (zh) * | 2020-06-29 | 2020-10-13 | 北京明略昭辉科技有限公司 | 一种基于数据存储系统的数据权限调整方法及装置 |
CN113779546A (zh) * | 2021-06-01 | 2021-12-10 | 武汉深之度科技有限公司 | 一种录音权限管理方法、计算设备及存储介质 |
CN113918955A (zh) * | 2021-09-29 | 2022-01-11 | 杭州默安科技有限公司 | 一种linux内核漏洞权限提升检测阻断方法和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268438A (zh) * | 2013-02-04 | 2013-08-28 | 中国科学院信息工程研究所 | 基于调用链的Android权限管理方法及系统 |
CN103996007A (zh) * | 2014-05-29 | 2014-08-20 | 诸葛建伟 | Android应用权限泄露漏洞的测试方法及系统 |
CN104462970A (zh) * | 2014-12-17 | 2015-03-25 | 中国科学院软件研究所 | 一种基于进程通信的Android应用程序权限滥用检测方法 |
CN104834862A (zh) * | 2015-03-25 | 2015-08-12 | 南京大学 | 一种安卓权限提升攻击的全面静态分析系统 |
-
2017
- 2017-03-30 CN CN201710200591.0A patent/CN106951786A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103268438A (zh) * | 2013-02-04 | 2013-08-28 | 中国科学院信息工程研究所 | 基于调用链的Android权限管理方法及系统 |
CN103996007A (zh) * | 2014-05-29 | 2014-08-20 | 诸葛建伟 | Android应用权限泄露漏洞的测试方法及系统 |
CN104462970A (zh) * | 2014-12-17 | 2015-03-25 | 中国科学院软件研究所 | 一种基于进程通信的Android应用程序权限滥用检测方法 |
CN104834862A (zh) * | 2015-03-25 | 2015-08-12 | 南京大学 | 一种安卓权限提升攻击的全面静态分析系统 |
Non-Patent Citations (3)
Title |
---|
周英等: "《大数据挖掘 系统方法与实例分析》", 31 May 2016 * |
谭翠江等: "基于函数调用关系的Android应用权限泄露漏洞挖掘技术研究", 《网络安全技术与应用》 * |
赵淑贤: "Android组件的权限泄露检测方法研究", 《现代商贸工业》 * |
Cited By (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110113292A (zh) * | 2018-02-01 | 2019-08-09 | 阿里巴巴集团控股有限公司 | 安全检测方法和应用权确认方法、装置及系统 |
CN110113292B (zh) * | 2018-02-01 | 2022-04-29 | 阿里巴巴集团控股有限公司 | 安全检测方法和应用权确认方法、装置及系统 |
CN108763924A (zh) * | 2018-04-26 | 2018-11-06 | 南京大学 | 一种安卓应用程序中不可信第三方库访问权限控制方法 |
CN108763924B (zh) * | 2018-04-26 | 2022-04-22 | 南京大学 | 一种安卓应用程序中不可信第三方库访问权限控制方法 |
US10990679B2 (en) | 2018-05-07 | 2021-04-27 | Mcafee, Llc | Methods, systems, articles of manufacture and apparatus to verify application permission safety |
WO2019217292A1 (en) * | 2018-05-07 | 2019-11-14 | Mcafee, Llc | Methods, systems, articles of manufacture and apparatus to verify application permission safety |
CN110162963A (zh) * | 2019-04-26 | 2019-08-23 | 肖银皓 | 一种识别过权应用程序的方法 |
CN110837360A (zh) * | 2019-10-12 | 2020-02-25 | 福建天泉教育科技有限公司 | 应用过度索权的检测方法及计算机可读存储介质 |
CN110837360B (zh) * | 2019-10-12 | 2023-04-07 | 福建天泉教育科技有限公司 | 应用过度索权的检测方法及计算机可读存储介质 |
CN111221733A (zh) * | 2020-01-06 | 2020-06-02 | 北京小米移动软件有限公司 | 信息处理方法、装置、移动终端及存储介质 |
WO2021139139A1 (zh) * | 2020-01-08 | 2021-07-15 | 苏宁云计算有限公司 | 权限异常检测方法、装置、计算机设备和存储介质 |
CN111259374B (zh) * | 2020-01-08 | 2021-10-12 | 南京苏宁加电子商务有限公司 | 权限异常检测方法、装置、计算机设备和存储介质 |
CN111259374A (zh) * | 2020-01-08 | 2020-06-09 | 苏宁云计算有限公司 | 权限异常检测方法、装置、计算机设备和存储介质 |
CN111767525A (zh) * | 2020-06-29 | 2020-10-13 | 北京明略昭辉科技有限公司 | 一种基于数据存储系统的数据权限调整方法及装置 |
CN111767525B (zh) * | 2020-06-29 | 2024-03-22 | 北京明略昭辉科技有限公司 | 一种基于数据存储系统的数据权限调整方法及装置 |
CN113779546A (zh) * | 2021-06-01 | 2021-12-10 | 武汉深之度科技有限公司 | 一种录音权限管理方法、计算设备及存储介质 |
CN113779546B (zh) * | 2021-06-01 | 2024-03-26 | 武汉深之度科技有限公司 | 一种录音权限管理方法、计算设备及存储介质 |
CN113918955A (zh) * | 2021-09-29 | 2022-01-11 | 杭州默安科技有限公司 | 一种linux内核漏洞权限提升检测阻断方法和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106951786A (zh) | 面向安卓平台的移动应用权限安全分析方法 | |
Xie et al. | Deephunter: a coverage-guided fuzz testing framework for deep neural networks | |
KR101767454B1 (ko) | 다양한 웹 서비스 환경에서 사용자의 행위 패턴 분석을 통한 이상행위 탐지 방법과 그를 위한 장치 | |
CN106203113B (zh) | 安卓应用文件的隐私泄露监控方法 | |
CN105447388B (zh) | 一种基于权重的安卓恶意代码检测系统及方法 | |
Li et al. | Opcode sequence analysis of Android malware by a convolutional neural network | |
CN106570399B (zh) | 一种跨App组件间隐私泄露的检测方法 | |
CN104462973B (zh) | 移动终端中应用程序的动态恶意行为检测系统及方法 | |
CN104866763A (zh) | 基于权限的Android恶意软件混合检测方法 | |
CN105825129A (zh) | 一种融合通信中恶意软件鉴别方法和系统 | |
CN109214178A (zh) | App应用恶意行为检测方法及装置 | |
CN114866358B (zh) | 一种基于知识图谱的自动化渗透测试方法及系统 | |
Zhang et al. | An empirical study of web resource manipulation in real-world mobile applications | |
CN113221032A (zh) | 链接风险检测方法、装置以及存储介质 | |
CN106845235B (zh) | 一种基于机器学习方法的安卓平台回调函数检测方法 | |
CN108647517A (zh) | 一种Android混合应用代码注入的漏洞检测系统及方法 | |
CN117579395B (zh) | 一种应用人工智能进行网络安全漏洞扫描的方法及系统 | |
CN111159115A (zh) | 相似文件检测方法、装置、设备及存储介质 | |
Wang et al. | Do as you say: Consistency detection of data practice in program code and privacy policy in mini-app | |
CN107368741A (zh) | 一种基于静态分析的Android应用JavaScript安全漏洞检测方法 | |
Jia et al. | A framework for privacy information protection on Android | |
CN112671724A (zh) | 一种终端安全检测分析方法、装置、设备及可读存储介质 | |
KR20210110765A (ko) | 인공지능 기반 빅데이터 비식별화 솔루션 제공방법 | |
CN111314326A (zh) | Http漏洞扫描主机的确认方法、装置、设备及介质 | |
CN113779589A (zh) | 一种安卓智能手机应用误配置检测方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20170714 |