CN115688202A - 一种安全内存提供方法、装置、设备及介质 - Google Patents
一种安全内存提供方法、装置、设备及介质 Download PDFInfo
- Publication number
- CN115688202A CN115688202A CN202211335379.2A CN202211335379A CN115688202A CN 115688202 A CN115688202 A CN 115688202A CN 202211335379 A CN202211335379 A CN 202211335379A CN 115688202 A CN115688202 A CN 115688202A
- Authority
- CN
- China
- Prior art keywords
- target
- secure memory
- memory
- preset
- storage area
- 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
Images
Abstract
本申请公开了一种安全内存提供方法、装置、设备及介质,涉及计算机技术领域,该方法包括:当操作系统启动时构建安全内存;将安全内存划分为不同预设存储区域并为预设存储区域设置预设安全规则,将预设存储区域和预设安全规则存放至安全内存的ASIC芯片;当ASIC芯片获取对目标地址的访问请求,通过ASIC芯片判断目标地址是否位于安全内存;若位于安全内存则通过ASIC芯片存放的预设存储区域以及预设安全规则确定目标地址所在的安全内存的目标存储区域并确定目标存储区域的目标安全规则;判断访问请求是否符合目标安全规则,若符合则允许基于访问请求访问目标地址,若不符合则禁止访问目标地址。本申请将内存操作和内存属性合二为一使系统具有兼容性稳定性。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种安全内存提供方法、装置、设备及介质。
背景技术
当前,现有计算机系统中,内存作为运行代码和数据的存放空间,提供对所有用户程序、所有系统程序与进程、所有数据、恶意代码与数据的平等操作能力,如读取、写入操作。系统代码数据统一编址为恶意代码伪装成数据,通过系统对外通信混进系统的方式,是当前信息安全的主要根源,内存安全问题是安全的核心要素。但是目前安全防御的思路均从处理器角度,从程序或进程之间相互制约、相互监控的角度提供安全能力,这样做一方面造成系统不得不加载更多的安全防御软件作为盔甲,而且多款安全软件的运行还容易带来因竞争系统资源造成的性能下降、稳定性下降,系统资源的减少不可控,系统管理员和用户的可管理可控制性差。
安全内存是在符合JEDEC内存国际标准的基础上,通过在内存条上增加一颗ASIC(Application Specific Integrated Circuit)芯片,通过对内存缓冲器的地址总线和控制总线的过滤识别,根据用户要求实时动态改变特定物理内存地址空间读写属性的技术。
现代信息系统的设计决定了操作系统和用户软件的运行均运行于逻辑内存地址空间,逻辑地址空间到物理地址空间需要通过相关控制器/寄存器/驱动软件实现。操作系统和应用软件所遭受的安全攻击也发生在逻辑地址空间。是通过内存操作触发攻击的。
由于安全内存加入了对内存操作属性的控制,在物理层面,系统和用户很难使用这种特性,这种特性很难融入OS(Operating System,操作系统)内核并与OS机制相互协同,造成系统兼容性稳定性差,另外,直接内存操作往往会造成系统兼容性稳定性差。
综上所述,如何提高系统兼容性和稳定性是当前亟待解决的问题。
发明内容
有鉴于此,本发明的目的在于提供一种安全内存提供方法、装置、设备及介质,能够提高系统兼容性和稳定性。其具体方案如下:
第一方面,本申请公开了一种安全内存提供方法,包括:
当操作系统启动时,预留目标内存以构建安全内存;
将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;
当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;
若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;
判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。
可选的,所述将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,包括:
基于预先为操作系统内核加载的安全内存驱动文件,将所述安全内存划分为不同预设存储区域,并为不同所述预设存储区域设置内存挂载目录,然后为所述内存挂载目录设置所述预设安全规则。
可选的,所述将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片,包括:
通过所述安全内存对应的ASIC芯片中的访问控制列表将所述预设存储区域以及对应的所述预设安全规则存放至所述ASIC芯片中的安全规则寄存器中;所述预设安全规则与所述安全规则寄存器一一对应;
相应的,所述若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则,包括:
若位于所述安全内存,则通过所述ASIC芯片中的所述安全规则寄存器中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则。
可选的,所述允许基于所述访问请求访问所述目标地址,包括:
允许基于所述访问请求并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作。
可选的,所述允许基于所述访问请求并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作,包括:
允许基于所述访问请求,将所述目标存储区域挂载至为所述目标存储区域设置内存挂载目录;
基于为所述内存挂载目录设置的所述目标安全规则,并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作。
可选的,所述安全内存提供方法,还包括:
根据当前要求随时改变所述预设存储区域以及对应的所述预设安全规则。
可选的,所述当操作系统启动时,预留目标内存以构建安全内存,包括:
当操作系统启动时,获取目标启动参数并基于所述目标启动参数预留目标内存;
基于所述目标内存和所述ASIC芯片构建所述安全内存。
第二方面,本申请公开了一种安全内存提供装置,包括:
安全内存构建模块,用于当操作系统启动时,预留目标内存以构建安全内存;
规则设置模块,用于将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;
判断模块,用于当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;
规则确定模块,用于若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;
访问模块,用于判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。
第三方面,本申请公开了一种电子设备,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现前述公开的安全内存提供方法。
第四方面,本申请公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的安全内存提供方法。
可见,本申请当操作系统启动时,预留目标内存以构建安全内存;将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。由此可见,通过设定预设安全规则规定内存属性(只写、只读、可写可读和禁止读写),通过所述安全内存进行内存读写等操作,由此将内存操作和内存属性合二为一,使得系统具有兼容性和稳定性;另外,可随时改变所述预设存储区域对应的预设安全规则,使得灵活性更强。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请提供的一种安全内存提供方法流程图;
图2为本申请提供的一种具体的安全内存提供方法流程图;
图3为本申请提供的一种安全内存提供装置结构示意图;
图4为本申请提供的一种电子设备结构图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
当前由于安全内存加入了对内存操作属性的控制,在物理层面,系统和用户很难使用这种特性,这种特性很难融入OS内核并与OS机制相互协同,造成系统兼容性稳定性差,另外,直接内存操作往往会造成系统兼容性稳定性差。
为了克服上述问题,本申请提供了一种安全内存提供方案,能够提高系统兼容性和稳定性。
参见图1所示,本申请实施例公开了一种安全内存提供方法,该方法包括:
步骤S11:当操作系统启动时,预留目标内存以构建安全内存。
本申请实施例中,所述当操作系统启动时,预留目标内存以构建安全内存,包括:当操作系统启动时,获取目标启动参数并基于所述目标启动参数预留目标内存;基于所述目标内存和所述ASIC芯片构建所述安全内存。需要指出的是,所述目标启动参数可以为具体预留的目标内存占据的空间大小。所述目标内存一般小于系统的总内存大小。需要指出的是,在bios(Basic Input Output System,基本输入输出系统)启动操作系统前预先设置安全内存的大小(所述前预先设置安全内存的大小可为目标启动参数),操作系统启动后相关安全内存相关参数包含在内核配置文件(也即之后的安全内存驱动文件)中。
步骤S12:将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种。
本申请实施例中,所述将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,包括:基于预先为操作系统内核加载的安全内存驱动文件,将所述安全内存划分为不同预设存储区域,并为不同所述预设存储区域设置内存挂载目录,然后为所述内存挂载目录设置所述预设安全规则;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种。
需要指出的是,所述将所述安全内存划分为不同预设存储区域,具体为,设置不同内存起始物理地址和大小。
本申请实施例中,所述将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片,包括:通过所述安全内存对应的ASIC芯片中的访问控制列表将所述预设存储区域以及对应的所述预设安全规则存放至所述ASIC芯片中的安全规则寄存器中;所述预设安全规则与所述安全规则寄存器一一对应。
需要指出的是,一个所述内存挂载目录对应一种所述预设安全规则;一个所述内存挂载目录对应一个所述安全规则寄存器。
需要指出的是,本申请中设置预设安全规则是通过预先为操作系统内核加载的安全内存驱动文件完成的;所述预先为操作系统内核加载的安全内存驱动文件为预先设置的文件系统,将文件系统挂载到内存设备(将安全内存看作为一种高级快速安全存储设备,所述设备中还包括预设安全规则)或将内存设备挂载到文件系统,以完成划分不同预设存储区域,设置内存挂载目录,并设置预设安全规则的步骤。需要指出的是,所述文件系统具体记录了预设内存区域的划分、内存过载目录的设置和预设安全规则的设置,记录了不同预设内存区域内存起始地址和大小。需要指出的是,整体设备能够以驱动方式挂载到操作系统中文件系统的过程可理解为将内存设备与操作系统内核观看和注册的过程。
需要指出的是,创建块文件系统时,块的大小可根据需要和场景性能要求,设置为4KB、16KB、2M等。按照文件系统的原理对块进行索引、寻址、读写、更新和管理。需要指出的是,块可以理解为是一个预设存储区域。需要指出的是,内存的文件系统保护是一种硬件的保护。通过安全内存控制芯片内的ACL(Access Control Lists,访问控制列表)模块接受用户定义的安全规则并保存在芯片内安全规则寄存器组,当用户对相应的安全内存地址进行操作时,芯片会根据规则记录的保护属性决定当前的操作是否为非法。如果为非法操作,会阻止该操作;而现有的普通磁盘中文件系统的保护是通过设置文件的访问属性实现的,是一种软件层面上的保护。
需要指出的是,将安全内存看做一种高级快速安全存储设备的设定,将内存操作和内存属性控制(只写、只读、可写可读和禁止读写)合二为一。内存操作包括open()、read()、write()、close();内存读写采用read、write的方式,内存释放采用close的方式,内存属性控制采用attrib属性的方式。整体设备能够以驱动方式挂载到操作系统,例如Linux的sys/dev/目录下。
本申请实施例中,还可以根据当前要求随时改变所述预设存储区域以及对应的所述预设安全规则。需要指出的是,可对文件系统进行改变以改变所述预设存储区域对应的所述预设安全规则。需要指出的是,改变规则也即改变内存属性,可通过attrib方式进行改变。
步骤S13:当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存。
本申请实施例中,当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,需要判断所述目标地址位于所述安全内存,还是位于普通内存。
步骤S14:若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则。
本申请实施例中,所述若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则,包括:若位于所述安全内存,则通过所述ASIC芯片中的所述安全规则寄存器中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则。需要指出的是,所述目标安全规则存放在所述安全规则寄存器中。
步骤S15:判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。
在一种具体实施例中,若所述目标安全规则为只读,所述访问请求为读操作,则复核,若所述目标安全规则为只读,所述访问请求为写操作,则不符合。
可见,本申请当操作系统启动时,预留目标内存以构建安全内存;将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。由此可见,通过安全内存的ASIC芯片进行内存操作,而不是直接内存操作,提高了系统兼容性和稳定性;通过设定预设安全规则规定内存属性(只写、只读、可写可读和禁止读写),通过所述安全内存的ASIC芯片进行内存读写等操作,由此将内存操作和内存属性合二为一,使得系统具有兼容性和稳定性;另外,可随时改变所述预设存储区域对应的预设安全规则,使得灵活性更强。
参见图2所示,本申请实施例公开了一种具体的安全内存提供方法,该方法包括:
步骤S21:当操作系统启动时,预留目标内存以构建安全内存。
本实施例中,关于上述步骤S21的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S22:将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种。
本申请实施例中,所述将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,包括:基于预先为操作系统内核加载的安全内存驱动文件,将所述安全内存划分为不同预设存储区域,并为不同所述预设存储区域设置内存挂载目录,然后为所述内存挂载目录设置所述预设安全规则;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种。需要指出的是,所述预先为操作系统内核加载的安全内存驱动文件为预先设置的文件系统,
步骤S23:当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存。
本实施例中,关于上述步骤S23的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S24:若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则。
本实施例中,关于上述步骤S24的具体过程,可以参考前述实施例中公开的相应内容,在此不再进行赘述。
步骤S25:判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作,若不符合则禁止访问所述目标地址。
本申请实施例中,所述允许基于所述访问请求并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作,包括:允许基于所述访问请求,将所述目标存储区域挂载至为所述目标存储区域设置内存挂载目录;基于为所述内存挂载目录设置的所述目标安全规则,并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作。
需要指出的是,所述安全内存驱动文件为所述文件系统,具体的文件系统的工作原理如下所示:1、设置内存起始物理地址和大小;2、设置内存挂载目录;3、对挂载目录设置只写、只读、可读可写以及禁止读写的安全规则;4、通过文件I/O(Input/Output,输入/输出)的操作实现内存的操作,open()、read()、write()、close()。需要指出的是,所述根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作中的操作接口为所述文件I/O。
本申请实施例中,加载安全内存驱动模块后,所述安全内存驱动文件中的驱动程序会将预先设置好的安全内存区域作为设备节点并挂载映射到文件系统的具体目录,通过该目录的读写操作来使用安全内存,安全内存驱动程序向外提供内存操作的接口。
需要指出的是,安全内存驱动程序向外提供内存操作的接口(将软件接口封装为设备操作接口)的过程为:1、在系统启动时,需要设置系统启动参数,预留出一部分内存作安全内存使用;2、将安全内存驱动文件加载到操作系统内核;3、通过驱动程序提供的接口实现内存的操作。
需要指出的是,所述驱动程序为按照操作系统驱动框架编写驱动程序,可将内存设备与OS内核关联和注册。
可见,当操作系统启动时,预留目标内存以构建安全内存;将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作,若不符合则禁止访问所述目标地址。由此可见,本申请通过设定预设安全规则规定内存属性(只写、只读、可写可读和禁止读写),通过所述安全内存进行内存读写等操作,由此将内存操作和内存属性合二为一,使得系统具有兼容性和稳定性;另外,可随时改变所述预设存储区域对应的预设安全规则,使得灵活性更强;另外,本申请通过根据所述安全内存驱动文件中的驱动程序提供的操作接口完成内存操作,有利于内存操作过程的稳定性。
参见图3所示,本申请实施例公开了一种安全内存提供装置,包括:
安全内存构建模块11,用于当操作系统启动时,预留目标内存以构建安全内存;
规则设置模块12,用于将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;
判断模块13,用于当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;
规则确定模块14,用于若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;
访问模块15,用于判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。
其中,关于上述各个模块更加具体的工作过程可以参考前述实施例中公开的相应内容,在此不再进行赘述。
可见,本申请当操作系统启动时,预留目标内存以构建安全内存;将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。由此可见,通过设定预设安全规则规定内存属性(只写、只读、可写可读和禁止读写),通过所述安全内存的ASIC芯片进行内存读写等操作,由此将内存操作和内存属性合二为一,使得系统具有兼容性和稳定性;另外,可随时改变所述预设存储区域对应的预设安全规则,使得灵活性更强。
进一步的,本申请实施例还提供了一种电子设备,图4是根据一示例性实施例示出的电子设备20结构图,图中的内容不能认为是对本申请的使用范围的任何限制。
图4为本申请实施例提供的一种电子设备20的结构示意图。该电子设备20,具体可以包括:至少一个处理器21、至少一个存储器22、电源23、输入输出接口24、通信接口25和通信总线26。其中,所述存储器22用于存储计算机程序,所述计算机程序由所述处理器21加载并执行,以实现前述任意实施例公开的安全内存提供方法的相关步骤。
本实施例中,电源23用于为电子设备20上的各硬件设备提供工作电压;通信接口25能够为电子设备20创建与外界设备之间的数据传输通道,其所遵循的通信协议是能够适用于本申请技术方案的任意通信协议,在此不对其进行具体限定;输入输出接口24,用于获取外界输入数据或向外界输出数据,其具体的接口类型可以根据具体应用需要进行选取,在此不进行具体限定。
另外,存储器22作为资源存储的载体,可以是只读存储器、随机存储器、磁盘或者光盘等,存储器22作为可以包括作为运行内存的随机存取存储器和用于外部内存的存储用途的非易失性存储器,其上的存储资源包括操作系统221、计算机程序222等,存储方式可以是短暂存储或者永久存储。
其中,操作系统221用于管理与控制源主机上电子设备20上的各硬件设备以及计算机程序222,操作系统221可以是Windows、Unix、Linux等。计算机程222除了包括能够用于完成前述任一实施例公开的由电子设备20执行的安全内存提供方法的计算机程序之外,还可以进一步包括能够用于完成其他特定工作的计算机程序。
本实施例中,所述输入输出接口24具体可以包括但不限于USB接口、硬盘读取接口、串行接口、语音输入接口、指纹输入接口等。
进一步的,本申请实施例还公开了一种计算机可读存储介质,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现前述公开的安全内存提供方法。
关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
这里所说的计算机可读存储介质包括随机存取存储器(Random Access Memory,RAM)、内存、只读存储器(Read-Only Memory,ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、磁碟或者光盘或技术领域内所公知的任意其他形式的存储介质。其中,所述计算机程序被处理器执行时实现前述安全内存提供方法。关于该方法的具体步骤可以参考前述实施例中公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的安全内存提供方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的一种安全内存提供方法、装置、设备及介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种安全内存提供方法,其特征在于,包括:
当操作系统启动时,预留目标内存以构建安全内存;
将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;
当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;
若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;
判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。
2.根据权利要求1所述的安全内存提供方法,其特征在于,所述将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,包括:
基于预先为操作系统内核加载的安全内存驱动文件,将所述安全内存划分为不同预设存储区域,并为不同所述预设存储区域设置内存挂载目录,然后为所述内存挂载目录设置所述预设安全规则。
3.根据权利要求2所述的安全内存提供方法,其特征在于,所述将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片,包括:
通过所述安全内存对应的ASIC芯片中的访问控制列表将所述预设存储区域以及对应的所述预设安全规则存放至所述ASIC芯片中的安全规则寄存器中;所述预设安全规则与所述安全规则寄存器一一对应;
相应的,所述若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则,包括:
若位于所述安全内存,则通过所述ASIC芯片中的所述安全规则寄存器中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则。
4.根据权利要求2所述的安全内存提供方法,其特征在于,所述允许基于所述访问请求访问所述目标地址,包括:
允许基于所述访问请求并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作。
5.根据权利要求4所述的安全内存提供方法,其特征在于,所述允许基于所述访问请求并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作,包括:
允许基于所述访问请求,将所述目标存储区域挂载至为所述目标存储区域设置内存挂载目录;
基于为所述内存挂载目录设置的所述目标安全规则,并根据所述安全内存驱动文件中的驱动程序提供的操作接口,访问所述目标地址以进行所述目标安全规则对应的相应操作。
6.根据权利要求1所述的安全内存提供方法,其特征在于,还包括:
根据当前要求随时改变所述预设存储区域以及对应的所述预设安全规则。
7.根据权利要求1至6任一项所述的安全内存提供方法,其特征在于,所述当操作系统启动时,预留目标内存以构建安全内存,包括:
当操作系统启动时,获取目标启动参数并基于所述目标启动参数预留目标内存;
基于所述目标内存和所述ASIC芯片构建所述安全内存。
8.一种安全内存提供装置,其特征在于,包括:
安全内存构建模块,用于当操作系统启动时,预留目标内存以构建安全内存;
规则设置模块,用于将所述安全内存划分为不同预设存储区域,并为所述预设存储区域设置预设安全规则,然后将所述预设存储区域以及对应的所述预设安全规则存放至所述安全内存对应的ASIC芯片;所述预设安全规则为只写、只读、可写可读和禁止读写中的一种;
判断模块,用于当所述ASIC芯片获取所述操作系统发送的对目标地址的访问请求时,通过所述ASIC芯片判断所述目标地址是否位于所述安全内存;
规则确定模块,用于若位于所述安全内存,则通过所述ASIC芯片中存放的所述预设存储区域以及对应的所述预设安全规则确定所述目标地址所在的所述安全内存的目标存储区域并确定所述目标存储区域的目标安全规则;
访问模块,用于判断所述访问请求是否符合所述目标安全规则,若符合则允许基于所述访问请求访问所述目标地址,若不符合则禁止访问所述目标地址。
9.一种电子设备,其特征在于,包括处理器和存储器;其中,所述处理器执行所述存储器中保存的计算机程序时实现如权利要求1至7任一项所述的安全内存提供方法。
10.一种计算机可读存储介质,其特征在于,用于存储计算机程序;其中,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的安全内存提供方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211335379.2A CN115688202A (zh) | 2022-10-28 | 2022-10-28 | 一种安全内存提供方法、装置、设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211335379.2A CN115688202A (zh) | 2022-10-28 | 2022-10-28 | 一种安全内存提供方法、装置、设备及介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115688202A true CN115688202A (zh) | 2023-02-03 |
Family
ID=85046612
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211335379.2A Pending CN115688202A (zh) | 2022-10-28 | 2022-10-28 | 一种安全内存提供方法、装置、设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115688202A (zh) |
-
2022
- 2022-10-28 CN CN202211335379.2A patent/CN115688202A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1242891B1 (en) | Partitioned memory device having characteristics of different memory technologies | |
US8583888B2 (en) | Method to qualify access to a block storage device via augmentation of the device'S controller and firmware flow | |
US7062616B2 (en) | Implementing a dual partition flash with suspend/resume capabilities | |
US7975117B2 (en) | Enforcing isolation among plural operating systems | |
US9952788B2 (en) | Method and apparatus for providing a shared nonvolatile memory system using a distributed FTL scheme | |
TWI601070B (zh) | 用於多重作業系統環境之媒體保護策略執行技術 | |
ES2737855T3 (es) | Virtualización del espacio de configuración | |
US10140462B2 (en) | Stackable file system with user space policy management | |
KR100931706B1 (ko) | 타겟 보안을 결정하기 위한 물리적 어드레스-기반 보안에관한 방법 및 장치 | |
WO2004109754A2 (en) | Method and apparatus for multi-mode operation in a semiconductor circuit | |
KR20080104591A (ko) | 메모리 보호 방법 및 장치 | |
US8621647B1 (en) | Restricting privileges of first privileged process in operating system using second privileged process | |
US11775201B2 (en) | Apparatus and method for providing one time programmable memory features in a hypervisor of a computing device | |
KR101460451B1 (ko) | 프로세스 주소 공간을 제어하는 장치 및 방법 | |
CN115688202A (zh) | 一种安全内存提供方法、装置、设备及介质 | |
EP4231159A1 (en) | Method for switching execution environment and related device | |
US20230161486A1 (en) | Method for managing a memory in a system-on-a-chip | |
CN112580023B (zh) | 影子栈管理方法及装置、介质、设备 | |
EP3156933A1 (en) | System and method of managing application data separation in memory with a dynamically updated data access tree | |
WO2024098770A1 (zh) | 应用程序的管理方法及系统、电子设备、计算机可读介质 | |
CN116049040A (zh) | 一种Flash动态写保护的方法、系统、设备和存储介质 | |
CN116483777A (zh) | 一种文件存储管理方法、装置及电子设备 | |
CN118034716A (zh) | 应用程序的管理方法及系统、电子设备、计算机可读介质 | |
KR20140033554A (ko) | 저장된 파일을 보호하는 단말기 및 방법 | |
KR20070030041A (ko) | 페이징 기법을 이용한 이동통신 단말기의 메모리 관리 방법 |
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 |