摘要:
随着Android平台的高速发展,基于Android系统的应用程序的数量也在飞速增加.在Android应用程序开发过程中,hook技术以其易集成,所开发程序易更新等优势受到越来越多开发者的青睐,越来越多的开发者开始使用hook技术完成应用流程的定制,软件的更新等工作.但是开发者在设计现有的Android平台hook框架时,大多关注整体框架功能的实现以及框架的稳定性,却没有深入探讨框架本身的安全性,导致hook框架存在安全风险.本文围绕Android平台hook技术展开研究,通过对当前Android平台框架层hook技术的原理分析,总结当前Android平台hook技术的实现原理及使用方法;分析现有的Android平台hook框架Xposed的实现原理和使用流程,总结Xposed框架存在的安全威胁,设计并实现Android平台框架层hook安全框架X-Semo (Xposed-based Security Module).本文的主要工作和成果如下所示:(1)研究Android平台框架层hook技术的实现,分析总结Android平台Java hook技术的实现原理与Android平台native hook的实现原理.(2)研究Android平台现有的主流hook框架Xposed框架,分析该框架的使用流程,实现原理等,总结该框架存在的安全风险,从而引出本文提出的安全框架X-Semo.(3)通过以上得到的Xposed框架存在的安全风险,设计并实现Android平台框架层hook安全框架X-Semo.该框架一方面通过二次加载模块,安全模块等提高框架的安全性;另一方面通过启动流程的修改等实现整个框架的hook功能.(4)对X-Semo框架进行功能测试及安全测试.测试结果表明:本文提出的X-Semo框架能够完成对Android应用程序的hook工作,并且通过对定制模块的安全检测提高了整体框架的安全性.
展开