一种易部署的Android应用程序动态监测方案
Android应用程序动态监测方案通常有3种实现形式:1)定制ROM镜像;2)在获取设备Root权限的情况下,修改系统文件或者利用ptrace技术对目标进程注入代码;3)重打包APK.这3种方式都是以侵入式方式实现,依赖于系统环境,难以部署到不同的设备上.针对上述问题,文中提出了一种基于插件化技术的非侵入式动态监测方案.该方案将监测系统以宿主App形式发布并安装到目标设备上;将待监测应用以插件形式加载到宿主App环境中运行,同时由宿主App加载相应的监控模块,完成对待监测App应用行为的动态监测.在待监测应用作为插件运行前,预先启动一个进程,通过动态代理方式对该进程中的Binder服务代理对象进行替换,将Binder服务请求重定向到虚拟服务进程中的虚拟服务进行处理,从而使待监测应用中的四大组件能在预先启动的进程中运行.然后,在待监测应用Application的初始化过程中加载Java层和Native层监控模块,完成监控.根据该思想.在VirtualApp沙箱基础上实现了原型系统AndroidMonitor,并在Nexus5设备上对其进行测试.实验结果表明,与其他方案相比,该方案虽然会使待监测应用的启动时间增加1.4s左右,但不需要获取设备系统Root权限,能够同时对Java层和Native层的敏感API进行监控;同时,引入了设备信息防护模块,以防止App监控过程中设备信息发生泄露.系统以App形式发布,容易部署到不同设备上,同时适应多种应用场景.
动态监测、插件化、挂钩子、动态代理、沙箱、非Root
47
TP311.5(计算技术、计算机技术)
2020-04-24(万方平台首次上网日期,不代表论文的发表时间)
共7页
262-268