当前位置: 首页 > 专利查询>英特尔公司专利>正文

防止篡改计数器配置并使能可校验数据采样的处理器的性能监控单元制造技术

技术编号:37767690 阅读:25 留言:0更新日期:2023-06-06 13:29
本发明专利技术涉及防止篡改计数器配置并使能可校验数据采样的处理器的性能监控单元。处理器的安全性能监控单元包括一个或多个性能监控计数器和安全组管理器。安全组管理器被配置成:从由处理器执行的软件(SW)进程接收要创建安全计数器组的请求,请求包括一个或多个计数器的标识;确定一个或多个计数器的可用性,当一个或多个计数器可用时,创建安全计数器组,将一个或多个计数器分配给安全计数器组,并保存SW进程的公钥;接收并保存安全计数器组的私钥;从SW进程接收要配置安全计数器组的请求;使用SW进程的公钥校验配置;以及当配置得到校验时开始一个或多个计数器的采样。验时开始一个或多个计数器的采样。验时开始一个或多个计数器的采样。

【技术实现步骤摘要】
防止篡改计数器配置并使能可校验数据采样的处理器的性能监控单元


[0001]实施例总体上涉及计算机安全,并且更具体地涉及保护对计算系统中的处理器的性能监控单元中的计数器的访问。

技术介绍

[0002]处理器的现有性能监控单元(PMU)未被设计成支持与安全相关的剖析用例。现有PMU由单个用户知识产权(IP)块组成,没有基于硬件的仲裁机制。也没有基于硬件的机制来管理对处理器上运行的指定进程/容器/虚拟机(VM)的遥测数据的访问。因此,与安全相关的用例(如监控不受信任的进程的恶意活动)严重依赖于现有PMU采样技术,这些技术会使采样数据和监控堆栈暴露于用户空间干扰和/或攻击。
附图说明
[0003]为了能够详细理解本实施例的上述特征的方式,可以通过参考实施例而获得对以上简要概述的实施例的更具体的描述,其中一些实施例在附图中示出。然而,应当注意,附图仅示出了典型实施例,因此不应被认为是对其范围的限制。这些图不符合比例。一般而言,在所有附图和所附书面描述中,相同的附图标记将用于指代相同或相似的部分。
[0004]图1是根据一些实施例的包括安全性能监控单元(SPMU)的处理器的图。
[0005]图2是根据一些实施例的SPMU布置的图。
[0006]图3是根据一些实施例的安全组管理器处理的流程图。
[0007]图4是根据一些实施例的创建安全计数器组处理的流程图。
[0008]图5是根据一些实施例的开始采样处理的流程图。
[0009]图6是根据一些实施例的删除安全计数器组处理的流程图。
[0010]图7是根据一些实施例的执行安全处理的例证性电子计算装置的示意图。
具体实施方式
[0011]本文描述的技术的实施提供了这样的方法和系统:用于安全地配置特定的一组PMU计数器供软件(SW)进程使用,该组PMU计数器不能被其他SW进程更改,并且用于校验从PMU计数器读取的相关数据在从计数器到SW进程的数据路径中没有被篡改。实施例在处理器内提供安全PMU(SPMU),其使得能够在SPMU中创建具有防篡改配置和由硬件(HW)信任根(RoT)支持的可校验计数器数据的安全计数器组用于安全用途。
[0012]实施例提供了安全PMU扩展,其增强了处理器中的现有性能监控单元(PMU)IP块,以使得能够对指定的一组PMU计数器进行安全分组,并允许SW进程从计数器采样数据,以使用由HW RoT支持的公钥来校验计数器数据。安全扩展包括在一个实施例中可以用微码实施的PMU的新操作模式。SPMU引入了专用的一组性能监控计数器(例如,一组两个、四个、八个或更多的计数器,取决于处理器的能力),这些计数器可以被编程用于由多个SW进程的受管
理访问。在SPMU设立安全计数器组的SW进程(例如,在处理器上运行的安全SW)与SW进程创建的安全计数器组加密绑定。从安全计数器组中的计数器收集的数据由基于HW RoT的密钥签名,并与签名一起复制到一组模型特定寄存器(MSR)中,以供分配给了该安全计数器组的SW进程校验。计数器数据的校验是通过签名密钥和由SPMU维护的由HW RoT支持的公共证书来进行的。
[0013]图1是根据一些实施例的包括SPMU 102的处理器100的图。处理器100包括任何数量的硬接线或可配置电路,其中的一些或全部可以包括电子组件、半导体器件和/或逻辑元件的可编程和/或可配置组合,这些电子组件、半导体器件和/或逻辑元件部分或全部设置在个人计算机(PC)、服务器、移动电话、平板计算机或能够执行处理器可读指令的其他计算系统中。SPMU 102电路模块(circuitry)包括能够监控处理器100的一个或多个性能方面和/或参数的任何数量和/或组合的任何当前可用或未来开发的电子装置和/或半导体组件。SPMU 102可以具有任何数量和/或组合的性能监控计数器104。计数器104是用于对处理器100处理期间发生的事件进行计数的电路模块或逻辑元件。在实施例中,SPMU 102包括对处理器活动进行监控、跟踪和/或计数的电路模块。例如,在英特尔
®
处理器中,SPMU 102电路模块可以至少部分包括或以其他方式体现在性能监控单元(PMU)中。
[0014]在一些实施方式中,SPMU 102可以包括一个或多个可配置或可编程元件,如一个或多个可配置集成电路,其能够执行机器可读指令集,使得可配置或可编程元件以特定方式组合以创建SPMU 102电路模块。在一些实施方式中,SPMU 102电路模块可以包括一个或多个独立的装置或系统,例如,SPMU 102电路模块可以体现在单个表面安装或插座安装集成电路中。在其他实施方式中,可以经由一个或多个处理器、控制器、数字信号处理器(DSP)、精简指令集计算机(RISC)、片上系统(SOC)、能够提供处理器100的全部或一部分的专用集成电路(ASIC)来全部或部分地提供SPMU 102电路模块。
[0015]计数器104可以包括能够对处理器100中的事件进行监控、跟踪和/或计数的任何数量和/或组合的当前可用的和/或未来开发的电子组件、半导体器件和/或逻辑元件。计数器104包括固定计数器106和通用计数器108。固定计数器106包括多个计数器,这些计数器被永久分配用来对处理器100中的指定事件进行监控、跟踪和/或计数。通用计数器108包括多个计数器,这些计数器可由固件进行编程以对处理器100中限定的事件或状况进行监控、跟踪和/或计数。
[0016]在一个实施例中,处理器100包括多个处理核P1 120、P2 122、

PN 124,其中N是自然数。处理核P1 120、P2 122、

PN 124可以读取和/或写入固定计数器106和/或通用计数器108中的任何。SPMU 102包括多个模型特定寄存器(MSR)128,以存储要由多个处理核P1 120、P2 122、

PN 124读取和/或写入的信息。
[0017]处理器100执行用于多个SW进程SW 1 110、SW 2 112、

SW M 114的指令,其中M是自然数。SW进程可以读取和/或写入MSR 128。在现有PMU中,SW进程SW 1 110、SW 2 112、

SW M 114可以访问PMU来编程计数器并读取它们的数据。现有PMU允许SW进程对来自PMU的计数器数据进行采样,完全不受限制地访问所有计数器,并且任何SW进程都可以覆盖另一SW进程设置的采样配置。这可能导致计数器104的错误配置,例如,SW 1 110可能读取SW 2 112配置的计数器数据,而不知道该计数器数据是由另一SW进程配置的。这还可能导致恶意攻击,特别是如果该PMU计数器数据正被用于安全用途的话。
[0018]本文描述的技术克服了对PMU计数器的访问这种缺乏控制的情况。在一个实施例中,处理器100包括SPMU 102,其包括安全组管理器126电路模块,以安全地管理对固定计数器106和通用计数本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种设备,包括:一个或多个性能监控计数器;以及安全组管理器,其要:从由处理器执行的软件(SW)进程接收要创建安全计数器组的请求,所述请求包括所述一个或多个性能监控计数器的标识;确定所述一个或多个性能监控计数器的可用性,当所述一个或多个性能监控计数器可用时,创建所述安全计数器组,将所述一个或多个性能监控计数器分配给所述安全计数器组,并保存所述SW进程的公钥;接收并保存所述安全计数器组的私钥;从所述SW进程接收要配置所述安全计数器组的请求;使用所述SW进程的公钥校验配置;以及当所述配置得到校验时开始所述一个或多个性能监控计数器的采样。2.根据权利要求1所述的设备,包括:一个或多个计数器模型特定寄存器(MSR);以及一个或多个签名MSR;其中,所述安全组管理器要:针对一样本,以用所述安全计数器组的私钥签名的性能监控计数器的数据的散列来更新所述一个或多个签名MSR并更新所述一个或多个计数器MSR。3.根据权利要求2所述的设备,包括:所述安全组管理器要在采样完成采样间隔时生成中断。4.根据权利要求3所述的设备,其中,只有发送要创建所述安全计数器组的请求的SW进程能够响应于所述中断来校验所述一个或多个计数器MSR和所述一个或多个签名MSR。5.根据权利要求1所述的设备,包括:所述安全组管理器要:接收要删除所述安全计数器组的请求;使用所述SW进程的公钥来校验要删除所述安全计数器组的请求;以及当要删除所述安全计数器组的请求得到校验时,停止分配给所述安全计数器组的一个或多个性能监控计数器的采样,释放所述一个或多个性能监控计数器,并删除所述安全计数器组。6.根据权利要求1所述的设备,其中,所述一个或多个性能监控计数器包括零个或多个固定计数器和零个或多个可编程通用计数器。7.根据权利要求1所述的设备,其中,所述一个或多个性能监控计数器一次被分配给仅一个安全计数器组。8.一种方法,包括:在处理器的安全性能监控单元(SPMU)中,从由所述处理器执行的软件(SW)进程接收要在所述SPMU中创建安全计数器组的请求,所述请求包括所述SPMU的一个或多个性能监控计数器的标识;确定所述一个或多个性能监控计数器的可用性,当所述一个或多个性能监控计数器可用时,创建所述安全计数器组,将所述一个或多个性能监控计数器分配给所述安全计数器组,并保存所述SW进程的公钥;接收并保存所述安全计数器组的私钥;
从所述SW进程接收要配置所述安全计数器组的请求;使用所述SW进程的公钥校验配置;以及当所述配置得到校验时开始所述一个或多个性能监控计数器的采样。9.根据权利要求8所述的方法,包括:针对一样本,以用所述安全计数器组的私钥签名的...

【专利技术属性】
技术研发人员:R
申请(专利权)人:英特尔公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1