CN117313127A - 数据访问权限控制方法、装置、电子设备及存储介质 - Google Patents
数据访问权限控制方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN117313127A CN117313127A CN202311271028.4A CN202311271028A CN117313127A CN 117313127 A CN117313127 A CN 117313127A CN 202311271028 A CN202311271028 A CN 202311271028A CN 117313127 A CN117313127 A CN 117313127A
- Authority
- CN
- China
- Prior art keywords
- policy
- policy information
- file
- access right
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 62
- 230000015654 memory Effects 0.000 claims description 69
- 238000005192 partition Methods 0.000 claims description 42
- 238000004590 computer program Methods 0.000 claims description 9
- 230000004044 response Effects 0.000 claims description 5
- 238000002955 isolation Methods 0.000 abstract description 3
- 230000008859 change Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 238000011161 development Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- KLDZYURQCUYZBL-UHFFFAOYSA-N 2-[3-[(2-hydroxyphenyl)methylideneamino]propyliminomethyl]phenol Chemical compound OC1=CC=CC=C1C=NCCCN=CC1=CC=CC=C1O KLDZYURQCUYZBL-UHFFFAOYSA-N 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 201000001098 delayed sleep phase syndrome Diseases 0.000 description 1
- 208000033921 delayed sleep phase type circadian rhythm sleep disease Diseases 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/604—Tools and structures for managing or administering access control systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2141—Access rights, e.g. capability lists, access control lists, access tables, access matrices
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Bioethics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Automation & Control Theory (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本申请实施例涉及一种数据访问权限控制方法、装置、电子设备及存储介质,该方法包括:从目标设备的用户空间获取配置的访问权限策略信息;对所述访问权限策略信息进行编译,生成策略文件;将所述策略文件加载入所述目标设备的内核空间的文件系统中;通过所述文件系统对所述策略文件的访问权限进行判断,并基于判断结果控制所述用户的数据访问权限。本申请实施例实现了将操作系统的内核权限和应用程序的开发者的权限进行解耦隔离,开发者可以在用户空间自定义数据访问权限,无法更改操作系统的内核权限,从而提高了设备运行的安全性。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种数据访问权限控制方法、装置、电子设备及存储介质。
背景技术
随着智能终端设备的发展,在智能终端中配置的产品也越来越丰富,智能终端中搭载的应用模块越来越多,导致出现非法越权访问资源的风险增大。
目前在针对终端设备开发产品时,当开发工程师需要获得资源访问权限或某些特殊操作权限时,通常做法是直接修改操作系统(例如安卓系统)源码中的权限表,从而导致权限管理混乱、服务进程过度申请较大权限等情况出现,这将给设备运行带来风险。例如,在车机系统中,若出现上述情况,会导致车辆行驶出现巨大风险。
因此,如何将操作系统和应用程序提供方的操作权限进行解耦隔离,避免开发工程师对操作系统的权限管理造成影响,是需要解决的问题。
发明内容
鉴于此,为解决上述部分或全部技术问题,本申请实施例提供一种数据访问权限控制方法、装置、电子设备及存储介质。
第一方面,本申请实施例提供一种数据访问权限控制方法,所述方法包括:
从目标设备的用户空间获取配置的访问权限策略信息;
对所述访问权限策略信息进行编译,生成策略文件;
将所述策略文件加载入所述目标设备的内核空间的文件系统中;
通过所述文件系统对所述策略文件的访问权限进行判断,并基于判断结果控制所述用户的数据访问权限。
在一个可能的实施方式中,所述从目标设备的用户空间获取配置的访问权限策略信息,包括:
从所述目标设备的用户空间获取配置的平台共用策略信息,和所述目标设备对应的平台专用策略信息;
获取针对所述目标设备的类型配置的设备类型专用策略信息;
基于所述平台共用策略信息、所述平台专用策略信息和所述设备类型专用策略信息之间的继承关系,生成所述目标设备对应的访问权限策略信息。
在一个可能的实施方式中,所述对所述访问权限策略信息进行编译,生成策略文件,包括:
在所述目标设备对应的设备配置文件中获取预先配置的权限策略列表,其中,所述权限策略列表对应于所述访问权限策略信息包括的子信息;
基于所述权限策略列表,对所述访问权限策略信息进行编译,生成所述策略文件。
在一个可能的实施方式中,所述将所述策略文件加载入所述目标设备的内核空间的文件系统中,包括:
生成所述平台共用策略信息对应的第一权限标签和所述平台专用策略信息对应的第二权限标签;
基于所述第一权限标签和所述第二权限标签与预设的至少两个内存分区中的内存分区的对应关系,确定所述访问权限策略信息对应的内存分区;
将所述策略文件存入对应的内存分区中;
从所述策略文件对应的内存分区中提取所述策略文件,并将所述策略文件加载入所述目标设备的内核空间的文件系统中。
在一个可能的实施方式中,所述对所述访问权限策略信息进行编译,生成策略文件,包括:
对所述访问权限策略信息进行合法性检查,得到检查结果;
响应于确定所述检查结果表示所述访问权限策略信息合格,编译所述访问权限策略信息,得到所述访问权限策略信息对应的策略文件。
第二方面,本申请实施例提供一种数据访问权限控制装置,所述装置包括:配置模块,用于从目标设备的用户空间获取配置的访问权限策略信息;
编译模块,用于对所述访问权限策略信息进行编译,生成策略文件;
加载模块,用于将所述策略文件加载入所述目标设备的内核空间的文件系统中;
判断模块,用于通过所述文件系统对所述策略文件的访问权限进行判断,并基于判断结果控制所述用户的数据访问权限。
在一个可能的实施方式中,所述配置模块包括:
第一获取单元,用于从所述目标设备的用户空间获取配置的平台共用策略信息,和所述目标设备对应的平台专用策略信息;
第二获取单元,用于获取针对所述目标设备的类型配置的设备类型专用策略信息;
第一生成单元,用于基于所述平台共用策略信息、所述平台专用策略信息和所述设备类型专用策略信息之间的继承关系,生成所述目标设备对应的访问权限策略信息。
在一个可能的实施方式中,所述编译模块包括:
第三获取单元,用于在所述目标设备对应的设备配置文件中获取预先配置的权限策略列表,其中,所述权限策略列表对应于所述访问权限策略信息包括的子信息;
第一编译单元,用于基于所述权限策略列表,对所述访问权限策略信息进行编译,生成所述策略文件。
在一个可能的实施方式中,所述加载模块包括:
第二生成单元,用于生成所述平台共用策略信息对应的第一权限标签和所述平台专用策略信息对应的第二权限标签;
确定单元,用于基于所述第一权限标签和所述第二权限标签与预设的至少两个内存分区中的内存分区的对应关系,确定所述访问权限策略信息对应的内存分区;
存储单元,用于将所述策略文件存入对应的内存分区中;
加载单元,用于从所述策略文件对应的内存分区中提取所述策略文件,并将所述策略文件加载入所述目标设备的内核空间的文件系统中。
在一个可能的实施方式中,所述编译模块包括:
检查单元,用于对所述访问权限策略信息进行合法性检查,得到检查结果;
第二编译单元,用于响应于确定所述检查结果表示所述访问权限策略信息合格,编译所述访问权限策略信息,得到所述访问权限策略信息对应的策略文件。
第三方面,本申请实施例提供一种电子设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现本申请上述第一方面的数据访问权限控制方法中任一实施例的方法。
第四方面,本申请实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述第一方面的数据访问权限控制方法中任一实施例的方法。
第五方面,本申请实施例提供一种计算机程序,所述计算机程序包括计算机可读代码,当所述计算机可读代码在设备上运行时,使得该设备中的处理器实现如上述第一方面的数据访问权限控制方法中任一实施例的方法。
本申请实施例提供的数据访问权限控制装置、电子设备及存储介质,通过将针对目标设备的权限管理划分为用户空间和内核空间,目标设备运行时,从用户空间获取配置的访问权限策略信息,并生成策略文件,将策略文件加载入内核空间的文件系统中,通过文件系统对策略文件的访问权限进行判断,并基于判断结果控制用户的数据访问权限,从而实现了将操作系统的内核权限和应用程序的开发者的权限进行解耦隔离,开发者可以在用户空间自定义数据访问权限,无法更改操作系统的内核权限,从而提高了设备运行的安全性。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1为本申请实施例提供的一种数据访问权限控制方法的流程示意图;
图2为本申请实施例提供的另一种数据访问权限控制方法的流程示意图;
图3为本申请实施例提供的又一种数据访问权限控制方法的流程示意图;
图4为本申请实施例提供的又一种数据访问权限控制方法的流程示意图;
图5为本申请实施例提供的又一种数据访问权限控制方法的流程示意图;
图6为本申请实施例提供的一个数据访问权限控制方法的应用场景的示意图;
图7为本申请实施例提供的一种数据访问权限控制装置的结构示意图;
图8为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
现在将参照附图来详细描述本申请的各种示例性实施例,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值并不限制本申请的范围。
本领域技术人员可以理解,本申请实施例中的“第一”、“第二”等术语仅用于区别不同步骤、设备或模块等对象,既不代表任何特定技术含义,也不表示它们之间的逻辑顺序。
还应理解,在本实施例中,“多个”可以指两个或两个以上,“至少一个”可以指一个、两个或两个以上。
还应理解,对于本申请实施例中提及的任一部件、数据或结构,在没有明确限定或者在前后文给出相反启示的情况下,一般可以理解为一个或多个。
另外,本申请中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本申请中字符“/”,一般表示前后关联对象是一种“或”的关系。
还应理解,本申请对各个实施例的描述着重强调各个实施例之间的不同之处,其相同或相似之处可以相互参考,为了简洁,不再一一赘述。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,上述技术、方法和设备应当被视为说明书的一部分。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。为便于对本申请实施例的理解,下面将参考附图并结合实施例来详细说明本申请。显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了解决现有技术无法限制用户随意更改操作系统内核的访问权限的技术问题,本申请提供了一种数据访问权限控制方法,可以提高设备运行的安全性。
图1为本申请实施例提供的一种数据访问权限控制方法的流程示意图。本方法可以应用于车辆(例如,智能驾驶车辆)、智能手机、笔记本电脑、台式电脑、便携式计算机、服务器等一个或多个电子设备上。此外,本方法的执行主体可以是硬件,也可以是软件。当上述执行主体为硬件时,该执行主体可以为上述电子设备中的一个或多个。例如,单个电子设备可以执行本方法,或者,多个电子设备可以彼此配合来执行本方法。当上述执行主体为软件时,本方法可以实现成多个软件或软件模块,也可以实现成单个软件或软件模块。在此不作具体限定。
如图1所示,该方法具体包括:
步骤101,从目标设备的用户空间获取配置的访问权限策略信息。
在本实施例中,目标设备可以是该方法的执行主体,目标设备可以是各种类型的电子设备,例如车载终端、手机、台式计算机等。上述用户空间可以是目标设备的内存中分配给用户使用的空间,也即目标设备上的各类应用程序运行时使用的内存空间。用户可以通过预先设置的接口,在用户空间配置各种应用程序的访问权限,生成访问权限策略信息。
作为示例,访问权限策略信息可以表示应用程序获取摄像头拍摄的图像的权限、对特定数据进行修改的权限等。
可选的,本申请实施例可以基于专用的安全系统实现,即上述访问权限策略信息及下述策略文件、文件系统等,均可以在安全系统内实现。例如,上述目标设备可以设置有SELinux系统,SELinux是一种基于域-类型(Domain-Type)模型的强制访问控制(MAC)安全系统,其被设计成将安全模块放入操作系统内核中。SELinux还包括相应的安全策略,上层系统可以基于安全策略来进行相应的安全运行操作。另外,一些安全相关应用也可以被打上与SELinux相关的补丁,以提高安全相关应用的安全等级。本申请实施例既可以在SELinux系统下实现,即将SELinux的权限等级划分为用户空间和内核空间,用户可以在用户空间自定义SELinux安全策略,生成上述权限策略信息。
步骤102,对访问权限策略信息进行编译,生成策略文件。
在本实施例中,生成的策略文件通常为可执行文件,例如二进制文件。通常,目标设备可以将访问权限策略信息加入到内核空间的权限策略编译规则中,即目标设备通过将内核空间的访问权限策略信息与用于自定义的访问权限策略信息合并,然后将合并后的访问策略信息输入到编译器,由编译器进行编译而生成策略文件。
作为示例,目标设备中的SELinux系统,可以将SELinux系统的内核的访问权限策略信息与用于自定义的访问权限策略信息合并,然后利用SELinux系统中的编译器对访问权限策略信息进行编译。
步骤103,将策略文件加载入目标设备的内核空间的文件系统中。
在本实施例中,上述文件系统即为对策略文件进行操作的文件系统。例如,文件系统可以是SELinux文件系统。
步骤104,通过文件系统对策略文件的访问权限进行判断,并基于判断结果控制用户的数据访问权限。
在本实施例中,目标设备可以通过文件系统对策略文件的访问权限进行判断。例如若文件系统为SELinux文件系统,SELinux文件系统可以包括安全服务模块,安全服务模块可以对上述策略文件进行策略规则和访问逻辑的判断,从而确定是否赋予对应数据的访问权限许可。若判断用户符合对上述访问权限策略信息对应的目标数据的访问权限条件,则允许用户对目标数据进行操作,否则禁止用户对目标数据进行操作。
本申请实施例提供的数据访问权限控制方法,通过将针对目标设备的权限管理划分为用户空间和内核空间,目标设备运行时,从用户空间获取配置的访问权限策略信息,并生成策略文件,将策略文件加载入内核空间的文件系统中,通过文件系统对策略文件的访问权限进行判断,并基于判断结果控制用户的数据访问权限,从而实现了将操作系统的内核权限和应用程序的开发者的权限进行解耦隔离,开发者可以在用户空间自定义数据访问权限,无法更改操作系统的内核权限,从而提高了设备运行的安全性。
在本实施例的一些可选的实现方式中,如图2所示,步骤101可以包括:
步骤1011,从目标设备的用户空间获取配置的平台共用策略信息,和目标设备对应的平台专用策略信息。
其中,上述平台共用策略信息可以是多个平台可以共用的访问权限策略信息,平台专用策略信息即针对某个平台专用的访问权限策略信息。上述平台是指安全系统所适配的某种类型的电子设备。
例如,对于一种类型的芯片,即对应一种平台,不同类型的芯片即对应多个不同的平台。这些不同类型的芯片可以共用一些访问权限策略信息,即上述平台共用策略信息,每种类型的芯片也可以分别设置专用的访问权限策略信息,即上述平台专用策略信息。
通常,在目标设备设置的操作系统下,可以针对平台设置安全策略目录(例如platform_sepolicy目录),在该目录下可以设置平台共用策略目录(例如plat_public目录)和平台专用策略目录(例如plat_private目录)。
例如,plat_public目录的路径可以为system/sepolicy/public,该路径下的信息,可以限定各种数据的类型和属性,用户可以利用对应的接口,进一步基于这些数据的类型和属性限定针对各种设备的数据访问权限。plat_private目录的路径可以为system/sepolicy/private,该路径下的信息,可以限定某个平台专用的数据类型和属性,用户可以根据这些数据类型和属性进一步配置各种设备的数据访问权限。
步骤1012,获取针对目标设备的类型配置的设备类型专用策略信息。
设备类型专用策略信息即用户针对某种类型的设备(例如某款车型)而配置的数据访问权限策略。作为示例,可以在目标设备设置的操作系统下,创建该目标设备所属的类型的路径(例如device/project/sepolicy),该路径下的信息,即可以针对一类设备进行数据访问权限的限定。
步骤1013,基于平台共用策略信息、平台专用策略信息和设备类型专用策略信息之间的继承关系,生成目标设备对应的访问权限策略信息。
具体地,上述设备类型专用策略信息可以继承上述平台共用策略信息、平台专用策略信息,即针对设备类型的专用数据访问权限策略包含平台共用的数据访问权限策略和平台专用的数据访问权限策略。作为示例,用户在对某款车型开发软硬件项目时,可以直接继承上述平台共用策略信息和平台专用策略信息,从而得到该车型的车载终端运行时所遵循的数据访问权限策略。
本实施例通过在用户空间设置平台共用策略信息、平台专用策略信息和设备类型专用策略信息,实现了将针对设备和针对平台的权限策略分别单独设置,同时设备类型专用策略信息可以继承平台共用策略信息和平台专用策略信息,从而有助于提高对设备进行访问权限策略配置的效率。
在本实施例的一些可选的实现方式中,如图3所示,步骤102包括:
步骤1021,在目标设备对应的设备配置文件中获取预先配置的权限策略列表。
其中,权限策略列表对应于访问权限策略信息包括的子信息。
具体地,用户在对设备进行设备类型专用策略信息配置时,可以通过在设备配置文件中定义一个变量(例如BOARD_SEPOLICY_DIRS变量),该变量对应于权限策略列表,该权限策略列表表示上述平台共用策略目录和平台专用策略目录下的各个策略信息(即上述访问权限策略信息包括的子信息)的搜索顺序。
步骤1022,基于权限策略列表,对访问权限策略信息进行编译,生成策略文件。
具体地,根据上述搜索顺序,可以在编译时,获取到各个策略信息,按照编译器的编译规则生成策略文件。
本实施例通过设置设备配置文件和权限策略列表,可以将平台、设备类型和设备各自对应的访问权限策略整合到一起,从而有助于准确地对房屋权限策略信息进行编译,并提高编译的效率。
在本实施例的一些可选的实现方式中,如图4所示,在上述图2对应实施例的基础上,步骤103可以包括:
步骤1031,生成平台共用策略信息对应的第一权限标签和平台专用策略信息对应的第二权限标签。
其中,第一权限标签和第二权限标签分别对应于目标设备的第一内存分区和第二内存分区。作为示例,在安卓系统中,第一分区可以是system分区,用于各种应用程序共同访问,第二分区可以是vendor分区,用于一些专用的应用程序访问。
步骤1032,基于第一权限标签和第二权限标签与预设的至少两个内存分区中的内存分区的对应关系,确定访问权限策略信息对应的内存分区。
可选的,第一权限标签可以对应于system分区和vendor分区,第二权限标签可以对应于system分区,即平台共用策略信息可以被system分区和vendor分区的应用程序共同访问,平台专用策略信息只能被system分区的应用程序访问,不能被vendor分区的应用程序共同访问。
由于在针对目标设备的类型配置上述设备类型专用策略信息时,可以继承平台共用策略信息对应的第一权限标签和平台专用策略信息,因此,上述访问权限策略信息包括的各条子信息可以对应于第一权限标签和第二权限标签,从而确定访问权限策略信息对应的内存分区。
步骤1033,将策略文件存入对应的内存分区中。
具体地,在对访问权限策略信息进行编译时,可以生成多个策略文件,每个策略文件对应于一条访问权限策略子信息,进而可以将每个策略文件存入对应的内存分区。
步骤1034,从策略文件对应的内存分区中提取策略文件,并将策略文件加载入目标设备的内核空间的文件系统中。
将策略文件加载入文件系统的方法可以参考上述步骤103描述的内容,这里不再赘述。
本实施例通过设置第一权限标签和第二权限标签,并根据第一权限标签和第二权限标签与内存分区的对应关系,可以实现根据策略文件的来源存入对应的内存分区,从而有助于文件系统在调用策略文件时,准确区分策略文件对应的访问权限,提高数据访问权限判断的准确性。
在本实施例的一些可选的实现方式中,如图5所示,步骤102包括:
步骤1023,对访问权限策略信息进行合法性检查,得到检查结果。
其中,合法性检查可以包括但不限于以下至少一项:权限范围检查、语法检查。若检查结果表示权限超过可操作的权限(例如对内核空间的数据进行修改)、语法错误等情况发生,则停止编译。
步骤1024,响应于确定检查结果表示访问权限策略信息合格,编译访问权限策略信息,得到访问权限策略信息对应的策略文件。
具体地,若检查结果表示未发生权限超范围、语法错误等情况,确定访问权限策略信息合格,可以继续对访问权限策略信息进行编译。
本实施例通过在对访问权限策略信息进行编译时,对访问权限策略信息进行合法性检查,可以在生成策略文件有效避免用户自定义的访问权限策略信息发生越权风险,进一步提高了系统运行的安全性。
参考图6,其示出了基于上述可选的实现方式的一个应用场景示意图,应用场景可以在SELinux系统下。如图6中的601所示,策略源模块1-n是用户在用户空间配置的多种数据访问权限策略,策略源模块1-n即构成了访问权限策略信息。如图6中的602所示,其示出了从策略源模块1-n中提取的访问权限的各项内容,包括规则类别和许可、类型强制(TE,Type Enforcement)声明(包括类型、TE规则、角色和用户)、申请权限的约束、资源标记说明等。然后,如图6中的603所示,SELinux系统对各个策略源模块进行合法性检查并编译,生成二进制策略文件604。再然后,SELinux系统将二进制策略文件加载到内核空间的SELinux文件系统605,SELinux文件系统605通过安全服务模块606对系统中各个模块的权限申请表进行策略规则和访问逻辑的判断,决定是否赋予对应程序的权限许可,访问向量缓存模块607根据安全服务模块606的执行结果确定当前进行策略规则和访问逻辑的判断所针对的策略源模块,最终在内核空间完成对策略源模块1-n针对的数据的访问权限控制。
图7为本申请实施例提供的一种数据访问权限控制装置的结构示意图。具体包括:
配置模块701,用于从目标设备的用户空间获取配置的访问权限策略信息;
编译模块702,用于对访问权限策略信息进行编译,生成策略文件;
加载模块703,用于将策略文件加载入目标设备的内核空间的文件系统中;
判断模块704,用于通过文件系统对策略文件的访问权限进行判断,并基于判断结果控制用户的数据访问权限。
在一个可能的实施方式中,配置模块701包括:
第一获取单元,用于从目标设备的用户空间获取配置的平台共用策略信息,和目标设备对应的平台专用策略信息;
第二获取单元,用于获取针对目标设备的类型配置的设备类型专用策略信息;
第一生成单元,用于基于平台共用策略信息、平台专用策略信息和设备类型专用策略信息之间的继承关系,生成目标设备对应的访问权限策略信息。
在一个可能的实施方式中,编译模块702包括:
第三获取单元,用于在目标设备对应的设备配置文件中获取预先配置的权限策略列表,其中,权限策略列表对应于访问权限策略信息包括的子信息;
第一编译单元,用于基于权限策略列表,对访问权限策略信息进行编译,生成策略文件。
在一个可能的实施方式中,加载模块703包括:
第二生成单元,用于生成平台共用策略信息对应的第一权限标签和平台专用策略信息对应的第二权限标签;
确定单元,用于基于第一权限标签和第二权限标签与预设的至少两个内存分区中的内存分区的对应关系,确定访问权限策略信息对应的内存分区;
存储单元,用于将策略文件存入对应的内存分区中;
加载单元,用于从策略文件对应的内存分区中提取策略文件,并将策略文件加载入目标设备的内核空间的文件系统中。
在一个可能的实施方式中,编译模块702包括:
检查单元,用于对访问权限策略信息进行合法性检查,得到检查结果;
第二编译单元,用于响应于确定检查结果表示访问权限策略信息合格,编译访问权限策略信息,得到访问权限策略信息对应的策略文件。
本实施例提供的数据访问权限控制装置可以是如图7中所示的数据访问权限控制装置,可执行以上的各数据访问权限控制方法的所有步骤,进而实现以上的各数据访问权限控制方法的技术效果,具体请参照以上相关描述,为简洁描述,在此不作赘述。
图8为本申请实施例提供的一种电子设备的结构示意图,图8所示的电子设备800包括:至少一个处理器801、存储器802、至少一个网络接口804和其他用户接口803。电子设备800中的各个组件通过总线系统805耦合在一起。可理解,总线系统805用于实现这些组件之间的连接通信。总线系统805除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图8中将各种总线都标为总线系统805。
其中,用户接口803可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
可以理解,本申请实施例中的存储器802可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double Data RateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synch link DRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambus RAM,DRRAM)。本文描述的存储器802旨在包括但不限于这些和任意其它适合类型的存储器。
在一些实施方式中,存储器802存储了如下的元素,可执行单元或者数据结构,或者他们的子集,或者他们的扩展集:操作系统8021和应用程序8022。
其中,操作系统8021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序8022,包含各种应用程序,例如媒体播放器(Media Player)、浏览器(Browser)等,用于实现各种应用业务。实现本申请实施例方法的程序可以包含在应用程序8022中。
在本实施例中,通过调用存储器802存储的程序或指令,具体的,可以是应用程序8022中存储的程序或指令,处理器801用于执行各方法实施例所提供的方法步骤,例如包括:
从目标设备的用户空间获取配置的访问权限策略信息;
对所述访问权限策略信息进行编译,生成策略文件;
将所述策略文件加载入所述目标设备的内核空间的文件系统中;
通过所述文件系统对所述策略文件的访问权限进行判断,并基于判断结果控制所述用户的数据访问权限。
上述本申请实施例揭示的方法可以应用于处理器801中,或者由处理器801实现。处理器801可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器801中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器801可以是通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(FieldProgrammable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件单元组合执行完成。软件单元可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器802,处理器801读取存储器802中的信息,结合其硬件完成上述方法的步骤。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请的上述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文上述功能的单元来实现本文上述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本实施例提供的电子设备可以是如图8中所示的电子设备,可执行以上所述的各数据访问权限控制方法的所有步骤,进而实现以上所述的各数据访问权限控制方法的技术效果,具体请参照以上相关描述,为简洁描述,在此不作赘述。
本申请实施例还提供了一种存储介质(计算机可读存储介质)。这里的存储介质存储有一个或者多个程序。其中,存储介质可以包括易失性存储器,例如随机存取存储器;存储器也可以包括非易失性存储器,例如只读存储器、快闪存储器、硬盘或固态硬盘;存储器还可以包括上述种类的存储器的组合。
当存储介质中一个或者多个程序可被一个或者多个处理器执行,以实现上述在电子设备侧执行的数据访问权限控制方法。
上述处理器用于执行存储器中存储的目标检测程序,以实现以下在电子设备侧执行的数据访问权限控制方法的步骤:
从目标设备的用户空间获取配置的访问权限策略信息;
对所述访问权限策略信息进行编译,生成策略文件;
将所述策略文件加载入所述目标设备的内核空间的文件系统中;
通过所述文件系统对所述策略文件的访问权限进行判断,并基于判断结果控制所述用户的数据访问权限。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
应理解的是,文中使用的术语仅出于描述特定示例实施方式的目的,而无意于进行限制。除非上下文另外明确地指出,否则如文中使用的单数形式“一”、“一个”以及“所述”也可以表示包括复数形式。术语“包括”、“包含”、“含有”以及“具有”是包含性的,并且因此指明所陈述的特征、步骤、操作、元件和/或部件的存在,但并不排除存在或者添加一个或多个其它特征、步骤、操作、元件、部件、和/或它们的组合。文中描述的方法步骤、过程、以及操作不解释为必须要求它们以所描述或说明的特定顺序执行,除非明确指出执行顺序。还应当理解,可以使用另外或者替代的步骤。
以上所述仅是本发明的具体实施方式,使本领域技术人员能够理解或实现本发明。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
Claims (10)
1.一种数据访问权限控制方法,其特征在于,所述方法包括:
从目标设备的用户空间获取配置的访问权限策略信息;
对所述访问权限策略信息进行编译,生成策略文件;
将所述策略文件加载入所述目标设备的内核空间的文件系统中;
通过所述文件系统对所述策略文件的访问权限进行判断,并基于判断结果控制所述用户的数据访问权限。
2.根据权利要求1所述的方法,其特征在于,所述从目标设备的用户空间获取配置的访问权限策略信息,包括:
从所述目标设备的用户空间获取配置的平台共用策略信息,和所述目标设备对应的平台专用策略信息;
获取针对所述目标设备的类型配置的设备类型专用策略信息;
基于所述平台共用策略信息、所述平台专用策略信息和所述设备类型专用策略信息之间的继承关系,生成所述目标设备对应的访问权限策略信息。
3.根据权利要求2所述的方法,其特征在于,所述对所述访问权限策略信息进行编译,生成策略文件,包括:
在所述目标设备对应的设备配置文件中获取预先配置的权限策略列表,其中,所述权限策略列表对应于所述访问权限策略信息包括的子信息;
基于所述权限策略列表,对所述访问权限策略信息进行编译,生成所述策略文件。
4.根据权利要求2所述的方法,其特征在于,所述将所述策略文件加载入所述目标设备的内核空间的文件系统中,包括:
生成所述平台共用策略信息对应的第一权限标签和所述平台专用策略信息对应的第二权限标签;
基于所述第一权限标签和所述第二权限标签与预设的至少两个内存分区中的内存分区的对应关系,确定所述访问权限策略信息对应的内存分区;
将所述策略文件存入对应的内存分区中;
从所述策略文件对应的内存分区中提取所述策略文件,并将所述策略文件加载入所述目标设备的内核空间的文件系统中。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述对所述访问权限策略信息进行编译,生成策略文件,包括:
对所述访问权限策略信息进行合法性检查,得到检查结果;
响应于确定所述检查结果表示所述访问权限策略信息合格,编译所述访问权限策略信息,得到所述访问权限策略信息对应的策略文件。
6.一种数据访问权限控制装置,其特征在于,所述装置包括:
配置模块,用于从目标设备的用户空间获取配置的访问权限策略信息;
编译模块,用于对所述访问权限策略信息进行编译,生成策略文件;
加载模块,用于将所述策略文件加载入所述目标设备的内核空间的文件系统中;
判断模块,用于通过所述文件系统对所述策略文件的访问权限进行判断,并基于判断结果控制所述用户的数据访问权限。
7.根据权利要求6所述的装置,其特征在于,所述配置模块包括:
第一获取单元,用于从所述目标设备的用户空间获取配置的平台共用策略信息,和所述目标设备对应的平台专用策略信息;
第二获取单元,用于获取针对所述目标设备的类型配置的设备类型专用策略信息;
第一生成单元,用于基于所述平台共用策略信息、所述平台专用策略信息和所述设备类型专用策略信息之间的继承关系,生成所述目标设备对应的访问权限策略信息。
8.根据权利要求7所述的装置,其特征在于,所述编译模块包括:
第三获取单元,用于在所述目标设备对应的设备配置文件中获取预先配置的权限策略列表,其中,所述权限策略列表对应于所述访问权限策略信息包括的子信息;
第一编译单元,用于基于所述权限策略列表,对所述访问权限策略信息进行编译,生成所述策略文件。
9.一种电子设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述存储器中存储的计算机程序,且所述计算机程序被执行时,实现上述权利要求1-5任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现上述权利要求1-5任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311271028.4A CN117313127A (zh) | 2023-09-27 | 2023-09-27 | 数据访问权限控制方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311271028.4A CN117313127A (zh) | 2023-09-27 | 2023-09-27 | 数据访问权限控制方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117313127A true CN117313127A (zh) | 2023-12-29 |
Family
ID=89284398
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311271028.4A Pending CN117313127A (zh) | 2023-09-27 | 2023-09-27 | 数据访问权限控制方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117313127A (zh) |
-
2023
- 2023-09-27 CN CN202311271028.4A patent/CN117313127A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6248153B2 (ja) | 信頼レベルのアクティブ化 | |
US10019598B2 (en) | Dynamic service discovery | |
JP2010511227A (ja) | 信頼性の低いアドレス空間への実行コードのコンパイル | |
US9871800B2 (en) | System and method for providing application security in a cloud computing environment | |
US8752130B2 (en) | Trusted multi-stakeholder environment | |
US20070169065A1 (en) | Computer program with metadata management function | |
US7647629B2 (en) | Hosted code runtime protection | |
US9245112B2 (en) | Apparatus and method for managing entitlements to program code | |
US20050172133A1 (en) | Cross assembly call interception | |
CN114154144A (zh) | 基于安全沙箱的应用安全加固系统 | |
WO2017016231A1 (zh) | 一种策略管理方法、系统及计算机存储介质 | |
CN108573153B (zh) | 一种车载操作系统及其使用方法 | |
US10628611B2 (en) | Exclusive execution environment within a system-on-a-chip computing system | |
CN112668008A (zh) | 一种基于lsm来实现动态的系统调用劫持的方法 | |
CN112256249A (zh) | 扩展Android系统功能的方法、设备及计算机存储介质 | |
CN117313127A (zh) | 数据访问权限控制方法、装置、电子设备及存储介质 | |
US11966466B2 (en) | Unified workload runtime protection | |
CN110598393B (zh) | 一种安全用户架构及权限控制方法 | |
CN108804144B (zh) | 操作系统启动的控制方法/系统、存储介质及电子设备 | |
JP4638505B2 (ja) | 電子デバイス内の安全なプログラム解釈方法 | |
CN111523115B (zh) | 信息确定方法、函数调用方法及电子设备 | |
US20220385665A1 (en) | Task Based Access Rights Control | |
CN118013528A (zh) | 安全策略生成方法、装置及系统 | |
CN115329334A (zh) | 一种检测进程访问行为的方法、系统、装置及介质 | |
JP2008521111A5 (zh) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |