一种基于组件关联的应用隐私泄露问题检测方法和装置制造方法及图纸

技术编号:22467878 阅读:18 留言:0更新日期:2019-11-06 11:40
本发明专利技术公开了一种基于组件关联的应用隐私泄露问题检测方法和装置,该方法包括步骤:提取组件间通信的关联信息,建立关联关系集合;确定敏感权限,将敏感权限的数据对象定义为敏感数据,查找对敏感数据的获取操作和发送操作,并使用污点分析法查找敏感数据获取操作和发送之间的数据通路;收集数据通路上的隐私泄露特征;依据隐私泄露特征,采用层次分析法给予相应权值;并综合本次所有隐私泄露特征进行加权计算,得到隐私泄露的恶意指数,通过所述恶意指数评判是否发生隐私泄露。该装置包括组件关系解析单元、数据流向查找单元、特征采集单元和层次分析单元。该方法和装置,能够有效地检测出利用组件间通信机制对用户敏感数据窃取的行为。

An application privacy leak detection method and device based on component Association

【技术实现步骤摘要】
一种基于组件关联的应用隐私泄露问题检测方法和装置
本专利技术涉及移动互联网安全
,特别涉及一种基于组件关联的应用隐私泄露问题检测方法和装置。
技术介绍
为了进行安全保护,Android系统有自己特有的安全机制,例如采用了权限机制进行筛查隔离,以控制Android系统中短信、照片、通讯录和位置等敏感数据和一些系统功能的访问,保证系统的安全性。此外,现有技术针对隐私泄露问题的研究中,提出了一些从应用中提取方法调用、权限和信息流等特征的工具与手段,并将特征与预先发现的应用签名、恶意特征或侵犯隐私的行为进行比较,从而发现存在隐私泄露问题的应用。传统的Android应用分析中,根据分析方法可将防隐私泄露方案主要分为三大类:特征匹配、行为分析和动态模拟运行监控。特征匹配主要是判断应用中是否有特定的一段序列或签名或者特定的指令序列等特征;行为代码分析则是从单个apk文件出发,反编译出应用的中间代码信息,再根据词法分析、语法分析、控制流、数据流等方法收集应用行为特征评判安全性;动态模拟运行监控则是通过自动化脚本触发应用的各种行为,同时在沙箱中进行应用的运行监控,识别应用的敏感行为,从而实现应用实际行为的安全分析。然而,这些检测方法,多是针对单个应用进行分析的,对于恶意应用直接或间接利用其它应用泄漏的权限获得用户数据的现象,上述方法不具备很好的检测能力。尽管Android系统采取了保护措施以尽可能避免攻击,恶意攻击者还是有可能通过一些手段越过权限审查窃取隐私信息,其中一种可能窃取到隐私信息的攻击手段就是利用Android的组件间通信机制。Android应用的设计和开发方式越来越倾向于模块化、可重用的原则,使得开发者们通过组件间通信(Inter-ComponentCommunication,ICC)的方式实现组件重用,进而将各类功能的组件组合成一个功能完整的应用。这类开发方式遵循高内聚低耦合的设计模式,受到广泛的推广。然而,恶意软件也可使用组件间通信机制,进行窃取隐私、恶意扣费或者诱骗欺诈。这类由组件间通信造成的Android安全问题相比于传统研究的安全问题,产生问题的方式更灵活多变,也更加难以被检测到,对用户保留在手机中的隐私信息安全造成巨大的威胁。随着现代社会对个人隐私安全保护的日益重视,如何更好地减少组件间通信造成的Android安全问题给用户带来的损失,保护用户的信息与财产安全,是安全研究人员极为关注的一个研究方向。综上,如何检测利用组件间通信机制泄露隐私的恶意行为,成为本领域技术人员亟待解决的技术问题。
技术实现思路
本专利技术的目的是提出一种基于组件关联的应用隐私泄露问题检测方法和装置,以解决上述技术问题。为实现上述目的,本专利技术提供了如下方案:本专利技术实施例的第一个方面,提供了一种基于组件关联的应用隐私泄露问题检测方法,包括如下步骤:提取组件间通信的关联信息,建立描述组件间通信关系的关联关系集合;确定敏感权限,将敏感权限的数据对象定义为敏感数据,在所述关联关系集合范围内,查找对所述敏感数据的获取操作和发送操作,并使用污点分析法查找敏感数据获取操作和发送之间的数据通路;收集所述数据通路上的隐私泄露特征;依据所述隐私泄露特征,采用层次分析法建立隐私泄露检测模型,对各项隐私泄露特征给予相应权值;并综合本次所有隐私泄露特征进行加权计算,得到隐私泄露的恶意指数,通过所述恶意指数评判是否发生隐私泄露。可选的,提取组件间通信的关联信息,建立描述组件间通信关系的关联关系集合,包括步骤:通过应用分析器提取应用代码中的组件声明信息与组件调用信息,通过模糊匹配建立组件间的关联关系库;根据所述关联关系库中精确解析的组件关联关系对当前未精确解析的组件关联关系进行实际调用概率评估,记录关联概率,根据预设的概率阈值筛选出可靠的关联关系,形成所述关联关系集合。可选的,确定敏感权限,包括:随机选取第一预设数量个已知的恶意应用作为数据样本,统计恶意应用使用最多的前第二预设数量条权限;将第二预设数量条权限作为样本权限;将权限设置不当的自定义权限和所述样本权限定义为敏感权限。可选的,查找对所述敏感数据的获取操作和发送操作,并使用污点分析法查找敏感数据获取操作和发送之间的数据通路,包括步骤:根据权限及方法映射与方法及方法类型映射,获得待测应用中对敏感数据进行的获取操作与发送操作;将所述获取操作获取到的数据定义为污点数据,进行污点分析,根据深度优先算法访问相邻的数据节点,直到遇到敏感数据发送操作的执行,或者所有相邻的数据节点都访问完成,分析结束即获得所述数据通路。可选的,收集所述数据通路上的隐私泄露特征,包括收集传播过程因素特征和/或收集操作特征;所述收集传播过程因素特征,包括:沿所述数据通路反向寻找敏感数据获取操作的代码起始入口,追溯待测应用内引发敏感数据获取操作的起始动作,判断动作产生原因,以此收集关联触发因素特征;在所述数据通路中,通过识别if、else条件语句中对环境信息获取的操作,判定在数据流向过程中是否存在对环境因素特征的控制依赖以及依赖的环境因素类别,以此收集环境因素特征;所述收集操作特征,包括:收集通过敏感权限对敏感数据进行的获取操作和发送操作,作为操作特征。可选的,采用层次分析法建立隐私泄露检测模型,对各项隐私泄露特征给予相应权值,包括步骤:将隐私泄露特征划分为传播过程因素特征和操作特征;一次所述操作特征包括通过敏感权限对敏感数据进行的一次获取操作和一次发送操作;将所述传播过程因素特征包括关联触发因素特征和环境因素特征;通过层次分析法进行一致性分析与归一化校验,得到所述操作特征、所述关联触发因素和所述环境因素特征各自的权值均值。可选的,综合本次所有隐私泄露特征进行加权计算,得到隐私泄露的恶意指数,包括步骤:按照下式计算恶意指数:α=A1*N1+A2*N2+A3*N3其中,α为恶意指数,A1表示操作特征的权值均值,N1表示操作特征发生的次数,A2表示关联触发因素特征的权值均值,N2表示关联触发因素特征的数量;A3表示环境因素特征的权值均值,N3表示环境因素特征的数量。本专利技术实施例的第二个方面,还提供一种基于组件关联的应用隐私泄露问题检测装置,包括组件关系解析单元、数据流向查找单元、特征采集单元和层次分析单元;组件关系解析单元,用于提取组件间通信的关联信息,建立描述组件间通信关系的关联关系集合;数据流向查找单元,用于确定敏感权限,将敏感权限的数据对象定义为敏感数据,在所述关联关系集合范围内,查找对所述敏感数据的获取操作和发送操作,并使用污点分析法查找敏感数据获取操作和发送之间的数据通路;特征采集单元,用于收集所述数据通路上的隐私泄露特征;层次分析单元,用于依据所述隐私泄露特征,采用层次分析法建立隐私泄露检测模型,对各项隐私泄露特征给予相应权值;并综合本次所有隐私泄露特征进行加权计算,得到隐私泄露的恶意指数,通过所述恶意指数评判是否发生隐私泄露。可选的,数据流向查找单元,具体用于:根据权限及方法映射与方法及方法类型映射,获得待测应用中对敏感数据进行的获取操作与发送操作;将所述获取操作获取到的数据定义为污点数据,进行污点分析,根据深度优先算法访问相邻的数据节点,直到遇到敏感数据发送操作的执行,或者所有相邻的数据节点都访问完成,分析结束即本文档来自技高网
...

【技术保护点】
1.一种基于组件关联的应用隐私泄露问题检测方法,其特征在于,包括如下步骤:提取组件间通信的关联信息,建立描述组件间通信关系的关联关系集合;确定敏感权限,将敏感权限的数据对象定义为敏感数据,在所述关联关系集合范围内,查找对所述敏感数据的获取操作和发送操作,并使用污点分析法查找敏感数据获取操作和发送之间的数据通路;收集所述数据通路上的隐私泄露特征;依据所述隐私泄露特征,采用层次分析法建立隐私泄露检测模型,对各项隐私泄露特征给予相应权值;并综合本次所有隐私泄露特征进行加权计算,得到隐私泄露的恶意指数,通过所述恶意指数评判是否发生隐私泄露。

【技术特征摘要】
1.一种基于组件关联的应用隐私泄露问题检测方法,其特征在于,包括如下步骤:提取组件间通信的关联信息,建立描述组件间通信关系的关联关系集合;确定敏感权限,将敏感权限的数据对象定义为敏感数据,在所述关联关系集合范围内,查找对所述敏感数据的获取操作和发送操作,并使用污点分析法查找敏感数据获取操作和发送之间的数据通路;收集所述数据通路上的隐私泄露特征;依据所述隐私泄露特征,采用层次分析法建立隐私泄露检测模型,对各项隐私泄露特征给予相应权值;并综合本次所有隐私泄露特征进行加权计算,得到隐私泄露的恶意指数,通过所述恶意指数评判是否发生隐私泄露。2.根据权利要求1所述的一种基于组件关联的应用隐私泄露问题检测方法,其特征在于,所述步骤提取组件间通信的关联信息,建立描述组件间通信关系的关联关系集合,包括步骤:通过应用分析器提取应用代码中的组件声明信息与组件调用信息,通过模糊匹配建立组件间的关联关系库;根据所述关联关系库中精确解析的组件关联关系对当前未精确解析的组件关联关系进行实际调用概率评估,记录关联概率,根据预设的概率阈值筛选出可靠的关联关系,形成所述关联关系集合。3.根据权利要求1所述的一种基于组件关联的应用隐私泄露问题检测方法,其特征在于,所述步骤确定敏感权限,包括:随机选取第一预设数量个已知的恶意应用作为数据样本,统计恶意应用使用最多的前第二预设数量条权限;将第二预设数量条权限作为样本权限;将权限设置不当的自定义权限和所述样本权限定义为敏感权限。4.根据权利要求1所述的一种基于组件关联的应用隐私泄露问题检测方法,其特征在于,所述步骤查找对所述敏感数据的获取操作和发送操作,并使用污点分析法查找敏感数据获取操作和发送之间的数据通路,包括步骤:根据权限及方法映射与方法及方法类型映射,获得待测应用中对敏感数据进行的获取操作与发送操作;将所述获取操作获取到的数据定义为污点数据,进行污点分析,根据深度优先算法访问相邻的数据节点,直到遇到敏感数据发送操作的执行,或者所有相邻的数据节点都访问完成,分析结束即获得所述数据通路。5.根据权利要求1所述的一种基于组件关联的应用隐私泄露问题检测方法,其特征在于,所述步骤收集所述数据通路上的隐私泄露特征,包括收集传播过程因素特征和/或收集操作特征;所述收集传播过程因素特征,包括:沿所述数据通路反向寻找敏感数据获取操作的代码起始入口,追溯待测应用内引发敏感数据获取操作的起始动作,判断动作产生原因,以此收集关联触发因素特征;在所述数据通路中,通过识别if、else条件语句中对环境信息获取的操作,判定在数据流向过程中是否存在对环境因素特征的控制依赖以及依赖的环境因素类别,以此收集环境因素特征;所述收集操作特征,包括:收集通过敏感权限对敏感数据进行的获取操作和发送操作,作为操作特征。6.根据权利要求5所述的一种基于组件关联的应用隐私泄露问题检测方法,其特征在于,所述步骤采用层次分析法建立隐私泄露检测模型,对各项隐私泄露特征给予相应权值,包括步骤:将隐私泄露特征划分为传播过程因素特征和操作特征...

【专利技术属性】
技术研发人员:徐国爱张淼黄炎裔
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

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

1