CN111177805B - 一种提高处理器运行安全性的方法、装置及cpu芯片 - Google Patents
一种提高处理器运行安全性的方法、装置及cpu芯片 Download PDFInfo
- Publication number
- CN111177805B CN111177805B CN201911278710.XA CN201911278710A CN111177805B CN 111177805 B CN111177805 B CN 111177805B CN 201911278710 A CN201911278710 A CN 201911278710A CN 111177805 B CN111177805 B CN 111177805B
- Authority
- CN
- China
- Prior art keywords
- configuration information
- configuration
- information
- clearing
- processor
- 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
Links
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/76—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in application-specific integrated circuits [ASIC] or field-programmable devices, e.g. field-programmable gate arrays [FPGA] or programmable logic devices [PLD]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
本发明的实施例公开一种提高处理器运行安全性的方法、装置及CPU芯片,涉及安全技术领域,为提高处理器运行安全性而发明。所述方法包括:监测进程是否发生切换;若监测到进程发生切换,则查询清除配置信息,其中,所述清除配置信息为对微架构信息是否进行清除的配置信息;根据所述清除配置信息,确定需要清除的处理器微架构中的信息;对需要清除的处理器微架构中的信息进行清除操作。本发明适用于提高处理器运行安全性的场合。
Description
技术领域
本发明涉及安全技术领域,尤其涉及一种提高处理器运行安全性的方法、装置、CPU芯片及电子设备。
背景技术
为了提高处理器运行性能,在现代处理器中普通采用乱序执行、投机执行等优化手段,但同时,这些优化手段也引入了安全隐患。比如采用乱序执行、投机执行等技术,在处理器运行过程中,会使用处理器微架构中的Cache,TLB,RSB和BTB等,但是,在提高了处理器运行性能的同时,微架构中也保存了上一个进程的信息,这样,攻击者进程可以通过侧信道攻击等方式,窃取被攻击者进程的机密数据,突破进程之间的隔离屏障,处理器运行的安全性较低。
发明内容
有鉴于此,本申请实施例提供一种提高处理器运行安全性的方法、装置、CPU芯片及电子设备,能够提高处理器运行的安全性。
第一方面,本申请实施例提供一种提高处理器运行安全性的方法,包括:监测进程是否发生切换;若监测到进程发生切换,则查询清除配置信息;根据所述清除配置信息,确定需要清除的处理器微架构中的信息;对需要清除的处理器微架构中的信息进行清除操作。
根据本申请实施例的一种具体实现方式,所述清除配置信息,包括如下至少一项配置信息:是否清除一级缓存的配置信息;是否清除二级缓存的配置信息;是否清除三级缓存的配置信息;是否清除TLB的配置信息;是否清除RSB的配置信息;是否清除BTB的配置信息。
根据本申请实施例的一种具体实现方式,在监测进程是否发生切换之前,所述方法还包括:对清除配置请求进行验证,验证通过后,配置清除配置信息。
根据本申请实施例的一种具体实现方式,对清除配置信息进行增加、删除或修改。
根据本申请实施例的一种具体实现方式,检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
第二方面,本申请实施例提供一种提高处理器运行安全性的装置,包括:监测模块、查询模块、信息确定模块和清除模块,其中,监测模块,用于监测进程是否发生切换;查询模块,用于若监测到进程发生了切换,则查询清除配置信息;信息确定模块,用于根据所述清除配置信息,确定需要清除的处理器微架构中的信息;清除模块,用于对需要清除的处理器微架构中的信息进行清除操作。
根据本申请实施例的一种具体实现方式,所述查询模块中的所述清除配置信息,包括如下至少一项配置信息:是否清除一级缓存的配置信息;是否清除二级缓存的配置信息;是否清除三级缓存的配置信息;是否清除TLB的配置信息;是否清除RSB的配置信息;是否清除BTB的配置信息。
根据本申请实施例的一种具体实现方式,还包括:验证和配置模块,验证和配置模块,用于对清除配置请求进行验证,验证通过后,配置清除配置信息。
根据本申请实施例的一种具体实现方式,还包括:修改模块,用于对清除配置信息进行增加、删除或修改。
根据本申请实施例的一种具体实现方式,配置策略确定模块和配置模块,其中,配置策略确定模块,用于检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;配置模块,用于根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
第三方面,本申请实施例提供一种CPU芯片,包括:处理器核心;所述处理器核心,用于监测进程是否发生切换;若监测到进程发生切换,则查询清除配置信息,其中,所述清除配置信息为对微架构信息是否进行清除的配置信息;根据所述清除配置信息,确定需要清除的处理器微架构中的信息;对需要清除的处理器微架构中的信息进行清除操作。
根据本申请实施例的一种具体实现方式,所述清除配置信息,包括如下至少一项配置信息:是否清除一级缓存的配置信息;是否清除二级缓存的配置信息;是否清除三级缓存的配置信息;是否清除TLB的配置信息;是否清除RSB的配置信息;是否清除BTB的配置信息。
根据本申请实施例的一种具体实现方式,所述处理器核心,还用于对清除配置请求进行验证,验证通过后,配置清除配置信息。
根据本申请实施例的一种具体实现方式,所述处理器核心,还用于对清除配置信息进行增加、删除或修改。
根据本申请实施例的一种具体实现方式,所述处理器核心,还用于检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
本申请实施例提供一种电子设备,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实现方式所述的方法。
本申请实施例提供的一种提高处理器运行安全性的方法、装置、CPU芯片及电子设备,通过监测进程是否发生切换,若监测到进程发生了切换,则查询清除配置信息,根据所述清除配置信息,确定需要清除的处理器微架构中的信息,对需要清除的处理器微架构中的信息进行清除操作,这样,在进程切换时,对前一个执行的进程在处理器微架构中的信息进行清除,避免了攻击者进程对处理器微架构中留有的前一个进程的信息进行窃取,提高了处理器运行的安全性。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为本申请一实施例提高处理器运行安全性的方法流程示意图;
图2为本申请另一实施例提高处理器运行安全性的方法流程示意图;
图3为本申请又一实施例提高处理器运行安全性的方法流程示意图;
图4为本申请再一实施例提高处理器运行安全性的方法流程示意图;
图5为寄存器中的清除配置信息;
图6为清除微架构信息的流程图;
图7为申请一实施例提高处理器运行安全性的装置的结构示意图;
图8为申请一实施例CPU芯片的结构示意图;
图9为本申请一实施例电子设备的方框图。
具体实施方式
下面结合附图对本申请实施例进行详细描述。
应当明确,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
图1为本申请一实施例提高处理器运行安全性的方法流程示意图。参看图1,本实施例的方法可以包括:
步骤101、监测进程是否发生切换。
进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是***进行资源分配和调度的基本单位,是操作***结构的基础。
进程切换就是从正在运行的进程中收回处理器,然后再使待运行进程来占用处理器。从正在运行的进程中收回处理器,实质上就是把进程存放在处理器的寄存器中的中间数据存放在进程的私有堆栈。在进程运行时,与该进程相关的中间数据存储在处理器的各寄存器中,这些数据叫做进程的上下文,进程的切换实质上就是被中止运行进程与待运行进程上下文的切换。
涉及到两个进程切换的前一进程执行完毕会切换到下一进程,前一进程中止,后一进程未运行时,可以认为发生进程切换。
处理器使用虚拟地址和页表管理***内存,页表用于将虚拟地址转换成物理地址,不同的进程使用不同的页表。为了使进程正常运行,在处理器中设置有寄存器用来保存进程的页表根目录地址,在一些例子中,使用控制寄存器CR3(Control Register 3)(X86的CPU架构中的控制寄存器)存储进程的页表根目录地址。当发生了进程切换,新进程的页表根目录地址被更新到对应的寄存器中。在一些例子中,在前一个进程中止且下一个进程的页表根目录地址未被更新到CR3为发生进程切换。
步骤102、若监测到进程发生切换,则查询清除配置信息,其中,所述清除配置信息为对微架构信息是否进行清除的配置信息。
微架构,又称为微体系结构,也称为微处理器体系结构,是将一种给定的指令集架构在处理器中执行的硬件结构。微架构可以包括一级缓存、二级缓存、三级缓存、TLB(Translation Lookaside Buffer)、RSB(Return Stack Buffer)和BTB(Branch TargetBuffer)。一级缓存(Level 1Cache)简称L1 Cache,位于CPU内核的旁边,是与CPU内核结合最为紧密的CPU缓存,一级缓存可以分为一级数据缓存(Data Cache,D-Cache)和一级指令缓存(Instruction Cache,1-Cache);二级缓存(Level 2Cache)简称L2 Cache,L2 Cache是CPU内核的第二层高速缓存;三级缓存(Level 3Cache)简称L3 Cache,L3 Cache是为读取二级缓存后未命中的数据设计的一种缓存;TLB称为页表缓存或转址旁路缓存,为CPU的一种缓存,用于改进虚拟地址到物理地址的转译速度;RSB称为返回堆栈缓冲;BTB称为分支目标缓冲器,用来动态地预测程序的分支操作。
微架构信息为在微架构中存储的,且在进程切换时,与前一个进程对应的中间数据。清除配置信息,为对微架构信息是否进行清除的配置信息,在一些例子中,清除配置信息,包括如下至少一项配置信息:是否清除一级缓存的配置信息;是否清除二级缓存的配置信息;是否清除三级缓存的配置信息;是否清除TLB的配置信息;是否清除RSB的配置信息;是否清除BTB的配置信息。
在一个例子中,配置信息可配置在寄存器(对应的英文名称可为MicroArchitecture Control Register,MACR)中,在寄存器中,可把一个字节中的二进位划分为几个不同的区域,这样,可将几个不同的微架构分别与一个字节中的不同区域关联,每个区域可有一个域名;为了便于在程序中按照域名进行操作,每个域名可不相同;每个区域可占1个二进制位数,也可占有多个二进制位数。在一个例子中,每个区域占1个二进制位数,每个区域可分别存储0或1,0可表示对微架构信息不进行清除,1可表示对微架构信息进行清除。
步骤103、根据所述清除配置信息,确定需要清除的处理器微架构中的信息。
当清除配置信息为清除处理器微架构中的信息时,确定需要清除的处理器微架构中的信息。
步骤104、对需要清除的处理器微架构中的信息进行清除操作。
对处理器微架构中的信息进行清除操作,可以通过对处理器微架构中的有效位进行清零,以清除处理器微架构中的信息。在一些例子中,处理器针对处理器微架构中的信息执行flush操作,以实现对处理器微架构中的信息进行清除。
本实施例,通过监测进程是否发生切换,若监测到进程发生切换,则查询清除配置信息,根据所述清除配置信息,确定需要清除的处理器微架构中的信息,对需要清除的处理器微架构中的信息进行清除操作,这样,在进程切换时,对前一个执行的进程在处理器微架构中的信息进行清除,避免了攻击者进程对处理器微架构中留有的前一个进程的信息进行窃取,提高了处理器运行的安全性。
图2为本申请另一实施例提高处理器运行安全性的方法流程示意图,参见图2,本实施例与图1所示实施例基本相同,不同之处在于,本实施例中,在监测进程是否发生切换之前,所述方法还可包括:
步骤100、对清除配置请求进行验证,验证通过后,配置清除配置信息。
当有进程试图对清除配置信息进行配置,首先需要对配置请求进行验证,在验证通过后,配置清除配置信息。在一些例子中,可以通过特权指令实现对清除配置信息进行配置,这样,普通的用户进程无法更改清除配置信息,以此来保证清除配置信息不被攻击者进程恶意修改。
本实施例,通过对微架构信息清除配置请求进行验证,验证通过后,配置清除配置信息,这样,可以防止恶意进程对清除配置信息进行恶意修改,进一步提高处理器运行的安全性。
图3为本申请又一实施例提高处理器运行安全性的方法流程示意图,参见图3,本实施例与图1所示实施例基本相同,不同之处在于,本实施例中,所述方法还可包括:
步骤105、对清除配置信息进行增加。
可以根据清除配置信息对微架构中的信息进行清除,但是不同的应用场景,所面临的攻击威胁并不相同,并且对安全性要求也并不相同,如在对于安全性要求非常高的场景,在进程切换时需要对Cache、TLB、RSB、BTB中的信息进行清除,但是原有的清除配置信息中,不包括对微架构BTB中的信息进行清除的信息,针对这种情况,可以增加对BTB中的信息进行清除的配置信息。
本实施例,通过对清除配置信息进行增加,可以根据具体的应用场景,如安全性要求较高时,对微架构中的信息进行清除,以提高处理器运行的安全性。
可以理解的是,步骤105可在步骤101至步骤103中任一步骤之前。
在一些例子中,为了提高处理器运行性能,对清除配置信息进行删除。
在对于安全性要求不高的场景,如只针对BTB攻击的应用场景,可以选择在进程切换时只清除BTB信息,但是原有的清除配置信息中,除了BTB的清除配置信息,还包括对Cache和TLB信息清除配置信息,针对这种情况,可以删除对Cache和TLB中的信息进行清除的配置信息,以提高处理器运行性能。
在另一些例子中,为了提高处理器运行的安全性,对清除配置信息进行修改。
在不同的应用场景中,针对用户所面临的攻击威胁并不相同,如在一个场景中,清除配置信息中包括对Cache和TLB信息清除配置信息,即清除Cache和TLB中的信息,但是在另一个场景中,可只对TLB中的信息进行清除,而对Cache中的信息不清除,可修改清除配置信息中关于Cache的配置信息,在一个例子中,可将配置在寄存器中关于Cache的清除配置信息,可由“1”变为“0”,可以理解的是,此时,“1”表示对Cache信息进行清除,“0”表示对Cache信息不进行清除。
以上实施例中对清除配置信息进行增加、删除或修改,可以选择其中一种方式对清除配置信息进行配置,也可根据实际应用场景,灵活地选择其中的两种或三种方式配置清除配置信息。
图4为本申请再一实施例提高处理器运行安全性的方法流程示意图,参见图4,本实施例与图1所示实施例基本相同,不同之处在于,本实施例中,所述方法还可包括:
步骤106、检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略。
处理器的运行环境可以包括软件环境和硬件环境,硬件环境指计算机及其***设备组成的计算机物理***,即硬件设施。软件环境指运行于计算机硬件之上的驱动计算机及其***设备实现某种目的的软件***,还主要指软件的运行环境,比如XP,Linux,以及软件运行所需的周边软件等等,除此之外,还包括目的软件之外的应用层软件。
配置策略可为对哪个或哪几个微架构的信息进行清除或不进行清除的信息。
可以根据不同的运行环境确定不同的配置策略,在一个例子中,可以根据对运行环境的安全性高低确定不同的配置策略。如处理器当前执行的进程对安全性要求较低,此时配置策略可选择对微架构信息不进行清除;或者,处理器当前执行的进程对安全性要求较低,且当前的硬件环境为采用了安全等级较高的硬件,此时,配置策略可选择对微架构信息不进行清除,或对部分微架构信息进行清除;或者,处理器当前执行的进程对安全性要求较低,且当前的软件环境为正在运行一款安全软件,此时,配置策略可选择对微架构信息不进行清除,或对部分微架构信息进行清除。
步骤107、根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
本实施例,可以通过检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略,再根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置,这样,可以根据处理器当前的运行环境,对清除配置信息进行配置,能够有针对性地对清除配置信息进行配置。
可以理解的是,步骤106和步骤107可在步骤101至步骤103中任一步骤之前。
下面采用一个具体的实施例为例说明提高处理器运行安全性的方法。图5为寄存器中的清除配置信息,图6为清除微架构信息的流程图,结合图5和图6,本实施例中的提高处理器运行安全性的方法,包括:
步骤201、对微架构信息清除配置请求进行验证,验证通过后,配置清除配置信息。
可以通过特权指令实现对清除配置信息进行配置,并且,清除配置信息被配置到寄存器(对应的英文名称可为Micro Architecture Control Register,MACR)中。寄存器MACR中的域名bit0-bit5分别对应L1cache、L2 Cache、L3 Cache、TLB、RSB和BTB,且每个域名对应的区域分别设置为1、1、0、0、0和1,1可表示对微架构信息进行清除,如bit0与L1cache对应,且与bit0对应的区域设置为1,表示对L1cache的信息进行清除。
步骤202、监测进程是否发生切换。
控制寄存器CR3(X86的CPU架构中的控制寄存器)存储进程的页表根目录地址。当发生进程切换时,前一进程中止且新进程的页表根目录地址还未被更新到CR3中,此时,可认为发生进程切换。
步骤203、若监测到进程发生切换,则查询清除配置信息。
进程发生切换时,查询寄存器中bit0-bit5对应的区域设置的值为1、1、0、0、0和1,以及对应的微架构分别为L1cache、L2 Cache、L3 Cache、TLB、RSB和BTB,此时,bit0也可为MACR.L1Cache,bitl也可为MACR.L2Cache,bit2也可为MACR.L3Cache,bit3也可为MACR.TLB,bit4也可为MACR.RSB,bit5也可为MACR.BTB。
步骤204、根据所述清除配置信息,确定需要清除的处理器微架构中的信息。
确定需要清除L1cache、L2 Cache和BTB中的残留的进程切换前的进程的信息。
步骤205、对需要清除的处理器微架构中的信息进行清除操作。
对L1cache、L2 Cache和BTB中的残留的进程切换前的进程的信息进行清除操作。
步骤206、将下一进程的页表根目录地址信息更新到CR3中。
上述过程也可为依次检查寄存器中与域名对应的区域的数值,当为1时,将对应的微架构中残留的程切换前的进程的信息进行清除;当为0时,将对应的微架构中残留的程切换前的进程的信息不进行清除,并进入下一流程。
图7为申请一实施例提高处理器运行安全性的装置的结构示意图,参见图7,本实施例的装置,包括:监测模块11、查询模块12、信息确定模块13和清除模块14,其中,监测模块11,用于监测进程是否发生切换;查询模块12,用于若监测到进程发生了切换,则查询清除配置信息;信息确定模块13,用于根据所述清除配置信息,确定需要清除的处理器微架构中的信息;清除模块14,用于对需要清除的处理器微架构中的信息进行清除操作。
在一些实施方式中,所述查询模块中的所述清除配置信息,包括如下至少一项配置信息:是否清除一级缓存的配置信息;是否清除二级缓存的配置信息;是否清除三级缓存的配置信息;是否清除TLB的配置信息;是否清除RSB的配置信息;是否清除BTB的配置信息。
在一些实施方式中,所述装置,还包括:验证和配置模块15,用于对清除配置信息的配置请求进行验证,验证通过后,配置清除配置信息。
在一些实施方式中,所述装置,还包括:修改模块16,用于对清除配置信息进行增加、删除或修改。
在一些实施方式中,所述装置,还包括:配置策略确定模块17和配置模块18,确定模块和配置模块17,用于检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;
配置模块18,用于根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
本实施例的提高处理器运行安全性的装置,可以用于执行图1至图4所示方法任一实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图8为申请一实施例CPU芯片的结构示意图,参考图8,本实施例的CPU芯片,包括:处理器核心20;处理器核心20,用于监测进程是否发生切换;若监测到进程发生切换,则查询清除配置信息,其中,所述清除配置信息为对微架构信息是否进行清除的配置信息;根据所述清除配置信息,确定需要清除的处理器微架构中的信息;对需要清除的处理器微架构中的信息进行清除操作。
在一些实施方式中,所述清除配置信息,包括如下至少一项配置信息:
是否清除一级缓存的配置信息;
是否清除二级缓存的配置信息;
是否清除三级缓存的配置信息;
是否清除TLB的配置信息;
是否清除RSB的配置信息;
是否清除BTB的配置信息。
在一些实施方式中,处理器核心20,还用于对清除配置请求进行验证,验证通过后,配置清除配置信息。
在一些实施方式中,处理器核心20,还用于对清除配置信息进行增加、删除或修改。
在一些实施方式中,处理器核心20,还用于检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
本实施例的CPU芯片,可以用于执行图1至图4所示方法任一实施例的技术方案,其实现原理和技术效果类似,此处不再赘述。
图9为本申请一实施例电子设备的方框图,参看图9,所述电子设备可以包括:壳体41、处理器42、存储器43、电路板44和电源电路45,其中,电路板44安置在壳体41围成的空间内部,处理器42和存储器43设置在电路板44上;电源电路45,用于为上述服务器的各个电路或器件供电;存储器43用于存储可执行程序代码;处理器42通过读取存储器43中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述任一实施例所述的方法。
处理器42对上述步骤的具体执行过程以及处理器42通过运行可执行程序代码来进一步执行的步骤,可以参见本发明图1-4所示实施例的描述,在此不再赘述。
该电子设备以多种形式存在,包括但不限于:
(1)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MTD和UMPC设备等,例如iPad。
(2)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、***总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
(3)其他具有数据交互功能的电子设备。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。
Claims (16)
1.一种提高处理器运行安全性的方法,其特征在于,包括:
监测进程是否发生切换;
若监测到进程发生切换,则查询清除配置信息,其中,所述清除配置信息为对微架构信息是否进行清除的配置信息;
根据所述清除配置信息,确定需要清除的处理器微架构中的信息;
对需要清除的处理器微架构中的信息进行清除操作。
2.根据权利要求1所述的方法,其特征在于,所述清除配置信息,包括如下至少一项配置信息:
是否清除一级缓存的配置信息;
是否清除二级缓存的配置信息;
是否清除三级缓存的配置信息;
是否清除TLB的配置信息;
是否清除RSB的配置信息;
是否清除BTB的配置信息。
3.根据权利要求1所述的方法,其特征在于,在监测进程是否发生切换之前,所述方法还包括:
对清除配置请求进行验证,验证通过后,配置清除配置信息。
4.根据权利要求1所述的方法,其特征在于,还包括:
对清除配置信息进行增加、删除或修改。
5.根据权利要求1所述的方法,其特征在于,还包括:
检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;
根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
6.一种提高处理器运行安全性的装置,其特征在于,包括:
监测模块,用于监测进程是否发生切换;
查询模块,用于若监测到进程发生切换,则查询清除配置信息,其中,所述清除配置信息为对微架构信息是否进行清除的配置信息;
信息确定模块,用于根据所述清除配置信息,确定需要清除的处理器微架构中的信息;
清除模块,用于对需要清除的处理器微架构中的信息进行清除操作。
7.根据权利要求6所述的装置,其特征在于,所述清除配置信息,包括如下至少一项配置信息:
是否清除一级缓存的配置信息;
是否清除二级缓存的配置信息;
是否清除三级缓存的配置信息;
是否清除TLB的配置信息;
是否清除RSB的配置信息;
是否清除BTB的配置信息。
8.根据权利要求6所述的装置,其特征在于,还包括:验证和配置模块,
用于对清除配置信息的配置请求进行验证,验证通过后,配置清除配置信息。
9.根据权利要求6所述的装置,其特征在于,还包括:修改模块,用于对清除配置信息进行增加、删除或修改。
10.根据权利要求6所述的装置,其特征在于,还包括:配置策略确定模块和配置模块,其中,
配置策略确定模块,用于检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;
配置模块,用于根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
11.一种CPU芯片,其特征在于,包括:处理器核心;
所述处理器核心,用于监测进程是否发生切换;若监测到进程发生切换,则查询清除配置信息,其中,所述清除配置信息为对微架构信息是否进行清除的配置信息;根据所述清除配置信息,确定需要清除的处理器微架构中的信息;对需要清除的处理器微架构中的信息进行清除操作。
12.根据权利要求11所述的CPU芯片,其特征在于,所述清除配置信息,包括如下至少一项配置信息:
是否清除一级缓存的配置信息;
是否清除二级缓存的配置信息;
是否清除三级缓存的配置信息;
是否清除TLB的配置信息;
是否清除RSB的配置信息;
是否清除BTB的配置信息。
13.根据权利要求11所述的CPU芯片,其特征在于,所述处理器核心,还用于对清除配置请求进行验证,验证通过后,配置清除配置信息。
14.根据权利要求11所述的CPU芯片,其特征在于,所述处理器核心,还用于对清除配置信息进行增加、删除或修改。
15.根据权利要求11所述的CPU芯片,其特征在于,所述处理器核心,还用于检测处理器当前的运行环境,根据所述运行环境以及运行环境与配置策略的对应关系确定当前运行环境所对应的配置策略;根据当前运行环境所对应的配置策略,对所述清除配置信息进行配置。
16.一种电子设备,其特征在于,包括:壳体、处理器、存储器、电路板和电源电路,其中,电路板安置在壳体围成的空间内部,处理器和存储器设置在电路板上;电源电路,用于为上述电子设备的各个电路或器件供电;存储器用于存储可执行程序代码;处理器通过读取存储器中存储的可执行程序代码来运行与可执行程序代码对应的程序,用于执行前述权利要求1-5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911278710.XA CN111177805B (zh) | 2019-12-12 | 2019-12-12 | 一种提高处理器运行安全性的方法、装置及cpu芯片 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911278710.XA CN111177805B (zh) | 2019-12-12 | 2019-12-12 | 一种提高处理器运行安全性的方法、装置及cpu芯片 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111177805A CN111177805A (zh) | 2020-05-19 |
CN111177805B true CN111177805B (zh) | 2023-10-03 |
Family
ID=70656387
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911278710.XA Active CN111177805B (zh) | 2019-12-12 | 2019-12-12 | 一种提高处理器运行安全性的方法、装置及cpu芯片 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111177805B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430667B1 (en) * | 2000-04-13 | 2002-08-06 | International Business Machines Corporation | Single-level store computer incorporating process-local address translation data structures |
CN102508713A (zh) * | 2011-10-12 | 2012-06-20 | 杭州华三通信技术有限公司 | 进程启动方法及内核、进程 |
CN103197962A (zh) * | 2012-01-04 | 2013-07-10 | ***通信集团公司 | 多进程状态切换方法和装置 |
CN104007993A (zh) * | 2014-06-11 | 2014-08-27 | 中国科学院信息工程研究所 | 一种Linux***内存敏感数据的清除方法及装置 |
CN104838355A (zh) * | 2012-12-21 | 2015-08-12 | 英特尔公司 | 用于在多线程计算机***中提供高性能和公平的机制 |
CN106130719A (zh) * | 2016-07-21 | 2016-11-16 | 中国科学院信息工程研究所 | 一种抵抗内存泄漏攻击的密码算法多核实现方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8219780B2 (en) * | 2005-09-16 | 2012-07-10 | Hewlett-Packard Development Company, L.P. | Mitigating context switch cache miss penalty |
-
2019
- 2019-12-12 CN CN201911278710.XA patent/CN111177805B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6430667B1 (en) * | 2000-04-13 | 2002-08-06 | International Business Machines Corporation | Single-level store computer incorporating process-local address translation data structures |
CN102508713A (zh) * | 2011-10-12 | 2012-06-20 | 杭州华三通信技术有限公司 | 进程启动方法及内核、进程 |
CN103197962A (zh) * | 2012-01-04 | 2013-07-10 | ***通信集团公司 | 多进程状态切换方法和装置 |
CN104838355A (zh) * | 2012-12-21 | 2015-08-12 | 英特尔公司 | 用于在多线程计算机***中提供高性能和公平的机制 |
CN104007993A (zh) * | 2014-06-11 | 2014-08-27 | 中国科学院信息工程研究所 | 一种Linux***内存敏感数据的清除方法及装置 |
CN106130719A (zh) * | 2016-07-21 | 2016-11-16 | 中国科学院信息工程研究所 | 一种抵抗内存泄漏攻击的密码算法多核实现方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111177805A (zh) | 2020-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11544070B2 (en) | Efficient mitigation of side-channel based attacks against speculative execution processing architectures | |
Lipp et al. | Meltdown: Reading kernel memory from user space | |
CN105980993B (zh) | 数据处理设备和方法 | |
EP3761208B1 (en) | Trust zone-based operating system and method | |
CN102592082B (zh) | 通过操作码随机化的安全 | |
US11347507B2 (en) | Secure control flow prediction | |
CN111373370A (zh) | 存储电路的输入的编码 | |
CN111417928A (zh) | 分支预测电路的输入的编码 | |
US10083129B2 (en) | Code loading hardening by hypervisor page table switching | |
CN110445769B (zh) | 业务***的访问方法及装置 | |
CN105260659A (zh) | 一种基于qemu的内核级代码重用型攻击检测方法 | |
EP2956885A1 (en) | Binary translator driven program state relocation | |
US20210150028A1 (en) | Method of defending against memory sharing-based side-channel attacks by embedding random value in binaries | |
Kim et al. | Reinforcing meltdown attack by using a return stack buffer | |
US20070083770A1 (en) | System and method for foiling code-injection attacks in a computing device | |
CN112596792B (zh) | 分支预测方法、装置、介质及设备 | |
CN111177805B (zh) | 一种提高处理器运行安全性的方法、装置及cpu芯片 | |
CN108985098B (zh) | 数据处理器 | |
CN112948863B (zh) | 敏感数据的读取方法、装置、电子设备及存储介质 | |
KR102029465B1 (ko) | 검색 또는 패턴 매칭 엔진 및 이를 구비한 단말장치와 그 방법 | |
US20180004947A1 (en) | Enhanced control transfer security | |
Lee et al. | Efficient approach for mitigating mobile phishing attacks | |
CN109190383B (zh) | 访问指令的处理方法、装置及设备 | |
US11803381B2 (en) | Instruction simulation device and method thereof | |
US10387311B2 (en) | Cache directory that determines current state of a translation in a microprocessor core cache |
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 | ||
CB02 | Change of applicant information |
Address after: 300 000 Tianjin Binhai New Area Tianjin Huayuan Industrial Zone No. 18 Haitai West Road North 2-204 industrial incubation-3-8 Applicant after: Haiguang Information Technology Co.,Ltd. Address before: 300 000 Tianjin Binhai New Area Tianjin Huayuan Industrial Zone No. 18 Haitai West Road North 2-204 industrial incubation-3-8 Applicant before: HAIGUANG INFORMATION TECHNOLOGY Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |