摘要 | 第10-11页 |
ABSTRACT | 第11-12页 |
第1章 绪论 | 第13-19页 |
1.1 研究背景及意义 | 第13-15页 |
1.2 国内外研究现状 | 第15-17页 |
1.3 解决的主要问题 | 第17页 |
1.4 本文的主要工作 | 第17-18页 |
1.5 论文的组织结构 | 第18-19页 |
第2章 Android系统安全机制与漏洞检测研究现状 | 第19-24页 |
2.1 Android平台的安全机制 | 第19-21页 |
2.1.1 内核安全 | 第19页 |
2.1.2 签名机制机制 | 第19-20页 |
2.1.3 权限管理 | 第20-21页 |
2.2 动静态结合的漏洞扫描引擎需求分析 | 第21-24页 |
2.2.1 静态扫描 | 第21页 |
2.2.2 动态扫描 | 第21-22页 |
2.2.3 动静态结合的扫描引擎 | 第22-24页 |
第3章 动静态结合的漏洞扫描引擎设计 | 第24-43页 |
3.1 扫描引擎整体架构设计 | 第24-25页 |
3.2 反编译模块设计 | 第25-26页 |
3.2.1 反编译APK文件 | 第25页 |
3.2.2 Manifest文件解析 | 第25-26页 |
3.3 静态代码分析模块 | 第26-29页 |
3.3.1 Dalvik虚拟机 | 第26-27页 |
3.3.2 Smali语言语法基础 | 第27-28页 |
3.3.3 构建Smali语法树 | 第28-29页 |
3.4 基于静态分析的漏洞检测设计 | 第29-35页 |
3.4.1 静态分析部分设计 | 第29-30页 |
3.4.2 漏洞规则库设计 | 第30-35页 |
3.5 基于动态分析的漏洞检测设计 | 第35-40页 |
3.5.1 模糊测试 | 第35-37页 |
3.5.2 Android应用程序本地拒绝服务的安全风险 | 第37-38页 |
3.5.3 拒绝服务漏洞的检测设计 | 第38-40页 |
3.6 生成安全报告设计 | 第40-43页 |
3.6.1 report设计 | 第40-41页 |
3.6.2 reportItems设计 | 第41-43页 |
第4章 动静态结合的漏洞扫描引擎实现 | 第43-54页 |
4.1 Manifest文件解析 | 第43-44页 |
4.2 静态分析构建Smali语法树 | 第44-45页 |
4.3 模拟器相关实现 | 第45页 |
4.4 静态分析漏洞规则库实现 | 第45-48页 |
4.4.1 配置项安全风险实现 | 第45-46页 |
4.4.2 外部动态加载DEX文件安全风险 | 第46页 |
4.4.3 WebView File域同源策略绕过安全风险 | 第46页 |
4.4.4 Content Provider文件目录遍历安全风险 | 第46-47页 |
4.4.5 Android HTTPS中间人劫持安全风险 | 第47页 |
4.4.6 Android Database配置安全风险 | 第47页 |
4.4.7 内部存储(Internal Storage)安全风险 | 第47页 |
4.4.8 Shared Preferences存储安全风险描述 | 第47页 |
4.4.9 WebView远程代码执行安全风险 | 第47-48页 |
4.5 基于动态分析漏洞检测实现 | 第48-51页 |
4.5.1 获取组件Intent中的extra信息 | 第48-49页 |
4.5.2 生成测试数据 | 第49-50页 |
4.5.3 执行测试数据与异常监测 | 第50-51页 |
4.6 数据展示 | 第51-54页 |
第5章 实验结果与分析 | 第54-55页 |
5.1 开发环境与实验方法 | 第54页 |
5.2 实验结果分析 | 第54-55页 |
第6章 结论 | 第55-57页 |
参考文献 | 第57-59页 |
致谢 | 第59-60页 |
学位论文评阅及答辩情况表 | 第60页 |