发明名称 |
一种Android软件敏感行为监控与拦截方法及系统 |
摘要 |
本发明属于智能手机安全技术领域,涉及一种Android系统的安全加固方法,特别是涉及一种Android软件敏感行为监控与拦截方法及系统。本发明的Android软件敏感行为监控和拦截方法,用于监控和拦截Android软件运行期间的敏感行为,其中,所述的监控和拦截方法是基于Android系统的Binder进程间通信机制的,所述的监控与拦截系统,包括:注入器模块、监视器模块、拦截规则管理模块、用户交互模块。本发明不需要对系统进行任何修改,即能实时、准确地监控软件的敏感行为,并能根据用户的需要对敏感行为进行拦截,对及时发现和阻止恶意软件侵害用户的隐私和财产安全是非常有效的。 |
申请公布号 |
CN103198255B |
申请公布日期 |
2015.06.24 |
申请号 |
CN201310115922.2 |
申请日期 |
2013.04.03 |
申请人 |
武汉大学 |
发明人 |
彭国军;邵玉如;李晶雯;肖云倡 |
分类号 |
G06F21/56(2013.01)I |
主分类号 |
G06F21/56(2013.01)I |
代理机构 |
武汉科皓知识产权代理事务所(特殊普通合伙) 42222 |
代理人 |
张火春 |
主权项 |
一种Android软件敏感行为监控与拦截方法,其特征在于,包括以下步骤:步骤1:查找Android系统中com.android.phone, system_server, /system/bin/meidaserver三个进程的进程号Process ID,即PID;步骤2:根据所述的PID分别对所述的三个进程的运行状态进行修改,执行加载监视器模块指令,开辟内存空间并将用来加载监视器模块的指令写入其中;步骤3:分别更改所述的三个进程的寄存器状态,使CPU跳转执行所述的指令;步骤4:根据所述的指令,加载监视器模块到注入器模块的内存空间中,所述的监视器模块开始初始化操作;步骤5:监视器模块在初始化结束后,查找当前进程的libbinder.so的初始地址,并定位ioctl函数在libbinder.so的全局对象列表Global Ojects Table中对应的表项的地址,即GOT中对应的表项的地址;步骤6:修改ioctl对应的GOT表项的地址,使用钩子函数hooked_ioctl的地址进行替换;步骤7:软件执行敏感行为时,会通过ioctl与com.android.phone,system_server, /system/bin/mediaserver三个进程的一个或者多个进行通信和数据交换,钩子函数hooked_ioctl读取并解析软件的敏感行为类型;步骤8:所述的监视器模块写入敏感行为的发起者和时间到日志文件中,得到软件敏感行为监控记录;步骤9:所述的监视器模块监控到敏感行为时,发送消息给用户,同时使敏感行为的操作暂停;步骤10:所述的用户决定是否运行敏感行为的执行,返回同意或者拒绝命令给所述的监视器模块;步骤11:所述的监视器模块获取所述的用户选择的结果,若用户选择同意则使敏感行为继续执行;若用户选择拒绝则终止敏感行为的继续执行。 |
地址 |
430072 湖北省武汉市武昌区珞珈山武汉大学 |