CN109241743A - 记录处理器操作信息的方法、装置、系统及介质 - Google Patents

记录处理器操作信息的方法、装置、系统及介质 Download PDF

Info

Publication number
CN109241743A
CN109241743A CN201810921404.2A CN201810921404A CN109241743A CN 109241743 A CN109241743 A CN 109241743A CN 201810921404 A CN201810921404 A CN 201810921404A CN 109241743 A CN109241743 A CN 109241743A
Authority
CN
China
Prior art keywords
instruction
processor
reading instruction
system mode
specific reading
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
Application number
CN201810921404.2A
Other languages
English (en)
Inventor
刘雷波
罗奥
尹首
尹首一
魏少军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201810921404.2A priority Critical patent/CN109241743A/zh
Publication of CN109241743A publication Critical patent/CN109241743A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Storage Device Security (AREA)

Abstract

本发明提供了一种记录处理器操作信息的方法。所述方法包括:响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式,其中所述第二系统模式对所述第一系统模式具有控制权;在所述第二系统模式下,读取所述特定读指令在所述第一模式下的执行结果,并记录所述特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。本发明还提供了一种记录处理器操作信息的装置、系统及介质。本发明能够准确有效地获取并记录处理器执行所述特定读指令的操作信息,消除由于无法一致生成所述特定读指令的操作信息对安全检测带来的影响。

Description

记录处理器操作信息的方法、装置、系统及介质
技术领域
本发明涉及处理器领域,更具体地,涉及一种记录处理器操作信息的方法、装置、系统及介质。
背景技术
随着网络信息化等新技术的大规模应用,信息安全成为日益严峻的问题。通常我们讨论的信息安全都局限于网络安全、软件安全等方面,但是随着近年来研究表明,硬件安全也应受到关注。硬件设计的规模随着硬件设计水平的提升日渐提升,使得硬件木马成为可能:当前以CPU(处理器)为代表的大规模电路中用到的硬件IP(知识产权)的来源多样化,硬件设计的流程复杂化,设计制造流程分工细化等因素造成了硬件最终产品的安全可控性下降。在设计中被注入恶意木马或者漏洞(下文简称木马)的可能性增加,同时硬件规模的增加也增加了木马被识别和发现的困难。近年来,随着信息安全概念的发展,硬件的安全性逐渐成为信息安全的研究热点。
发明内容
在对处理器进行安全性检测时,可以实现为对处理器在某一阶段的运行过程(即,目标运行过程)的安全性检测。在基于重放执行的处理器安全检测过程中,如何准确获得处理器在目标运行过程中的输入信息是实现有效安全检测的基础。
本发明的一个方面提供了一种记录处理器操作信息的方法。所述方法包括:响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式,其中所述第二系统模式对所述第一系统模式具有控制权;以及,在所述第二系统模式下,读取所述特定读指令在所述第一系统模式下的执行结果,并记录所述特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。
可选地,在所述响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式之前,还包括在系统初始化的过程中,为所述特定读指令设置控制位,所述控制位用于触发所述处理器从所述第一系统模式进入所述第二系统模式。
可选地,所述读取所述特定读指令在所述第一系统模式下的执行结果,包括读取所述特定读指令在所述第一系统模式下写入的寄存器。
可选地,所述特定读指令包括以下任意一种或多种:随机数读指令、时间戳读指令、处理器性能计数器读指令、以及处理器型号标识读指令。
可选地,所述指令位置用指令分支跳转次数、指令当前程序计数器指针和重复执行指令的循环次数表示。
本发明的另一方面提供了一种记录处理器操作信息的装置。所述装置包括模式控制模块、以及操作读取模块。模式控制模块用于响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式,其中所述第二系统模式对所述第一系统模式具有控制权。操作读取模块用于在所述第二系统模式下,读取所述特定读指令在所述第一系统模式下的执行结果,并记录所述特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。
可选地,所述装置还包括控制位设置模块。控制位设置模块用于在所述响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式之前,在系统初始化的过程中,为所述特定读指令设置控制位,所述控制位用于触发所述处理器从所述第一系统模式进入所述第二系统模式。
可选地,所述读取所述特定读指令在所述第一系统模式下的执行结果,包括读取所述特定读指令在所述第一系统模式下写入的寄存器。
可选地,所述特定读指令包括以下任意一种或多种:随机数读指令、时间戳读指令、处理器性能计数器读指令、以及处理器型号标识读指令。
可选地,所述指令位置用指令分支跳转次数、指令当前程序计数器指针和重复执行指令的循环次数表示。
本发明的另一方面提供了一种记录处理器操作信息的系统。所述系统包括存储有可执行指令的一个或多个存储器,以及一个或多个处理器。所述处理器执行所述指令以实现如上所述的方法。
本发明的另一方面提供了一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本发明的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。
本发明实施例能够准确有效地获取并记录处理器执行所述特定读指令的操作信息,消除现有技术中由于无法一致生成该特定读指令的操作信息而对安全检测带来的不利影响。
附图说明
为了更完整地理解本发明及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本发明实施例的记录处理器操作信息的方法、装置、系统和介质的应用场景;
图2示意性示出了根据本发明实施例的记录处理器操作信息的方法流程图;
图3示意性示出了根据本发明另一实施例的记录处理器操作信息的方法流程图;
图4示意性示出了根据本发明实施例的记录处理器操作信息的装置的框图;以及
图5示意性示出了根据本发明实施例的适用于记录处理器操作信息的计算系统的框图。
具体实施方式
以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。在下面的详细描述中,为便于解释,阐述了许多具体的细节以提供对本发明实施例的全面理解。然而,明显地,一个或多个实施例在没有这些具体细节的情况下也可以被实施。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
在使用类似于“A、B和C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B和C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。在使用类似于“A、B或C等中至少一个”这样的表述的情况下,一般来说应该按照本领域技术人员通常理解该表述的含义来予以解释(例如,“具有A、B或C中至少一个的系统”应包括但不限于单独具有A、单独具有B、单独具有C、具有A和B、具有A和C、具有B和C、和/或具有A、B、C的系统等)。本领域技术人员还应理解,实质上任意表示两个或更多可选项目的转折连词和/或短语,无论是在说明书、权利要求书还是附图中,都应被理解为给出了包括这些项目之一、这些项目任一方、或两个项目的可能性。例如,短语“A或B”应当被理解为包括“A”或“B”、或“A和B”的可能性。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本发明的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本发明的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本发明的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
本发明的实施例提供了一种记录处理器操作信息的方法、装置、系统及介质。该方法包括:响应于特定读指令的执行完成,控制处理器从第一系统模式进入第二系统模式,其中第二系统模式对第一系统模式具有控制权;以及,在第二系统模式下,读取该特定读指令在第一模式下的执行结果,并记录该特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。本发明能够准确有效地获取并记录该特定读指令的操作信息,消除现有技术中由于无法一致生成该特定读指令的操作信息而对安全检测带来的不利影响。
图1示意性示出了根据本发明实施例的记录处理器操作信息的方法、装置、系统和介质的应用场景100。需要注意的是,图1所示仅是本发明实施例可以应用的一个示例场景,以帮助本领域技术人员理解本发明的技术内容,但并不意味着本发明实施例不可以用于其他设备、系统、环境或场景。
如图1所示,该示例场景100包括处理器101、内存102、外设103、以及检测处理器104。
处理器101在目标运行过程中与内存102和/或外设103进行数据交互。该目标运行过程可以是处理器101从开机到关机的整个运行过程中的一个阶段,例如,可以将处理器101的整个运行过程划分为多个运行区间对应的多个目标运行过程,或者也可以将处理器101的整个运行过程作为一个目标运行区间。
在基于重放执行的处理器安全检测过程中,检测处理器104以处理器101在一个目标运行过程中的输入信息作为输入信息,根据处理器101在该目标运行过程中的初始运行状态信息设置检测处理器104的初始运行状态,以符合预定义行为的方式执行该目标运行过程的任务,得到检测处理器104在该目标运行过程中的输出信息和/或该目标运行过程的终止运行状态信息,然后根据检测处理器104的输出信息和/或终止状态信息,与处理器101的输出信息和/或终止状态信息进行比较,来判断处理器101在该目标运行过程中是否安全。其中,预定义行为是处理器的硬件行为标准。
在基于重放执行的处理器安全检测过程中,准确获取处理器101的操作信息对于是安全检测至关重要。其中,处理器101的操作信息包括处理器101的输入信息、初始运行状态信息、输出信息、和/或终止运行状态信息。
在处理器101的运行过程中,其输入信息分为来自处理器101外部的信息和来自处理器101内部的信息两种,这两种信息都会影响处理器101执行结果(例如,包括处理器101的内部状态信息或输出信息)。其中,来自处理器101外部的信息可以包括处理器101通过读取内存102或外设103得到的信息,该部分信息可以通过读取处理器101与内存102和/或外设103之间的交互信息获得。例如,可以在处理器101与内存102和/或外设103之间设置输入输出记录器,通过该输入输出记录器记录得到该来自处理器101外部的信息。
来自处理器101内部的信息可以包括,处理器101内部的状态数据或者特定指令的执行结果(例如,包括读取随机数(如,随机数读指令)、读取处理器标识和实时状态(如,时间戳读指令、处理器性能计数器读指令和处理器型号标识读指令)等对应的数据信息)。这些来自处理器101内部的信息就无法通过读取处理器101与内存102和/或外设103之间的交互信息获得。然而,如果不能准确地获取这些来自处理器101内部的信息,将导致无法实现基于重放的有效处理器安全检测。
本发明实施例的记录处理器操作信息的方法、装置、系统及介质可以在一定程度上准确有效地记录这些来自处理器101内部的信息,从而能够至少部分消除现有技术中由于无法一致生成这些来自处理器101内部的信息而对安全检测带来的不利影响。
根据本发明的实施例,该记录处理器操作信息的方法可以应用于检测处理器104。相应地,该记录处理器操作信息的方法的装置、介质或系统可以设置于检测处理器104中。应理解,检测处理器104仅是逻辑上的概念。例如,在使用软硬件结合实现本发明技术方案的场景中,检测处理器104可以与处理器101在物理实体上合一。
图2示意性示出了根据本发明实施例的记录处理器操作信息的方法流程图。如图2所示,根据本发明的实施例,该记录处理器操作信息的方法包括操作S201和操作S202。
在操作S201,响应于特定读指令的执行完成,控制处理器101从第一系统模式进入第二系统模式,其中第二系统模式对第一系统模式具有控制权。
在虚拟化场景中,可以将操作系统分为多层,位于上层的系统模式对位于下层的系统模式具有控制权。例如,假设操作系统分为host层(也称为物理机层)和guest层(也称为虚拟机层),那么host层对guest层具有控制权,能够决定何时进入及退出guest层。而在嵌套虚拟化场景中,操作系统往往有多个虚拟机层,此时位于上层的虚拟机层对位于下层的虚拟机层具有控制权。
在操作S202,在第二系统模式下,读取该特定读指令在第一系统模式下的执行结果,并记录该特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。
根据本发明的实施例,该特定读指令包括以下任意一种或多种:随机数读指令、时间戳读指令、处理器性能计数器读指令、以及处理器型号标识读指令。
根据本发明的实施例,该指令位置可以用运行时发生的指令分支跳转次数、指令当前程序计数器指针和重复执行指令的循环次数三个方面来描述。
根据本发明的实施例,响应特定读指令的执行完成,触发处理器101从第一系统模式进入第二系统模式,进而在第二系统模式下读取该特定读指令在第一系统模式下的执行结果,并记录该特定读指令的指令位置,从而能够准确有效地记录处理器101执行该特定指令的操作信息。因此,在基于重放的处理器安全检测过程中,检测处理器104能够准确重放该特定指令。
在一个实施例中,当处理器101执行该特定指令后(或者说,得到该特定指令的执行结果后),在操作S201中可以触发VM Exit(退出虚拟机),使处理器101从VMX Non-RootOperation模式(即虚拟机非根操作模式,为第一系统模式的一个实施例)进入RootOperation模式(即根操作模式,为第二系统模式的一个实施例),其中Root Operation模式对VMX Non-Root Operation模式具有控制权。进而在操作S202中在Root Operation模式下,读取该特定指令在VMX Non-Root Operation模式下的执行结果,并记录该特定读指令的指令位置。
根据本发明的实施例,操作S202中读取该特定读指令在第一系统模式下的执行结果,包括读取该特定读指令在该第一系统模式下写入的寄存器。例如,在进入RootOperation模式后,读取该特定指令执行后所写入的寄存器。
根据本发明的实施例,在操作S202从该特定指令执行后所写入的寄存器读取的数值、以及记录的该特定指令的指令位置,可以用于生成用于安全检测的事件记录文件,例如log(日志)文件。在一个实施例中,该指令位置用运行时发生的指令分支跳转次数branchnumber、指令当前程序计数器指针EIP和重复执行指令的循环次数ECX三个方面来描述。这样,在检测处理器104分析至该指令位置时,可以读取该log文件中记录的数据并写入相应的寄存器,用以替代从检测处理器104内部读取该数据(如,随机数、时间戳或处理器型号标识等),进而消除由于检测处理器104无法准确读取来自处理器101内部的信息而对处理器101的安全检测造成的不利影响。
图3示意性示出了根据本发明另一实施例的记录处理器操作信息的方法流程图。如图3所示,该记录处理器操作信息的方法包括操作S301、S201以及S202。其中,操作S301在操作S201之前执行。
在操作S301,在系统初始化的过程中,为该特定读指令设置控制位,该控制位用于触发处理器101从第一系统模式进入第二系统模式。例如,在系统初始化的过程中,为该特定指令设置控制位,利用该控制位引导系统在执行该特定指令后(或者说,得到该特定指令的执行结果后)触发VM Exit(退出虚拟机),使处理器101从VMX Non-Root Operation(虚拟机非根操作)模式进入Root Operation(根操作)模式。进而,可以通过操作S201和操作S202读取该特定指令的执行结果,并记录该特定指令的指令位置,以生成用于处理器安全检测的事件记录文件。
以下对本发明所涉及的特定读指令的内容进行详细介绍。如前所述,该特定指令可以是以下任意一种或多种:随机数读指令、时间戳读指令、处理器性能计数器读指令、以及处理器型号标识读指令。
随机数读指令(RDSEED,RDRAND):RDSEED(Read Random Seed)指令用于读取随机数值并存储在目的寄存器中,其中随机数值是由硬件——非确定性随机比特发生器NRBG(Non Deterministic Random Bit Generator)生成的。RDRAND(Read Random Number)指令用于读取随机数值并存储在目的寄存器中,其中随机数值是由硬件生成的,其数据长度由寄存器的容量和操作模式决定。
时间戳读指令(RDTSC,RDTSCP):RDTSC(Read Time-Stamp Counter)指令用于读取处理器时间戳计数器的当前值,并写入寄存器EDX:EAX(高32位写入EAX,低32位写入EDX)。RDTSCP(Read Time-Stamp Counter And Processor ID)指令用于读取处理器时间戳计数器的当前值,并写入寄存器EDX:EAX(高32位写入EAX,低32位写入EDX),同时还读取处理器的ID值写入ECX寄存器。
处理器性能计数器读指令(RDPMC):RDPMC(Read Performance-MonitoringCounters)指令从寄存器ECX读取处理器性能监控计数器的值,并写入寄存器EDX:EAX。
处理器型号标识及MSR读指令(CPUID,RDMSR):CPUID(CPU Identification)指令获取处理器型号和所支持的功能特性信息,并将结果返回写入寄存器EAX,EBX,ECX,EDX。RDMSR(Read From Model Specific Register)指令读取寄存器MSR(Model SpecificRegister)中的特定于某一处理器型号的信息,并将结果写入寄存器EDX:EAX。其中寄存器MSR是由寄存器ECX来索引定义的。
图4示意性示出了根据本发明实施例的记录处理器操作信息的装置400的框图。
根据本发明的实施例,该装置400包括模式控制模块410、以及操作读取模块420。根据本发明的另一些实施例,该装置400还可以包括控制位设置模块430。该装置400可以用于执行参考图2和图3所描述的记录处理器操作信息的方法。
模式控制模块410例如可以执行操作S201,用于响应于特定读指令的执行完成,控制处理器101从第一系统模式进入第二系统模式,其中第二系统模式对第一系统模式具有控制权。
操作读取模块420例如可以执行操作S202用于在第二系统模式下,读取该特定读指令在第一系统模式下的执行结果,并记录该特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。
控制位设置模块430例如可以执行操作S301,用于在操作S201之前,在系统初始化的过程中,为该特定读指令设置控制位,该控制位用于触发处理器101从第一系统模式进入第二系统模式。
根据本发明的实施例,读取该特定读指令在第一系统模式下的执行结果,包括读取该特定读指令在第一系统模式下写入的寄存器。
根据本发明的实施例,该特定读指令包括以下任意一种或多种:随机数读指令、时间戳读指令、处理器性能计数器读指令、以及处理器型号标识读指令。
根据本发明的实施例,该指令位置用运行时发生的指令分支跳转次数、指令当前程序计数器指针和重复执行指令的循环次数三个方面来描述。
根据本发明的实施例的模块、子模块、单元、子单元中的任意多个、或其中任意多个的至少部分功能可以在一个模块中实现。根据本发明实施例的模块、子模块、单元、子单元中的任意一个或多个可以被拆分成多个模块来实现。根据本发明实施例的模块、子模块、单元、子单元中的任意一个或多个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式的硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,根据本发明实施例的模块、子模块、单元、子单元中的一个或多个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
例如,模式控制模块410、操作读取模块420、以及控制位设置模块430中的任意多个可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,模式控制模块410、操作读取模块420、以及控制位设置模块430中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以通过对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式中任意一种或以其中任意几种的适当组合来实现。或者,模式控制模块410、操作读取模块420、以及控制位设置模块430中的至少一个可以至少被部分地实现为计算机程序模块,当该计算机程序模块被运行时,可以执行相应的功能。
图5示意性示出了根据本发明实施例的适用于记录处理器操作信息的计算系统500的框图。图5示出的计算机系统仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图5所示,计算系统500包括检测处理器510、和计算机可读存储介质520。检测处理器510是检测处理器104的一种实施例。该计算系统500可以执行根据本发明实施例的方法。
具体地,检测处理器510例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或专用微处理器(例如,专用集成电路(ASIC)),等等。检测处理器510还可以包括用于缓存用途的板载存储器。检测处理器510可以是用于执行根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质520,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质520可以包括计算机程序521,该计算机程序521可以包括代码/计算机可执行指令,其在由检测处理器510执行时使得检测处理器510执行根据本发明实施例的方法或其任何变形。
计算机程序521可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序521中的代码可以包括一个或多个程序模块,例如包括521A、模块521B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被检测处理器510执行时,使得检测处理器510可以执行根据本发明实施例的方法或其任何变形。
根据本发明的实施例,模式控制模块410、操作读取模块420、以及控制位设置模块430中的至少一个可以实现为参考图5描述的计算机程序模块,其在被检测处理器510执行时,可以实现上面描述的相应操作。
本发明还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的设备/装置/系统中所包含的;也可以是单独存在,而未装配入该设备/装置/系统中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被执行时,实现根据本发明实施例的方法。
根据本发明的实施例,计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本发明中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本发明中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、有线、光缆、射频信号等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本领域技术人员可以理解,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本发明中。特别地,在不脱离本发明精神和教导的情况下,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本发明的范围。
尽管已经参照本发明的特定示例性实施例示出并描述了本发明,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的多种改变。因此,本发明的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。

Claims (12)

1.一种记录处理器操作信息的方法,其特征在于,所述方法包括:
响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式,其中所述第二系统模式对所述第一系统模式具有控制权;
在所述第二系统模式下,读取所述特定读指令在所述第一系统模式下的执行结果,并记录所述特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。
2.根据权利要求1所述的方法,其特征在于,在所述响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式之前,还包括:
在系统初始化的过程中,为所述特定读指令设置控制位,所述控制位用于触发所述处理器从所述第一系统模式进入所述第二系统模式。
3.根据权利要求1或2所述的方法,其特征在于,所述读取所述特定读指令在所述第一系统模式下的执行结果,包括:
读取所述特定读指令在所述第一系统模式下写入的寄存器。
4.根据权利要求1或2所述的方法,其特征在于,所述特定读指令包括以下任意一种或多种:
随机数读指令、时间戳读指令、处理器性能计数器读指令、以及处理器型号标识读指令。
5.根据权利要求1或2所述的方法,其特征在于,所述指令位置用指令分支跳转次数、指令当前程序计数器指针和重复执行指令的循环次数表示。
6.一种记录处理器操作信息的装置,其特征在于,所述装置包括:
模式控制模块,用于响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式,其中所述第二系统模式对所述第一系统模式具有控制权;
操作读取模块,用于在所述第二系统模式下,读取所述特定读指令在所述第一系统模式下的执行结果,并记录所述特定读指令的指令位置,以生成用于处理器安全检测的事件记录文件。
7.根据权利要求6所述的装置,其特征在于,还包括:
控制位设置模块,用于在所述响应于特定读指令的执行完成,控制所述处理器从第一系统模式进入第二系统模式之前,在系统初始化的过程中,为所述特定读指令设置控制位,所述控制位用于触发所述处理器从所述第一系统模式进入所述第二系统模式。
8.根据权利要求6或7所述的装置,其特征在于,所述读取所述特定读指令在所述第一系统模式下的执行结果,包括:
读取所述特定读指令在所述第一系统模式下写入的寄存器。
9.根据权利要求6或7所述的装置,其特征在于,所述特定读指令包括以下任意一种或多种:
随机数读指令、时间戳读指令、处理器性能计数器读指令、以及处理器型号标识读指令。
10.根据权利要求6或7所述的装置,其特征在于,所述指令位置用指令分支跳转次数、指令当前程序计数器指针和重复执行指令的次数表示。
11.一种记录处理器操作信息的系统,其特征在于,包括:
一个或多个存储器,存储有可执行指令;以及
一个或多个处理器,所述处理器执行所述指令以实现根据权利要求1~5中任一项所述的方法。
12.一种非易失性存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现根据权利要求1~5中任一项所述的方法。
CN201810921404.2A 2018-08-14 2018-08-14 记录处理器操作信息的方法、装置、系统及介质 Pending CN109241743A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810921404.2A CN109241743A (zh) 2018-08-14 2018-08-14 记录处理器操作信息的方法、装置、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810921404.2A CN109241743A (zh) 2018-08-14 2018-08-14 记录处理器操作信息的方法、装置、系统及介质

Publications (1)

Publication Number Publication Date
CN109241743A true CN109241743A (zh) 2019-01-18

Family

ID=65071044

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810921404.2A Pending CN109241743A (zh) 2018-08-14 2018-08-14 记录处理器操作信息的方法、装置、系统及介质

Country Status (1)

Country Link
CN (1) CN109241743A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290355A (zh) * 2020-02-27 2020-06-16 中电九天智能科技有限公司 记录及查找log的方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104021063A (zh) * 2014-05-14 2014-09-03 南京大学 一种基于硬件虚拟化的模块化计算机取证系统及其方法
US20140373162A1 (en) * 2008-10-21 2014-12-18 Lookout, Inc. Security status and information display system
CN108345797A (zh) * 2017-08-03 2018-07-31 清华大学无锡应用技术研究院 处理器的检测方法、检测装置以及检测系统
CN108345471A (zh) * 2017-05-08 2018-07-31 清华大学 检测装置处理异步事件的方法及检测装置
CN108345791A (zh) * 2017-05-08 2018-07-31 清华大学 处理器安全检测方法、系统及检测装置
CN108345787A (zh) * 2017-02-20 2018-07-31 清华大学 确定处理器安全性的方法、检测装置及系统
CN108388814A (zh) * 2018-02-09 2018-08-10 清华大学 检测处理器的方法、检测装置以及检测系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140373162A1 (en) * 2008-10-21 2014-12-18 Lookout, Inc. Security status and information display system
CN104021063A (zh) * 2014-05-14 2014-09-03 南京大学 一种基于硬件虚拟化的模块化计算机取证系统及其方法
CN108345787A (zh) * 2017-02-20 2018-07-31 清华大学 确定处理器安全性的方法、检测装置及系统
CN108345471A (zh) * 2017-05-08 2018-07-31 清华大学 检测装置处理异步事件的方法及检测装置
CN108345791A (zh) * 2017-05-08 2018-07-31 清华大学 处理器安全检测方法、系统及检测装置
CN108345797A (zh) * 2017-08-03 2018-07-31 清华大学无锡应用技术研究院 处理器的检测方法、检测装置以及检测系统
CN108388814A (zh) * 2018-02-09 2018-08-10 清华大学 检测处理器的方法、检测装置以及检测系统

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290355A (zh) * 2020-02-27 2020-06-16 中电九天智能科技有限公司 记录及查找log的方法
CN111290355B (zh) * 2020-02-27 2021-06-22 中电九天智能科技有限公司 记录及查找log的方法

Similar Documents

Publication Publication Date Title
CN104699601B (zh) 用于执行状态机驱动的注入的方法和系统
CN104011723B (zh) 状态机晶格中的布尔逻辑
CN103930898B (zh) 程序分析/验证服务提供系统及其控制方法、程序分析/验证装置、程序分析/验证工具管理装置
CN110462588A (zh) 虚拟机运行跟踪
US10067813B2 (en) Method of analyzing a fault of an electronic system
CN105453031B (zh) 用于优化指令的方法和系统
CN109597677A (zh) 用于处理信息的方法和装置
CN106909498A (zh) 一种Java程序注入故障的方法和系统
US20140365833A1 (en) Capturing trace information using annotated trace output
CN104715202B (zh) 一种虚拟机中的隐藏进程检测方法和装置
US20200219096A1 (en) Apparatus and method for the cryptographically protected operation of a virtual machine
CN106293687B (zh) 一种打包流程的控制方法,及装置
CN107003828B (zh) 图形指令的仪器化
US8650546B2 (en) Static analysis based on observed string values during execution of a computer-based software application
CN106909509B (zh) 一种虚拟机进程代码的无代理分页式度量系统和方法
CN109241743A (zh) 记录处理器操作信息的方法、装置、系统及介质
US20140278334A1 (en) Method to verify correctness of computer system software and hardware components and corresponding test environment
CN111176663B (zh) 应用程序的数据处理方法、装置、设备及存储介质
Mohamed et al. Performance and Dependability evaluation of distributed event-based systems: a dynamic code-injection approach
US9934006B2 (en) Scalable code division and workflow chart
CN110516445A (zh) 反检测恶意代码的识别方法、装置及存储介质
US20210174939A1 (en) Deep learning system for detecting acute intracranial hemorrhage in non-contrast head ct images
CN106155880B (zh) 一种基于策略的自动化程序分析系统和方法
CN103853643B (zh) 由安全关键系统中的可编程电路测试存储器的装置和方法
CN109062750A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190118