CN113946854B - 一种文件访问控制方法、装置及计算机可读存储介质 - Google Patents

一种文件访问控制方法、装置及计算机可读存储介质 Download PDF

Info

Publication number
CN113946854B
CN113946854B CN202111273282.9A CN202111273282A CN113946854B CN 113946854 B CN113946854 B CN 113946854B CN 202111273282 A CN202111273282 A CN 202111273282A CN 113946854 B CN113946854 B CN 113946854B
Authority
CN
China
Prior art keywords
security
virtual machine
access
target file
current virtual
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.)
Active
Application number
CN202111273282.9A
Other languages
English (en)
Other versions
CN113946854A (zh
Inventor
刘波
董世江
窦志冲
王德明
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Suzhou Inspur Intelligent Technology Co Ltd
Original Assignee
Suzhou Inspur Intelligent Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Suzhou Inspur Intelligent Technology Co Ltd filed Critical Suzhou Inspur Intelligent Technology Co Ltd
Priority to CN202111273282.9A priority Critical patent/CN113946854B/zh
Publication of CN113946854A publication Critical patent/CN113946854A/zh
Application granted granted Critical
Publication of CN113946854B publication Critical patent/CN113946854B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/604Tools and structures for managing or administering access control systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45562Creating, deleting, cloning virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45587Isolation or security of virtual machine instances
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing 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/2141Access rights, e.g. capability lists, access control lists, access tables, access matrices

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供一种文件访问控制方法、装置及计算机可读存储介质。文件访问控制方法,包括:接收在当前虚拟机运行时对目标文件的访问请求。分别获取当前虚拟机的第一安全标识和目标文件的第二安全标识。根据第一安全标识和第二安全标识判断当前虚拟机是否具有目标文件的访问权限。当当前虚拟机具有访问权限时,访问目标文件。通过本发明提供的文件访问控制方法,能够提高目标文件的安全性和完整性,进而避免目标文件的内容被其他虚拟机用户随意修改或者损坏的情况发生。

Description

一种文件访问控制方法、装置及计算机可读存储介质
技术领域
本发明涉及计算机虚拟化技术领域,具体涉及一种文件访问控制方法、装置及计算机可读存储介质。
背景技术
虚拟化技术是云计算的基础,通过虚拟化技术,可以将多台虚拟机运行在同一物理机中。虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。物理机中的各虚拟机可以共享物理机的中央处理器(central processing unit,CPU)、内存、输入输出(IO)硬件资源,但在运行过程中,各虚拟机之间以及与物理机之间均相互隔离。
虚拟机中包括虚拟磁盘,因此,在常规情况下,虚拟机可以通过挂载的形式访问其他虚拟机的虚拟磁盘,进而访问其他虚拟机虚拟磁盘内的文件。
但采用该种方式进行文件访问,被访问的虚拟机内的文件的安全性受到影响,容易导致被访问的虚拟机内的文件被遭到恶意修改或者损坏,进而影响虚拟磁盘内的文件的完整性。
发明内容
因此,本发明要解决的技术问题在于克服现有技术中虚拟机内的文件被访问的安全性低,进而影响文件完整性的缺陷,从而提供一种文件访问控制方法、装置及计算机可读存储介质。
根据第一方面,本发明提供一种文件访问控制方法,包括:
接收在当前虚拟机运行时对目标文件的访问请求;
分别获取当前虚拟机的第一安全标识和所述目标文件的第二安全标识,所述第二安全标识根据创建该目标文件的虚拟机的第一安全标识生成;
根据所述第一安全标识和所述第二安全标识判断所述当前虚拟机是否具有目标文件的访问权限;
当所述当前虚拟机具有访问权限时,访问所述目标文件。
在该方式中,能够在接收到当前虚拟机对目标文件的访问请求时,根据当前虚拟机的安全标识和目标文件的安全标识,判断当前虚拟机是否具有访问目标文件的访问权限,进而基于当前虚拟机具有的访问权限,控制当前虚拟机访问目标文件,从而提高目标文件的安全性和完整性,避免目标文件的内容被其他虚拟机用户随意修改或者损坏的情况发生。
结合第一方面,在第一方面第一实施方式中,所述第一安全标识包括第一安全标记和第一安全等级,所述第二安全标记包括第二安全标记和第二安全等级,所述第一安全标记和所述第二安全标记分别包括一个或多个标记序列。
在该方式中,安全标识包括安全标记和安全等级两部分,进而后续根据第一安全标识和第二安全标识进行判断时,便可以基于安全标记确定当前虚拟机是否可以访问目标文件,以及当当前虚拟机可以访问目标文件的情况下,基于安全等级确定当前虚拟机对应的具体访问权限,从而提高目标文件的安全性和完整性。
结合第一方面的第一实施方式,在第一方面的第二实施方式中,所述根据所述第一安全标记和所述第二安全标记判断所述当前虚拟机是否具有目标文件的访问权限,包括:
依次判断所述第一安全标记中的标记序列与所述第二安全标记中的标记序列是否存在相同;
当存在相同时,所述当前虚拟机具有目标文件的访问权限。
在该方式中,将第一安全标记中的标记序列依次与第二安全标记中的标记序列进行判断,可以提高当前虚拟机可以访问目标文件的可能性,进而有助于提高确定当前虚拟机是否可以访问目标文件的准确性。
结合第一方面的第二实施方式,在第一方面的第三实施方式中,还包括:
当所述第一安全等级高于所述第二安全等级时,所述当前虚拟机的访问权限为读权限;
当所述第一安全等级低于所述第二安全等级时,所述当前虚拟机的访问权限为写权限;
当所述第一安全等级等于所述第二安全等级时,所述当前虚拟机的访问权限为读权限和写权限。
在该方式中,通过将第一安全等级与第二安全等级进行对比,可以明确当前虚拟机可以访问目标文件时的具体访问权限,进而有助于避免目标文件被误修改或者损坏的情况发生,从而提高目标文件的安全性和完整性。
结合第一方面的第二实施方式或者第三实施方式,在第一方面的第四实施方式中,所述方法还包括:
当所述第一安全标记中的标记序列与所述第二安全标记中的标记序列均不相同时,所述当前虚拟机不具有目标文件的访问权限。
在该方式中,第一安全标记中的标记序列与第二安全标记中的标记序列均不相同,则表征当前虚拟机访问目标文件是非法访问,因此,可以确定当前虚拟机不具有目标文件的访问权限,进而提高目标文件被访问的安全性。
结合第一方面的第一实施方式,在第一方面的第五实施方式中,当所述第二安全标记包括多个标记序列时,各所述标记序列存储于同一链表。
在该方式中,将第二安全标记中的各标记序列存储于同一链表中,有助于在判断第二安全标记中的标记序列中是否存在与第一安全标记中的标记序列相同的标记序列时,快速获取第二安全标记中的标记序列,进而提高判断效率,有利于缩短判断时间。
结合第一方面的第五实施方式,在第一方面的第六实施方式中,第二安全标记中的多个标记序列分别与多个虚拟机的第一安全标记中的标记序列相对应。
在该方式中,同一目标文件可以允许被多个不同的虚拟机进行访问。
根据第二方面,本发明提供一种文件访问控制装置,包括:
接收单元,用于接收在当前虚拟机运行时对目标文件的访问请求;
获取单元,用于分别获取当前虚拟机的第一安全标识和所述目标文件的第二安全标识,所述第二安全标识根据创建该目标文件的虚拟机的第一安全标识生成;
判断单元,用于根据所述第一安全标识和所述第二安全标识判断所述当前虚拟机是否具有目标文件的访问权限;
访问单元,用于当所述当前虚拟机具有访问权限时,访问所述目标文件。
结合第二方面,在第二方面第一实施方式中,所述第一安全标识包括第一安全标记和第一安全等级,所述第二安全标记包括第二安全标记和第二安全等级,所述第一安全标记和所述第二安全标记分别包括一个或多个标记序列。
结合第二方面第一实施方式,在第二方面第二实施方式中,所述判断单元包括:
依次判断子单元,用于依次判断所述第一安全标记中的标记序列与所述第二安全标记中的标记序列是否存在相同;
访问子单元,用于当存在相同时,所述当前虚拟机具有目标文件的访问权限。
结合第二方面第二实施方式,在第二方面第三实施方式中,所述判断单元还包括:
第一权限子单元,用于当所述第一安全等级高于所述第二安全等级时,所述当前虚拟机的访问权限为读权限;
第二权限子单元,用于当所述第一安全等级低于所述第二安全等级时,所述当前虚拟机的访问权限为写权限;
第三权限子单元,用于当所述第一安全等级等于所述第二安全等级时,所述当前虚拟机的访问权限为读权限和写权限。
结合第二方面第二实施方式或者第三实施方式,在第二方面第四实施方式中,所述判断单元还包括:
禁止访问子单元,用于当所述第一安全标记中的标记序列与所述第二安全标记中的标记序列均不相同时,所述当前虚拟机不具有目标文件的访问权限。
结合第二方面第一实施方式,在第二方面第五实施方式中,当所述第二安全标记包括多个标记序列时,各所述标记序列存储于同一链表。
结合第二方面第五实施方式,在第二方面第六实施方式中,第二安全标记中的多个标记序列分别与多个虚拟机的第一安全标记中的标记序列相对应。
根据第三方面,本发明实施方式还提供一种计算机设备,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行第一方面及其可选实施方式中任一项的文件访问控制方法。
根据第四方面,本发明实施方式还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行第一方面及其可选实施方式中任一项的文件访问控制方法。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据一示例性实施例提出的一种文件访问控制方法的流程图。
图2是根据一示例性实施例提出的一种访问权限判断方法的流程图。
图3是根据一示例性实施例提出的另一种访问权限判断方法的流程图。
图4是根据一示例性实施例提供的一种控制虚拟机运行的方法的流程图。
图5是根据一示例性实施例提供的一种文件访问控制方法的流程图。
图6是根据一示例性实施例提出的一种文件访问控制装置的结构框图。
图7是根据一示例性实施例提出的一种计算机设备的硬件结构示意图。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
虚拟化技术是云计算的基础,通过虚拟化技术,可以将多台虚拟机运行在同一物理机中。虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。物理机中的各虚拟机可以共享物理机的中央处理器(central processing unit,CPU)、内存、输入输出(IO)硬件资源,但在运行过程中,各虚拟机之间以及与物理机之间均相互隔离。
KVM(Kernel-based Virtual Machine),是一种开源虚拟机,是Linux系统基于内核的虚拟化方案。在KVM和虚拟操作系统模拟器(QEMU)的结合下,共同完成虚拟机的模拟。在KVM架构下,虚拟机可以理解为是物理机中的QEMU进程。当虚拟机在访问虚拟磁盘上的文件时,会造成虚拟机退出事件(VM Exit)发生,退出KVM,进而通过KVM代替虚拟机来实现对磁盘文件的访问。
相关技术中,同一台物理机上可以部署多台虚拟机,每台虚拟机中均会创建自己的虚拟磁盘。虚拟机可以采用挂载的方式,访问另一台虚拟机的虚拟磁盘中的文件。
但采用该种方式进行文件访问,被访问的虚拟机内的文件的安全性容易受到影响,能够导致被访问的虚拟机内的文件被遭到恶意修改或者损坏,进而影响虚拟磁盘内的文件的完整性。
为解决上述问题,本发明实施例中提供一种文件访问控制方法,用于计算机设备中,需要说明的是,其执行主体可以是文件访问控制装置,该装置可以通过软件、硬件或者软硬件结合的方式实现成为计算机设备的部分或者全部,其中,该计算机设备可以是终端或客户端或服务器,服务器可以是一台服务器,也可以为由多台服务器组成的服务器集群,本申请实施例中的终端可以是智能手机、个人电脑、平板电脑、可穿戴设备以及智能机器人等其他智能硬件设备。下述方法实施例中,均以执行主体是计算机设备为例来进行说明。
本是实施例中的计算机设备中,部署有多台虚拟机,至少包括虚拟机A和虚拟机B,目标文件由虚拟机B创建,虚拟机A需要对目标文件进行访问,本发明提供的文件访问控制方法,能够在接收到当前虚拟机A对目标文件的访问请求时,根据当前虚拟机A的安全标识和目标文件的安全标识,判断当前虚拟机A是否具有访问目标文件的访问权限,进而基于当前虚拟机A具有的访问权限,控制当前虚拟机A访问目标文件,从而提高目标文件的安全性和完整性,避免目标文件的内容被其他虚拟机用户随意修改或者损坏的情况发生。
为便于描述,且将虚拟机的安全标识与文件的安全标识进行区分,以下将采用第一安全标识代替虚拟机的安全标识,采用第二安全标识代替目标文件的安全标识。
图1是根据一示例性实施例提出的一种文件访问控制方法的流程图。如图1所示,文件访问控制方法包括如下步骤。
在步骤S101中,接收在当前虚拟机运行时对目标文件的访问请求。
在本发明实施例中,访问请求可以理解为是访问目标文件的请求。目标文件被创建的虚拟机与当前虚拟机为不同的虚拟机,例如本实施例中目标文件由虚拟机B创建,当前运行的虚拟机为虚拟机A,想对目标文件进行访问。在当前虚拟机A运行的过程中,目标文件的虚拟机B的虚拟磁盘挂载至当前虚拟机A中,进而当前虚拟机A向目标文件的虚拟机B发送对目标文件进行访问的访问请求。
在步骤S102中,分别获取当前虚拟机的第一安全标识和目标文件的第二安全标识。
在本发明实施例中,不同虚拟机对应不同的第一安全标识。第二安全标识是目标文件的安全标识,在该目标文件被虚拟机B创建时,根据虚拟机B的第一安全标识生成。例如,可以采用继承虚拟机B的安全标识的方式,生成目标文件的第二安全标识。
虚拟机中的文件是否可以被访问,是基于安全标识进行限定的。通过安全标识,可以限定能够访问该虚拟机中的文件的其他虚拟机,进而避免存在虚拟机非法访问的情况发生,从而提高虚拟机中的文件的安全性,能够有效防止文件被恶意修改或者损坏。
因此,为明确当前虚拟机是否具有访问目标文件的访问权限,则分别获取第一安全标识和第二安全标识,以便后续判断当前虚拟机是否为合法虚拟机,进而避免目标文件被非法访问的情况发生,从而提高目标文件的安全性。
在步骤S103中,根据第一安全标识和第二安全标识判断当前虚拟机是否具有目标文件的访问权限。
在步骤S104中,当当前虚拟机具有访问权限时,访问目标文件。
通过上述实施例,能够通过安全标识,判断当前虚拟机是否可以访问其他虚拟机内的目标文件的访问权限,进而避免目标文件被虚拟机非法访问,从而有助于提高目标文件的安全性和完整性,有利于避免目标文件的内容被其他虚拟机用户随意修改或者损坏的情况发生。
在一实施例中,当前虚拟机的第一安全标识是通过该当前虚拟机的宿主机进行设置的。宿主机中包括安全标识设置模块,通过该安全标识设置模块为当前虚拟机设置第一安全标识。在一实施场景中,由于在KVM虚拟化下,虚拟机是一个QEMU进程,因此,安全标识设置模块在设置第一安全标识时,是针对QEMU进程进行设置。
在另一实施例中,虚拟机中包括安全标识设置模块,进而在虚拟机操作系统安装过程中,当虚拟机磁盘创建的文件时,可以通过虚拟机中的安全标识设置模块根据虚拟机的第一安全标识设置文件的第二安全标识。
在一示例中,虚拟机中的安全标识设置模块可以与该虚拟机的宿主机的安全标识模块为同一安全标识模块,针对不同的创建对象,设置不同的安全标识。其中,创建对象包括虚拟机或者虚拟机内的文件。
在另一示例中,虚拟机中的安全标识设置模块可以与该虚拟机的宿主机的安全标识模块为不同安全标识模块。虚拟机中的安全标识设置模块是在虚拟机被创建时生成的虚拟模块。
在又一实施例中,目标文件的第二安全标识是通过虚拟机监控器(VirtualMachine Monitor,VMM)和安全标识设置模块生成的。其中,VMM是虚拟化中的一个底层软件层,可以虚拟化一个节点让其运行多个虚拟客户机。
在一实施场景中,虚拟机操作系统在安装过程中需要安装所需的红帽软件包管理器(Red-Hat Package Manager,RPM)包,对虚拟机内虚拟磁盘进行读写创建系统文件时,VMM代替虚拟机对虚拟机磁盘进行读写。VMM在获取到虚拟机的第一安全标记之后,通过安全标记设置装置为创建的文件设置第二安全标记,进而在操作系统安装完成之后,虚拟磁盘中的每一个文件均会继承虚拟机进程的安全标记。
在另一实施场景中,虚拟机操作系统安装完成后,用户在虚拟机内创建文件时,VMM在获取到虚拟机的第一安全标记之后,为创建的文件设置对应的第二安全标记,即,在虚拟机操作系统安装完成后,新创建的文件会默认继承虚拟机的第一安全标记。
在一实施例中,第一安全标识包括第一安全标记和第一安全等级,第二安全标识包括第二安全标记和第二安全等级,第二安全标记包括一个或多个标记序列。在判断的过程中,可以根据安全标记确定当前虚拟机是否可以访问目标文件。以及当当前虚拟机可以访问目标文件的情况下,根据安全等级确定当前虚拟机对应的具体访问权限,从而提高目标文件的安全性和完整性。
在一实施场景中,第一安全标识和第二安全标识均可以基于Lattice模型进行生成。其中,Lattice是一种强制访问控制模型,可以将用户和资源进行分类,并允许用户和资源相互之间交换信息。其中,第一安全标记和第二安全标记可以采用字符串的形式进行表示,例如:L0、L1或者L2等。第一安全等级和第二安全等级可以采用无符号整型表示,等级从0逐渐上升。其中,不同虚拟机的第一安全等级可以相同,也可以不同。不同文件的第二安全等级可以相同,也可以不同。
以下实施例将具体说明判断当前虚拟机是否具有目标文件的访问权限的过程。
在本发明的实施例中,虚拟机中的任意文件的第二安全标记中的标记序列,在虚拟机中均可以进行增加或者修改,但每次增加或者修改前的标记序列均会进行保存,进而第二安全标记中的标记序列可以包括多个标记序列。可以理解为,第二安全标记中的标记序列包括该目标文件的历史标记序列和当前标记序列。在一示例中,增加或者修改可以是根据可以访问该目标文件的虚拟机的第一安全标记中的标记序列进行增加或者修改。
图2是根据一示例性实施例提出的一种访问权限判断方法的流程图。如图2所示,访问权限判断方法包括如下步骤。
在步骤S201中,依次判断第一安全标记中的标记序列与第二安全标记中的标记序列是否存在相同。
在本发明实施例中,第二安全标记中的标记序列可以包括多个,因此,为提高判断的准确性,避免误判的情况发生。可以将第一安全标记中的标记序列依次与第二安全标记中的各标记序列进行对比判断,直至确定第二安全标记的多个标记序列中包括与第一安全标记中的标记序列相同的标记序列。或者直至将第二安全标记的所有标记序列遍历完成,结束第一安全标记中的标记序列与第二安全标记中的标记序列之间的对比判断。
在步骤S202中,当存在相同时,当前虚拟机具有目标文件的访问权限。
在本发明实施例中,当存在相同,则表征当前虚拟机访问目标文件属于合法访问,进而可以确定当前虚拟机具有目标文件的访问权限。
通过上述实施例,将第一安全标记中的标记序列依次与第二安全标记中的标记序列进行判断,可以提高当前虚拟机可以访问目标文件的可能性,进而有助于提高确定当前虚拟机是否可以访问目标文件的准确性。
在一实施例中,在当前虚拟机具有目标文件的访问权限的情况下,可以基于当前虚拟机的第一安全等级的目标文件的第二安全等级,明确当前虚拟机的具体访问权限。访问权限可以基于“上读下写”原则进行设置,进而有助于保障目标文件内容的完整性和安全性。
当前虚拟机的具体访问权限的确定过程可以为:当第一安全等级高于第二安全等级时,当前虚拟机的访问权限为读权限。当第一安全等级低于第二安全等级时,当前虚拟机的访问权限为写权限。当第一安全等级等于第二安全等级时,当前虚拟机的访问权限为读权限和写权限。
图3是根据一示例性实施例提出的另一种访问权限判断方法的流程图。如图3所示,访问权限判断方法包括如下步骤。
在步骤S301中,依次判断第一安全标记中的标记序列与第二安全标记中的标记序列是否存在相同;
在步骤S3021中,当存在相同时,当前虚拟机具有目标文件的访问权限。
在本发明中,步骤S301和步骤S3021的实施方式与上述步骤S201和步骤S202的实施方式相同,在此不再进行赘述。
在步骤S3022中,当第一安全标记中的标记序列与第二安全标记中的标记序列均不相同时,当前虚拟机不具有目标文件的访问权限。
在本发明实施例中,第一安全标记中的标记序列与第二安全标记中的标记序列均不相同,则表征当前虚拟机访问目标文件是非法访问,因此,可以确定当前虚拟机不具有目标文件的访问权限,进而提高目标文件被访问的安全性。
在一实施例中,当第二安全标记包括多个标记序列时,将各标记序列存储于同一链表中,进而有助于在判断第二安全标记中的标记序列中是否存在与第一安全标记中的标记序列相同的标记序列时,可以快速获取第二安全标记中的标记序列,从而提高判断效率,有利于缩短判断时间。
在一实施场景中,通过安全标记设置装置,为文件的第二安全标记中的标记序列创建链表,用于统一保存用于描述该文件的标记序列。
在另一实施例中,可以采用矩阵的形式存储第二安全标记中的多个标记序列。
在又一实施例中,第二安全标记中的多个标记序列分别与多个虚拟机的第一安全标记中的标记序列相对应,进而使同一目标文件可以允许被多个不同的虚拟机进行访问。
在一实施场景中,虚拟机是否可以启动进行运行,是基于第一安全标识确定的。控制虚拟机运行过程可以如图4所示。图4是根据一示例性实施例提供的一种控制虚拟机运行的方法的流程图。
在步骤S401中,创建一台虚拟机。
在步骤S402中,通过宿主机中的安全标识设置装置为虚拟机设置第一安全标识。
在步骤S403中,启动虚拟机。
在步骤S404中,确定虚拟机的第一安全标识中是否包括第一安全标记。
在本发明实施例中,第一安全标记是用于确定该虚拟机是否可以访问文件访问权限的安全标记。并且,虚拟机的操作系统在启动时,需要基于访问虚拟机内虚拟磁盘中的文件进行启动。因此,为保证虚拟机能够访问虚拟磁盘内的文件,需确定虚拟机的第一安全标识中是否包括第一安全标记,以便后续通过第一安全标记确定虚拟机访问文件的访问权限。
若包括第一安全标记,则执行步骤S4051,确定第一安全标记是否同时对应多个虚拟机。
若不包括第一安全标记,则表征该虚拟机不能正常访问文件,因此,执行步骤S4052,停止启动虚拟机。
在步骤S4051中,判断第一安全标记是否被设置于其他虚拟机。
在本发明实施例中,通过第一安全标记可以确定虚拟机是否可以访问目标文件。因此,为避免误判断的情况发生,则确定该第一安全标记是否被设置于其他虚拟机中,从而后续在确定当前虚拟机是否具有目标文件的访问权限时,能够进行准确判断。
若第一安全标记未设置于其他虚拟机中,则确定该第一安全标记对应的虚拟机具有唯一性,进而可以启动虚拟机,控制该虚拟机进行运行。
若第一安全标记设置于其他虚拟机中,则执行步骤S4052,停止启动虚拟机。
在步骤S4052中,停止启动虚拟机。
在另一实施场景中,当前虚拟机是否可以访问目标文件的虚拟机中的目标文件,可以通过VMM进行确定。图5是根据一示例性实施例提供的一种文件访问控制方法的流程图。为便于描述,将目标文件的虚拟机采用虚拟机a代替,将当前虚拟机采用虚拟机b代替。
在步骤S501中,将虚拟机a虚拟磁盘挂载至虚拟机b中。
在步骤S502中,控制虚拟机b访问虚拟机a中的目标文件。
在步骤S503中,虚拟机b的VM Exit退出到VMM。
在步骤S504中,VMM获取虚拟机b的第一安全标识。
在步骤S505中,VMM获取虚拟机a的虚拟磁盘中目标文件的第一个第二安全标识。
在本发明实施例中,第二安全标识包括第二安全标记和第二安全等级,第二安全标记中的标记序列可以为多个标记序列。标记序列不同,则该目标文件对应的第二安全标识不同。
在步骤S506中,VMM根据第一安全标识和第二安全标识,判断虚拟机b是否具有目标文件的访问权限。
若判断虚拟机b具有目标文件的访问权限,则执行步骤S5071,确定虚拟机b具有目标文件的访问权限。
若判断虚拟机b不具有目标文件的访问权限,则执行步骤S5072,获取目标文件的下一个第二安全标识。
在步骤S5071中,确定虚拟机b具有目标文件的访问权限。
在步骤S5072中,获取目标文件的下一个第二安全标识。
在步骤S5078中,判断是否获取成功。
在本发明实施例中,若获取成功,则重新执行步骤S506,若未获取成功,则执行步骤S509,确定虚拟机b不具有目标文件的访问权限。
在一实施例中,在执行步骤S505的过程中,若第一安全标识未成功获取,则直接执行步骤S509。
在另一实施例中,可以第一安全标识和第二安全标识的获取,可以通过安全标识获取装置进行获取。判断虚拟机b是否具有目标文件的访问权限,可以通过安全标识对比装置进行判断。
应该理解的是,虽然图1-图5中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-图5中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于相同发明构思,本发明还提供一种文件访问控制装置。
图6是根据一示例性实施例提出的一种文件访问控制装置的结构框图。如图6所示,文件访问控制装置包括接收单元601、获取单元602、判断单元603和访问单元604。
接收单元601,用于接收在当前虚拟机运行时对目标文件的访问请求;
获取单元602,用于分别获取当前虚拟机的第一安全标识和目标文件的第二安全标识,第二安全标识根据创建该目标文件的虚拟机的第一安全标识生成;
判断单元603,用于根据第一安全标识和第二安全标识判断当前虚拟机是否具有目标文件的访问权限;
访问单元604,用于当当前虚拟机具有访问权限时,访问目标文件。
在一实施例中,第一安全标识包括第一安全标记和第一安全等级,第二安全标记包括第二安全标记和第二安全等级,第一安全标记和第二安全标记分别包括一个或多个标记序列。
在另一实施例中,判断单元603包括:
依次判断子单元,用于依次判断第一安全标记中的标记序列与第二安全标记中的标记序列是否存在相同;
访问子单元,用于当存在相同时,当前虚拟机具有目标文件的访问权限。
在又一实施例中,判断单元603还包括:
第一权限子单元,用于当第一安全等级高于第二安全等级时,当前虚拟机的访问权限为读权限;
第二权限子单元,用于当第一安全等级低于第二安全等级时,当前虚拟机的访问权限为写权限;
第三权限子单元,用于当第一安全等级等于第二安全等级时,当前虚拟机的访问权限为读权限和写权限。
在又一实施例中,判断单元603还包括:
禁止访问子单元,用于当第一安全标记中的标记序列与第二安全标记中的标记序列均不相同时,当前虚拟机不具有目标文件的访问权限。
在又一实施例中,当第二安全标记包括多个标记序列时,各标记序列存储于同一链表。
在又一实施例中,第二安全标记中的多个标记序列分别与多个虚拟机的第一安全标记中的标记序列相对应。
上述文件访问控制装置的具体限定以及有益效果可以参见上文中对于文件访问控制方法的限定,在此不再赘述。上述各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
图7是根据一示例性实施例提出的一种计算机设备的硬件结构示意图,如图7所示,该设备包括一个或多个处理器710以及存储器720,存储器720包括持久内存、易失内存和硬盘,图7中以一个处理器710为例。该设备还可以包括:输入装置730和输出装置740。
处理器710、存储器720、输入装置730和输出装置740可以通过总线或者其他方式连接,图6中以通过总线连接为例。
处理器710可以为中央处理器(Central Processing Unit,CPU)。处理器710还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器720作为一种非暂态计算机可读存储介质,包括持久内存、易失内存和硬盘,可用于存储非暂态软件程序、非暂态计算机可执行程序以及模块,如本申请实施例中的业务管理方法对应的程序指令/模块。处理器710通过运行存储在存储器720中的非暂态软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述目标文件访问方法。
存储器720可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据、需要使用的数据等。此外,存储器720可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施例中,存储器720可选包括相对于处理器710远程设置的存储器,这些远程存储器可以通过网络连接至数据处理装置。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
输入装置730可接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键信号输入。输出装置740可包括显示屏等显示设备。
所述一个或者多个模块存储在所述存储器720中,当被所述一个或者多个处理器710执行时,执行如图1-5所示的方法。
上述产品可执行本发明实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,具体可参见如图1-5所示的实施例中的相关描述。
本发明实施例还提供了一种非暂态计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令可执行上述任意方法实施例中的认证方法。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。
本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(ROM)或随机存储记忆体(RAM)等。
虽然结合附图描述了本发明的实施例,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下作出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

Claims (9)

1.一种文件访问控制方法,其特征在于,包括:
接收在当前虚拟机运行时对目标文件的访问请求;
分别获取所述当前虚拟机的第一安全标识和所述目标文件的第二安全标识,所述第二安全标识根据创建该目标文件的虚拟机的第一安全标识生成;
根据所述第一安全标识和所述第二安全标识判断所述当前虚拟机是否具有目标文件的访问权限,其中,所述第一安全标识包括第一安全等级,所述第二安全标识包括第二安全等级;当所述第一安全等级高于所述第二安全等级时,所述当前虚拟机的访问权限为读权限;当所述第一安全等级低于所述第二安全等级时,所述当前虚拟机的访问权限为写权限;当所述第一安全等级等于所述第二安全等级时,所述当前虚拟机的访问权限为读权限和写权限;
当所述当前虚拟机具有访问权限时,访问所述目标文件。
2.根据权利要求1所述的方法,其特征在于,所述第一安全标识还包括第一安全标记,所述第二安全标识还包括第二安全标记,所述第一安全标记和所述第二安全标记分别包括一个或多个标记序列。
3.根据权利要求2所述的方法,其特征在于,所述根据所述第一安全标记和所述第二安全标记判断所述当前虚拟机是否具有目标文件的访问权限,包括:
依次判断所述第一安全标记中的标记序列与所述第二安全标记中的标记序列是否存在相同;
当存在相同时,所述当前虚拟机具有目标文件的访问权限。
4.根据权利要求1或3所述的方法,其特征在于,所述方法还包括:
当所述第一安全标记中的标记序列与所述第二安全标记中的标记序列均不相同时,所述当前虚拟机不具有目标文件的访问权限。
5.根据权利要求2所述的方法,其特征在于,当所述第二安全标记包括多个标记序列时,各所述标记序列存储于同一链表。
6.根据权利要求5所述的方法,其特征在于,第二安全标记中的多个标记序列分别与多个虚拟机的第一安全标记中的标记序列相对应。
7.一种文件访问控制装置,其特征在于,包括:
接收单元,用于接收在当前虚拟机运行时对目标文件的访问请求;
获取单元,用于分别获取所述当前虚拟机的第一安全标识和所述目标文件的第二安全标识,所述第二安全标识根据创建该目标文件的虚拟机的第一安全标识生成;
判断单元,用于根据所述第一安全标识和所述第二安全标识判断所述当前虚拟机是否具有目标文件的访问权限,其中,所述第一安全标识包括第一安全等级,所述第二安全标识包括第二安全等级;所述判断单元还包括:第一权限子单元,用于当所述第一安全等级高于所述第二安全等级时,所述当前虚拟机的访问权限为读权限;第二权限子单元,用于当所述第一安全等级低于所述第二安全等级时,所述当前虚拟机的访问权限为写权限;第三权限子单元,用于当所述第一安全等级等于所述第二安全等级时,所述当前虚拟机的访问权限为读权限和写权限;
访问单元,用于当所述当前虚拟机具有访问权限时,访问所述目标文件。
8.一种计算机设备,其特征在于,包括存储器和处理器,所述存储器和所述处理器之间互相通信连接,所述存储器中存储有计算机指令,所述处理器通过执行所述计算机指令,从而执行权利要求1-6中任一项所述的文件访问控制方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令用于使所述计算机执行权利要求1-6中任一项所述的文件访问控制方法。
CN202111273282.9A 2021-10-29 2021-10-29 一种文件访问控制方法、装置及计算机可读存储介质 Active CN113946854B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111273282.9A CN113946854B (zh) 2021-10-29 2021-10-29 一种文件访问控制方法、装置及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111273282.9A CN113946854B (zh) 2021-10-29 2021-10-29 一种文件访问控制方法、装置及计算机可读存储介质

Publications (2)

Publication Number Publication Date
CN113946854A CN113946854A (zh) 2022-01-18
CN113946854B true CN113946854B (zh) 2023-11-03

Family

ID=79337237

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111273282.9A Active CN113946854B (zh) 2021-10-29 2021-10-29 一种文件访问控制方法、装置及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN113946854B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115314257B (zh) * 2022-07-12 2024-03-12 天翼云科技有限公司 文件系统的鉴权方法、装置、电子设备及计算机存储介质
CN115766296B (zh) * 2023-01-09 2023-05-23 广东中思拓大数据研究院有限公司 用户账户的权限控制方法、装置、服务器和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902878A (zh) * 2012-12-28 2014-07-02 杭州华三通信技术有限公司 一种虚拟环境下的License认证方法和装置
CN105262735A (zh) * 2015-09-24 2016-01-20 浪潮(北京)电子信息产业有限公司 一种云平台数据安全保护的方法及系统
CN105678176A (zh) * 2016-01-15 2016-06-15 瑞达信息安全产业股份有限公司 一种虚拟环境下的强制访问控制方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11381566B2 (en) * 2015-08-12 2022-07-05 Red Hat, Inc. Isolating network resources in a virtualized environment

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103902878A (zh) * 2012-12-28 2014-07-02 杭州华三通信技术有限公司 一种虚拟环境下的License认证方法和装置
CN105262735A (zh) * 2015-09-24 2016-01-20 浪潮(北京)电子信息产业有限公司 一种云平台数据安全保护的方法及系统
CN105678176A (zh) * 2016-01-15 2016-06-15 瑞达信息安全产业股份有限公司 一种虚拟环境下的强制访问控制方法

Also Published As

Publication number Publication date
CN113946854A (zh) 2022-01-18

Similar Documents

Publication Publication Date Title
US10528765B2 (en) Technologies for secure boot provisioning and management of field-programmable gate array images
CN109446815B (zh) 基本输入输出系统固件的管理方法、装置和服务器
US10185828B2 (en) Systems and methods using virtual UEFI path for secure firmware handling in multi-tenant or server information handling system environments
KR102347562B1 (ko) 보안 제어 방법 및 컴퓨터 시스템
EP3646223B1 (en) Remote attestation for multi-core processor
US8397245B2 (en) Managing loading and unloading of shared kernel extensions in isolated virtual space
CN107292176B (zh) 用于访问计算设备的可信平台模块的方法和系统
CN103329093A (zh) 更新软件
US11281768B1 (en) Firmware security vulnerability verification service
CN113946854B (zh) 一种文件访问控制方法、装置及计算机可读存储介质
US10592661B2 (en) Package processing
US10255151B1 (en) Security testing using a computer add-in card
US11165780B2 (en) Systems and methods to secure publicly-hosted cloud applications to run only within the context of a trusted client application
CN107567629B (zh) 在可信执行环境容器中的动态固件模块加载器
US20170249136A1 (en) Firmware management of sr-iov adapters
US11550899B2 (en) Systems and methods for hardening security systems using live patching
WO2016062146A1 (zh) 序列号信息的更新方法、装置及终端
CN114969713A (zh) 设备验证方法、设备及系统
CN113826072B (zh) 系统管理模式中的代码更新
US20200342109A1 (en) Baseboard management controller to convey data
CN111177703A (zh) 操作系统数据完整性的确定方法及装置
US12001870B2 (en) Injection and execution of workloads into virtual machines
US11995452B2 (en) Firmware memory map namespace for concurrent containers
CN111158771A (zh) 处理方法、装置及计算机设备
US11843507B1 (en) Determining compatibility issues in computing environments

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
GR01 Patent grant
GR01 Patent grant