安卓动态权限申请机制漏洞修复方法研究
发布时间:2023-06-04 18:47
安卓第六个主要更新版本Android 6.0在2015年10月发布了正式版本,该版本系统带来了许多新的特性,其中最引人瞩目的就是动态权限机制。该机制要求适配新版本的应用程序需要在运行时动态检查和申请权限。新的动态权限机制使得新版本的操作系统更加安全,但是也引入了全新的系统调用接口,而且有比较复杂的调用规范。应用程序在适配到新版本操作系统时如果不遵守动态权限申请的调用规范,就会引入运行时错误。如果一个适配于Android 6.0的应用程序在访问受限资源时没有按照新版本动态权限的要求在运行时检查和申请权限,我们就称该应用存在权限申请机制漏洞。为了检测一个适配于Android 6.0的应用程序是否存在权限申请机制漏洞,本文基于Java语言和Soot框架开发了一款名为PermGuard的检测工具,并检测了Google Play上下载的500个应用程序,最终发现在成功参与检测的应用程序中有25.5%的应用程序存在此类权限申请机制漏洞。这也反映了由于新系统更改了大量的权限相关的系统调用接口,导致应用程序还没有很好的适配。PermGuard通过静态分析的方法在输入的应用程序中检测需要权限保护的操作,...
【文章页数】:70 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
缩略语对照表
第一章 绪论
1.1 研究背景及意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
1.3 文章内容及结构
第二章 相关理论与工具
2.1 权限机制
2.2 Android6.0 动态权限调用规范
2.2.1 检查权限
2.2.2 申请权限
2.2.3 处理权限请求响应
2.2.4 解释应用为什么需要权限
2.3 权限申请机制漏洞
2.4 Soot工具简介
2.4.1 Jimple中间语言
2.4.2 Soot组态
2.4.3 Soot中的函数调用图
2.5 本章小结
第三章 检查权限申请机制漏洞
3.1 设计方案
3.2 AndroidManifest.xml文件概览
3.2.1 包名称和应用ID
3.2.2 应用组件
3.2.3 权限
3.2.4 设备兼容性
3.3 获取应用程序的主Activity
3.4 获取函数调用图
3.4.1 FlowDroid获取函数调用图实现原理
3.4.2 FlowDroid获取函数调用图举例
3.4.3 IccTA获取函数调用图实现原理
3.4.4 IccTA获取函数调用图举例
3.5 建立敏感权限集
3.6 检查权限申请机制漏洞
3.6.1 检查系统调用
3.6.2 检查URI
3.6.3 检查Intent动作
3.6.4 函数调用图遍历策略
3.7 本章小结
第四章 修复权限申请机制漏洞
4.1 提取修复元信息
4.2 修复策略
4.3 插桩权限检查和申请逻辑
4.4 插桩onRequestPermissionsResult函数
4.5 本章小结
第五章 工具测试与结果分析
5.1 benchmark测试结果
5.2 Google Play数据集测试结果
5.3 本章小结
第六章 总结与展望
6.1 工作总结
6.2 工作展望
参考文献
致谢
作者简介
本文编号:3830820
【文章页数】:70 页
【学位级别】:硕士
【文章目录】:
摘要
ABSTRACT
缩略语对照表
第一章 绪论
1.1 研究背景及意义
1.1.1 研究背景
1.1.2 研究意义
1.2 国内外研究现状
1.3 文章内容及结构
第二章 相关理论与工具
2.1 权限机制
2.2 Android6.0 动态权限调用规范
2.2.1 检查权限
2.2.2 申请权限
2.2.3 处理权限请求响应
2.2.4 解释应用为什么需要权限
2.3 权限申请机制漏洞
2.4 Soot工具简介
2.4.1 Jimple中间语言
2.4.2 Soot组态
2.4.3 Soot中的函数调用图
2.5 本章小结
第三章 检查权限申请机制漏洞
3.1 设计方案
3.2 AndroidManifest.xml文件概览
3.2.1 包名称和应用ID
3.2.2 应用组件
3.2.3 权限
3.2.4 设备兼容性
3.3 获取应用程序的主Activity
3.4 获取函数调用图
3.4.1 FlowDroid获取函数调用图实现原理
3.4.2 FlowDroid获取函数调用图举例
3.4.3 IccTA获取函数调用图实现原理
3.4.4 IccTA获取函数调用图举例
3.5 建立敏感权限集
3.6 检查权限申请机制漏洞
3.6.1 检查系统调用
3.6.2 检查URI
3.6.3 检查Intent动作
3.6.4 函数调用图遍历策略
3.7 本章小结
第四章 修复权限申请机制漏洞
4.1 提取修复元信息
4.2 修复策略
4.3 插桩权限检查和申请逻辑
4.4 插桩onRequestPermissionsResult函数
4.5 本章小结
第五章 工具测试与结果分析
5.1 benchmark测试结果
5.2 Google Play数据集测试结果
5.3 本章小结
第六章 总结与展望
6.1 工作总结
6.2 工作展望
参考文献
致谢
作者简介
本文编号:3830820
本文链接:https://www.wllwen.com/kejilunwen/ruanjiangongchenglunwen/3830820.html