资源隔离方法及电子设备与流程

文档序号:35863888发布日期:2023-10-26 20:05阅读:53来源:国知局
资源隔离方法及电子设备与流程

本技术涉及终端及安全,尤其涉及资源隔离方法及电子设备。


背景技术:

1、电子设备的种类及功能越来越多,设备安全是影响用户体验的重要因素。为了满足安全需求,要保证电子设备中运行的任务(task)不会破坏其他任务或者操作系统内核的地址空间。常用的设备安全方案可包括:

2、1,通过内存管理单元(memory management unit,mmu)提供的虚拟地址映射机制,将不同进程的物理地址空间隔离。用户生活中存在较多未配置mmu的设备,此类设备无法使用强依赖mmu的方案1。

3、2,通过可信空间(trustzone)将设备资源划分为用于执行保密操作(如指纹识别、密码处理、安全认证等)的安全空间,和,用于执行其他操作的非安全空间。方案2仅区分安全空间和非安全空间,不能满足设备针对每个任务的安全需求。此外,用户生活中存在较多未配置trustzone的设备,此类设备无法使用方案2。

4、3,通过内存保护单元(memory protection unit,mpu)、物理内存保护(physicalmemory protection,pmp)单元等设置多个具备访问规则的物理地址空间,经过规则设置后能够实现各个物理地址空间之间的隔离。但是,由于设置的物理地址空间数量有限,无法满足设备针对每个任务的安全需求,多个任务均符合同一物理地址空间的访问规则时,则任务的数据可能被其他任务窃取或破坏。

5、如何设计一种适用于大部分电子设备的、使用限制少的、用于满足上述设备安全需求的方案,是当前技术领域亟需解决的问题。


技术实现思路

1、本技术提供了资源隔离方法及电子设备,可以避免一个沙箱中的任务具备其他沙箱及内核物理地址空间的访问权限,实现了沙箱之间的隔离。

2、第一方面,提供一种资源隔离方法,应用于电子设备。该方法包括:电子设备根据第一访问权限,在第一沙箱中运行第一任务;第一访问权限允许第一任务访问第一沙箱的物理地址空间,且不允许第一任务访问第一沙箱以外的物理地址空间;电子设备配置第二访问权限,第二访问权限允许第二任务访问第二沙箱的物理地址空间,且不允许第二任务访问第二沙箱以外的物理地址空间;第二任务不同于第一任务;电子设备根据第二访问权限,切换至在第二沙箱中运行第二任务。

3、实施第一方面提供的方法,电子设备通过配置内存空间访问权限的方式,将任务可访问的资源限定在分配给该任务所在沙箱的物理地址空间中,可避免该任务访问其他沙箱及内核所在的物理地址空间,也可以避免其他沙箱中的任务访问该任务所在沙箱的物理地址空间。即,一个沙箱中运行的任务只能访问该沙箱的物理地址空间,避免不同沙箱的任务相互访问资源,避免非法访问,从而提供安全可靠的隔离方案,保障各个任务的数据安全,给用户提供良好的设备使用体验。

4、此外,电子设备中可以预先设置或者根据实际情况设置多个沙箱,无论电子设备中需要隔离的任务数量有多少,均可以安全、可靠地利用本技术实施例提供的方法将其隔离开来,实现有效隔离。

5、结合第一方面,在一些实施方式中,第一沙箱和第二沙箱不同,且第一沙箱和第二沙箱对应电子设备中不同且互不重叠的物理地址空间。这样,在为各个沙箱分配了不同物理地址空间的基础之上,通过第二访问权限避免第二沙箱中的任务访问其他沙箱,严格将第二沙箱和其他沙箱、内核隔离开来,保护了其他沙箱及内核的数据安全。

6、结合上一实施方式中,在一些实施方式中,第一任务和第二任务互不信任。相当于,电子设备可以将互不信任的任务划分到不同的沙箱中,并通过设置访问权限实现不信任任务之间的资源隔离,规避不信任的任务访问任务自身的物理地址空间。

7、结合第一方面,在一些实施方式中,第一沙箱和第二沙箱为同一沙箱。也就是说,同一个沙箱中可以运行多个任务,电子设备在同一个沙箱的多个任务之间切换时,也会重配内存空间的访问权限,以支持切换后运行的任务对内存空间的访问需求。

8、结合上一实施方式中,在一些实施方式中,第一任务和第二任务相互信任。相当于,电子设备可以将相互信任的任务划分到同一个沙箱中,可以在节约沙箱资源的基础上,通过设置访问权限实现不信任任务之间的资源隔离,规避不信任的任务访问任务自身的物理地址空间。

9、结合第一方面,在一些实施方式中,电子设备可以将属于同等优先级并且属于相同沙箱的任务放置到任务流水线中的相邻位置,并先后相邻执行。具体的,第一任务的优先级和第二任务的优先级相同;电子设备根据第二访问权限,切换至在第二沙箱中运行第二任务之后,电子设备切换至在第三沙箱中运行第三任务;其中,第三沙箱和第一沙箱不同,第三沙箱和第一沙箱对应电子设备中不同且互不重叠的物理地址空间;第三任务不同于第一任务和第二任务,第三任务和第一任务的优先级相同;第一任务、第三任务、第二任务的生成时间由早到晚。

10、通过上一实施方式,可以避免电子设备在运行过程中频繁地切换沙箱,节约设备资源及功耗。

11、结合第一方面,在一些实施方式中,电子设备可以仅根据任务的生成时间及优先级来执行各个任务。具体的,可以按照任务的优先级,依次顺序执行,例如优先级高的任务先执行;同等优先级下,可以按照任务的生成时间依次顺序执行,例如生成时间早的任务先执行。或者,可以按照任务的生成时间,依次顺序执行,例如生成时间早的任务先执行;生成时间相同时,可以按照任务的优先级依次顺序执行,例如优先级高的任务先执行。

12、结合第一方面,在一些实施方式中,电子设备可以通过权限管理单元配置第二访问权限,权限管理单元包括内存保护单元mpu或物理内存保护pmp单元。这样可以通过专门的权限管理单元来保证本技术中设置的访问权限的可靠性。

13、结合上一实施方式,权限管理单元可以是硬件,也可以是软件和硬件的结合。

14、结合第一方面,在一些实施方式中,电子设备可以根据第二任务的运行模式来配置第二访问权限。

15、结合第一方面,在一些实施方式中,第二访问权限允许第二任务访问第二沙箱的物理地址空间中属于第二任务的物理地址空间,且不允许第二任务访问第二沙箱的物理地址空间中不属于第二任务的物理地址空间。这样可以将第二任务的访问权限限定在第二沙箱中分配给该第二任务的物理地址空间,避免第二任务访问其他任务的物理地址访问空间。

16、结合第一方面,在一些实施方式中,电子设备可以根据任务各个段的实际访问需求,来设定第一访问权限。具体的,第二沙箱的物理地址空间中属于第二任务的物理地址空间包括:第二任务的代码段、数据段、bss段、堆、栈分别对应的物理地址空间;在第二访问权限中,第二任务对各个段的访问权限相同或不同。这样可以分段设置不同的访问权限,满足任务中各段的实际访问需求,可以更好地保护各个段存放的数据。

17、结合第一方面,在一些实施方式中,第一任务和第二任务属于不同的应用程序,或者,属于同一应用程序。相当于,一个应用程序可以被拆分为一个或多个任务,例如智能门锁应用可以划分为开锁任务和网络连接任务。一个应用程序对应的任务数量可以由开发者决定。

18、结合第一方面,在一些实施方式中,第一沙箱和第二沙箱均对应一个任务。这样,一个沙箱中仅运行一个任务,可以将各个任务通过不同的沙箱隔离开来,可避免任务访问其他任务所在的物理地址空间,也可以避免其他任务访问该任务所在的物理地址空间,实现任务与任务之间的资源隔离。例如可以避免应用程序的任务破坏系统任务所使用的数据。

19、结合第一方面,在一些实施方式中,第一沙箱或第二沙箱对应多个任务。这样,一个沙箱中可以运行多个任务,该多个任务可以是相互信任的任务。这样,可以将互不信任的任务通过不同的沙箱隔离开来,并通过设置访问权限实现不信任任务之间的资源隔离,规避不信任的任务访问任务自身的物理地址空间。

20、第二方面,提供了一种电子设备,包括:存储器、一个或多个处理器;存储器与一个或多个处理器耦合,存储器用于存储计算机程序代码,计算机程序代码包括计算机指令,一个或多个处理器调用计算机指令以使得电子设备执行如第一方面或第一方面任意一种实施方式的方法。

21、第三方面,本技术实施例提供了一种计算机可读存储介质,包括指令,当指令在电子设备上运行时,使得电子设备执行如第一方面或第一方面任意一种实施方式的方法。

22、第四方面,本技术实施例提供了一种计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行第一方面或第一方面任意一种实施方式的方法。

23、实施本技术提供的技术方案,电子设备在运行一个任务之前,重新配置内存空间的访问权限,允许该任务访问其所在沙箱的物理地址空间,不允许该任务访问其所在沙箱以外的物理地址空间。该方法将任务可访问的资源限定在该任务所在沙箱的物理地址空间中,可避免该任务访问其他沙箱及内核所在的物理地址空间,保障各个任务的数据安全,提供了安全可靠的隔离方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1