CN116451250A - 应用程序内存文件的隔离处理方法、装置及计算设备 - Google Patents
应用程序内存文件的隔离处理方法、装置及计算设备 Download PDFInfo
- Publication number
- CN116451250A CN116451250A CN202310287634.9A CN202310287634A CN116451250A CN 116451250 A CN116451250 A CN 116451250A CN 202310287634 A CN202310287634 A CN 202310287634A CN 116451250 A CN116451250 A CN 116451250A
- Authority
- CN
- China
- Prior art keywords
- file
- memory
- information
- ciphertext
- plaintext
- 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
- 238000003672 processing method Methods 0.000 title claims abstract description 22
- 238000002955 isolation Methods 0.000 title claims abstract description 12
- 238000000034 method Methods 0.000 claims abstract description 130
- 230000008569 process Effects 0.000 claims abstract description 64
- 238000012545 processing Methods 0.000 claims description 33
- 238000004886 process control Methods 0.000 claims description 11
- 230000004044 response Effects 0.000 claims description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000007723 transport mechanism 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/602—Providing cryptographic facilities or services
-
- 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
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种应用程序内存文件的隔离处理方法、装置及计算设备,涉及软件安全技术领域。针对临时文件产生和被删除的时间段内,仍可以被最高权限用户查看的问题,上述方法包括:响应于应用程序内存文件的创建请求,确定创建请求对应的密文文件;获取所述应用程序对应的用户态进程的文件结构信息,并通过所述文件结构信息指示的路径获取所述密文文件;调用解密算法对所述密文文件进行解密生成对应的明文文件,并将所述明文文件保存在内存中;通过所述应用程序的用户态进程访问内存,来处理所述内存中保存的所述明文文件的数据。本发明一并公开了相应的装置和计算设备,使得只有当前用户态进程能够访问和操作对应内存的数据。
Description
技术领域
本发明涉及软件安全技术领域,尤其是一种应用程序内存文件的隔离处理方法、装置及计算设备。
背景技术
在软件中如果有敏感信息文件(比如内核符号表、标识文件等),不便以明文的方式发布,通常会将敏感文件通过加密工具加密成密文文件发布,用户安装软件后,会将密文文件部署在系统中。当软件需要明文文件时,会调用加密工具解密(通常加密和解密功能通常由一个工具提供),并产生一个随机命名的临时明文文件,接着软件会对明文文件使用,使用完后会删除临时明文文件。通过这种方案实现对敏感文件的隔离。
目前,软件的内存文件的创建,是建立在文件系统上的,文件的读写权限由DAC(Discretionary Access Control,自由选定存取控制),一旦用户拥有root(根)权限,可以查看所有文件。基于以上情形,如果软件或者应用程序调用解密工具,对加密文件解密后,在文件系统中产生一个临时的文件,软件或者应用程序对解密后的临时文件使用完毕后,将其删除。但在临时文件产生和被删除的时间段内,仍可以被最高权限用户(root)查看到,失去加密意义。
发明内容
为此,本发明提供了一种应用程序内存文件的隔离处理方法、装置及计算设备,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种应用程序内存文件的隔离处理方法,包括:响应于应用程序内存文件的创建请求,确定所述创建请求对应的密文文件;获取所述应用程序对应的用户态进程的文件结构信息,并通过所述文件结构信息指示的路径获取所述密文文件;调用解密算法对所述密文文件进行解密生成对应的明文文件,并将所述明文文件保存在内存中;通过所述应用程序的用户态进程访问内存,来处理所述内存中保存的所述明文文件的数据。
可选地,获取所述应用程序对应的用户态进程的文件结构信息,并通过所述文件结构信息指示的路径获取所述密文文件包括:通过进程控制块中存放的所述应用程序对应的用户态进程的信息,获取启动所述应用程序所需的密文文件的文件信息,所述文件信息存放在文件描述符表中;通过所述文件描述符表中指向文件结构的指针,获取所述密文文件的文件结构信息;根据所述文件结构信息中存放的所述密文文件的目录入口缓存信息,确定所述密文文件存储的磁盘地址;通过所述文件结构信息中存放的所述密文文件的操作方法信息和所述密文文件的磁盘地址的配合,读取所述密文文件。
可选地,将所述明文文件保存在内存中包括:为所述明文文件分配用于保存所述明文文件的内存地址,并将所述内存地址的索引信息保存在所述文件结构信息中存放的所述密文文件的目录入口缓存信息中。
可选地,通过所述应用程序的用户态进程访问内存,来处理所述内存中保存的所述明文文件的数据包括:通过所述目录入口缓存信息,确定内存中的所述明文文件的索引信息,通过所述索引信息确定存储所述明文文件的块地址信息;通过文件操作方法信息,找到对所述明文文件进行处理的方法地址,所述处理的方法由缓存驱动实现,通过所述缓存驱动对内存中的所述块地址信息对应的内存块中存储的数据进行操作;通过所述处理的方法和所述块地址信息,处理所述内存中保存的所述明文文件的数据。
第二方面,本发明还提供一种应用程序内存文件的隔离处理装置,包括:响应模块,适于响应于应用程序内存文件的创建请求,确定所述创建请求对应的密文文件;获取模块,适于获取所述应用程序对应的用户态进程的文件结构信息,并通过所述文件结构信息指示的路径获取所述密文文件;存储模块,适于调用解密算法对所述密文文件进行解密生成对应的明文文件,并将所述明文文件保存在内存中;处理模块,适于通过所述应用程序的用户态进程访问内存,来处理所述内存中保存的所述明文文件的数据。
可选地,所述获取模块包括:进程控制单元,适于通过进程控制块中存放的所述应用程序对应的用户态进程的信息,获取启动所述应用程序所需的密文文件的文件信息,所述文件信息存放在文件描述符表中;文件描述单元,适于通过所述文件描述符表中指向文件结构的指针,获取所述密文文件的文件结构信息;文件结构单元,适于根据所述文件结构信息中存放的所述密文文件的目录入口缓存信息,确定所述密文文件存储的磁盘地址;文件读取单元,通过所述文件结构信息中存放的所述密文文件的操作方法信息和所述密文文件的磁盘地址的配合,读取所述密文文件。
可选地,所述存储模块适于:为所述明文文件分配用于保存所述明文文件的内存地址,并将所述内存地址的索引信息保存在所述文件结构信息中存放的所述密文文件的目录入口缓存信息中。
可选地,所述处理模块包括:目录缓存单元,适于通过所述目录入口缓存信息,确定内存中的所述明文文件的索引信息,通过所述索引信息确定存储所述明文文件的块地址信息;文件操作单元,适于通过文件操作方法信息,找到对所述明文文件进行处理的方法地址,所述处理的方法由缓存驱动实现,通过所述缓存驱动对内存中的所述块地址信息对应的内存块中存储的数据进行操作;内存处理单元,适于通过所述处理的方法和所述块地址信息,处理所述内存中保存的所述明文文件的数据。
第三方面,本发明提供一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行上述的应用程序内存文件的隔离处理方法。
第四方面,本发明提供一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行上述的应用程序内存文件的隔离处理方法。
根据本发明的应用程序内存文件的隔离处理方法和装置,能够实现以下有益效果:通过用户态进程内存的隔离性,可以将应用程序创建或者解密的文件与用户态进程进行绑定,只有当前用户态进程可以访问和操作对应内存的数据,实现了进程级别的资源隔离,使得明文文件与其它进程的隔离,只对调用解密工具的应用软件可见。即便用户拥有root权限,也无法查看存储在内存中的明文文件。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的计算设备100的示意图。
图2示出了根据本发明一个实施例的应用程序内存文件的隔离处理方法200的流程图。
图3示出了根据本发明一个实施例的通过文件结构信息指示的路径获取密文文件的流程图。
图4示出了根据本发明一个实施例的磁盘文件结构关系示意图。
图5示出了根据本发明一个实施例的处理内存中保存的明文文件的数据的流程图。
图6示出了根据本发明一个实施例的内存文件操作关系示意图。
图7示出了根据本发明一个实施例的创建一个应用内存文件的流程图。
图8示出了根据本发明一个实施例的应用内存文件读取的流程图。
图9示出了根据本发明一个实施例的应用程序内存文件的隔离处理装置900的结构示意图。
图10示出了根据本发明一个实施例的存储模块的结构示意图。
图11示出了根据本发明一个实施例的处理模块的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本发明的应用程序内存文件的隔离处理方法,针对目前临时文件产生和被删除的时间段内,仍可以被最高权限用户查看的问题,本申请将应用程序创建或者解密的文件与用户态进程进行绑定,使得只有当前用户态进程能够访问和操作对应内存的数据,本申请在计算设备中执行。计算设备可以是任意具有存储和计算能力的设备,其例如可以实现为服务器、工作站等,也可以实现为桌面计算机、笔记本计算机等个人配置的计算机,或者实现为手机、平板电脑、智能可穿戴设备、物联网设备等终端设备,但不限于此。
图1示出了根据本发明一个实施例的计算设备100的结构示意图。需要说明的是,图1所示的计算设备100仅为一个示例,在实践中,用于实施本发明的应用程序内存文件的隔离处理方法200的计算设备100可以是任意型号的设备,其硬件配置情况可以与图1所示的计算设备100相同,也可以与图1所示的计算设备100不同。实践中用于实施本发明的应用程序内存文件的隔离处理方法200的计算设备100可以对图1所示的计算设备100的硬件组件进行增加或删减,本发明对计算设备100的具体硬件配置情况不做限制,本发明的应用程序内存文件的隔离处理方法200在执行过程中可以动态地调用计算设备100中的各硬件组件。
如图1所示,计算设备100包括系统存储器110、处理器120以及显示设备130。
系统存储器110中存储执行本发明的应用程序内存文件的隔离处理方法200的多条程序指令,系统存储器110可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。处理器120可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。用户在使用显示设备130(例如应用程序控制界面301)启动应用程序时,处理器120读取系统存储器110中存储的程序指令并运行这些程序指令,然后将这些程序指令通过PCB201(Process Control Block,进程控制块)工作。应用程序内存文件读取的数据或者管理的结果通过显示设备130进行显示。
根据本发明实施例的一种应用程序内存文件的隔离处理方法200,解决目前临时文件产生和被删除的时间段内,仍可以被最高权限用户查看的问题,本申请通过用户态进程内存的隔离性,将应用程序创建或者解密的文件与用户态进程进行绑定,使得只有当前用户态进程能够访问和操作对应内存的数据,实现了进程级别的资源隔离,使得明文文件与其它进程的隔离,只对调用解密工具的应用软件可见。即便用户拥有root权限,也无法查看存储在内存中的明文文件。图2示出了根据本发明一个实施例的应用程序内存文件的隔离处理方法200的流程图。方法200在计算设备(例如前述计算设备100)中执行,使得只有当前用户态进程能够访问和操作对应内存的数据,其它进程无查看、读写权限。如图2所示,方法200始于步骤210。
在210中,响应于应用程序内存文件的创建请求,确定创建请求对应的密文文件。
本发明实施例中,用户启动应用程序后,在应用程序运行过程中,可能需要内存文件创建,通过本发明实施例的步骤210,在接收到应用程序内存文件创建请求时,获得创建请求对应的密文文件,密文文件可以是一个也可以是多个。另外,在进行应用程序内存文件创建过程中,可能还需要非敏感的文件,即以明文的方式发布的文件,此时,非敏感文件可以采用现有技术的方式进行处理,本发明不作限制。
当密文文件是多个时,可以多次通过本发明实施例的方式进行处理,每次处理一个密文文件,通过每次传入的一个密文文件的标识信息(或者其他可以表示该密文文件的信息),进而实现内存文件的隔离处理。
在220中,获取应用程序对应的用户态进程的文件结构信息,并通过文件结构信息指示的路径获取密文文件。
根据本发明的一种实现方式,如图3所示,220中获取应用程序对应的用户态进程的文件结构信息,并通过文件结构信息指示的路径获取密文文件可以包括:310、通过进程控制块中存放的应用程序对应的用户态进程的信息,获取启动应用程序所需的密文文件的文件信息,文件信息存放在文件描述符表中;320、通过文件描述符表中指向文件结构的指针,获取密文文件的文件结构信息;330根据文件结构信息中存放的密文文件的目录入口缓存信息,确定密文文件存储的磁盘地址;340、通过文件结构信息中存放的密文文件的操作方法信息和密文文件的磁盘地址的配合,读取密文文件。
本发明实施例中,330中,根据文件结构信息中存放的密文文件的目录入口缓存信息,确定存储的磁盘地址包括:通过目录入口缓存确定缓存中的密文文件的索引信息,进而确定密文文件的块地址信息。
本发明实施例中,340中,通过文件结构信息中存放的密文文件的操作方法信息和密文文件的磁盘地址配合,读取密文文件包括:通过文件操作方法信息确定密文文件的读取方法地址,通过驱动对磁盘中的磁盘块中存储的数据进行读取,获得密文文件。
本发明实施例中,如图4所示,为了管理进程,在PCB中存放了进程的相关信息,其中包含进程打开的文件信息,存放在文件描述符表(file_struct)中,通过文件描述符表指向文件结构的指针(*file),获取文件结构(files_struct)信息。文件结构中存放密文文件的相关信息,其中:通过文件操作方法(file_operations)的地址(f_op),找到对文件的读取(read)的方法地址,该方法由磁盘驱动(driver)实现,通过驱动对磁盘中的块(block)进行操作;通过目录入口缓存(dentry cache)地址,找到缓存中的密文文件的inode(索引信息),进而找到密文文件的块地址。通过对密文文件的操作方法和文件的地址配合,可实现对密文文件的读取。
其中,进程控制块(PCB)是操作系统为了管理进程设置的一个专门的数据结构,利用PCB来记录进程的外部特征,描述进程的运动变化过程。系统利用PCB来控和管理进程,所以PCB是系统感知进程存在的唯一标志。文件描述符(FD,File descriptor)是用于表述指向文件的引用的抽象化概念。文件描述符在形式上是一个非负整数。实际上,FD是一个索引值,指向内核为每一个进程所维护的该进程打开文件的记录表。当应用程序打开一个现有文件或者创建一个新文件时,内核向进程返回一个文件描述符。在应用程序设计中,一些涉及底层的程序编写往往会围绕着文件描述符展开。BLOCK(磁盘块)是文件系统读写数据的最小单位,也叫磁盘簇。扇区是磁盘最小的物理存储单元,操作系统将相邻的扇区组合在一起,形成一个磁盘块,对磁盘块进行管理。每个磁盘块可以包括2、4、8、16、32或64个扇区。磁盘块是操作系统所使用的逻辑概念,而非磁盘的物理概念。索引(Inode:index node)是指在许多“类Unix文件系统”中的一种数据结构,用于描述文件系统对象(包括文件、目录、设备文件、socket、管道等)。每个Inode保存了文件系统对象数据的属性和磁盘块位置。文件系统对象属性包含了各种元数据(如:最后修改时间),也包含用户组(owner)和权限数据。指针(Pointer)是编程语言中的一类数据类型及其对象或变量,用来表示或存储一个存储器地址,这个地址的值直接指向(points to)存在该地址的对象的值。自由选定存取控制(discretionary access control,DAC)为访问控制中的一种类型。是根据主体(如用户、进程或I/O设备等)的身份和他所属的组限制对客体的访问。所谓的自主,是因为拥有访问权限的主体,可以直接(或间接)地将访问权限赋予其他主体(除非受到强制存取控制的限制)。
在230中,调用解密算法对密文文件进行解密生成对应的明文文件,并将明文文件保存在内存中。
本发明实施例中,对密文文件的解密算法不做限定,其解密算法与预设的加密算法对应,可以采用ECC(Elliptic curve cryptography,椭圆曲线密码)算法或者其他算法。
根据本发明的一种实现方式,230中将明文文件保存在内存中包括:为明文文件分配用于保存明文文件的内存地址,并将内存地址的索引信息保存在文件结构信息中存放的密文文件的目录入口缓存信息中。
在240中,通过应用程序的用户态进程访问内存,来处理内存中保存的明文文件的数据。
根据本发明的一种实现方式,如图5所示,240中通过应用程序的用户态进程访问内存,来处理内存中保存的明文文件的数据包括:510、通过目录入口缓存信息,确定内存中的明文文件的索引信息,通过索引信息确定存储明文文件的块地址信息;520、通过文件操作方法信息,找到对明文文件进行处理的方法地址,处理的方法由缓存驱动实现,通过缓存驱动对内存中的块地址信息对应的内存块中存储的数据进行操作;530、通过处理的方法和块地址信息,处理内存中保存的明文文件的数据。
本发明实施例中,图6与图5的区别在于,在索引信息中增加内存块的地址成员。当应用程序创建文件时,操作方法会在应用程序中划分一段起始结构性内存,并把内存地址填入Inode中内存块指针,处理的方法由缓存驱动(mem_ops_drive)实现。
如图7所示,本发明实施例说明创建一个应用内存文件的过程。
701、应用程序向操作系统发起内存文件创建请求,其中,内存文件创建请求中携带文件创建的参数,包括文件路径、文件写的方式(新建或者追加等)、文件创建权限(只读文件、执行文件等)、操作方式标识(所述标识显示文件创建在内存中或者创建在磁盘中)。
702、操作系统将内存文件创建请求的参数传递至PCB。
703、PCB将内存文件创建请求的参数传递文件操作方法
704、文件操作方法根据内存文件创建请求的参数修改文件操作方法,地址为缓存驱动指向的地址。
705、文件操作方法将记录的文件操作方法记录在PCB中。
706、PCB向操作系统返回结果。
707、操作系统进行寻址并调用缓存驱动。
708、缓存驱动在应用程序内创建一段内存。
709、缓存驱动向PCB返回内存地址。
710、PCB在Inode中存储内存地址。
711、PCB向操作系统返回结果。
712、操作系统向应用程序返回结果。
如图8所示,本发明实施例说明应用内存文件读取的过程。
801、应用程序向操作系统发起内存文件读取请求,其中,内存文件读取请求中携带文件读取的参数,包括句柄信息、句柄起始信息(从哪里开始写到句柄中)、读取长度信息、操作方式标识(所述标识显示文件在内存中读取或者在磁盘中读取)。
802、操作系统向PCB查询方法实现地址。
803、操作系统向PCB查询结构化内存地址。
804、PCB向操作系统返回结构化内存地址。
805、PCB向操作系统返回方法实现地址。
806、操作系统进行寻址并调用缓存驱动。
807、缓存驱动读取内存块数据。
808、缓存驱动向操作系统返回结果。
809、操作系统向应用程序返回结果。
如图9所示,本发明实施例还提供一种应用程序内存文件的隔离处理装置,包括:响应模块910、获取模块920、存储模块930和处理模块940,其中,响应模块910,适于响应于应用程序内存文件的创建请求,确定创建请求对应的密文文件;获取模块920,适于获取应用程序对应的用户态进程的文件结构信息,并通过文件结构信息指示的路径获取密文文件;存储模块930,适于调用解密算法对密文文件进行解密生成对应的明文文件,并将明文文件保存在内存中;处理模块940,适于通过应用程序的用户态进程访问内存,来处理内存中保存的明文文件的数据。
如图10所示,本发明实施例中,获取模块920包括:进程控制单元1010,适于通过进程控制块中存放的应用程序对应的用户态进程的信息,获取启动应用程序所需的密文文件的文件信息,文件信息存放在文件描述符表中;文件描述单元1020,适于通过文件描述符表中指向文件结构的指针,获取密文文件的文件结构信息;文件结构单元1030,适于根据文件结构信息中存放的密文文件的目录入口缓存信息,确定密文文件存储的磁盘地址;文件读取单元1040,通过文件结构信息中存放的密文文件的操作方法信息和密文文件的磁盘地址的配合,读取密文文件。
本发明实施例中,存储模块930适于:为明文文件分配用于保存明文文件的内存地址,并将内存地址的索引信息保存在文件结构信息中存放的密文文件的目录入口缓存信息中。
如图11所示,本发明实施例中,处理模块940包括:目录缓存单元1110,适于通过目录入口缓存信息,确定内存中的明文文件的索引信息,通过索引信息确定存储明文文件的块地址信息;文件操作单元1120,适于通过文件操作方法信息,找到对明文文件进行处理的方法地址,处理的方法由缓存驱动实现,通过缓存驱动对内存中的块地址信息对应的内存块中存储的数据进行操作;内存处理单元1130,适于通过处理的方法和块地址信息,处理内存中保存的明文文件的数据。
根据本发明的另一方面,还提供了一种计算设备,包括:至少一个处理器和存储有程序指令的存储器;当程序指令被处理器读取并执行时,使得计算设备执行如上的应用程序内存文件的隔离处理方法。
根据本发明的再一方面,还提供了一种存储有程序指令的可读存储介质,当程序指令被计算设备读取并执行时,使得计算设备执行如上的应用程序内存文件的隔离处理方法。
这里描述的各种技术可结合硬件或软件,或者它们的组合一起实现。从而,本发明的方法和设备,或者本发明的方法和设备的某些方面或部分可采取嵌入有形媒介,例如可移动硬盘、U盘、软盘、CD-ROM或者其它任意机器可读的存储介质中的程序代码(即指令)的形式,其中当程序被载入诸如计算机之类的机器,并被所述机器执行时,所述机器变成实践本发明的设备。
在程序代码在可编程计算机上执行的情况下,计算设备一般包括处理器、处理器可读的存储介质(包括易失性和非易失性存储器和/或存储元件),至少一个输入装置,和至少一个输出装置。其中,存储器被配置用于存储程序代码;处理器被配置用于根据该存储器中存储的所述程序代码中的指令,执行本发明的应用程序内存文件的隔离处理方法。
以示例而非限制的方式,可读介质括可读存储介质和通信介质。可读存储介质存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息。通信介质一般以诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据,并且包括任何信息传递介质。以上的任一种的组合也包括在可读介质的范围之内。
在此处所提供的说明书中,算法和显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与本发明的示例一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的优选实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下被实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。
Claims (10)
1.一种应用程序内存文件的隔离处理方法,包括:
响应于应用程序内存文件的创建请求,确定所述创建请求对应的密文文件;
获取所述应用程序对应的用户态进程的文件结构信息,并通过所述文件结构信息指示的路径获取所述密文文件;
调用解密算法对所述密文文件进行解密生成对应的明文文件,并将所述明文文件保存在内存中;
通过所述应用程序的用户态进程访问内存,来处理所述内存中保存的所述明文文件的数据。
2.如权利要求1所述的方法,其中,获取所述应用程序对应的用户态进程的文件结构信息,并通过所述文件结构信息指示的路径获取所述密文文件包括:
通过进程控制块中存放的所述应用程序对应的用户态进程的信息,获取启动所述应用程序所需的密文文件的文件信息,所述文件信息存放在文件描述符表中;
通过所述文件描述符表中指向文件结构的指针,获取所述密文文件的文件结构信息;
根据所述文件结构信息中存放的所述密文文件的目录入口缓存信息,确定所述密文文件存储的磁盘地址;
通过所述文件结构信息中存放的所述密文文件的操作方法信息和所述密文文件的磁盘地址的配合,读取所述密文文件。
3.如权利要求2所述的方法,其中,将所述明文文件保存在内存中包括:
为所述明文文件分配用于保存所述明文文件的内存地址,并将所述内存地址的索引信息保存在所述文件结构信息中存放的所述密文文件的目录入口缓存信息中。
4.如权利要求3所述的方法,其中,通过所述应用程序的用户态进程访问内存,来处理所述内存中保存的所述明文文件的数据包括:
通过所述目录入口缓存信息,确定内存中的所述明文文件的索引信息,通过所述索引信息确定存储所述明文文件的块地址信息;
通过文件操作方法信息,找到对所述明文文件进行处理的方法地址,所述处理的方法由缓存驱动实现,通过所述缓存驱动对内存中的所述块地址信息对应的内存块中存储的数据进行操作;
通过所述处理的方法和所述块地址信息,处理所述内存中保存的所述明文文件的数据。
5.一种应用程序内存文件的隔离处理装置,包括:
响应模块,适于响应于应用程序内存文件的创建请求,确定所述创建请求对应的密文文件;
获取模块,适于获取所述应用程序对应的用户态进程的文件结构信息,并通过所述文件结构信息指示的路径获取所述密文文件;
存储模块,适于调用解密算法对所述密文文件进行解密生成对应的明文文件,并将所述明文文件保存在内存中;
处理模块,适于通过所述应用程序的用户态进程访问内存,来处理所述内存中保存的所述明文文件的数据。
6.如权利要求5所述的装置,其中,所述获取模块包括:
进程控制单元,适于通过进程控制块中存放的所述应用程序对应的用户态进程的信息,获取启动所述应用程序所需的密文文件的文件信息,所述文件信息存放在文件描述符表中;
文件描述单元,适于通过所述文件描述符表中指向文件结构的指针,获取所述密文文件的文件结构信息;
文件结构单元,适于根据所述文件结构信息中存放的所述密文文件的目录入口缓存信息,确定所述密文文件存储的磁盘地址;
文件读取单元,通过所述文件结构信息中存放的所述密文文件的操作方法信息和所述密文文件的磁盘地址的配合,读取所述密文文件。
7.如权利要求6所述的装置,其中,所述存储模块适于:
为所述明文文件分配用于保存所述明文文件的内存地址,并将所述内存地址的索引信息保存在所述文件结构信息中存放的所述密文文件的目录入口缓存信息中。
8.如权利要求7所述的装置,其中,所述处理模块包括:
目录缓存单元,适于通过所述目录入口缓存信息,确定内存中的所述明文文件的索引信息,通过所述索引信息确定存储所述明文文件的块地址信息;
文件操作单元,适于通过文件操作方法信息,找到对所述明文文件进行处理的方法地址,所述处理的方法由缓存驱动实现,通过所述缓存驱动对内存中的所述块地址信息对应的内存块中存储的数据进行操作;
内存处理单元,适于通过所述处理的方法和所述块地址信息,处理所述内存中保存的所述明文文件的数据。
9.一种计算设备,包括:
至少一个处理器和存储有程序指令的存储器;
当所述程序指令被所述处理器读取并执行时,使得所述计算设备执行如权利要求1-4中任一项所述的应用程序内存文件的隔离处理方法。
10.一种存储有程序指令的可读存储介质,当所述程序指令被计算设备读取并执行时,使得所述计算设备执行如权利要求1-4中任一项所述的应用程序内存文件的隔离处理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310287634.9A CN116451250A (zh) | 2023-03-22 | 2023-03-22 | 应用程序内存文件的隔离处理方法、装置及计算设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310287634.9A CN116451250A (zh) | 2023-03-22 | 2023-03-22 | 应用程序内存文件的隔离处理方法、装置及计算设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116451250A true CN116451250A (zh) | 2023-07-18 |
Family
ID=87132948
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310287634.9A Pending CN116451250A (zh) | 2023-03-22 | 2023-03-22 | 应用程序内存文件的隔离处理方法、装置及计算设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116451250A (zh) |
-
2023
- 2023-03-22 CN CN202310287634.9A patent/CN116451250A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8103847B2 (en) | Storage virtual containers | |
US7596695B2 (en) | Application-based data encryption system and method thereof | |
EP1402372B1 (en) | Recording apparatus, medium, method, and related computer program | |
JP5175856B2 (ja) | セキュアデバイス・システムにおけるフラッシュメモリ・ブロックの保護と方法 | |
US10204235B2 (en) | Content item encryption on mobile devices | |
US7783854B2 (en) | System and method for expandable non-volatile storage devices | |
US8539228B1 (en) | Managing access to a resource | |
US9749132B1 (en) | System and method for secure deletion of data | |
US20080282355A1 (en) | Document container data structure and methods thereof | |
US10877750B1 (en) | Containerized storage microservice with direct connection to requesting application container | |
US9921765B2 (en) | Partial snapshots in virtualized environments | |
KR20120037381A (ko) | 소프트웨어 컴포넌트 상태에 대한 접근 제어 | |
CN110826099A (zh) | 适用于嵌入式实时操作系统的安全存储方法及系统 | |
US20120131199A1 (en) | Systems and Methods for Layered Resource Management | |
US20180314837A1 (en) | Secure file wrapper for tiff images | |
KR101539811B1 (ko) | 암호화 파일 시스템에서 입력/출력의 제어 및 효율성을 향상시키기 위한 방법 및 시스템 | |
CN116467270A (zh) | 数据管理系统、数据更新方法及装置 | |
CN115859339A (zh) | 一种云存储数据的加密和解密的方法、装置、介质及设备 | |
CN116451250A (zh) | 应用程序内存文件的隔离处理方法、装置及计算设备 | |
KR20140088962A (ko) | 클라우드 환경에서의 데이터 저장 시스템 및 방법 | |
GB2561862A (en) | Computer device and method for handling files | |
Woods et al. | Functional Access to Forensic Disk Images in a Web Service. | |
US9436840B2 (en) | System and method for securely storing information | |
US10606985B2 (en) | Secure file wrapper for TIFF images | |
JP7348701B2 (ja) | メモリ上に実行可能イメージをロードする方法およびシステム |
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 |