CN109190383A - 访问指令的处理方法、装置及设备 - Google Patents

访问指令的处理方法、装置及设备 Download PDF

Info

Publication number
CN109190383A
CN109190383A CN201811163258.8A CN201811163258A CN109190383A CN 109190383 A CN109190383 A CN 109190383A CN 201811163258 A CN201811163258 A CN 201811163258A CN 109190383 A CN109190383 A CN 109190383A
Authority
CN
China
Prior art keywords
credible
instruction
access
trusted
access instruction
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
Application number
CN201811163258.8A
Other languages
English (en)
Other versions
CN109190383B (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.)
Loongson Technology Corp Ltd
Original Assignee
Loongson Technology Corp Ltd
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 Loongson Technology Corp Ltd filed Critical Loongson Technology Corp Ltd
Priority to CN201811163258.8A priority Critical patent/CN109190383B/zh
Publication of CN109190383A publication Critical patent/CN109190383A/zh
Application granted granted Critical
Publication of CN109190383B publication Critical patent/CN109190383B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security

Landscapes

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

Abstract

本发明提供一种访问指令的处理方法、装置及设备,通过获取可信访问指令,访问指令用于指示处理器对可区域执行读操作或写操作,判断该可信访问指令是否为非法指令,若该可信访问指令为非法指令,则阻止该可信访问指令对可信区域的执行并触发访问例外,若该访问指令为合法指令,则可以直接执行该可信访问指令。通过上述方法实现对访问指令的合法性审核,提高了系统防御非法攻击的能力。

Description

访问指令的处理方法、装置及设备
技术领域
本发明涉及计算机技术领域,尤其涉及一种访问指令的处理方法、装置及设备。
背景技术
目前计算机的安全主要由CPU和操作系统配合完成。CPU提供硬件支持,主要是把计算机系统权限分为几个等级,中低等级权限无法访问高等级权限的资源,但是高等级权限有权访问低等级权限的资源。如MIPS架构将权限分为核心态、监管态、用户态三个等级。为了实现多进程访问共享资源的安全性,用户程序只能在用户态下执行,操作系统向用户程序提供具有预定功能的系统调用函数来访问只有核心态才能访问的硬件资源。上述基于权限隔离的安全防护有效的前提是核心(高等级)权限没有被攻击者非法获得。然而,由于现代操作系统越来越复杂,易受攻击的漏洞难以避免。常见的病毒、木马等攻击代码恰恰都是以各种手段获得高等级的执行权限控制了CPU。因此仅依靠权限隔离技术已无法从根本上解决安全问题。
操作系统自身漏洞是因为其自身规模过于庞大,所实现的功能过多。反过来说,如果具有特权等级的软件的功能单一、代码量不多,现有的工程实现条件下是能够保证这种软件没有漏洞或仅存在理论上被攻击成功的漏洞。如果将操作系统最核心的任务交付给这种可靠的代码去处理,那么操作系统即使某些地方存在漏洞被攻击,系统也不至于招致彻底损害,信息也不至于造成大面积大范围的泄露。前述这种可靠的代码需要在一个更为安全可信的环境中执行方能真正实现整个系统的安全防护目的,否则,这种可靠的代码还是能被攻击者利用系统中不可靠的代码进行篡改,达不到防护的目的。
这种构建安全可信执行环境的意图,一个已有的实例是ARM提出的TrustZone技术,该技术从处理器核、互联、设备等各个IP共同入口,以物理隔离或逻辑隔离的方式将一个系统划分为可信的区域和不可信的区域。传统操作系统和所有的应用程序都是运行在不可信的区域,而可信区域则运行一个独立地可信的操作系统,保存一些最核心的数据。可信区域中的软件向不可信区域的软件提供服务,同时可以对其行为进行监管,而不可信区域的软件除了使用可信区域所提供的服务接口外,无法直接访问、操作可信区域。
然而,诸如TrustZone的基于可信执行环境隔离的安全防护机制,从机制上而言确实有效,但是该方案需要对系统中的软硬件进行全面的调整,实现代价很大;而且运行时发生于可信区域和不可信区域的交互开销大,处理器内部在可信执行模式和不可信执行模式之间切换时的性能损耗大,都会影响实际运行时性能。
发明内容
本发明提供一种访问指令的处理方法、装置及设备,实现对访问指令的合法性审核,提高了系统防御非法攻击的能力。
本发明的第一方面提供一种访问指令的处理方法,包括:
获取可信访问指令,所述可信访问指令用于指示处理器对可信区域执行读操作或者写操作;所述可信区域包括可信存储空间和可信配置空间,所述可信存储空间是从所述处理器的内存空间中划分出的子区域,所述可信配置空间是独立于所述处理器的内存空间的寻址空间,用于存放所述可信存储空间的配置信息;
判断所述可信访问指令是否为非法指令,若是,则阻止所述可信访问指令对所述可信区域的执行并触发访问例外。
在一种可能的实施方式中,所述可信存储空间包括可信指令存储空间,所述可信指令存储空间用于存储所述可信访问指令,所述获取可信访问指令,包括:
在所述处理器发现当前取指的指令是可信访问指令时,将当前取指的指令地址与可信指令存储空间的配置信息进行比较;
在当前取指的指令地址落在可信指令存储空间时,获取所述可信访问指令。
在一种可能的实施方式中,所述方法,还包括:
在当前取指的指令地址未落在可信指令存储空间时,阻止当前取指的指令的执行并触发访问例外。
在一种可能的实施方式中,所述判断所述可信访问指令是否为非法指令,若是,则阻止所述可信访问指令对所述可信区域的执行并触发访问例外,包括:
判断执行数据访问操作的访问对象是否落在可信存储空间,若所述访问对象落在可信存储空间,则判断所述可信访问指令是否为可信访存指令,所述可信访存指令用于对所述可信存储空间执行数据访问操作;
若所述可信访问指令并非所述可信访存指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
在一种可能的实施方式中,所述可信存储空间包括可信指令存储空间和可信数据存储空间,且只允许通过所述可信访存指令对所述可信存储空间进行数据访问操作。
在一种可能的实施方式中,所述判断所述可信访问指令是否为非法指令,若是,则阻止所述可信访问指令对所述可信区域的执行并触发访问例外,包括:
判断执行数据访问操作的访问对象是否落在所述可信配置空间,若所述访问对象落在所述可信配置空间,则判断所述可信访问指令是否为所述可信配置指令,所述可信配置指令用于对所述可信配置空间执行数据访问操作;
若所述可信访问指令并非所述可信配置指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
本发明的第二方面提供一种访问指令的处理装置,包括:
取指部件、审核部件、例外部件以及可信区域;所述可信区域包括可信存储空间和可信配置空间,所述可信存储空间是从所述处理器的内存空间中划分出的子区域,所述可信配置空间是独立于所述处理器的内存空间的寻址空间,用于存放所述可信存储空间的配置信息;
所述取指部件,用于获取可信访问指令,并将所述可信访问指令发送给所述审核部件,所述可信访问指令用于指示处理器对可信区域执行读操作或者写操作;
审核部件,用于接收所述取指部件发送的可信访问指令,判断所述可信访问指令是否为非法指令;
例外部件,用于接收所述审核部件发送的可信访问指令为非法指令的判断结果,阻止所述可信访问指令对所述可信区域的执行并触发访问例外。
可选的,所述可信存储空间包括可信指令存储空间,所述可信指令存储空间用于存储所述可信访问指令,所述取指部件,具体用于:
在所述处理器发现当前取指的指令是可信访问指令时,将当前取指的指令地址与可信指令存储空间的配置信息进行比较;在当前取指的指令地址落在可信指令存储空间时,获取所述可信访问指令。
可选的,所述例外部件,还用于:
在当前取指的指令地址未落在可信指令存储空间时,阻止当前取指的指令的执行并触发访问例外。
可选的,所述审核部件,具体用于:
判断执行数据访问操作的访问对象是否落在可信存储空间,若所述访问对象落在可信存储空间,则判断所述可信访问指令是否为可信访存指令,所述可信访存指令用于对所述可信存储空间执行数据访问操作;
所述例外部件,具体用于:
若所述可信访问指令并非所述可信访存指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
可选的,所述可信存储空间包括可信指令存储空间和可信数据存储空间,且只允许通过所述可信访存指令对所述可信存储空间进行数据访问操作。
可选的,所述审核部件,具体用于:
判断执行数据访问操作的访问对象是否落在所述可信配置空间,若所述访问对象落在所述可信配置空间,则判断所述可信访问指令是否为所述可信配置指令,所述可信配置指令用于对所述可信配置空间执行数据访问操作;
所述例外部件,具体用于:
若所述可信访问指令并非所述可信配置指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
本发明的第三方面提供一种电子设备,包括:存储器及处理器;
所述处理器中集成有第二方面任一项提供的访问指令的处理装置;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如第一方面任一项所述的访问指令的处理方法。
本发明的第四方面提供一种存储介质,包括:可读存储介质和计算机程序,所述计算机程序用于实现本发明第一方面任一项所述的访问指令的处理方法。
本发明实施例提供的访问指令的处理方法、装置及设备,通过获取可信访问指令,访问指令用于指示处理器对可区域执行读操作或写操作,判断该可信访问指令是否为非法指令,若该可信访问指令为非法指令,则阻止该可信访问指令对可信区域的执行并触发访问例外,若该访问指令为合法指令,则可以直接执行该可信访问指令。通过上述方法实现对访问指令的合法性审核,提高了系统防御非法攻击的能力。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一实施例提供的可信执行环境的结构示意图;
图2为本发明一实施例提供的访问指令的处理方法的流程示意图;
图3为本发明另一实施例提供的访问指令的处理方法的流程示意图;
图4为本发明又一实施例提供的访问指令的处理方法的流程示意图;
图5为本发明一实施例提供的访问指令的处理装置的结构示意图;
图6为本发明一实施例提供的电子设备的硬件结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本文中使用的术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明的说明书中通篇提到的“一实施例”或“另一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一实施例中”或“本实施例中”未必一定指相同的实施例。需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
目前,计算机的安全主要由CPU和操作系统配合完成,基于权限隔离的安全防护得到广泛应用,然而随着现代操作系统越来越复杂,难免会出现漏洞,受到代码攻击,因此依靠权限隔离技术已无法从根本上解决安全问题。
基于可信执行环境隔离的安全防护机制,将一个系统划分为可信区域和不可信区域,传统操作系统和所有的应用程序都运行在不可信区域,而可信区域则运行一个独立的可信操作系统,保存最核心的数据。然而上述方案需要系统的软硬件进行全面的调整,实现代价大,另外,可信区域和不可信区域的交互开销,以及可信执行模式和不可信执行模式之间切换的性能损耗,都会影响处理器的运行速率。因此,有必要构建一种更为轻量化的可信执行环境,减小硬件上的开销,且可以不用对现有的软件架构进行大幅度的修改。
图1为本发明一实施例提供的可信执行环境的结构示意图,如图1所示,本实施例的可信执行环境为可信区域,该可信区域包括可信存储空间以及可信配置空间。其中,
可信存储空间(也可以成为可信存储区域)是从处理器的内存空间中划分出的子区域,该子区域可以是连续的一块区域,也可以是多个不连续的区域组成,对此本实施例不作具体限定。
具体来说,可信存储空间包括可信数据存储空间和可信指令存储空间。可信数据存储空间用于存储可信数据,可信指令存储空间用于存储可信指令。
可信存储空间的具体范围、属性由可信存储空间对应的配置寄存器中存放的配置信息决定,该配置信息可以在处理器运行过程中动态调整。其中,可信存储空间对应的配置寄存器位于可信配置空间中,仅允许可信访问指令进行读取和修改。
具体来说,可信配置空间是一个独立于内存空间、寄存器空间和普通控制寄存器空间的独立空间,该独立空间中存放了上述可信存储空间对应的配置寄存器,以构建并实现本实施例的可信执行环境。可信配置空间的范围以及内部各配置寄存器的地址、含义均静态确定,在处理器执行过程中不会动态调整。另外,可信配置空间只允许可信配置访问指令访问。
需要指出的是,本实施例的可信存储空间对应的配置寄存器中通常包括若干组配置项,每组配置项至少包括:有效位、指令属性标识位、数据属性标识位、起始地址、结束地址。其中,
有效位为1表示该配置项有效,有效位为0表示该配置项无效;
指令属性标识位为1表示该配置项对应的存储区域中可存放可信指令,指令属性标识位为0表示该配置项对应的存储区域中不可存放可信指令;
数据属性标识位为1标识该配置项对应的存储区域中可存放可信数据,数据属性标识位为0表示该配置项对应的存储区域中不可存放可信数据;
起始地址和结束地址既可以是虚拟地址,也可以是物理地址,对此本实施例不作具体限定,但起始地址和结束地址的地址类型相同,也就是说,两者必须同为虚拟地址,或者,同为物理地址。
基于上述配置项,若一块可信存储空间中指令属性标识位为1,则该区域即为可信指令存储空间;若一块可信存储空间中数据属性标识位为1,则该区域为可信数据存储空间。可信访问指令存放在可信指令存储空间中,可信数据存储空间只允许可信访存指令访问。
本发明实施例为操作系统等特权级软件提供了在运行过程中的可信执行环境。基于上述可执行环境,下面以具体地实施例对本发明提供的访问指令的处理方法进行详细说明。
下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例不再赘述。
图2为本发明一实施例提供的访问指令的处理方法的流程示意图,该方法可以由任意执行访问指令的处理装置来执行,该装置可以通过软件和/或硬件实现。如图2所示,本实施例提供的访问指令的处理方法,具体包括以下步骤:
S201、获取可信访问指令,可信访问指令用于指示处理器对可信区域执行读操作或者写操作。
在本实施例中,该可信区域包括可信存储空间和可信配置空间,可信存储空间是从处理器的内存空间中划分出的子区域,可信配置空间是独立于所述处理器的内存空间的寻址空间,用于存放可信存储空间的配置信息。,该可信指令用于指示处理器访问内存空间中的可信指令存储空间。
S202、判断可信访问指令是否为非法指令,若是,则执行S203;若否,则执行S204。
S203、阻止可信访问指令对可信区域的执行并触发访问例外;
S204、执行可信访问指令。
在本实施例的一种具体实现中,可信存储空间包括了可信指令存储空间,且该可信指令存储空间是用来存储该可信访问指令的,因此上述步骤中的获取可信访问指令的具体过程如下:
在所述处理器发现当前取指的指令是可信访问指令时,将当前取指的指令地址与可信指令存储空间的配置信息进行比较;在当前取指的指令地址落在可信指令存储空间时,获取所述可信访问指令。
进一步的,在当前取指的指令地址未落在可信指令存储空间时,阻止当前取指的指令的执行并触发访问例外。
该方案的具体实现中,可以根据当前获取到的取指的指令的编码(也称为操作码)字段确定该指令是否为可信访问指令,然后获取到上述的可信访问指令,再根据上述的过程判断该可信访问指令是不是非法指令。
具体的,判断该可信访问指令是否为非法指令具体可以按照下面的方案实现:
若确定访问指令为可信访问指令,则进一步判断取指操作的访问对象是否落在可信指令存储空间,具体可根据地址字段判断取指操作的访问对象是否落在可信指令存储空间。
判断执行数据访问操作的访问对象是否落在可信存储空间,若所述访问对象落在可信存储空间,则判断所述可信访问指令是否为可信访存指令,所述可信访存指令用于对所述可信存储空间执行数据访问操作。
若所述可信访问指令并非所述可信访存指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
其含义是,若取指操作的访问对象未落在可信指令存储空间,则确定可信访问指令为非法指令,则阻止该可信访问指令对可信区域的取指操作并触发可信访问例外。若取指操作的访问对象落在可信指令存储空间,则确定可信访问指令为合法指令,则执行可信访问指令对可信区域的取指操作。
在本实施例中,可信访问指令包括可信配置访问指令或可信访存指令,可信访问指令存放在可信指令存储空间内。其中,
本实施例的可信配置访问指令用于访问可信配置空间,包括但不限于:可信配置读字节(SAFECFGLB)、可信配置读半字(SAFECFGLH)、可信配置读字(SAFECFGLW)、可信配置读双字(SAFECFGLD)、可信配置写字节(SAFECFGSB)、可信配置写半字(SAFECFGSH)、可信配置写字(SAFECFGSW)、可信配置写双字(SAFECFGSD)。
所有的可信配置读指令包含一个源操作数和一个目的操作数,源操作数存放待读取对象在可信配置空间中的地址,目的操作数存放读取所返回的数值。
所有的可信配置写指令包含两个源操作数,一个存放待写入对象在可信配置空间中的地址,另一个存放待写入对象的数值。
可信访存指令用于访问可信存储空间,包括但不限于:可信访存读字节(SAFEMEMLB)、可信访存读半字(SAFEMEMLH)、可信访存读字(SAFEMEMLW)、可信访存读双字(SAFEMEMLD)、可信访存写字节(SAFEMEMSB)、可信访存写半字(SAFEMEMSH)、可信访存写字(SAFEMEMSW)、可信访存写双字(SAFEMEMSD)。
所有的可信访存读指令包含一个源操作数和一个目的操作数,源操作数存放待读取对象在可信存储空间中的地址,目的操作数存放读取所返回的数值。
所有的可信访存写指令包含两个源操作数,一个存放待写入对象在可信存储空间中的地址,另一个存放待写入对象的数值。
需要指出的是,基于上述可执行环境,本实施例提供的指令处理方法较现有技术在配置上更为灵活,对现有软件架构的影响更小。
本发明实施例提供的访问指令的处理方法,通过获取可信访问指令,访问指令用于指示处理器对可区域执行读操作或写操作,判断该可信访问指令是否为非法指令,若该可信访问指令为非法指令,则阻止该可信访问指令对可信区域的执行并触发访问例外,若该访问指令为合法指令,则可以直接执行该可信访问指令,上述方法实现对访问指令的合法性审核,提高了系统防御非法攻击的能力。
图3为本发明另一实施例提供的访问指令的处理方法的流程示意图,在图2所示实施例的基础上,如图3所示,本实施例提供的访问指令的处理方法,还包括以下步骤:
S301、判断执行数据访问操作的访问对象是否落在可信数据存储空间,若是,则执行S302;
具体的,根据地址字段判断执行数据访问操作的访问对象是否落在可信数据存储空间,若执行数据访问操作的访问对象的地址是可信数据存储空间的地址,则进一步判断数据访问操作是否来自于可信访存指令。
在本实施例中,可信数据存储空间只允许可信访存指令访问,因此,在确定数据访问操作的访问对象落在可信数据存储空间之后,还需要进一步判断数据访问操作对应的可信访问指令是否为可信访存指令,具体可参见S302。
S302、判断可信访问指令是否为可信访存指令,若否,则执行S303;若是,则执行S304。
S303、阻止可信访问指令的数据访问操作并触发可信访问例外。
S304、执行可信访问指令的数据访问操作。
在本实施例中,根据数据访问操作的操作类型确定是否为可信访存指令:
若确定可信访问指令并非可信访存指令,则确定可信访问指令为非法指令,阻止可信访问指令的数据访问操作并触发可信访问例外。
若确定可信访问指令为可信访存指令,则执行该可信访问指令的数据访问操作,具体的,数据访问操作包括读数据操作或写数据操作。
本实施例的读数据操作是用于读取内存空间中可信数据存储空间的可信数据;
本实施例的写数据操作是用于向内存空间中的可信数据存储空间写入可信数据。
本实施例提供的访问指令的处理方法,通过判断可信访问指令的数据访问操作的访问对象是否落在可信数据存储空间,若是,则进一步判断可信访问指令是否为可信访存指令,若否,则阻止可信访存指令的数据访问操作并触发可信访问例外。上述方法实现对可信数据存储空间的数据访问操作的合法性审核,提高了系统防御非法攻击的能力。
图4为本发明又一实施例提供的访问指令的处理方法的流程示意图,在图2所示实施例的基础上,如图4所示,本实施例提供的访问指令的处理方法,判断该可信访问指令是否为非法指令,如果是则组织该可信访问指令对可信区域的执行并触发访问例外的实现,还包括一种实现方案,具体包括以下步骤:
S401、判断执行数据访问操作的访问对象是否落在可信配置空间,若是,则执行S402;
具体的,根据地址字段判断执行数据访问操作的访问对象是否落在可信配置空间,若执行数据访问操作的访问对象的地址是可信配置空间的地址,则进一步判断数据访问操作是否来自于可信配置访问指令。该方案中,该可信配置指令用于对该可信配置空间执行数据访问操作。
在本实施例中,可信配置空间只允许可信配置访问指令访问,因此,在确定数据访问操作的访问对象落在可信配置空间之后,还需要进一步判断数据访问操作对应的可信访问指令是否为可信配置访问指令,具体可参见S402。
S402、判断可信访问指令是否为可信配置指令,若否,则执行S403;若是,则执行S404。
S403、阻止可信访问指令的数据访问操作并触发可信访问例外;
S404、执行可信访问指令的数据访问操作。
在本实施例中,判断执行数据访问操作的访问对象是否落在可信配置空间,若访问对象落在所述可信配置空间,则需要进一步判断可信访问指令是否为可信配置指令,若所述可信访问指令并非所述可信配置指令,则阻止可信访问指令的数据访问操作并触发可信访问例外。
在该方案的实现中,应理解,根据数据访问操作的操作类型确定是否为可信配置访问指令:
若确定可信访问指令为可信配置访问指令,则执行可信访问访问指令的数据访问操作,具体的,数据访问操作包括读数据操作和写数据操作。
本实施例的读数据操作是用于读取可信配置空间中的可信配置数据;
本实施例的写数据操作是用于向可信配置空间写入可信配置数据。
需要指出的是,由于可信配置空间的范围以及内部各配置寄存器的地址、含义均静态确定,在系统执行过程中数据不会动态调整。
本实施例提供的访问指令的处理方法,通过判断访问指令的访问对象是否落在可信配置空间内,若是,则进一步判断访问指令是否为可信配置访问指令,若否,则阻止可信配置访问指令的数据访问操作并触发可信访问例外。上述方法实现对可信配置空间的数据访问操作的合法性审核,提高了系统防御非法攻击的能力。
基于上述各实施例提供的访问指令的处理方法,由于系统在内存空间中划分了包括可信数据存储空间和可信指令存储空间的可信存储空间,且将可信存储空间的配置信息存放在独立于系统内存空间、寄存器空间和普通控制寄存器空间的独立空间内,系统在上述可执行环境下仍然运行一套操作系统,不存在两套系统之间的通讯开销,从而提高了系统的处理效率。
图5为本发明一实施例提供的访问指令的处理装置的结构示意图,如图5所示,本实施例提供的访问指令的处理装置500,包括:
取指部件51、审核部件52、例外部件53以及可信区域54;所述可信区域54包括可信存储空间和可信配置空间,所述可信存储空间是从所述处理器的内存空间中划分出的子区域,所述可信配置空间是独立于所述处理器的内存空间的寻址空间,用于存放所述可信存储空间的配置信息;
所述取指部件51,用于获取可信访问指令,并将所述可信访问指令发送给所述审核部件,所述可信访问指令用于指示处理器对可信区域执行读操作或者写操作;
审核部件52,用于接收所述取指部件发送的可信访问指令,判断所述可信访问指令是否为非法指令;
例外部件53,用于接收所述审核部件发送的可信访问指令为非法指令的判断结果,阻止所述可信访问指令对所述可信区域的执行并触发访问例外。
可选的,所述可信存储空间包括可信指令存储空间,所述可信指令存储空间用于存储所述可信访问指令,所述取指部件,具体用于:
在所述处理器发现当前取指的指令是可信访问指令时,将当前取指的指令地址与可信指令存储空间的配置信息进行比较;在当前取指的指令地址落在可信指令存储空间时,获取所述可信访问指令。
可选的,所述例外部件53,还用于:
在当前取指的指令地址未落在可信指令存储空间时,阻止当前取指的指令的执行并触发访问例外。
可选的,所述审核部件52,具体用于:
判断执行数据访问操作的访问对象是否落在可信存储空间,若所述访问对象落在可信存储空间,则判断所述可信访问指令是否为可信访存指令,所述可信访存指令用于对所述可信存储空间执行数据访问操作;
所述例外部件53,具体用于:
若所述可信访问指令并非所述可信访存指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
可选的,所述可信存储空间包括可信指令存储空间和可信数据存储空间,且只允许通过所述可信访存指令对所述可信存储空间进行数据访问操作。
可选的,所述审核部件52,具体用于:
判断执行数据访问操作的访问对象是否落在所述可信配置空间,若所述访问对象落在所述可信配置空间,则判断所述可信访问指令是否为所述可信配置指令,所述可信配置指令用于对所述可信配置空间执行数据访问操作;
所述例外部件53,具体用于:
若所述可信访问指令并非所述可信配置指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
本发明实施例提供的访问指令的处理装置,包括获取模块、判断模块和执行模块,其中获取模块用于获取访问指令,所述访问指令用于指示处理器执行读操作或者写操作;判断模块用于判断所述访问指令是否为非法指令,若是,则执行模块用于阻止所述访问指令的执行并触发访问例外。通过上述装置实现对访问指令的合法性审核,提高了系统防御非法攻击的能力。
本实施例提供的访问指令的处理装置500可以为芯片、集成电路、微处理器等。本实施例提供的访问指令的处理装置500可以应用于各种电子设备当中,用于对访问指令进行控制管理,以提高电子设备防御非法攻击的能力。
本实施例提供的访问指令的处理装置,可以执行上述方法实施例的技术方案,其实现原理和技术效果类似,本实施例此处不再赘述。
本发明实施例还提供一种电子设备,参见图6所示,本发明实施例仅以
图6为例进行说明,并不表示本发明仅限于此。
图6为本发明一实施例提供的电子设备的硬件结构示意图。本实施例提供的电子设备包括但不限于移动电话、计算机、数字广播终端、消息收发设备、游戏控制台、平板设备、医疗设备、健身设备、个人数字助理等。
如图6所示,本实施例提供的电子设备600可以包括:存储器601、处理器602;可选的还可以包括总线603。其中,总线603用于实现各元件之间的连接。
所述处理器602中集成有图5所示实施例提供的访问指令的处理装置;
所述存储器601存储计算机执行指令;
所述至少一个处理器602执行所述存储器601存储的计算机执行指令,使得所述处理器执行前述任一项实施例提供的访问指令的处理方法。
其中,存储器601和处理器602之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可以通过一条或者多条通信总线或信号线实现电性连接,如可以通过总线603连接。存储器601中存储有实现数据访问控制方法的计算机执行指令,包括至少一个可以软件或固件的形式存储于存储器601中的软件功能模块,处理器602通过运行存储在存储器601内的软件程序以及模块,从而执行各种功能应用以及数据处理。
存储器601可以是,但不限于,随机存取存储器(Random Access Memory,简称:RAM),只读存储器(Read Only Memory,简称:ROM),可编程只读存储器(ProgrammableRead-Only Memory,简称:PROM),可擦除只读存储器(Erasable Programmable Read-OnlyMemory,简称:EPROM),电可擦除只读存储器(Electric Erasable Programmable Read-Only Memory,简称:EEPROM)等。其中,存储器601用于存储程序,处理器602在接收到执行指令后,执行程序。进一步地,上述存储器601内的软件程序以及模块还可包括操作系统,其可包括各种用于管理系统任务(例如内存管理、存储设备控制、电源管理等)的软件组件和/或驱动,并可与各种硬件或软件组件相互通信,从而提供其他软件组件的运行环境。
处理器602可以是一种集成电路芯片,具有信号的处理能力。上述的处理器602可以是通用处理器,包括中央处理器(Central Processing Unit,简称:CPU)、网络处理器(Network Processor,简称:NP)等。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。可以理解,图6的结构仅为示意,还可以包括比图6中所示更多或者更少的组件,或者具有与图6所示不同的配置。图6中所示的各组件可以采用硬件和/或软件实现。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机执行指令,计算机执行指令被处理器执行时可以实现上述任一方法实施例提供的访问指令的处理方法。
本实施例中的计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备,可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如SSD)等。
本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

Claims (13)

1.一种访问指令的处理方法,其特征在于,包括:
获取可信访问指令,所述可信访问指令用于指示处理器对可信区域执行读操作或者写操作;所述可信区域包括可信存储空间和可信配置空间,所述可信存储空间是从所述处理器的内存空间中划分出的子区域,所述可信配置空间是独立于所述处理器的内存空间的寻址空间,用于存放所述可信存储空间的配置信息;
判断所述可信访问指令是否为非法指令,若是,则阻止所述可信访问指令对所述可信区域的执行并触发访问例外。
2.根据权利要求1所述的方法,其特征在于,所述可信存储空间包括可信指令存储空间,所述可信指令存储空间用于存储所述可信访问指令,所述获取可信访问指令,包括:
在所述处理器发现当前取指的指令是可信访问指令时,将当前取指的指令地址与可信指令存储空间的配置信息进行比较;
在当前取指的指令地址落在可信指令存储空间时,获取所述可信访问指令。
3.根据权利要求2所述的方法,其特征在于,所述方法,还包括:
在当前取指的指令地址未落在可信指令存储空间时,阻止当前取指的指令的执行并触发访问例外。
4.根据权利要求1所述的方法,其特征在于,所述判断所述可信访问指令是否为非法指令,若是,则阻止所述可信访问指令对所述可信区域的执行并触发访问例外,包括:
判断执行数据访问操作的访问对象是否落在可信存储空间,若所述访问对象落在可信存储空间,则判断所述可信访问指令是否为可信访存指令,所述可信访存指令用于对所述可信存储空间执行数据访问操作;
若所述可信访问指令并非所述可信访存指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
5.根据权利要求1-4任一项所述的方法,其特征在于,所述可信存储空间包括可信指令存储空间和可信数据存储空间,且只允许通过所述可信访存指令对所述可信存储空间进行数据访问操作。
6.根据权利要求1-4任一项所述的方法,其特征在于,所述判断所述可信访问指令是否为非法指令,若是,则阻止所述可信访问指令对所述可信区域的执行并触发访问例外,包括:
判断执行数据访问操作的访问对象是否落在所述可信配置空间,若所述访问对象落在所述可信配置空间,则判断所述可信访问指令是否为所述可信配置指令,所述可信配置指令用于对所述可信配置空间执行数据访问操作;
若所述可信访问指令并非所述可信配置指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
7.一种访问指令的处理装置,其特征在于,包括取指部件、审核部件、例外部件以及可信区域;所述可信区域包括可信存储空间和可信配置空间,所述可信存储空间是从所述处理器的内存空间中划分出的子区域,所述可信配置空间是独立于所述处理器的内存空间的寻址空间,用于存放所述可信存储空间的配置信息;
所述取指部件,用于获取可信访问指令,并将所述可信访问指令发送给所述审核部件,所述可信访问指令用于指示处理器对可信区域执行读操作或者写操作;
审核部件,用于接收所述取指部件发送的可信访问指令,判断所述可信访问指令是否为非法指令;
例外部件,用于接收所述审核部件发送的可信访问指令为非法指令的判断结果,阻止所述可信访问指令对所述可信区域的执行并触发访问例外。
8.根据权利要求7所述的装置,其特征在于,所述可信存储空间包括可信指令存储空间,所述可信指令存储空间用于存储所述可信访问指令,所述取指部件,具体用于:
在所述处理器发现当前取指的指令是可信访问指令时,将当前取指的指令地址与可信指令存储空间的配置信息进行比较;在当前取指的指令地址落在可信指令存储空间时,获取所述可信访问指令。
9.根据权利要求7所述的装置,其特征在于,所述例外部件,还用于:
在当前取指的指令地址未落在可信指令存储空间时,阻止当前取指的指令的执行并触发访问例外。
10.根据权利要求7所述的装置,其特征在于,所述审核部件,具体用于:
判断执行数据访问操作的访问对象是否落在可信存储空间,若所述访问对象落在可信存储空间,则判断所述可信访问指令是否为可信访存指令,所述可信访存指令用于对所述可信存储空间执行数据访问操作;
所述例外部件,具体用于:
若所述可信访问指令并非所述可信访存指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
11.根据权利要求7-10任一项所述的装置,其特征在于,所述可信存储空间包括可信指令存储空间和可信数据存储空间,且只允许通过所述可信访存指令对所述可信存储空间进行数据访问操作。
12.根据权利要求7-10任一项所述的装置,其特征在于,所述审核部件,具体用于:
判断执行数据访问操作的访问对象是否落在所述可信配置空间,若所述访问对象落在所述可信配置空间,则判断所述可信访问指令是否为所述可信配置指令,所述可信配置指令用于对所述可信配置空间执行数据访问操作;
所述例外部件,具体用于:
若所述可信访问指令并非所述可信配置指令,则阻止所述可信访问指令的数据访问操作并触发可信访问例外。
13.一种电子设备,其特征在于,包括:存储器及处理器;
所述处理器中集成有权利要求7至12任一项所述的访问指令的处理装置;
所述存储器存储计算机执行指令;
所述至少一个处理器执行所述存储器存储的计算机执行指令,使得所述处理器执行如权利要求1至6任一项所述的访问指令的处理方法。
CN201811163258.8A 2018-09-30 2018-09-30 访问指令的处理方法、装置及设备 Active CN109190383B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811163258.8A CN109190383B (zh) 2018-09-30 2018-09-30 访问指令的处理方法、装置及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811163258.8A CN109190383B (zh) 2018-09-30 2018-09-30 访问指令的处理方法、装置及设备

Publications (2)

Publication Number Publication Date
CN109190383A true CN109190383A (zh) 2019-01-11
CN109190383B CN109190383B (zh) 2021-08-03

Family

ID=64946981

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811163258.8A Active CN109190383B (zh) 2018-09-30 2018-09-30 访问指令的处理方法、装置及设备

Country Status (1)

Country Link
CN (1) CN109190383B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050132186A1 (en) * 2003-12-11 2005-06-16 Khan Moinul H. Method and apparatus for a trust processor
CN1659496A (zh) * 2002-04-15 2005-08-24 英特尔公司 与令牌安全通信的方法和装置
CN1700136A (zh) * 2004-05-20 2005-11-23 英特尔公司 处理器扩展和软件验证

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1659496A (zh) * 2002-04-15 2005-08-24 英特尔公司 与令牌安全通信的方法和装置
US20050132186A1 (en) * 2003-12-11 2005-06-16 Khan Moinul H. Method and apparatus for a trust processor
CN1700136A (zh) * 2004-05-20 2005-11-23 英特尔公司 处理器扩展和软件验证

Also Published As

Publication number Publication date
CN109190383B (zh) 2021-08-03

Similar Documents

Publication Publication Date Title
US10846117B1 (en) Technique for establishing secure communication between host and guest processes of a virtualization architecture
EP3761208B1 (en) Trust zone-based operating system and method
CN101006433B (zh) 信息通信装置和程序执行环境控制方法
Sun et al. Trustice: Hardware-assisted isolated computing environments on mobile devices
US10642753B1 (en) System and method for protecting a software component running in virtual machine using a virtualization layer
EP3103056B1 (en) Methods and apparatus for protecting operating system data
RU2667713C2 (ru) Селективное обеспечение соблюдения целостности кода, обеспечиваемое менеджером виртуальной машины
US10726127B1 (en) System and method for protecting a software component running in a virtual machine through virtual interrupts by the virtualization layer
US9021585B1 (en) JTAG fuse vulnerability determination and protection using a trusted execution environment
US9087188B2 (en) Providing authenticated anti-virus agents a direct access to scan memory
US10095862B2 (en) System for executing code with blind hypervision mechanism
US8156346B2 (en) Keyboard-input information-security apparatus and method
US10922402B2 (en) Securing secret data embedded in code against compromised interrupt and exception handlers
CN110383256B (zh) 一种内核完整性保护方法及装置
KR102192835B1 (ko) 데이터 처리장치에서의 소프트웨어 라이브러리들의 보안 보호
CN105468980A (zh) 一种安全管控的方法、装置及系统
KR20150059564A (ko) 전자 장치의 무결성 검증을 위한 방법, 저장 매체 및 전자 장치
CN110532767B (zh) 面向sgx安全应用的内部隔离方法
US20090172663A1 (en) Method and apparatus for tamper resistant communication in a virtualization enabled platform
CN109190411A (zh) 一种操作系统的主动安全防护方法、系统及终端设备
US20220366037A1 (en) Domain transition disable configuration parameter
Schiffman et al. The smm rootkit revisited: Fun with usb
CN109190383A (zh) 访问指令的处理方法、装置及设备
CN108241801B (zh) 处理系统调用的方法和装置
Zhang et al. An efficient TrustZone-based in-application isolation schema for mobile authenticators

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: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant after: Loongson Zhongke Technology Co.,Ltd.

Address before: 100095 Building 2, Longxin Industrial Park, Zhongguancun environmental protection technology demonstration park, Haidian District, Beijing

Applicant before: LOONGSON TECHNOLOGY Corp.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant