CN109753451A - 内存防护方法及装置 - Google Patents
内存防护方法及装置 Download PDFInfo
- Publication number
- CN109753451A CN109753451A CN201711082751.2A CN201711082751A CN109753451A CN 109753451 A CN109753451 A CN 109753451A CN 201711082751 A CN201711082751 A CN 201711082751A CN 109753451 A CN109753451 A CN 109753451A
- Authority
- CN
- China
- Prior art keywords
- downlink data
- memory
- uncache
- memory address
- address
- 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
Landscapes
- Storage Device Security (AREA)
Abstract
本发明提出了一种内存防护方法及装置,应用于微处理器,包括:检测出向内存写回的下行数据为UnCache下行数据时,判断该UnCache下行数据的目标内存地址是否属于受保护的内存区域;若该UnCache下行数据的目标内存地址属于受保护的内存区域,则禁止该UnCache下行数据写入其目标内存地址。本发明针对UnCache行为进行审查检测,避免由于UnCache操作造成篡改受保护的内存区域的问题,保证计算系统的安全性和稳定性。
Description
技术领域
本发明属于计算机安全领域,尤其涉及一种内存防护方法及装置。
背景技术
随着近年来计算机和智能终端的广泛普及,以及互联网技术的高速发展,设备安全的问题也更是日益凸显。而处理器作为计算设备的关键核心,处理器的安全问题将严重影响整个计算设备的安全性。
目前,针对处理器的安全技术主要有硬件虚拟化技术和TrustZone技术。例如Intel、AMD等CPU厂商,利用硬件虚拟化技术来实现CPU的安全;硬件虚拟化技术是一种基于指令调度权限管理和控制的安全机制,如虚拟机监视器(VMM,Virtual Machine Monitor,也被称为Hypervisor),专指在使用硬件虚拟化技术时创建出的特权层,该层提供给虚拟机开发者,用来实现虚拟硬件与真实硬件的通信和事件处理,VMM的权限级别要大于操作系统的权限。如图1所示,在Intel虚拟化技术架构中,VMM的权限可被视为处于ring-1级。ARM架构CPU的TrustZone技术,为用户模式和特权模式引入了安全状态标识和判断机制,以决定系统是运行在非安全的“普通”执行环境下,还是运行在安全可信任的“安全”环境下。安全监控器(Monitor)控制着安全与“普通”环境之间的转换,图2为TrustZone模式下两个并行安全环境的示意图。
但无论是Intel硬件虚拟化技术,还是ARM的TrustZone技术,本质上都是基于度量验证和安全执行环境构建,无法做到在CPU运行时直接干预CPU核心流水线上的指令执行的实时控制,缺少安全机制直接参与核心流水线的CPU架构。
发明内容
有鉴于此,本发明的一个目的是提出一种内存防护方法,以解决现有安全处理器内部缺少安全机制的问题。
在一些说明性实施例中,所述内存防护方法,应用于微处理器,包括:检测出向内存写回的下行数据为UnCache下行数据时,判断该UnCache下行数据的目标内存地址是否属于受保护的内存区域;若该UnCache下行数据的目标内存地址属于受保护的内存区域,则禁止该UnCache下行数据写入其目标内存地址。
在一些优选地实施例中,所述判断该UnCache下行数据的目标内存地址是否属于受保护的内存区域,具体包括:将该UnCache下行数据的目标内存地址与预先配置的审核表中的受保护的内存地址进行一一比对;若比对到一致的内存地址,则判定该UnCache下行数据的目标内存地址属于所述受保护的内存区域。
在一些优选地实施例中,所述禁止该UnCache下行数据写入其目标内存地址,具体包括:修改该UnCache下行数据的目标内存地址;将该UnCache下行数据按照修改后的目标内存地址写入内存;其中,修改后的目标内存地址不在所述受保护的内存区域内。
在一些优选地实施例中,在所述修改该UnCache下行数据的目标内存地址之前,还包括:获取并记录内核分配的专用导出地址;所述修改该UnCache下行数据的目标内存地址,具体包括:将该UnCache下行数据的目标内存地址依照记录的所述专用导出地址进行修改。
在一些优选地实施例中,在判定该UnCache下行数据的目标内存地址属于受保护的内存区域的情况下,还包括:触发中断报警操作,记录并上报当前执行的进程的进程号。
本发明的另一个在于提出一种微处理器,以解决现有技术中存在的问题。
在一些说明性实施例中,所述微处理器,包括:判断模块,用于检测出向内存写回的下行数据为UnCache下行数据时,判断该UnCache下行数据的目标内存地址是否属于受保护的内存区域;控制模块,用于若该UnCache下行数据的目标内存地址属于受保护的内存区域,则禁止该UnCache下行数据写入其目标内存地址。
在一些优选地实施例中,所述判断模块具体用于将该UnCache下行数据的目标内存地址与预先配置的审核表中的受保护的内存地址进行一一比对;若比对到一致的内存地址,则判定该UnCache下行数据的目标内存地址属于所述受保护的内存区域。
在一些优选地实施例中,所述控制模块中包括:重定向模块,用于修改该UnCache下行数据的目标内存地址;反馈模块,用于将该UnCache下行数据按照修改后的目标内存地址写入内存;其中,修改后的目标内存地址不在所述受保护的内存区域内。
在一些优选地实施例中,所述微处理器还包括:记录模块,用于获取并记录内核分配的专用导出地址;所述重定向模块具体用于将该UnCache下行数据的目标内存地址依照所述记录模块提供的所述专用导出地址进行修改。
在一些优选地实施例中,所述微处理器还包括:报警模块,用于触发中断报警操作,记录并上报当前执行的进程的进程号。
本发明的再一个目的在于提出一种计算设备,该计算设备装配有上述任一项所述的微处理器。
与现有技术相比,本发明具有以下优点:
1.本发明针对UnCache行为进行审查检测,避免由于UnCache操作造成篡改受保护的内存区域的问题,保证计算系统的安全性和稳定性。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是现有技术中硬件虚拟化技术的示意图;
图2是现有技术中trustzone技术的示意图;
图3是本发明实施例中微处理器的结构示意图;
图4是本发明实施例中内存保护组件的结构示意图;
图5是本发明实施例中内存保护组件的结构示意图;
图6是本发明实施例中内存保护组件的结构示意图;
图7是本发明实施例中微处理器的结构示意图;
图8是本发明实施例中写内存保护组件的结构示意图;
图9是本发明实施例中微处理器的结构示意图;
图10是本发明实施例中微处理器的结构示意图;
图11是本发明实施例中内存保护方法流程图;
图12是本发明实施例中微处理器的结构框图;
图13是本发明实施例中防止内存注入攻击的方法流程图;
图14是本发明实施例中微处理器的结构框图;
图15是本发明实施例中内存防护方法的流程图;
图16是本发明实施例中微处理器的结构框图。
具体实施方式
以下描述和附图充分地示出本发明的具体实施方案,以使本领域的技术人员能够实践它们。其他实施方案可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选地,并且操作的顺序可以变化。一些实施方案的部分和特征可以被包括在或替换其他实施方案的部分和特征。本发明的实施方案的范围包括权利要求书的整个范围,以及权利要求书的所有可获得的等同物。在本文中,本发明的这些实施方案可以被单独地或总地用术语“发明”来表示,这仅仅是为了方便,并且如果事实上公开了超过一个的发明,不是要自动地限制该应用的范围为任何单个发明或发明构思。
在以下详细描述中,会提出大量特定细节,以便于提供对本发明的透彻理解。但是,本领域的技术人员会理解,即使没有这些特定细节也可实施本发明。在其它情况下,没有详细描述众所周知的方法、过程、组件和电路,以免影响对本发明的理解。
为了可以更快的理解本发明的主要思想,现在对本发明中所采用的术语进行解释说明:“上行数据”,针对上行数据,本发明统一是指经过处理器核心控制从内存提取到,将要写入Cache的数据;“下行数据”,针对下行数据,本发明统一是指由处理器核心直接要向内存中写的数据(UnCache的情况)或者是经过处理器核心控制从Cache向内存中写的数据。
微处理器(又称中央处理器CPU)从微电子电路的角度描述,微处理器是一块超大规模的集成电路,是计算设备的运算核心和控制核心,主要由运算器(ALU,Arithmetic andLogic Unit)和控制器(CU,control Unit)两大部件组成,除此之外,还配置若干寄存器、高速缓冲存储器Cache(含Cache L1、Cache L2、共享Cache)、以及实现数据及状态交互的总线,微处理器的功能主要是解释计算机指令和处理计算机软件的数据。
现在参照图3,图3示出了本发明中具有核内安全机制的微处理器的结构框图,如该结构框图所示,公开了一种微处理器,该微处理器内置有处理器核心(CPU Core)11、高速缓存Cache12、内存控制器13、以及用于审核从内存提取到Cache的上行数据的读内存保护组件14;该读内存保护组件14被设置在Cache12与内存控制器13之间的读通道上。
现代的内存控制器13是内置在微处理器CPU的基板上的,CPU核心11从内存中提取数据到Cache12中就必须经过内存控制器13,因此在Cache12与内存控制器13之间的读通道上设置读内存保护组件14,可以分析到所有从内存提取到Cache12的上行数据;另一点,Cache12与内存控制器13之间的读通道是双向的,第一条a是由处理器核心11向内存控制器13发送数据请求,第二条b是由内存控制器13从内存中提取写往Cache12;优选地,本发明的读内存保护组件14被配置在第二条通道b上。
本发明在微处理器的核内配置内存保护组件,通过对从内存提取到Cache的过程中实现对上行数据的审核,解决现有安全处理器内部缺少安全机制的问题。
如图4所示,本发明实施例中的读内存保护组件14由读通道控制单元141、审核单元142组成;其中,
所述读通道控制单元141,配置在所述Cache12与内存控制器13之间的读通道(如上述读通道的第二条)上,且与所述审核单元142连接,用于在所述读通道上拦截上行数据,将其送入所述审核单元142进行审核;以及将审核单元142反馈的携带有审核结果的上行数据送回所述读通道;优选地,读通道控制单元141可内置筛选模块,将符合筛选条件的上行数据送入审核单元;
所述审核单元142,用于审核所述上行数据,将该上行数据及其审核结果一起送回所述读通道控制单元141。其中,审核结果将通过附加信号线随上行数据一同送往Cache12条目中。
依照上述实施例,读内存保护组件14还配置有用于存放受保护的内存地址的审核表143,该审核表143被配置为受审核单元142访问,审核单元142依据所述审核表143中的保护地址审核所述上行数据,判断所述上行数据是否来自受保护的内存区域。
该实施例所采用的审核表143为计算系统中的存储区域,该存储区域可以选用内存中的部分区域进行使用,也可以利用微处理器内部的Cache中的部分存储区域进行使用;优选地,所述审核表存放在片内缓冲区Buffer中。其中,buffer同样为CPU内部的一块存储电路,主要用于存储袁单等信息。
由于本发明的安全机制是核内安全机制,因此选用Buffer作为审核表的存放位置,可以加快审核单元的审核效率,降低访问内存获取受保护的内存地址的效率影响。
本发明实施例中的审核表设置有软件接口,开发人员或专业技术人员可在特定的模式下通过操作系统将受保护的内存地址写入该审核表对应的Cache条目中。
进一步的,本发明中的Cache12中的每个条目被配置具有扩展标志位;所述扩展标志位用于存储所述审核结果;所述审核结果为禁写标记或无效标记;其中,所述禁写标记用于指示该Cache条目位置处禁止被写回;无效标记则表示不对该Cache条目进行干预,即正常处理。优选地,假如每个Cache条目的行宽度为64个字节,则每个Cache条目需要增加8bit的标志位,即每个标志位对应64bit的数据。优选地,禁写标记可用“1”表示,无效标记则可用“0”表示。
优选地,本发明中的Cache包括:L1 Cache、L2 Cache;L1 Cache和L2 Cache的结构一致,均被配置有扩展标志位,用于存放禁写标记;本领域技术人员应该理解的是本发明所采用的具有L1 Cache和L2 Cache的Cache只是便于阐述本发明中对Cache的配置,不应限制本发明的保护范围。例如Cahce中还包含共享Cache。
如图5,本发明实施例中的微处理器,还包括:写回控制单元144;所述写回控制单元144被配置在所述处理器核心11与Cache12之间的写通道上,用于识别所述Cache条目中的禁写标记,禁止具有禁写标记的Cache条目被所述处理器核心11写回。
优选地,在检测到处理器核心11写回的目标Cache条目中具有禁写标记时,还触发中断指令,执行报警及记录操作。例如当检测到被标记过的Cache将要被修改时,CPU认为该次操作为异常操作,直接发出中断。
本发明实施例的微处理器主要进行以下两个操作:
1.读数据时的审核标记操作
处理器核心向内存控制器发送地址请求,以指示内存控制器调取相应内存地址中的数据内容;内存控制器提取相应内存地址中的数据内容写入Cache中,此时读通道控制单元拦截上行数据,将该上行数据提交至审核单元;审核单元以该上行数据在内存中的源地址与审核表中的受保护的内存地址进行一一比对,比对成功则将该上行数据及禁写标记一起反馈回读通道控制单元,比对不成功则只将该上行数据反馈回读通道控制单元;读通道控制单元将上行数据或上行数据及禁写标记送回原读通道当中,写入对应的Cache条目中,此时若上行数据携带禁写标记,则其存放的Cache条目中的扩展标志位中具有禁写标记;若上行数据未携带禁写标记,则其存放的Cache条目中的扩展标志位此时为无效标记。
2.写数据时禁止具有禁写标记的Cache条目被写回
当处理器核心写回时,写回控制单元检测写回的目标Cache条目是否具有禁写标记,如果有禁写标记,则阻止该目标Cache条目被写回;如果没有禁写标记,则直接放行该次写回。其中,在阻止该目标Cache条目被写回后,还执行报警及记录操作。
本发明实施例中的微处理器还包括:写内存保护组件15,所述写内存保护组件15被配置在所述Cache12与所述内存控制器13之间的写通道上,用于审核从Cache12写回到内存的下行数据。
如图6,进一步的,所述写内存保护组件15包括:写通道控制单元151和所述审核单元142;其中,写内存保护组件15可单独配置审核单元和审核表,也可与读内存保护组件共用审核单元142和审核表143;该实施例中写内存保护组件15与读内存保护组件14共用审核单元和审核表。
所述写通道控制单元151,配置在所述Cache12与内存控制器13之间的写通道上,且与所述审核单元142连接,用于在所述写通道上拦截下行数据,将其送入所述审核单元142进行审核;以及将携带审核结果的下行数据送回所述写通道;
所述审核单元142,还用于依据所述审核表中的保护地址审核所述下行数据,判断所述下行数据是否篡改受保护的内存区域,将该下行数据及其审核结果送回所述写通道控制单元。
本发明还通过对写通道进行直接审核,防止受保护的内存区域被篡改。
进一步的,在判定所述下行数据将篡改受保护的内存区域时,所述审核单元142还用于修改该下行数据的目标地址;其中,修改后的所述目标地址不在所述受保护的内存区域内。
通过上述实施例中,既可以保证微处理器的正常操作,又避免计算系统遭受攻击影响。
本发明中的上述实施例公开了较多的微处理器的实施例,其中的一个或多个实施例亦可组合成独立的微处理器的方案。
现在参照图7,图7示出了具有写通道审核架构的安全微处理器的结构框图,如该结构框图所示,公开了一种微处理器,该微处理器内置有处理器核心11、高速缓存Cache12、内存控制器13、以及用于从Cache写回到内存的下行数据的写内存保护组件15;所述写内存保护组件15被配置在所述Cache12与所述内存控制器13之间的写通道上。
本发明在微处理器的核内配置内存保护组件,禁止受保护的内存区域被篡改,防止内存注入攻击的产生,解决现有安全处理器内部缺少安全机制的问题。
如图8所示,本发明实施例中的所述写内存保护组件15包括:写通道控制单元151和审核单元152;其中,写内存保护组件15还配置有用于存放受保护的内存地址的审核表153,该审核表153被配置为受审核单元152访问,审核单元152依据所述审核表153中的保护地址审核所述下行数据,判断所述下行数据是否来自受保护的内存区域。
所述写通道控制单元151,配置在所述Cache12与内存控制器13之间的写通道上,且与所述审核单元152连接,用于在所述写通道上拦截下行数据,将其送入所述审核单元152进行审核;以及将携带审核结果的下行数据送回所述写通道;
所述审核单元152,用于依据审核表153中的保护地址审核所述下行数据,判断所述下行数据是否篡改受保护的内存区域,将该下行数据及其审核结果送回所述写通道控制单元。
进一步的,在判定所述下行数据将篡改受保护的内存区域时,所述审核单元152还用于修改该下行数据的目标地址;其中,修改后的所述目标地址不在所述受保护的内存区域内。
优选地,在检测到处理器核心11写回的目标Cache条目中具有禁写标记时,还触发中断指令,执行报警及记录操作。
具体的,审核单元执行以下审核及处理操作:
1.审核下行数据是否将要篡改受保护的内存区域;
2.在判定将要篡改的情况下,修改下行数据的目标内存地址,将修改后下行数据发送至内存控制器;在判定无篡改行为的情况下,直接将下行数据发送至内存控制器;其中,在判定将要篡改的情况下,执行报警及记录操作。
本发明还提出了一种计算设备,该计算设备装配有上述实施例中的微处理器。
现在参照图9,图9示出了一种微处理器的结构框图,如该结构框图所示,公开了一种微处理器,该微处理器内置有处理器核心11、高速缓存Cache12、以及被配置在所述处理器核心11与Cache12之间的写通道上的写回控制单元154,用于识别所述Cache12条目中的禁写标记,禁止具有禁写标记的Cache12条目被所述处理器核心11写回。
由于Cache包括L1 Cache和L2 Cache,而且L1 Cache又分为指令Cache和数据Cache,在正常的处理器稳定性架构中,其已限制指令Cache无法被篡改,因此本发明中写回控制单元的优选地实施例为被配置在处理器核心与数据Cache之间的写通道上。
通过上述实施例可以起到防止受保护的内存地址被篡改的问题,在微处理器核内提高计算系统的安全性与可靠性。
目前微处理器核心的交互是基于片内协议总线完成的,因此本发明实施例中的微处理器中还可增加用于交互的桥接单元,例如采用AXI协议接口,则还配置有读通道Master(主)端、读通道Slave(从)端;以及写通道Master(主)端、写通道Slave(从)端,如图10。
现在参照图11,图11示出了本发明中内存保护方法的流程图,如该流程图所示,公开了一种内存保护方法,该方法应用于微处理器,包括:
步骤S11.判断从内存提取到的上行数据是否来自受保护的内存区域;
步骤S12.若该上行数据来自受保护的内存区域,则对该上行数据赋予禁写标记;其中,所述禁写标记用于指示该上行数据禁止被修改;
步骤S13.将携带有所述禁写标记的所述上行数据写入高速缓存Cache。
本发明实施例中通过审核及禁写标记,可防止关键内存地址被篡改的情况发生;另一方面,通过在读内存时对上行数据进行审核,可直接降低写内存时的审核工作量。
该实施例中所述判断从内存提取到的上行数据是否来自受保护的内存区域,具体包括:将该上行数据在内存中的源地址与预先配置的审核表中受保护的内存地址进行比对;若比对到一致的内存地址,则判定该上行数据来自受保护的内存区域。其中,所述审核袁存放在所述buffer中。
该实施例中所述Cache中的每个条目被配置具有扩展标志位;所述扩展标志位用于存放所述禁写标记;其中,所述禁写标记具体用于指示具有禁写标记的Cache条目位置处禁止被写回。
该实施例中在所述将携带有所述禁写标记的所述上行数据写入高速缓存Cache之后,还包括:检测处理器核心写回的目标Cache条目是否具有禁写标记;若检测存在所述禁写标记,则禁止该Cache条目被处理器核心写回。
本发明还针对内存保护方法提出了一优选实施例,该实施例中的内存保护方法,应用于本发明实施例中的微处理器,包括:
步骤1.处理器核心向内存控制器发送数据请求;其中,所述数据请求中包含有目标数据的目标内存地址;
步骤2.内存控制器接收并根据所述数据请求,从所述目标内存地址上提取目标数据(即上行数据);
步骤3.读内存保护组件获取目标数据,并将该目标数据的内存地址和审核袁中的受保护的内存地址进行一一比对,比对完成后,将目标数据和比对结果(比对成功为禁写标记,比对失败为无效标记)送回原读通道,写入所对应的Cache中;
步骤4.处理器核心对Cache进行写回时,写回控制单元获取写回数据,并检测该写回数据的目标Cache条目上是否具有禁写标记,如果有则禁止该写回数据写入其目标Cache条目中;如果没有则不对该写回数据进行处理,写回数据将直接写入其目标Cache条目。
现在参照图12,图12示出了执行内存保护方法的微处理器的结构框图,如该结构框图所示,公开了一种微处理器100,包括:判断从内存提取到的上行数据是否来自受保护的内存区域的判断模块101;若该上行数据来自受保护的内存区域,则对该上行数据赋予禁写标记的标记模块102;其中,所述禁写标记用于指示该上行数据禁止被修改;将携带有所述禁写标记的所述上行数据写入高速缓存Cache的写入模块103。
该实施例中所述判断模块具体用于将该上行数据在内存中的源地址与预先配置的审核表中受保护的内存地址进行比对;若比对到一致的内存地址,则判定该上行数据来自受保护的内存区域。
该实施例中所述审核表被存放在片内buffer中。
该实施例中所述Cache中的每个条目被配置具有扩展标志位;所述扩展标志位用于存放所述禁写标记;其中,所述禁写标记具体用于指示具有禁写标记的Cache条目位置处禁止被写回。
该实施例中的微处理器,还包括:检测处理器核心写回的目标Cache条目是否具有禁写标记的检测模块104;若检测存在所述禁写标记,则禁止该Cache条目被处理器核心写回的禁写模块105。
现在参照图13,图13示出了本发明中防止内存注入攻击的方法的流程图,如该流程图所示,公开了一种防止内存注入攻击的方法,该方法应用于微处理器,包括:
步骤S31.判断将要写入内存的下行数据的目标内存地址是否属于受保护的内存区域;
步骤S32.若该下行数据的目标内存地址属于受保护的内存区域,则禁止该下行数据写入其目标内存地址。
本发明实施例通过直接对CPU写回内存的下行数据进行审核,阻止计算系统中关键内存区域被篡改,保证计算系统的安全性和可靠性。
该实施例中所述判断将要写入内存的下行数据的目标内存地址是否属于受保护的内存区域,具体包括:将该下行数据的目标内存地址与预先配置的审核表中受保护的内存地址进行比对;若比对到一致的内存地址,则判定该下行数据的目标内存地址属于受保护的内存区域。优选地,所述审核袁存放在片内buffer中。
该实施例中所述禁止该下行数据写入其目标内存地址,具体包括:修改所述下行数据的目标内存地址,将该下行数据按照修改后的目标内存地址写入内存;其中,修改后的所述目标地址不在所述受保护的内存区域内。
本发明还针对防止内存注入攻击还提出了一优选实施例,该实施例中的防止内存注入攻击的方法,应用于本发明实施例中的微处理器,包括:
步骤1.Cache向内存进行数据写回,将写回数据(即下行数据)发往内存控制器;
步骤2.写内存保护组件获取该写回数据,并将该写回数据的目标内存地址和审核表中的受保护的内存地址进行一一比对;
步骤3.比对成功,则修改该写回数据的目标内存地址,将修改后的写回数据送回原写通道,写入所指派的内存位置;并执行报警及记录操作;
步骤4.比对不成功,则直接将该写回数据送回原写通道,写入所对应的内存位置。
现在参照图14,图14示出了执行内存保护方法的微处理器的结构框图,如该结构框图所示,公开了一种微处理器200,包括:判断将要写入内存的下行数据的目标内存地址是否属于受保护的内存区域的判断模块201;若该下行数据的目标内存地址属于受保护的内存区域,则禁止该下行数据写入其目标内存地址的控制模块202。
该实施例中所述判断模块具体用于将该下行数据的目标内存地址与预先配置的审核表中受保护的内存地址进行比对;若比对到一致的内存地址,则判定该下行数据的目标内存地址属于受保护的内存区域。
该实施例中所述审核表存放在片内buffer中。
该实施例中所述控制模块中,包括:修改所述下行数据的目标内存地址的修改模块203;将该下行数据按照修改后的目标内存地址写入内存的写入模块204;其中,修改后的所述目标地址不在所述受保护的内存区域内。
本发明还公开了一种计算设备,该计算设备装配有上述任一种具有安全机制的微处理器,该计算设备可以为计算机主机、一体机、携带式计算机、智能手持终端、智能穿戴设备等可装配微处理器的智能设备。
本领域技术人员还应当理解,结合本文的实施例描述的各种说明性的逻辑框、模块、电路和算法步骤均可以实现成电子硬件、计算机软件或其组合。为了清楚地说明硬件和软件之间的可交换性,上面对各种说明性的部件、框、模块、电路和步骤均围绕其功能进行了一般地描述。至于这种功能是实现成硬件还是实现成软件,取决于特定的应用和对整个系统所施加的设计约束条件。熟练的技术人员可以针对每个特定应用,以变通的方式实现所描述的功能,但是,这种实现决策不应解释为背离本公开的保护范围。
以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (11)
1.一种内存防护方法,其特征在于,应用于微处理器,包括:
检测出向内存写回的下行数据为UnCache下行数据时,判断该UnCache下行数据的目标内存地址是否属于受保护的内存区域;
若该UnCache下行数据的目标内存地址属于受保护的内存区域,则禁止该UnCache下行数据写入其目标内存地址。
2.根据权利要求1所述的内存防护方法,其特征在于,所述判断该UnCache下行数据的目标内存地址是否属于受保护的内存区域,具体包括:
将该UnCache下行数据的目标内存地址与预先配置的审核表中的受保护的内存地址进行一一比对;
若比对到一致的内存地址,则判定该UnCache下行数据的目标内存地址属于所述受保护的内存区域。
3.根据权利要求1所述的内存防护方法,其特征在于,所述禁止该UnCache下行数据写入其目标内存地址,具体包括:
修改该UnCache下行数据的目标内存地址;
将该UnCache下行数据按照修改后的目标内存地址写入内存;其中,修改后的目标内存地址不在所述受保护的内存区域内。
4.根据权利要求3所述的内存防护方法,其特征在于,在所述修改该UnCache下行数据的目标内存地址之前,还包括:
获取并记录内核分配的专用导出地址;
所述修改该UnCache下行数据的目标内存地址,具体包括:
将该UnCache下行数据的目标内存地址依照记录的所述专用导出地址进行修改。
5.根据权利要求1所述的内存防护方法,其特征在于,在判定该UnCache下行数据的目标内存地址属于受保护的内存区域的情况下,还包括:
触发中断报警操作,记录并上报当前执行的进程的进程号。
6.一种微处理器,其特征在于,包括:
判断模块,用于检测出向内存写回的下行数据为UnCache下行数据时,判断该UnCache下行数据的目标内存地址是否属于受保护的内存区域;
控制模块,用于若该UnCache下行数据的目标内存地址属于受保护的内存区域,则禁止该UnCache下行数据写入其目标内存地址。
7.根据权利要求6所述的微处理器,其特征在于,所述判断模块具体用于将该UnCache下行数据的目标内存地址与预先配置的审核表中的受保护的内存地址进行一一比对;若比对到一致的内存地址,则判定该UnCache下行数据的目标内存地址属于所述受保护的内存区域。
8.根据权利要求6所述的微处理器,其特征在于,所述控制模块中包括:
重定向模块,用于修改该UnCache下行数据的目标内存地址;
反馈模块,用于将该UnCache下行数据按照修改后的目标内存地址写入内存;其中,修改后的目标内存地址不在所述受保护的内存区域内。
9.根据权利要求8所述的微处理器,其特征在于,还包括:
记录模块,用于获取并记录内核分配的专用导出地址;
所述重定向模块具体用于将该UnCache下行数据的目标内存地址依照所述记录模块提供的所述专用导出地址进行修改。
10.根据权利要求6所述的微处理器,其特征在于,还包括:
报警模块,用于触发中断报警操作,记录并上报当前执行的进程的进程号。
11.一种计算设备,其特征在于,该计算设备装配有权利要求6-10任一项所述的微处理器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711082751.2A CN109753451A (zh) | 2017-11-06 | 2017-11-06 | 内存防护方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711082751.2A CN109753451A (zh) | 2017-11-06 | 2017-11-06 | 内存防护方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109753451A true CN109753451A (zh) | 2019-05-14 |
Family
ID=66399945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711082751.2A Pending CN109753451A (zh) | 2017-11-06 | 2017-11-06 | 内存防护方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753451A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256605A (zh) * | 2020-11-03 | 2021-01-22 | 蔺建琪 | 安全dma控制器及数据搬运方法 |
CN112347468A (zh) * | 2020-11-05 | 2021-02-09 | 中国电子信息产业集团有限公司 | 内存数据更新方法、装置、设备及存储介质 |
-
2017
- 2017-11-06 CN CN201711082751.2A patent/CN109753451A/zh active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112256605A (zh) * | 2020-11-03 | 2021-01-22 | 蔺建琪 | 安全dma控制器及数据搬运方法 |
CN112256605B (zh) * | 2020-11-03 | 2024-05-17 | 蔺建琪 | 安全dma控制器及数据搬运方法 |
CN112347468A (zh) * | 2020-11-05 | 2021-02-09 | 中国电子信息产业集团有限公司 | 内存数据更新方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Basak et al. | Security assurance for system-on-chip designs with untrusted IPs | |
US10565379B2 (en) | System, apparatus and method for instruction level behavioral analysis without binary instrumentation | |
Xiong et al. | Practical Protection of Kernel Integrity for Commodity OS from Untrusted Extensions. | |
US10742603B2 (en) | System and method for monitoring and protecting an untrusted operating system by means of a trusted operating system | |
US10140448B2 (en) | Systems and methods of asynchronous analysis of event notifications for computer security applications | |
US20190073473A1 (en) | Dynamic security domain data flow analysis via passive monitoring | |
CN107690645A (zh) | 使用解释器虚拟机的行为恶意软件检测 | |
KR20180029047A (ko) | 비동기적 인트로스펙션 예외를 이용한 컴퓨터 보안 시스템들 및 방법들 | |
US20090307770A1 (en) | Apparatus and method for performing integrity checks on sofware | |
KR20180099682A (ko) | 가상 머신 감사를 위한 시스템 및 방법들 | |
Basak et al. | Exploiting design-for-debug for flexible SoC security architecture | |
CN104364768A (zh) | 确定运行时间仪表控制的状态 | |
CN107301082A (zh) | 一种实现操作系统完整性保护的方法和装置 | |
US10467410B2 (en) | Apparatus and method for monitoring confidentiality and integrity of target system | |
Lee et al. | Efficient security monitoring with the core debug interface in an embedded processor | |
CN109753451A (zh) | 内存防护方法及装置 | |
Kim et al. | RIMI: instruction-level memory isolation for embedded systems on RISC-V | |
CN108197503A (zh) | 一种为间接访问存储控制器增加保护功能的装置 | |
Maar et al. | DOPE: DOmain protection enforcement with PKS | |
Canella et al. | SFIP: Coarse-Grained Syscall-Flow-Integrity Protection in Modern Systems | |
CN109753450A (zh) | 防止内存注入攻击的方法及装置 | |
CN109753822A (zh) | 内存保护方法及装置 | |
Tang et al. | Secure and efficient in-hypervisor memory introspection using nested virtualization | |
Malenko et al. | Device driver and system call isolation in embedded devices | |
CN109766284A (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 |