本技术实施例涉及信息安全技术,涉及但不限于一种应用程序数据重定向方法及系统、存储介质。
背景技术:
1、沙箱技术是一种隔离运行机制,其目的是将可疑应用程序进程对电子设备操作系统(例如,linux操作系统等)的访问请求重定向到隔离环境中,从而消除可疑应用程序对操作系统带来的风险,目前沙箱技术已广泛应用于网络安全、数据安全等领域。
2、目前,部分国内厂家采用的沙箱技术是在国外开源沙箱技术的基础上进行迭代开发得到的,可能会存在一些潜在的安全隐患。国内厂家自主开发的沙箱技术则是基于操作系统的应用层实现沙箱技术,然而,基于应用层实现沙箱技术也存在安全性较低的问题。因此,如何提高应用程序访问电子设备操作系统时的安全性成为亟待解决的问题。
技术实现思路
1、有鉴于此,本技术实施例提供的一种应用程序数据重定向方法及系统、存储介质,本技术实施例提供的一种应用程序数据重定向方法及系统、存储介质是这样实现的:
2、本技术实施例提供的一种应用程序数据重定向方法,应用于电子设备,所述方法包括:
3、接收目标进程的访问请求,所述访问请求通过调用所述电子设备的目标系统调用接口访问所述电子设备的存储空间,所述访问请求中包括所述目标进程的标识信息;
4、获取预设重定向策略,所述预设重定向策略包括预设进程的标识信息与重定向的目标存储空间的对应关系;
5、判断所述目标进程的标识信息是否与所述预设进程的标识信息相同;
6、在所述目标进程的标识信息与所述预设进程的标识信息相同的情况下,根据所述预设重定向策略控制所述目标进程访问所述目标存储空间。
7、本技术实施例,根据预设的重定向策略有助于拦截并隔离不受信任的应用程序进程,实现了对不受信任的应用程序进程的数据重定向,可以有效控制应用程序进程的访问请求和保护电子设备操作系统上的关键资源和敏感数据,提高了应用程序访问电子设备操作系统的安全性。
8、在一些实施例中,所述电子设备包括至少一种用户空间系统调用函数,所述目标系统调用接口与目标用户空间系统调用函数对应,所述至少一个用户空间系统调用函数包括所述目标用户空间系统调用函数,所述访问请求是所述目标进程调用所述目标用户空间系统调用函数访问所述电子设备的存储空间生成的。
9、该实施例中,通过调用目标用户空间系统调用函数访问电子设备操作系统有助于简化应用程序开发过程、提高可移植性、增强访问的安全性等。
10、在一些实施例中,所述获取预设重定向策略,包括:
11、从沙箱策略文件中获取所述预设重定向策略,所述沙箱策略文件是通过沙箱程序将所述预设进程的标识信息与重定向的目标存储空间的对应关系写入到所述沙箱策略文件中生成的。
12、该实施例中,将预设重定向策略写入到沙箱策略文件中,可以集中管理和配置所有的重定向策略,提高获取预设重定向策略的效率;此外,还可以灵活更改和设置不受信任的应用程序进程的标识信息,并制定不同的重定向策略。
13、在一些实施例中,所述根据所述预设重定向策略控制所述目标进程访问所述目标存储空间,包括:
14、根据所述预设重定向策略,以及所述访问请求,得到重定向参数,所述重定向参数包括所述目标进程的标识信息以及与所述目标进程的标识信息对应的目标存储空间;
15、根据所述重定向参数,控制所述目标进程访问所述目标存储空间。
16、该实施例中,可以确保目标进程只能访问目标存储空间,而无法越权访问其他存储空间的敏感数据或资源,从而提高应用程序访问电子设备操作系统时的安全性。
17、在一些实施例中,所述电子设备还包括至少一种内核空间系统调用函数,所述至少一种用户空间系统调用函数与所述至少一种内核空间系统调用函数一一对应,所述根据所述重定向参数,控制所述目标进程访问所述目标存储空间,包括:
18、根据所述重定向参数,以及与所述目标用户空间系统调用函数对应的目标内核空间系统调用函数,生成重定向后的访问请求,所述至少一种内核空间系统调用函数包括所述目标内核空间系统调用函数;
19、根据所述重定向后的访问请求,控制所述目标进程访问所述目标存储空间。
20、该实施例中,根据重定向后的访问请求,可以限制目标进程对原始存储空间的访问权限,从而保障了原始存储空间中的数据安全。
21、在一些实施例中,所述访问请求中包括所述目标进程访问的原始存储空间,所述根据所述预设重定向策略,以及所述访问请求,得到重定向参数,包括:
22、判断所述原始存储空间是否与所述目标存储空间不同;
23、在所述原始存储空间与所述目标存储空间不同的情况下,根据所述预设重定向策略,以及所述访问请求,得到所述重定向参数。
24、该实施例中,只有当请求访问的原始存储空间与目标原始空间不同的情况下,才执行根据预设重定向策略生成重定向参数的步骤,降低了应用数据重定向时的资源消耗。
25、在一些实施例中,所述电子设备还包括系统函数调用表,所述系统函数调用表中存储各个内核空间系统调用函数的入口地址,在所述根据所述重定向参数,以及与所述目标用户空间系统调用函数对应的目标内核空间系统调用函数,生成重定向后的访问请求之前,所述方法还包括:
26、从所述系统函数调用表中获取所述目标内核空间系统调用函数的目标入口地址;
27、所述根据所述重定向参数,以及与所述目标用户空间系统调用函数对应的目标内核空间系统调用函数,生成重定向后的访问请求,包括:
28、根据所述目标入口地址得到所述目标内核空间系统调用函数;
29、根据所述重定向参数对所述目标内核空间系统调用函数中的相关参数进行赋值,得到所述重定向后的访问请求。
30、该实施例中,通过将重定向参数自动赋值给内核空间系统调用函数中的相关参数,可以确保内核空间系统调用函数能够及时、准确的处理和响应来自用户空间的访问请求,提高进程访问目标存储空间的效率。
31、本技术实施例提供的一种应用程序数据重定向系统,应用于电子设备,所述应用程序数据重定向系统包括接收模块、获取模块、判断模块和控制模块,其中:
32、所述接收模块,用于接收目标进程的访问请求,所述访问请求通过调用所述电子设备的目标系统调用接口访问所述电子设备的存储空间,所述访问请求中包括所述目标进程的标识信息;
33、所述获取模块,用于获取预设重定向策略,所述预设重定向策略包括预设进程的标识信息与重定向的目标存储空间的对应关系;
34、所述判断模块,用于判断所述目标进程的标识信息是否与所述预设进程的标识信息相同;
35、所述控制模块,用于在所述目标进程的标识信息与所述预设进程的标识信息相同的情况下,根据所述预设重定向策略控制所述目标进程访问所述目标存储空间。
36、本技术实施例提供的一种应用程序数据重定向系统,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现本技术实施例所述的方法。
37、本技术实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现本技术实施例提供的所述的方法。