论文部分内容阅读
随着移动互联网的快速发展,Android手机因其性价比之高成为全球使用量排行第一的移动终端设备,与此同时海量手机用户的隐私信息被泄露和贩卖的安全问题日益增多。虽然各大手机厂商对Android应用市场做了安全规范和限制,但是并不能从根本上解决Android手机应用的安全问题。本文结合Android应用静态检测技术和漏洞扫描技术,设计并实现Android应用漏洞扫描系统。本文主要研究内容如下:Apk包文件的解析。Apk安装包是Android应用安装必备的资源文件与代码文件列表,其中Android Manifest.xml和Classes.dex是关键文件。系统根据上述两个文件格式从字节码角度解析文件内容。过滤引擎、字符串搜索引擎和静态DVM引擎的设计实现。字符串搜索引擎是依据classes.dex文件用字符串池存储所有的字符串而设计,用于快速准确搜索字符串。过滤引擎用于过滤类似于coom.parase等公共类库,从而提高扫描效率。静态DVM引擎用于模拟Android应用运行环境执行指令,分析指令动作。7种漏洞的设计实现。根据Android四大组件存在的设计与实现缺点将当前存在的安全问题分为网络传输信息泄漏、权限管理不当和组件暴露,划分出7种漏洞:全局可读写漏洞、Content Provider文件目录遍历漏洞、Web View组件漏洞、SSL漏洞、隐式广播漏洞、动态注册未受保护广播接收者漏洞和允许调试漏洞。针对每一种漏洞分析其原理、代码位置。Apk二次打包检测的设计与实现。黑客将Apk反编译后添加恶意代码进行二次打包。针对这种情况,本系统提供4种黑客反编译过程中必须的信息,分别是Isdebug信息、base64编码后的字符串、SSL探针检测和签名信息。批量漏洞扫描的设计与实现。针对当前漏洞扫描系统单次扫描一个Apk的缺点,本系统集成上述模块,提供单次扫描多个Apk的功能。最后,本文将上述研究模块集成,形成了一个既支持单个应用扫描又支持多个Apk扫描的Android应用漏洞扫描系统并给出扫描结果报告。