CN108345471B - 检测装置处理异步事件的方法及检测装置 - Google Patents

检测装置处理异步事件的方法及检测装置 Download PDF

Info

Publication number
CN108345471B
CN108345471B CN201710316446.9A CN201710316446A CN108345471B CN 108345471 B CN108345471 B CN 108345471B CN 201710316446 A CN201710316446 A CN 201710316446A CN 108345471 B CN108345471 B CN 108345471B
Authority
CN
China
Prior art keywords
asynchronous event
asynchronous
event
processor
tested 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
Application number
CN201710316446.9A
Other languages
English (en)
Other versions
CN108345471A (zh
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 CN201710316446.9A priority Critical patent/CN108345471B/zh
Priority to US15/895,977 priority patent/US10684896B2/en
Publication of CN108345471A publication Critical patent/CN108345471A/zh
Application granted granted Critical
Publication of CN108345471B publication Critical patent/CN108345471B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/32Address formation of the next instruction, e.g. by incrementing the instruction counter
    • G06F9/321Program or instruction counter, e.g. incrementing
    • 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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Abstract

本发明提供了一种检测装置处理异步事件的方法及检测装置,所述方法包括:获取被测处理器在目标运行过程中执行异步事件的指令位置;以符合预定义行为的方式执行所述目标运行过程的任务时,在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准。本发明实施例中,获取被测处理器在目标运行过程中执行异步事件的指令位置,并在所述指令位置执行所述异步事件,可使检测装置与被测处理器在相同的指令位置处理相同的异步事件。这样,在对处理器进行安全性检测时,可以使用本发明实施例的方法和装置消除异步事件这一不确定性因素的影响。

Description

检测装置处理异步事件的方法及检测装置
技术领域
本发明涉及计算机技术领域,尤其涉及一种检测装置处理异步事件的方法及检测装置。
背景技术
随着集成电路技术的高速发展,数字系统的规模正在急剧增加。复杂数字系统中常常包含多个处理器、大量的硬件IP(Intellectual Property,知识产权)以及外部设备。为了提高数字系统的效率,系统在工作过程中会使用大量的异步事件。由于异步事件的不确定性,其广泛存在给系统的安全性检测甚至数字系统的验证都带来了巨大的挑战。
发明内容
为解决现有技术中的上述技术问题,本发明实施例提供了一种检测装置处理异步事件的方法及检测装置,可以将被测处理器执行的异步事件对齐到指令,进而消除了异步事件这一不确定因素的影响。
本发明实施例一方面提供了一种检测装置处理异步事件的方法,所述方法包括:
获取被测处理器在目标运行过程中执行异步事件的指令位置;
以符合预定义行为的方式执行所述目标运行过程的任务时,在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准。
本发明实施例另一方面还提供了一种检测装置,所述检测装置包括:
获取单元,用于获取被测处理器在目标运行过程中执行异步事件的指令位置;
对齐单元,用于以符合预定义行为的方式执行所述目标运行过程的任务时,在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准。
本发明实施例中,获取被测处理器在目标运行过程中执行异步事件的指令位置,并在所述指令位置执行所述异步事件,可使检测装置与被测处理器在相同的指令位置处理相同的异步事件。这样,在对处理器进行安全性检测时,可以使用本发明实施例的方法和装置消除异步事件这一不确定性因素的影响。此外,在数字系统验证中,利用本发明实施例的方法和装置,可缩小被测系统的不同层次验证平台的差异,进而加快问题的重现,使被测系统的调试得到简化。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例检测装置处理异步事件的方法的流程示意图;
图2为本发明实施例记录异步事件及被测处理器执行所述异步事件指令位置的流程示意图;
图3为本发明实施例提供的检测装置的结构示意图;
图4为本发明另一实施例提供检测装置的结构示意图;
图5为本发明实施例记录单元的结构示意图;
图6为本发明实施例又一检测装置的结构示意图;
图7为本发明实施例电子设备的系统构成的示意框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
硬件安全是软件安全的基石。所有的软件安全实现方法都是基于硬件可信的假设,即硬件应该按照其手册所定义的行为进行工作。目前大多数情况是在设计环节、出厂环节对硬件进行功能和性能检测,由于硬件出厂后是以黑盒子的面目出现在用户的系统中(不像软件木马,其代码是存在于系统中的,可以被读取和分析),硬件的行为是很难监控或感知的。此外,由于难以判断硬件行为的合理性,目前没有针对硬件安全性的研究。应理解的是,本发明提出的检测装置处理异步事件的方法及检测装置不仅可以应用到上述硬件安全检测领域,只要不脱离本发明的精神和宗旨,即使应用到其它技术领域也应落在本发明的保护范围内。
在安全检测领域中,检测系统需要确定性的现场才能判定被测系统的执行过程以及结果是否符合预期,异步事件的不确定性使得被测系统的安全性检测难以实现。过程的安全性检测需要使用另外一套或者多套系统来执行与被测系统完全相同的任务。而异步事件,比如DMA(Direct Memory Access,直接内存存取)操作,若无法原子的执行(在计算机领域,如果说一个操作是原子的,是指“不可被中断的一个或一系列操作”,原子的异步事件可以理解为不可分的异步事件)并对齐到指令,会使检测系统的执行过程存在一定的不确定性。这种不确定性来自于检测系统无法准确知晓并实现与被测系统完全一样的DMA到达时间、结束时间以及整个中间过程,检测系统也就无法实现与被测系统完全一致的行为,因而无法给出合理的安全性判定结果。
又如,在复杂数字系统验证的过程中,如果在某一层次的验证平台上发现的问题,往往需要在更底层的验证平台上重现,才能进一步的分析出原因、找出错误所在。而执行过程中存在大量的异步事件,使得数字系统中的多个处理器、硬件IP以及外设的行为在更换平台后难以准确的重现,这给数字系统的验证和调试工作带来了一定干扰。因为调试人员在发现问题后,无法判断问题是平台行为不一致导致的问题,还是真正的错误,或者真正的错误就被这种不一致直接掩盖掉了。
本发明实施例中,获取被测处理器在目标运行过程中执行异步事件的指令位置,并在所述指令位置执行所述异步事件,可使检测装置与被测处理器在相同的指令位置处理相同的异步事件。这样,在对处理器进行安全性检测时,可以使用本发明实施例的方法和装置消除异步事件这一不确定性因素的影响。此外,在数字系统验证中,利用本发明实施例的方法和装置,可缩小被测系统的不同层次验证平台的差异,进而加快问题的重现,使被测系统的调试得到简化。
具体地,该检测装置可以与被测处理器集成在同一个芯片上,也可以实现为独立的芯片,还可以实现为其它的装置形式,本发明对此不作限定。例如,可以将本发明实施例的一部分功能与被测处理器集成在同一个芯片上,而剩余的其他功能实现为独立的一个或多个芯片,这些变化例都应落入本发明的保护范围。
图1为本发明实施例检测装置处理异步事件的方法的流程示意图。如图1所示,该方法包括:
步骤S11,获取被测处理器在目标运行过程中执行异步事件的指令位置。
步骤S12,以符合预定义行为的方式执行所述目标运行过程的任务时,在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准。
本发明实施例的异步事件可以包括处理器系统中定义的一种或多种异步事件,例如中断、陷阱、DMA、MMIO中的一种或多种。应理解的是,本发明并不限定异步事件的类型。在一个实施例中,被测处理器与外设连接时,外设可能向与其连接的被测处理器发起数据读写请求,这些外设发起的数据读写操作请求即为异步事件。其中,外设发起的数据读写操作例如可以包括DMA、P2P(Peer to Peer,设备间通信)等类型的数据读写操作。应理解的是,本发明实施例中的异步事件只涉及经过被测处理器的P2P数据读写操作,而不涉及不经过被测处理器的P2P数据读写操作。随着技术的发展,处理器系统中可能定义更多类型的异步事件,也可能减少异步事件的种类,相应地本发明涉及的异步事件种类也可能随之变化。还应理解的是,用户也可以自定义本发明的异步事件类型。
还应理解的是,被测处理器系统可以将异步事件分解为多个子事件,对于分解后的每个子事件都可使用本发明实施例的处理方法。这样,本发明可以对齐每个子事件,简化了系统设计难度,提升了运行效率。
在一个实施例中,被测处理器的实时运行过程可以划分为一个或多个检测区间。例如,可以将被测处理器从开机到关机的整个运行过程作为目标运行过程,也可以将整个运行过程划分为多个检测区间对应的多个目标运行过程。这样,在检测装置获取被测处理器执行异步事件的指令位置时,可以实现为获取被测处理器在某一检测区间(即,目标运行过程)中执行异步事件的指令位置。在检测装置获取当前检测区间的被测处理器执行异步事件的指令位置后,还可以继续获取被测处理器在下一个检测区间的执行异步事件的指令位置,之后在所述指令位置执行相应的异步事件。应理解的是,本发明实施例并不限定检测区间的数量或长度,以上实施方式的变化例都应落在本发明的保护范围内。
预定义行为是处理器的硬件行为标准,其中硬件行为标准是指在解析与执行软件指令流的过程中处理器的行为标准。在一个实施例中,处理器的硬件行为标准可以是处理器说明书或其它规范化文档中规定的行为标准。例如,对于指令集处理器而言,预定义行为可以包括但不限于:处理器所实现的指令集中规定的指令行为,对中断的响应和处理行为,以及处理器的输入输出端口的行为等行为。在一个实施例中,可以预先根据处理器的硬件行为标准设计检测装置中的处理器或者为其编写程序,进而使检测装置在运行过程中符合预定义行为。在另一实施例中,检测装置可使用可重构处理器实现。这种情况下,可预先根据处理器的硬件行为标准编写算法,并将该算法存储在检测装置的存储器中。这样,在检测装置开始运行时,可以从存储器中读取相关算法,并根据该算法进行重构,从而使检测装置在运行过程中符合预定义行为的要求。
由于被测处理器对于用户来说是个黑盒子,它在实际运行过程中是否以符合预定义行为的方式来执行目标运行过程中的任务是未知的。因此,比较在执行相同任务时被测处理器与检测装置两者的硬件执行轨迹和结果的异同,是判断硬件安全性的重要依据。其中,预定义行为是可以被用户所定义和修改的,具有很好的可移植性,可以应用于不同型号处理器的安全检测,解决了处理器硬件黑盒的难题。
在一个实施例中,在检测装置以符合预定义行为的方式执行所述目标运行过程中的任务之前,还需要记录所述异步事件及被测处理器执行所述异步事件的指令位置。记录所述异步事件时,可以只记录异步事件的标识,也可以记录异步事件的具体内容,本发明并不限制。在记录异步事件时所记录的具体内容可由用户预先设置。在处理器运行过程中,可以使用虚拟机等软件技术生成异步事件记录。不使用虚拟机也可以在操作系统层使用中断服务完成相关功能,或者由硬件完成全部记录过程。当然通知的方式也并不仅限于中断,轮询、结合硬件缓存队列都可以作为实现的具体方法。在被处理器被通知有异步事件发生时,处理器可以利用内部的指令计数器等设施获得发生异步事件的位置。此后,可以利用虚拟机或者插桩的技术将这些异步事件发生的位置记录下来,即为被测处理器执行异步事件的指令位置。
在一个实施例中,不在指令位置记录异步事件的具体内容,而只记录异步事件的标识及其具体内容的存储地址。这样的情况下,检测装置需要根据该存储地址来获取异步事件的具体内容。当然也可记录异步事件的具体内容,但这种方案的执行效率比较低。因此,可以将这些异步事件的具体内容记录在记录模块,而仅在发生异步事件的指令位置上记录此异步事件在记录模块中的存储位置即可。在进行安全性检测时,通过访问记录模块来获得异步事件的具体内容。在进行安全性检测时,检测装置根据异步事件的详细内容将异步事件对齐到指令,进而根据对齐后的执行结果来确定处理器硬件的安全性。具体实施时,可以按照图2所示流程来记录异步事件以及被测处理器执行所述异步事件的指令位置:
步骤S21,解析所述异步事件,获取所述异步事件的类型。
在一个实施例中,检测装置截获并解析PCIe(Peripheral ComponentInterconnect express,外设组件扩展总线)数据包的内容,以确定将要发生的异步事件的类型与具体内容。例如,可以根据PCIE数据包中的头信息确定异步事件的种类,根据PCIe中的内容确定异步事件的具体内容。应理解的是,PCIe数据包仅是一个具体的实施例,本发明实施例并不限于此。
步骤S22,根据所述异步事件的类型,判断所述异步事件是否为目标异步事件。当所述异步事件为目标异步事件时,进行步骤S23进行处理,如果所述异步事件并非目标异步事件,则将该异步事件丢弃,不作记录(步骤S24)。
步骤S23,请求所述被测处理器处理所述异步事件,以及记录所述异步事件及所述被测处理器执行所述异步事件的指令位置。
例如,可以将所述异步事件以及执行所述异步事件的指令位置可以记录于检测装置的记录装置中。该记录装置可以设置于被测处理器与外设之间,用于记录外设发起的数据读写操作(即,异步事件),以及被测处理器执行所述数据读写操作时的指令位置。当然,在具体实施时,外设发起的数据读写操作的记录信息也可以记录于其他位置,例如检测装置的其它存储器中,本发明对此不作限定。以记录于记录装置为例,由于相对于被测处理器而言,外设发起的数据读写操作为异步事件。
记录装置记录该外设发起的数据读写操作时,检测装置可以请求被测处理器处理该外设发起的数据读写操作。在接收到被测处理器发送的指示时,记录装置再将外设发起的数据读写操作的数据包发送至被测处理器。被测处理器在接收到上述记录装置发送的请求时,会暂停执行当前的指令流,进而执行该外设发起的数据读写操作。这时,检测装置可以利用记录装置来记录该外设发起的数据读写操作和当前的指令位置(即,被测处理器执行该外设发起写数据读写操作的指令位置)。具体地,检测装置可以使用中断的方式来请求被测处理器暂停执行指令流,进而转去执行该外设发起的数据读写操作。这样,检测装置检测被测处理器的安全性时,获取前述外设发起的数据读写操作及指令位置,以在所述指令位置执行所述外设发起的数据读写操作。
本发明实施例可以消除外设发起的异步数据读写操作带来的不确定性影响,为检测CPU的输入输出安全提供了基础。
在一个实施例中,根据所述异步事件的类型来判断所述异步事件是否为目标异步事件时,可以以该异步事件的类型为关键字查找预设的安全性级别列表,获取该异步事件的安全性级别,并结合检测装置当前设置的安全性级别和该异步事件的安全性级别,判断该异步事件是否为目标异步事件。其中,所述预设的安全性级别列表包括异步事件的类型及其对应的安全性级别。
在一个实施例中,可以使用表格记录所要对齐的异步事件类型,这样处理器查表后确定是否需要对齐所记录的异步事件。用户还可以根据安全性检测的需要更新该表格,进而设置所要对齐的异步事件类型。例如,可以根据安全性级别设置不同的表格内容。
在一个实施例中,在按照图2所示的步骤记录所述异步事件以及被测处理器执行所述异步事件的指令位置时,还可以记录所述异步事件的标识与所述异步事件的具体内容的存储地址,检测装置在所述指令位置执行所述异步事件时,可根据所述存储地址获取所述异步事件的具体内容,并根据所述异步事件的具体内容,在所述指令位置执行该异步事件。
在一个实施例中,除记录所述异步事件及被测处理器执行所述异步事件的指令位置外,上述的方法还包括:存储被测处理器执行所述异步事件的结果,以用于对被测处理器进行安全性检测,即根据所述检测装置在所述指令位置执行所述异步事件的结果与所述被测处理器执行所述异步事件的结果,确定所述被测处理器是否安全。当检测装置在所述指令位置执行所述异步事件的结果与所述被测处理器执行所述异步事件的结果一致时,则可以判断被测处理器安全,若不一致,则说明被测处理器不安全。
下面举例说明判断被测处理器是否安全的具体过程。获取被测处理器与外设之间的数据读写操作的记录信息,数据读写操作包括外设发起的数据读写操作。根据数据读写操作的记录信息(即,以上存储的被测处理器执行所述外设发起的数据读写操作的结果)与检测装置执行数据读写操作的结果,确定处理器是否安全。
若数据读写操作为DMA类型的读操作,则确定被测处理器是否安全的具体过程可以包括:将记录信息中的操作数据的数据内容与检测装置执行DMA类型的读操作后存储器中对应的数据内容进行比较;在两者一致时,确定被测处理器在执行DMA类型的读操作时安全,否则确定被测处理器在执行DMA类型的读操作时不安全。
若数据读写操作为DMA类型的写操作,则确定被测处理器是否安全的具体过程可以包括:将记录信息中被测处理器执行完DMA类型的写操作后的终止运行状态信息,与检测装置执行完DMA类型的写操作后的终止运行状态信息进行比较,当二者一致时,确定被测处理器在执行DMA类型的写操作时安全。
若数据读写操作为P2P类型的数据读写操作,则确定被测处理器是否安全的具体过程可以包括:将记录信息中从外设流向处理器的数据内容与从处理器流向目标外设的数据内容进行比较;在二者一致时,确定被测处理器在执行P2P类型的数据读写操作时安全,否则确定被测处理器在执行P2P类型的数据读写操作时不安全。
应理解的是,本说明书中所认定的处理器安全是一个暂时安全的概念。通常地,检测处理器是否安全时,需要对被测处理器的多项参数进行比较。这种情况下,本说明书中所认定的“被测处理器安全”是一个暂态的安全,需要比较完所有的参数时,才能最终确定被测处理器是安全的。
基于与图1所示的检测装置处理异步事件的方法相同的发明构思,本发明实施例还提供了一种检测装置,具体如下面实施例所述。由于该检测装置解决问题的原理与图1中的方法相似,因此该检测装置的实施可以参见图1所示方法的实施,重复之处不再赘述。
如图3所示,本发明实施例还提供了一种检测装置,其主要包括获取单元31和对齐单元32。其中,获取单元31用于获取被测处理器在目标运行过程中执行异步事件的指令位置;对齐单元32用于以符合预定义行为的方式执行所述目标运行过程的任务时,在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准。
如图4所示,在另一实施例中,本发明实施例提供的检测装置还包括一记录单元33,用于记录所述异步事件及所述被测处理器执行所述异步事件的指令位置。
本发明实施例提供的异步时间记录单元33主要包括解析模块41、判断模块42及处理模块43,其结构如图5所示。其中,解析模块41用于解析所述异步事件,获取所述异步事件的类型;判断模块42用于根据所述异步事件的类型,判断所述异步事件是否为目标异步事件;处理模块43用于当所述异步事件为目标异步事件时,请求所述被测处理器处理所述异步事件,以及记录所述异步事件及所述被测处理器执行所述异步事件的指令位置。
在一个实施例中,判断模块42在判断所述异步事件是否为目标异步事件时,通常以所述异步事件的类型为关键字查找预设的安全性级别列表,获取所述异步事件的安全性级别,根据所述检测装置当前设置的安全性级别与所述异步事件的安全性级别,判断所述异步事件是否为目标异步事件。如果所述异步时间的安全性级属于检测装置当前设置的需要记录的异步事件的安全性级别,则判定所述异步事件为目标异步事件。其中,所述预设的安全性级别列表包括异步事件的类型及其对应的安全性级别。
在一个实施例中,上述的记录单元33还用于记录所述异步事件的标识与所述异步事件的具体的内容的存储地址,对齐单元32根据所述存储地址获取所述异步事件的具体内容,以及在所述指令位置执行所述异步事件。
在一个实施例中,处理模块43还用于存储所述被测处理器执行所述异步事件的结果。
本发明实施例还提供了一种检测装置,相较于图4中的检测装置,本发明实施例还包括安全性确定单元34,其结构如图6所示。安全性确定单元34用于根据检测装置在所述指令位置执行所述异步事件的结果与所述被测处理器执行所述异步事件的结果,以确定所述被测处理器是否安全。
本发明实施例中,获取被测处理器在目标运行过程中执行异步事件的指令位置,并在所述指令位置执行所述异步事件,可使检测装置与被测处理器在相同的指令位置处理相同的异步事件。这样,在对处理器进行安全性检测时,可以使用本发明实施例的方法和装置消除异步事件这一不确定性因素的影响。此外,在数字系统验证中,利用本发明实施例的方法和装置,可缩小被测系统的不同层次验证平台的差异,进而加快问题的重现,使被测系统的调试得到简化。
本发明实施例还提供了一种电子设备,该电子设备可以是台式计算机等,本实施例不限于此。在本实施例中,该电子设备可以参照图1所示方法的实施及图3所示装置的实施,其内容被合并于此,重复之处不再赘述。
图7为本发明实施例的电子设备的系统构成示意图。如图7所示,该电子设备可以包括处理器71和存储器72,其中存储器72耦合至处理器71。值得注意的是,该图是示例性的,还可以使用其他类型的结构来补充或替代该结构,以实现通信、检测或其它功能。
在一个实施例中,获取被测处理器在目标运行过程中执行异步事件的指令位置的功能可以被集成到处理器71中。其中,处理器71可以被配置为进行如下控制:获取被测处理器在目标运行过程中执行异步事件的指令位置;以符合预定义行为的方式执行所述目标运行过程的任务时,在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准。
其中,在以符合预定义行为的方式执行所述目标运行过程的任务之前,处理器71还可以被配置为记录所述异步事件及所述被测处理器执行所述异步事件的指令位置,并将记录的内容存储在存储器72中。
其中,在记录所述异步事件及所述被测处理器执行所述异步事件的指令位置时,处理器71被配置为进行如下操作:解析所述异步事件,获取所述异步事件的类型;然后根据所述异步事件的类型,判断所述异步事件是否为目标异步事件;当所述异步事件为目标异步事件时,请求所述被测处理器处理所述异步事件,以及记录所述异步事件及所述被测处理器执行所述异步事件的指令位置。
其中,在根据所述异步事件的类型判断其是否为目标异步事件时,可以以该类型为关键字查找预设的安全性级别列表,获取所述异步事件的安全性级别,再结合所述检测装置当前设置的安全性级别与所述异步事件的安全性级别,判断所述异步事件是否为目标异步事件。其中,所述预设的安全性级别列表包括异步事件的类型及其对应的安全性级别。如果所述异步事件的安全性级别在当前设置的安全性级别列表中时,判定所述异步事件为目标异步事件。
其中,在记录所述异步事件时包括记录所述异步事件的标识与所述异步事件的具体内容的存储地址,则在所述指令位置执行所述异步事件时,可以根据所述存储地址获取所述异步事件的具体内容,并在所述指令位置执行所述异步事件。
其中,记录所述异步事件及所述被测处理器执行所述异步事件的指令位置时,还可以一并存储被测处理器执行所述异步事件的结果。在一个实施例中,处理器71还被配置为根据所述检测装置在所述指令位置执行所述异步事件的结果与所述被测处理器执行所述异步事件的结果,确定所述被测处理器是否安全。
在一个实施例中,还可以用一个与处理器71分开配置的装置来记录所述异步事件及所述被测处理器执行所述异步事件的指令位置,和/或被测处理器执行所述异步事件的结果,例如可以将该装置配置为与处理器71连接的芯片,通过处理器71的控制来实现对上述指令位置和/或被测处理器执行所述异步事件的结果的记录。
如图7所示,该电子设备还可以包括:输入单元73、显示单元74和电源75。值得注意的是,该电子设备也并不是必须要包括图7中所示的所有部件。此外,电子设备还可以包括图7中没有示出的部件,可以参考现有技术。
如图7所示,处理器71有时也称为控制器或操作控件,可以包括微处理器或其它处理器装置和/或逻辑装置,该处理器71接收输入并控制电子设备的各个部件的操作。
其中,存储器72例如可以是缓存器、闪存、硬驱、可移动介质、易失性存储器、非易失性存储器或其它合适装置中的一种或多种,可存储上述处理器71的配置信息、处理器71执行的指令、记录的被测处理器执行所述异步事件的指令位置和/或被测处理器执行所述异步事件的结果等信息中的一种或多种。处理器71可以执行存储器72存储的程序,以实现信息存储或处理等。在一个实施例中,存储器72中还包括缓冲存储器,即缓冲器,以存储中间信息。
输入单元73例如可以为按键输入装置或触摸输入装置,用于向处理器71提供输入。显示单元74用于进行图像或文字等显示对象的显示,该显示单元例如可以为LCD显示器,但本发明并不限于此。电源75用于向电子设备提供电力。
本发明实施例还提供一种计算机可读指令,其中当在电子设备中执行所述指令时,所述程序使得电子设备执行如图1所示的检测装置处理异步事件的方法。
本发明实施例还提供一种存储有计算机可读指令的存储介质,其中所述计算机可读指令使得电子设备执行如图1所示的检测装置处理异步事件的方法。
应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
还应理解,在本发明实施例中,术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系。例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (9)

1.一种检测装置处理异步事件的方法,其特征在于,所述方法包括:
记录在被测处理器的目标运行过程中发生的异步事件,以及记录所述被测处理器在所述目标运行过程中执行所述异步事件的指令位置与所述被测处理器执行所述异步事件的结果,其中所述目标运行过程为所述被测处理器实时运行过程的子过程,所述记录通过硬件、虚拟机软件或操作系统层的中断服务实现;
获取所述被测处理器在所述目标运行过程中执行所述异步事件的所述指令位置;
以符合预定义行为的方式执行所述目标运行过程的任务时,所述检测装置在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准;
若所述检测装置在所述指令位置执行所述异步事件的结果与所述被测处理器执行所述异步事件的结果一致,则确定所述被测处理器在执行所述异步事件时是安全的。
2.根据权利要求1所述的方法,其特征在于,所述记录在被测处理器的目标运行过程中发生的异步事件,以及记录所述被测处理器在所述目标运行过程中执行所述异步事件的指令位置,包括:
解析所述异步事件,获取所述异步事件的类型;
根据所述异步事件的类型,判断所述异步事件是否为目标异步事件;
当所述异步事件为目标异步事件时,请求所述被测处理器处理所述异步事件,以及记录所述异步事件及所述被测处理器在所述目标运行过程中执行所述异步事件的指令位置。
3.根据权利要求2所述的方法,其特征在于,所述根据所述异步事件的类型,判断所述异步事件是否为目标异步事件,包括:
以所述异步事件的类型为关键字查找预设的安全性级别列表,获取所述异步事件的安全性级别,其中所述预设的安全性级别列表包括异步事件的类型及其对应的安全性级别;
根据所述检测装置当前设置的安全性级别与所述异步事件的安全性级别,判断所述异步事件是否为目标异步事件。
4.根据权利要求1所述的方法,其特征在于,所述记录在被测处理器的目标运行过程中发生的异步事件包括:记录所述异步事件的标识与所述异步事件的具体内容的存储地址;
所述在所述指令位置执行所述异步事件,包括:根据所述存储地址获取所述异步事件的具体内容,以及根据所述异步事件的具体内容在所述指令位置执行所述异步事件。
5.一种检测装置,其特征在于,包括:
记录单元,用于记录在被测处理器的目标运行过程中发生的异步事件,以及记录所述被测处理器在所述目标运行过程中执行所述异步事件的指令位置与所述被测处理器执行所述异步事件的结果,其中所述目标运行过程为所述被测处理器实时运行过程的子过程,所述记录通过硬件、虚拟机软件或操作系统层的中断服务实现;
获取单元,用于从所述记录单元中获取所述被测处理器在所述目标运行过程中执行所述异步事件的所述指令位置;
对齐单元,用于以符合预定义行为的方式执行所述目标运行过程的任务时,在所述指令位置执行所述异步事件,其中所述预定义的行为是处理器的硬件行为标准;
安全性确定单元,用于若所述对齐单元在所述指令位置执行所述异步事件的结果与所述被测处理器执行所述异步事件的结果一致,则确定所述被测处理器在执行所述异步事件时是安全的。
6.根据权利要求5所述的检测装置,其特征在于,所述记录单元包括:
解析模块,用于解析所述异步事件,获取所述异步事件的类型;
判断模块,用于根据所述异步事件的类型,判断所述异步事件是否为目标异步事件;
处理模块,用于当所述异步事件为目标异步事件时,请求所述被测处理器处理所述异步事件,以及记录所述异步事件及所述被测处理器在所述目标运行过程中执行所述异步事件的指令位置。
7.根据权利要求6所述的检测装置,其特征在于,所述判断模块具体用于:
以所述异步事件的类型为关键字查找预设的安全性级别列表,获取所述异步事件的安全性级别,其中所述预设的安全性级别列表包括异步事件的类型及其对应的安全性级别;根据所述检测装置当前设置的安全性级别与所述异步事件的安全性级别,判断所述异步事件是否为目标异步事件。
8.根据权利要求5所述的检测装置,其特征在于,记录在被测处理器的目标运行过程中发生的异步事件时,所述记录单元具体用于:记录所述异步事件的标识与所述异步事件的具体内容的存储地址;
所述对齐单元还用于:根据所述存储地址获取所述异步事件的具体内容,以及根据所述异步事件的具体内容在所述指令位置执行所述异步事件。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有可执行如权利要求1-4中任一项所述方法的指令。
CN201710316446.9A 2017-02-20 2017-05-08 检测装置处理异步事件的方法及检测装置 Active CN108345471B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201710316446.9A CN108345471B (zh) 2017-05-08 2017-05-08 检测装置处理异步事件的方法及检测装置
US15/895,977 US10684896B2 (en) 2017-02-20 2018-02-13 Method for processing asynchronous event by checking device and checking device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710316446.9A CN108345471B (zh) 2017-05-08 2017-05-08 检测装置处理异步事件的方法及检测装置

Publications (2)

Publication Number Publication Date
CN108345471A CN108345471A (zh) 2018-07-31
CN108345471B true CN108345471B (zh) 2019-10-25

Family

ID=62963206

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710316446.9A Active CN108345471B (zh) 2017-02-20 2017-05-08 检测装置处理异步事件的方法及检测装置

Country Status (1)

Country Link
CN (1) CN108345471B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109241743A (zh) * 2018-08-14 2019-01-18 清华大学 记录处理器操作信息的方法、装置、系统及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101950259A (zh) * 2008-12-30 2011-01-19 英特尔公司 在硬件中登记用户处理程序以用于事务存储器事件处理

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8631284B2 (en) * 2010-04-30 2014-01-14 Western Digital Technologies, Inc. Method for providing asynchronous event notification in systems
CN102117223B (zh) * 2011-02-22 2012-12-26 哈尔滨工业大学 利用异步通知实现lxi载板应用程序对m模块中断响应的方法
CN103927162B (zh) * 2013-01-15 2018-09-21 马维尔国际贸易有限公司 用于异步事件报告的系统和方法
CN103761175B (zh) * 2013-11-25 2016-08-17 中国科学院计算技术研究所 一种Linux系统下程序执行路径监测系统及其方法

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101950259A (zh) * 2008-12-30 2011-01-19 英特尔公司 在硬件中登记用户处理程序以用于事务存储器事件处理

Also Published As

Publication number Publication date
CN108345471A (zh) 2018-07-31

Similar Documents

Publication Publication Date Title
US20160300044A1 (en) Anti-debugging method
US10108763B2 (en) Method and simulation arrangement for simulating an automated industrial plant
CN104699601A (zh) 用于执行状态机驱动的注入的方法和系统
US8904321B1 (en) System and method for automatically generating coverage constructs and constraint solver distributions
US10353789B1 (en) Analog fault simulation control with multiple circuit representations
CN103984619A (zh) 一种网络存储系统性能监测方法
US9262305B1 (en) Simulation observability and control of all hardware and software components of a virtual platform model of an electronics system
CN109388604B (zh) 一种基于PCIe的热插拔控制方法、装置及存储介质
US9170924B2 (en) Ecosystem certification of a partner product
US9176821B2 (en) Watchpoint support system for functional simulator
CN107729231A (zh) 一种基于操作系统的故障注入方法及装置
CN108345787A (zh) 确定处理器安全性的方法、检测装置及系统
CN108345471B (zh) 检测装置处理异步事件的方法及检测装置
US20140359365A1 (en) Integrated Configuration Management and Monitoring for Computer Systems
CN106776329A (zh) 储能变流器的调试方法和调试设备
US9288336B2 (en) Management of records for an electronic device
CN109783837A (zh) 仿真设备、仿真系统、仿真方法和仿真程序
CN110399284A (zh) 一种测试用例编写与执行方法及装置
CN112817855A (zh) 系统的众测方法、设备及计算机存储介质
US10382311B2 (en) Benchmarking servers based on production data
US10684896B2 (en) Method for processing asynchronous event by checking device and checking device
CN108345791B (zh) 处理器安全检测方法、系统及检测装置
US9483591B1 (en) Assuring chip reliability with automatic generation of drivers and assertions
EP3121728B1 (en) System and method for remotely debugging a device
US10969429B1 (en) System and method for debugging in concurrent fault simulation

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
GR01 Patent grant
GR01 Patent grant