本发明专利技术实施例提供一种Android程序外发行为的管控方法、系统、电子设备及介质,属于程序管控领域。该方法包括:遍历系统/proc目录,识别Android程序的进程ID列表;对每个进程使用ptrace指令的PTRACE_ATTACH、PTRACE_GETREGSET、PTRACE_SETREGSET及PTRACE_PEEKDATA跟踪调试,以实现对Android程序收发文件的行为进行管控。通过利用ptrace对进程跟踪调试的功能,对Android程序进行读取外发的过程进行审计管控,避免了内核层hook方案系统兼容性差,用户层preload hook方案无法管控Android版应用程序的问题。
【技术实现步骤摘要】
本专利技术涉及程序管控,具体地涉及一种android程序外发行为的管控方法、系统、电子设备及介质。
技术介绍
1、现有管控技术如内核层hook,是通过编写内核模块,替换内核层系统调用表的地址,使得系统函数调用如open、read、write、send等函数指向自己编写的函数实现地址,在对系统调用的参数进行检查后,根据业务判断,选择调用替换之前的系统调用或者直接返回错误信息。此类方案的缺点是与系统内核版本强相关,当系统升级时需要重新进行适配编译,而且只能对系统底层api进行管控;另外一种用户层的preload技术,利用程序动态库链接的加载优先级,对ld_preload或者/etc/ld.so.preload进行修改,实现标准库libc的api函数如open、readdir、sendmsg等,覆盖现有c库的api,实现管控的目的,此种方案的缺点在于只能对系统原生的软件进行管控,win模拟器程序、android模拟器程序由于存在一个兼容层,而该兼容层会屏蔽动态链接库的preload加载,导致preload技术无法对模拟器程序进行管控。
...
【技术保护点】
1.一种Android程序外发行为的管控方法,其特征在于,包括:
2.根据权利要求1所述的Android程序外发行为的管控方法,其特征在于,遍历系统/proc目录,识别Android程序的进程ID列表,包括:
3.根据权利要求1所述的Android程序外发行为的管控方法,其特征在于,对进程ID列表中的每个进程使用ptrace指令的PTRACE_ATTACH、PTRACE_GETREGSET、PTRACE_SETREGSET以及PTRACE_PEEKDATA跟踪调试,以实现对Android程序收发文件的行为进行管控,包括:
4.根据权利要求3所述的And...
【技术特征摘要】
1.一种android程序外发行为的管控方法,其特征在于,包括:
2.根据权利要求1所述的android程序外发行为的管控方法,其特征在于,遍历系统/proc目录,识别android程序的进程id列表,包括:
3.根据权利要求1所述的android程序外发行为的管控方法,其特征在于,对进程id列表中的每个进程使用ptrace指令的ptrace_attach、ptrace_getregset、ptrace_setregset以及ptrace_peekdata跟踪调试,以实现对android程序收发文件的行为进行管控,包括:
4.根据权利要求3所述的android程序外发行为的管控方法,其特征在于,基于获取的直接参数信息和指针参数信息,判断是否允许文件读取外发,若不允许文件读取外发,则修改系统调用参数并调用ptrace_setregset使修改生效以阻断文件读取外发,包括:
5.根据权利...
【专利技术属性】
技术研发人员:王金国,王刚刚,谷涛,
申请(专利权)人:中孚安全技术有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。