CN108388814A - 检测处理器的方法、检测装置以及检测系统 - Google Patents
检测处理器的方法、检测装置以及检测系统 Download PDFInfo
- Publication number
- CN108388814A CN108388814A CN201810139949.8A CN201810139949A CN108388814A CN 108388814 A CN108388814 A CN 108388814A CN 201810139949 A CN201810139949 A CN 201810139949A CN 108388814 A CN108388814 A CN 108388814A
- Authority
- CN
- China
- Prior art keywords
- processor
- access rights
- record
- read operation
- operation information
- 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.)
- Granted
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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
-
- 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
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/554—Detecting local intrusion or implementing counter-measures involving event detection and direct action
-
- 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/73—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 by creating or determining hardware identification, e.g. serial numbers
-
- 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/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/03—Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
- G06F2221/034—Test or assess a computer or a system
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种检测处理器的方法、检测装置以及检测系统。该方法包括:获取处理器在运行过程中对内存的访问记录,访问记录包括读操作信息及其对应的时间信息;确定访问记录中是否存在高访问权限对应的读操作信息;当存在高访问权限对应的读操作信息时,确定高访问权限对应的读操作信息是否属于越权操作。根据本发明实施例,对处理器从内存读入数据的行为进行检测分析,可以防止越权的读操作被恶意利用所带来的安全问题。
Description
技术领域
本发明涉及一种检测处理器的方法、检测装置以及检测系统。
背景技术
现代处理器通过在流水线各个阶段同时执行不同的任务来提高处理能力,为了让这个流水线机制更加高效,现代处理器又引入了分支预测机制和乱序执行机制,从而更高效地进行运算。其中,分支预测机制主要用于解决在跳转分支完全确定前,通过预测执行目标地址的代码来提高执行效率。如果预测失败,流水线会放弃预测错误的代码并回滚处理器的状态。乱序执行机制则通过将代码的执行顺序打乱来提高并行执行能力。这些处理器优化技术对于现代处理器的性能有很大的帮助。但是近期安全研究者发现,现代处理器架构的这些功能带来了安全风险,可能被攻击者利用在特定情况下进行攻击。因此,亟需设计一种硬件安全检测方案,以提高处理器的硬件安全性。
发明内容
为解决现有技术中的上述问题,本发明实施例提出检测处理器的方法、检测装置以及检测系统,对处理器从内存读入数据的行为进行检测分析,可以防止越权的读操作被恶意利用所带来的安全问题。
本发明的一个方面提供了一种检测处理器的方法。该方法包括:获取该处理器在运行过程中对内存的访问记录,该访问记录包括读操作信息及其对应的时间信息;确定该访问记录中是否存在高访问权限对应的读操作信息;当存在高访问权限对应的读操作信息时,确定该高访问权限对应的读操作信息是否属于越权操作。
可选地,在该确定该访问记录中是否存在高访问权限对应的读操作信息时,可以获取该高访问权限对应的地址空间信息;然后根据该访问记录中各个读操作信息的地址项,确定是否存在落在该高访问权限对应的地址空间的读操作信息。
可选地,在确定该高访问权限对应的读操作信息是否属于越权操作时,可以根据该高访问权限对应的读操作信息的时间信息设置时间窗;然后确定在该时间窗内,该处理器的访问权限是否为高访问权限。
可选地,在确定在该时间窗内,该处理器的访问权限是否为高访问权限时,可以确定在该时间窗内该处理器的访问权限记录中是否存在高访问权限的记录。
可选地,时间窗的长度大于预取时间差与从内存读入数据的时间开销之和。
可选地,当该处理器为多核处理器时,该访问记录还包括读操作信息所属的处理器核的标识。
可选地,在确定该高访问权限对应的读操作信息属于越权操作时,还可以保存该越权操作对应的信息,并向用户发送安全预警。
本发明的另一方面提供了一种处理器的检测装置。该检测装置包括:获取单元,用于获取该处理器在运行过程中对内存的访问记录,该访问记录包括读操作信息及其对应的时间信息;第一确定单元,用于确定该访问记录中是否存在高访问权限对应的读操作信息;第二确定单元,用于当存在高访问权限对应的读操作信息时,确定该高访问权限对应的读操作信息是否属于越权操作。
可选地,该第一确定单元具体用于,获取该高访问权限对应的地址空间信息;根据该访问记录中各个读操作信息的地址项,确定是否存在落在该高访问权限对应的地址空间的读操作信息。
可选地,该第二确定单元具体用于,根据该高访问权限对应的读操作信息的时间信息设置时间窗;确定在该时间窗内,该处理器的访问权限是否为高访问权限。
可选地,该第二确定单元具体用于,确定在该时间窗内该处理器的访问权限记录中是否存在高访问权限的记录。
可选地,该时间窗的长度大于预取时间差与从内存读入数据的时间开销之和。
可选地,当该处理器为多核处理器时,该访问记录还包括读操作信息所属的处理器核的标识。
可选地,检测装置还包括预警单元。该预警单元用于,保存该越权操作对应的信息,并向用户发送安全预警。
可选地,检测装置还包括输入输出记录单元。该输入输出记录单元设置于该处理器与该内存之间,其中该输入输出记录单元用于,记录该处理器在运行过程中对内存的访问操作;该获取单元具体用于,从该输入输出记录单元读取该访问记录。
本发明的另一方面提供了一种处理器的检测系统,用于对被测处理器进行检测。该检测系统包括:一个或多个检测处理器;存储器,用于存储一个或多个程序,其中,当该一个或多个程序被该一个或多个检测处理器执行时,使得该一个或多个检测处理器执行上述的方法。
本发明的另一方面提供了一种计算机可读存储介质,该计算机可读存储介质上存储有可执行上述方法的指令。
附图说明
为了更完整地理解本发明及其优势,现在将参考结合附图的以下描述,其中:
图1示意性示出了根据本发明实施例的检测处理器的方法、处检测装置以及检测系统的示例性系统架构100;
图2示意性示出了根据发明实施例的检测处理器的方法的流程图;
图3示意性示出了根据发明另一实施例的检测处理器的方法的流程图;
图4示意性示出了根据发明另一实施例的检测处理器的方法的流程图;
图5示意性示出了根据本发明实施例的处理器的检测装置的框图;
图6示意性示出了根据本发明另一实施例的处理器的检测系统600 的框图。
具体实施方式
以下,将参照附图来描述本发明的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。另外,本发明以下提供的各个实施例以及实施例中的技术特征可以以任意方式相互组合。
在此使用的术语仅仅是为了描述具体实施例,而并非意在限制本发明。此外,在此使用的术语“包括”、“包含”等表明了所述特征、步骤、操作和/或部件的存在,但是并不排除存在或添加一个或多个其他特征、步骤、操作或部件。
在此使用的所有术语(包括技术和科学术语)具有本领域技术人员通常所理解的含义,除非另外定义。应注意,这里使用的术语应解释为具有与本说明书的上下文相一致的含义,而不应以理想化或过于刻板的方式来解释。
附图中示出了一些方框图和/或流程图。应理解,方框图和/或流程图中的一些方框或其组合可以由计算机程序指令来实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而这些指令在由该处理器执行时可以创建用于实现这些方框图和/或流程图中所说明的功能/操作的装置。
因此,本发明的技术可以硬件和/或软件(包括固件、微代码等)的形式来实现。另外,本发明的技术可以采取存储有指令的计算机可读介质上的计算机程序产品的形式,该计算机程序产品可供指令执行系统使用或者结合指令执行系统使用。在本发明的上下文中,计算机可读介质可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,计算机可读介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。计算机可读介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
根据最新披露的“熔断”和“幽灵”两种攻击方式,攻击者反复利用CPU指令将内存的某个地址清除出CPU缓存(将清除过程称为Flush)。在一段时间后,读取该地址的内存数据并且测量读取时间(将读取并测量称为Reload)。这样,通过这种“Flush+Reload”的方式,攻击者可以清楚地知道该地址在此段时间内是否被目标程序读取过,进而反推出一些敏感信息。这是因为,一旦目标程序读取过该地址,其对应的内存就会进入CPU缓存,从而使得攻击者对该地址的访问时延明显下降。在分支预测机制与乱序执行机制下,利用上述攻击方式可以窃取处理器中的机密信息,给处理器造成了很大的安全威胁。
针对上述安全问题,本发明实施例提供了一种检测处理器的方法及装置。该方法包括:获取该处理器在运行过程中对内存的访问记录,该访问记录包括读操作信息及其对应的时间信息;确定该访问记录中是否存在高访问权限对应的读操作信息;当存在高访问权限对应的读操作信息时,确定该高访问权限对应的读操作信息是否属于越权操作。
如果检测发现访问记录中存在属于越权操作的读操作信息时,向用户发出安全警示信息,以便用户根据自己的需要采取相应的管制措施(如切断数据传输或关闭处理器等),进而防止潜在的安全隐患被恶意利用。因此,本发明实施例能够在不影响处理器高效运行性能的前提下,有效防止上述安全隐患被恶意利用,进而带来跨权限数据泄露问题,极大地提升了处理器安全性。
应理解的是,本发明实施例并不受限于上述“熔断”和“幽灵”两种攻击的应用场景,上述两种攻击方式仅是便于理解本发明实施例的一个示例,本发明实施例的保护范围应以权利要求书中限定的技术特征为准。
图1示意性示出了根据本发明实施例的检测处理器的方法、处检测装置以及检测系统的示例性系统架构100。
如图1所示,该示例性系统架构100包括被测处理器101、内存102、外设103、输入输出记录器104以及检测处理器105。在被测处理器101 的运行过程中,其与内存102和/或外设103进行数据交互。输入输出记录器104设置在被测处理器与内存102和/或外设103之间,可以记录被测处理器101在运行过程中与内存102和/或外设103之间的交互信息。在运行过程中,被测处理器101所有的访问操作都会经过输入输出记录器104,并被输入输出记录器104记录。输入输出记录器104按照操作的先后顺序依次记录被测处理器101的访问操作,形成以时间先后排序的访问序列。
访问序列可以包括:被测处理器101对内存102的读操作和写操作,被测处理器101对外设103的读操作和写操作,和/或外设103发起的读操作和写操作。本发明实施例可以基于以上系统架构100,实现对被测处理器101的安全检测。应理解的是,系统架构100仅是本发明实施例应用场景的一个示例,本发明实施例并不受限于此。例如,本发明实施例可以不使用硬件装置输入输出记录器104记录被测处理器101在运行过程中对内存的访问,而借助软件或者软硬件的结合来实现。
下面结合图2详细描述本发明实施例使用输入输出记录器104中存储的访问记录对被测处理器101进行安全检测的过程。图2示意性示出了根据发明实施例的检测处理器的方法的流程图。该检测方法可以由检测处理器105执行。如图2所示,该检测方法包括操作S201、S202和 S203。
在操作S201中,获取处理器(例如,被测处理器101)在运行过程中对内存(例如,内存102)的访问记录,该访问记录包括读操作信息及其对应的时间信息。在图1的应用场景中,可以从输入输出记录器104 读取本发明实施例中对处理器进行检测所需的访问记录。其中,对应的时间信息表示读操作发生的时刻。
应理解的是,本发明对获取访问记录的频率不作限制。例如,可以实时读取输入输出记录器104中记录的访问记录。又如,可以预先设定时间间隔,以该时间间隔为周期读取输入输出记录器104在该时间间隔中记录的访问记录。其中,该时间间隔的长度可以根据检测实时性要求进行设置。
在操作S202中,确定该访问记录中是否存在高访问权限对应的读操作信息。例如,检测处理器105可以逐条遍历访问记录中的各读操作信息,以确定该访问记录中是否存在高访问权限对应的读操作信息(即,根据处理器的设置,在高访问权限下才会发生的读操作对应的读操作信息)。当存在高访问权限对应的读操作信息时,继续操作S203,否则可以确定该访问记录中的读操作信息合法,并终止对该访问记录的检测分析。
在操作S203中,当存在高访问权限对应的读操作信息时,确定该高访问权限对应的读操作信息是否属于越权操作。即,检查与该读操作信息对应的读操作是否为被授权后的处理器行为。当属于越权操作时,可以向用户发送安全预警,否则可以认定该读操作合法,并终止对该读操作的检测分析。
可选地,在一个实施例中,在确定高访问权限对应的读操作信息属于越权操作时,保存该越权操作对应的信息,并向用户发送安全预警,以便用户根据自己的需要采取相应的管制措施,如切断数据传输或关闭处理器等。
根据本发明实施例的技术方案,对处理器从内存读入数据的行为进行检测分析,可以防止越权的读操作被恶意利用所带来的安全问题。在本发明实施例的检测方案中,能够在不影响处理器高效运行性能的前提下,预防跨权限数据泄露的问题,提升了处理器安全性。
下面详细描述被测处理器101遭遇“熔断”和“幽灵”两种攻击时,本发明实施例检测方法的有益效果。假设攻击者编写了一段恶意程序并将其放置在被测处理器101上运行。在运行过程中,该恶意程序将会反复调用CPU指令以清空缓存,并利用分支预测机制预取内存中的一些机密数据并写入缓存。由于在分支预测机制下没有有效地执行权限等安全检查,此时机密数据将被顺利地从内存读取至缓存。根据本发明实施例的技术方案,被测处理器从内存中读取该机密数据的操作将被记录在访问记录中。这样,检测装置在对访问记录检测分析时,可以通过权限检查发现该越权操作,进而及时发出安全预警,以便及时采取安全措施以防范侧信道攻击,极大地提升了处理器安全性。
图3示意性示出了根据发明另一实施例的检测处理器的方法的流程图。该方法可以由检测处理器105执行。
如图3所示,该方法包括操作S301、S302和S203。其中操作S301 和操作S302为操作S202的具体实施例的一种。
在获取被测处理器101的访问记录后,在操作S301中,获取该高访问权限对应的地址空间信息。然后,在操作S302中,根据访问记录中各个读操作信息的地址项,确定是否存在落在该高访问权限对应的地址空间中的读操作信息。
例如,在被测处理器101使用分页存储管理系统的应用场景中,检测处理器105可以预先分析被测处理器101中生效页表的地址空间和访问权限,以生成高访问权限对应的地址空间列表。并且,在被测处理器 101中的生效页表发生变化时,相应更新维护该地址空间列表。这样,在操作S301中,可以读取该地址空间列表以获取当前高访问权限对应的地址空间信息。然后,在操作S302中,逐条遍历访问记录中各个读操作信息的地址项,以检查是否有访问地址落在高访问权限对应的地址空间的读操作信息。
如果有读操作信息的访问地址落在高访问权限对应的地址空间,那么访问记录中存在高访问权限对应的读操作信息,需要在操作S203中对这部分操作信息进行检测分析,以确定是否属于越权操作。否则,访问记录中不存在高访问权限对应的读操作信息,可以终止对该访问记录的检测分析。
根据本发明实施例的技术方案,可以针对性地只对高访问权限对应的读操作信息进行检测分析,提高了安全检测的效率。
图4示意性示出了根据发明另一实施例的检测处理器的方法的流程图。该方法可以由检测处理器105执行。
如图4所示,该方法包括操作S202、S401和S402。其中操作S401 和操作S402为操作S203的具体实施例的一种。
在操作202中确定是否存在高访问权限对应的读操作信息。当存在高访问权限对应的读操作信息时,在操作S401中根据该高访问权限对应的读操作信息的时间信息设置时间窗。然后,在操作S402中确定在该时间窗内,处理器的访问权限是否为高访问权限。
其中,本发明实施例对时间窗的长度不作限定,例如可以根据统计结果或经验值来设定时间窗的长短。可选地,在一个实施例中,时间窗的长度大于预取时间差与从内存读入数据的时间开销之和。其中,预取时间差是指处理器使用分支预测机制或乱序执行机制时预先读取数据的时刻与不使用分支预测机制或乱序执行机制时读取数据的时刻之间的时间差。
通常情况下,时间窗的长度越小,检测的安全标准越高,安全预警也会更加频繁;而时间窗的长度越大,检测的安全标准越低,安全风险发生的概率越高。
例如,以高访问权限对应的读操作信息的发生时刻(即,其对应的时间信息所表示的时刻)为时间窗的结束点,以预定义的时间长度向前设置时间窗。然后,检查在该时间窗对应的时间段内,处理器的访问权限是否为高访问权限。
可选地,在一个实施例中,在操作S402中,确定在该时间窗内,处理器的访问权限是否为高访问权限时,可以确定处理器的访问权限记录中是否存在高访问权限的记录。例如,可以事先记录运行过程中处理器访问权限的变更历史,形成该运行过程中各个时间段对应的访问权限列表。在确定在该时间窗内处理器的访问权限是否为高访问权限时,可以确定在该时间窗对应的时间段内,访问权限列表中是否存在高访问权限的条目。如果存在高访问权限的条目,确定处理器的访问权限为高访问权限,否则确定处理器的访问权限不是高访问权限。
可选地,在一个实施例中,当处理器为多核处理器时,该访问记录还包括读操作信息所属的处理器核的标识。例如,在输入输出记录器104 记录被测处理器101的访问记录时,可以在记录的过程中增加访问记录所属处理器核的标识。这样,在对被测处理器101进行安全检测时,可以针对各个处理器核分别进行。例如,在以上操作S203中,分别根据各个处理器核的访问权限来确定读操作信息是否属于越权操作。根据本发明实施例,可以提高安全检测与安全预警的准确率。
图5示意性示出了根据本发明实施例的处理器的检测装置的框图。如图5所示,该检测装置500包括获取单元510、第一确定单元520和第二确定单元530。检测装置500用于执行图2至图4所示的方法,为了避免重复,省去了相同的技术描述。
获取单元510,用于获取该处理器在运行过程中对内存的访问记录,该访问记录包括读操作信息及其对应的时间信息。第一确定单元520,用于确定该访问记录中是否存在高访问权限对应的读操作信息。第二确定单元530,用于当存在高访问权限对应的读操作信息时,确定该高访问权限对应的读操作信息是否属于越权操作。
根据本发明实施例的检测装置500,对处理器从内存读入数据的行为进行检测分析,可以防止越权的读操作被恶意利用所带来的安全问题。在本发明实施例的检测方案中,能够在允许处理器使用分支预测机制和乱序执行机制的前提下,保障处理器的安全。
可选地,在一个实施例中,第一确定单元520具体用于,获取该高访问权限对应的地址空间信息,然后根据该访问记录中各个读操作信息的地址项,确定是否存在落在该高访问权限对应的地址空间的读操作信息。
可选地,在一个实施例中,第二确定单元530具体用于,根据该高访问权限对应的读操作信息的时间信息设置时间窗,然后确定在该时间窗内,该处理器的访问权限是否为高访问权限。具体地,在确定处理器的访问权限是否为高访问权限时,可以用于确定在该时间窗内该处理器的访问权限记录中是否存在高访问权限的记录。
可选地,在一个实施例中,时间窗的长度大于预取时间差与从内存读入数据的时间开销之和。
可选地,在一个实施例中,当该处理器为多核处理器时,该访问记录还包括读操作信息所属的处理器核的标识。
可选地,在一个实施例中,检测装置500还包括预警单元540。预警单元540用于,保存该越权操作对应的信息,并向用户发送安全预警。
可选地,在一个实施例中,检测装置500还包括输入输出记录单元 550。其中,输入输出记录单元550设置于该处理器与该内存之间,用于记录该处理器在运行过程中对内存的访问操作。这种情况下,获取单元 510可以从输入输出记录单元550读取访问记录。
应理解的是,获取单元510、第一确定单元520、第二确定单元530、预警单元540和输入输出记录单元550可以合并在一个模块中实现,或者其中的任意一个模块可以被拆分成多个模块。
或者,这些模块中的一个或多个模块的至少部分功能可以与其他模块的至少部分功能相结合,并在一个模块中实现。根据本发明的实施例,获取单元510、第一确定单元520、第二确定单元530、预警单元540和输入输出记录单元550中的至少一个可以至少被部分地实现为硬件电路,例如现场可编程门阵列(FPGA)、可编程逻辑阵列(PLA)、片上系统、基板上的系统、封装上的系统、专用集成电路(ASIC),或可以以对电路进行集成或封装的任何其他的合理方式等硬件或固件来实现,或以软件、硬件以及固件三种实现方式的适当组合来实现。
或者,获取单元510、第一确定单元520、第二确定单元530、预警单元540和输入输出记录单元550中的至少一个可以至少被部分地实现为计算机程序模块,当该程序被计算机运行时,可以执行相应模块的功能。
图6示意性示出了根据本发明另一实施例的处理器的检测系统600 的框图。如图6所示,检测系统600包括检测处理器610、计算机可读存储介质620、以及输入输出记录器630。其中检测处理器610是检测处理器105的具体实施例中的一种,输入输出记录器630是输入输出记录器105的具体实施例中的一种。该检测系统600可以执行上面参考图2~图4描述的方法,以对被测处理器101进行检测。
具体地,检测处理器610例如可以包括通用微处理器、指令集处理器和/或相关芯片组和/或可重构处理器和/或专用微处理器(例如,专用集成电路(ASIC)),等等。检测处理器610还可以包括用于缓存用途的板载存储器。检测处理器610可以是用于执行参考图2~图4描述的根据本发明实施例的方法流程的不同动作的单一处理单元或者是多个处理单元。
计算机可读存储介质620,例如可以是能够包含、存储、传送、传播或传输指令的任意介质。例如,可读存储介质可以包括但不限于电、磁、光、电磁、红外或半导体系统、装置、器件或传播介质。可读存储介质的具体示例包括:磁存储装置,如磁带或硬盘(HDD);光存储装置,如光盘(CD-ROM);存储器,如随机存取存储器(RAM)或闪存;和/或有线/无线通信链路。
计算机可读存储介质620可以包括计算机程序621,该计算机程序 621可以包括代码/计算机可执行指令,其在由检测处理器610执行时使得检测处理器610执行例如上面结合图2~图4所描述的方法流程及其任何变形。
计算机程序621可被配置为具有例如包括计算机程序模块的计算机程序代码。例如,在示例实施例中,计算机程序621中的代码可以包括一个或多个程序模块,例如包括模块621A、模块621B、……。应当注意,模块的划分方式和个数并不是固定的,本领域技术人员可以根据实际情况使用合适的程序模块或程序模块组合,当这些程序模块组合被检测处理器610执行时,使得检测处理器610可以执行例如上面结合图2~图4所描述的方法流程及其任何变形。
根据本发明的实施例,输入输出记录器630用于记录被测处理器101 在运行过程中的输入输出信息。检测处理器610可以与输入输出记录器 630进行交互,以执行上面结合图2~图4所描述的方法流程及其任何变形。
根据本发明的实施例,获取单元510、第一确定单元520、第二确定单元530、预警单元540和输入输出记录单元550中的至少一个可以实现为参考图6描述的计算机程序模块,在其被检测处理器610执行时,可以实现上面描述的相应操作。
根据本发明各实施例的上述方法、装置、单元和/或模块可以通过有计算能力的电子设备执行包含计算机指令的软件来实现。该系统可以包括存储设备,以实现上文所描述的各种存储。该有计算能力的电子设备可以包含通用处理器、数字信号处理器、专用处理器、可重构处理器等能够执行计算机指令的装置,但不限于此。执行这样的指令使得电子设备被配置为执行根据本发明的上述各项操作。上述各设备和/或模块可以在一个电子设备中实现,也可以在不同电子设备中实现。这些软件可以存储在计算机可读存储介质中。计算机可读存储介质存储一个或多个程序(软件模块),该一个或多个程序包括指令,当电子设备中的一个或多个处理器执行该指令时,该指令使得电子设备执行本发明的方法。
这些软件可以存储为易失性存储器或非易失性存储装置的形式(比如类似ROM等存储设备),不论是可擦除的还是可重写的,或者存储为存储器的形式(例如RAM、存储器芯片、设备或集成电路),或者被存储在光可读介质或磁可读介质上(比如,CD、DVD、磁盘或磁带等等)。应该意识到,存储设备和存储介质是适于存储一个或多个程序的机器可读存储装置的实施例,该一个程序或多个程序包括指令,当该指令被执行时,实现本发明的实施例。实施例提供程序和存储这种程序的机器可读存储装置,该程序包括用于实现本发明的任何一项权利要求该的装置或方法的代码。此外,可以经由任何介质(比如,经由有线连接或无线连接携带的通信信号)来电传递这些程序,多个实施例适当地包括这些程序。
本领域技术人员可以理解,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合或/或结合,即使这样的组合或结合没有明确记载于本发明中。特别地,在不脱离本发明精神和教导的情况下,本发明的各个实施例和/或权利要求中记载的特征可以进行多种组合和/或结合。所有这些组合和/或结合均落入本发明的范围。
尽管已经参照本发明的特定示例性实施例示出并描述了本发明,但是本领域技术人员应该理解,在不背离所附权利要求及其等同物限定的本发明的精神和范围的情况下,可以对本发明进行形式和细节上的多种改变。因此,本发明的范围不应该限于上述实施例,而是应该不仅由所附权利要求来进行确定,还由所附权利要求的等同物来进行限定。
Claims (18)
1.一种检测处理器的方法,其特征在于,包括:
获取所述处理器在运行过程中对内存的访问记录,所述访问记录包括读操作信息及其对应的时间信息;
确定所述访问记录中是否存在高访问权限对应的读操作信息;
当存在高访问权限对应的读操作信息时,确定所述高访问权限对应的读操作信息是否属于越权操作。
2.根据权利要求1所述的方法,其特征在于,所述确定所述访问记录中是否存在高访问权限对应的读操作信息,包括:
获取所述高访问权限对应的地址空间信息;
根据所述访问记录中各个读操作信息的地址项,确定是否存在落在所述高访问权限对应的地址空间的读操作信息。
3.根据权利要求2所述的方法,其特征在于,所述确定所述高访问权限对应的读操作信息是否属于越权操作,包括:
根据所述高访问权限对应的读操作信息的时间信息设置时间窗;
确定在所述时间窗内,所述处理器的访问权限是否为高访问权限。
4.根据权利要求3所述的方法,其特征在于,所述确定在所述时间窗内,所述处理器的访问权限是否为高访问权限,包括:
确定在所述时间窗内所述处理器的访问权限记录中是否存在高访问权限的记录。
5.根据权利要求3或4所述的方法,其特征在于,所述时间窗的长度大于预取时间差与从内存读入数据的时间开销之和。
6.根据权利要求1至5中任一项所述的方法,其特征在于,
当所述处理器为多核处理器时,所述访问记录还包括读操作信息所属的处理器核的标识。
7.根据权利要求1至6中任一项所述的方法,其特征在于,在确定所述高访问权限对应的读操作信息属于越权操作时,还包括:
保存所述越权操作对应的信息,并向用户发送安全预警。
8.根据权利要求1至7中任一项所述的方法,其特征在于,还包括:
使用输入输出记录器记录所述处理器在运行过程中对内存的访问操作,其中所述输入输出记录器设置于所述处理器与所述内存之间;
所述获取所述处理器在运行过程中对内存的访问记录,包括:
从所述输入输出记录器读取所述访问记录。
9.一种处理器的检测装置,其特征在于,包括:
获取单元,用于获取所述处理器在运行过程中对内存的访问记录,所述访问记录包括读操作信息及其对应的时间信息;
第一确定单元,用于确定所述访问记录中是否存在高访问权限对应的读操作信息;
第二确定单元,用于当存在高访问权限对应的读操作信息时,确定所述高访问权限对应的读操作信息是否属于越权操作。
10.根据权利要求9所述的检测装置,其特征在于,所述第一确定单元具体用于,
获取所述高访问权限对应的地址空间信息;
根据所述访问记录中各个读操作信息的地址项,确定是否存在落在所述高访问权限对应的地址空间的读操作信息。
11.根据权利要求10所述的检测装置,其特征在于,所述第二确定单元具体用于,
根据所述高访问权限对应的读操作信息的时间信息设置时间窗;
确定在所述时间窗内,所述处理器的访问权限是否为高访问权限。
12.根据权利要求11所述的检测装置,其特征在于,所述第二确定单元具体用于,确定在所述时间窗内所述处理器的访问权限记录中是否存在高访问权限的记录。
13.根据权利要求11或12所述的检测装置,其特征在于,所述时间窗的长度大于预取时间差与从内存读入数据的时间开销之和。
14.根据权利要求9至13中任一项所述的检测装置,其特征在于,当所述处理器为多核处理器时,所述访问记录还包括读操作信息所属的处理器核的标识。
15.根据权利要求9至14中任一项所述的检测装置,其特征在于,还包括预警单元,
所述预警单元用于,保存所述越权操作对应的信息,并向用户发送安全预警。
16.根据权利要求9至15中任一项所述的检测装置,其特征在于,还包括输入输出记录单元,
所述输入输出记录单元设置于所述处理器与所述内存之间,其中所述输入输出记录单元用于,记录所述处理器在运行过程中对内存的访问操作;
所述获取单元具体用于,从所述输入输出记录单元读取所述访问记录。
17.一种处理器的检测系统,用于对被测处理器进行检测,其特征在于,包括:
一个或多个检测处理器;
存储器,用于存储一个或多个程序,
其中,当所述一个或多个程序被所述一个或多个检测处理器执行时,使得所述一个或多个检测处理器执行权利要求1至8中任一项所述的方法。
18.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有可执行根据权利要求1至8中任一项所述方法的指令。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810139949.8A CN108388814B (zh) | 2018-02-09 | 2018-02-09 | 检测处理器的方法、检测装置以及检测系统 |
US16/250,126 US11062020B2 (en) | 2018-02-09 | 2019-01-17 | Processor checking method, checking device and checking system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810139949.8A CN108388814B (zh) | 2018-02-09 | 2018-02-09 | 检测处理器的方法、检测装置以及检测系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108388814A true CN108388814A (zh) | 2018-08-10 |
CN108388814B CN108388814B (zh) | 2021-04-09 |
Family
ID=63068619
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810139949.8A Active CN108388814B (zh) | 2018-02-09 | 2018-02-09 | 检测处理器的方法、检测装置以及检测系统 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11062020B2 (zh) |
CN (1) | CN108388814B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241743A (zh) * | 2018-08-14 | 2019-01-18 | 清华大学 | 记录处理器操作信息的方法、装置、系统及介质 |
CN109446755A (zh) * | 2018-09-30 | 2019-03-08 | 龙芯中科技术有限公司 | 内核钩子函数保护方法、装置、设备以及存储介质 |
CN110069374A (zh) * | 2019-04-28 | 2019-07-30 | 中国科学院微电子研究所 | 一种安全性测试方法及装置 |
CN112069517A (zh) * | 2020-08-25 | 2020-12-11 | 中国建设银行股份有限公司 | 一种管理用户权限的方法和装置 |
CN115051824A (zh) * | 2022-03-30 | 2022-09-13 | 杭州默安科技有限公司 | 一种垂直越权检测方法、系统、设备及存储介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561775A (zh) * | 2009-05-12 | 2009-10-21 | 华为技术有限公司 | 内存监控方法和装置 |
CN106502926A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种内存监控方法、内存访问控制器及SoC系统 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7474312B1 (en) * | 2002-11-25 | 2009-01-06 | Nvidia Corporation | Memory redirect primitive for a secure graphics processing unit |
WO2004084231A1 (en) * | 2003-03-19 | 2004-09-30 | Koninklijke Philips Electronics N.V. | Universal memory device having a profil storage unit |
EP1678969A1 (en) * | 2003-10-16 | 2006-07-12 | Matsushita Electric Industrial Co., Ltd. | Record carrier, system, method and program for conditional access to data stored on the record carrier |
US9058825B2 (en) * | 2013-11-19 | 2015-06-16 | Karim Kaddeche | Apparatus, systems and processes for reducing a hard disk drive's access time and concomitant power optimization |
US10642782B2 (en) * | 2016-12-08 | 2020-05-05 | Electronics And Telecommunications Research Institute | Multi-core processor and operation method thereof |
US10776197B1 (en) * | 2017-06-27 | 2020-09-15 | EMC IP Holding Company LLC | Detect and triage data integrity issue for virtual machine |
-
2018
- 2018-02-09 CN CN201810139949.8A patent/CN108388814B/zh active Active
-
2019
- 2019-01-17 US US16/250,126 patent/US11062020B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101561775A (zh) * | 2009-05-12 | 2009-10-21 | 华为技术有限公司 | 内存监控方法和装置 |
CN106502926A (zh) * | 2016-09-26 | 2017-03-15 | 华为技术有限公司 | 一种内存监控方法、内存访问控制器及SoC系统 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109241743A (zh) * | 2018-08-14 | 2019-01-18 | 清华大学 | 记录处理器操作信息的方法、装置、系统及介质 |
CN109446755A (zh) * | 2018-09-30 | 2019-03-08 | 龙芯中科技术有限公司 | 内核钩子函数保护方法、装置、设备以及存储介质 |
CN109446755B (zh) * | 2018-09-30 | 2021-03-30 | 龙芯中科技术股份有限公司 | 内核钩子函数保护方法、装置、设备以及存储介质 |
CN110069374A (zh) * | 2019-04-28 | 2019-07-30 | 中国科学院微电子研究所 | 一种安全性测试方法及装置 |
CN112069517A (zh) * | 2020-08-25 | 2020-12-11 | 中国建设银行股份有限公司 | 一种管理用户权限的方法和装置 |
CN115051824A (zh) * | 2022-03-30 | 2022-09-13 | 杭州默安科技有限公司 | 一种垂直越权检测方法、系统、设备及存储介质 |
CN115051824B (zh) * | 2022-03-30 | 2024-04-02 | 杭州默安科技有限公司 | 一种垂直越权检测方法、系统、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11062020B2 (en) | 2021-07-13 |
US20190251253A1 (en) | 2019-08-15 |
CN108388814B (zh) | 2021-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108388814A (zh) | 检测处理器的方法、检测装置以及检测系统 | |
US11777705B2 (en) | Techniques for preventing memory timing attacks | |
US10185824B2 (en) | System and method for uncovering covert timing channels | |
Chen et al. | Cc-hunter: Uncovering covert timing channels on shared processor hardware | |
CN108509791A (zh) | 检测处理器的方法、检测装置以及检测系统 | |
CN105229612B (zh) | 使用基于硬件的微体系结构数据的异常程序执行的检测 | |
Cheng et al. | ROPecker: A generic and practical approach for defending against ROP attack | |
US10565379B2 (en) | System, apparatus and method for instruction level behavioral analysis without binary instrumentation | |
CN107016283B (zh) | 基于完整性验证的Android权限提升攻击安全防御方法和装置 | |
Sabbagh et al. | Scadet: A side-channel attack detection tool for tracking prime-probe | |
CN105247532A (zh) | 使用硬件特征的无监督的基于异常的恶意软件检测 | |
Abad et al. | On-chip control flow integrity check for real time embedded systems | |
US11568052B2 (en) | Undetectable sandbox for malware | |
WO2018063756A1 (en) | System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks | |
US10339307B2 (en) | Intrusion detection system in a device comprising a first operating system and a second operating system | |
US20210064550A1 (en) | Memory blockade for verifying system security with respect to speculative execution | |
CN116827697B (zh) | 网络攻击事件的推送方法、电子设备及存储介质 | |
US20180107823A1 (en) | Programmable Hardware Security Counters | |
CN111104670A (zh) | 一种apt攻击的识别和防护方法 | |
CN105005737A (zh) | 一种面向分支预测攻击的微体系结构级安全防护方法 | |
Santos et al. | Leveraging speculative architectures for runtime program validation | |
US11507656B2 (en) | Ransomware detection and remediation | |
Wu et al. | PREDATOR: A Cache Side-Channel Attack Detector Based on Precise Event Monitoring | |
CN108710809A (zh) | 处理器的安全控制方法、装置及系统 | |
Torres et al. | Detecting non-control-flow hijacking attacks using contextual execution information |
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 |