CN102763092A - 根据硬件模式和安全标志限制用于指令读取的存储器区域 - Google Patents

根据硬件模式和安全标志限制用于指令读取的存储器区域 Download PDF

Info

Publication number
CN102763092A
CN102763092A CN201080064141XA CN201080064141A CN102763092A CN 102763092 A CN102763092 A CN 102763092A CN 201080064141X A CN201080064141X A CN 201080064141XA CN 201080064141 A CN201080064141 A CN 201080064141A CN 102763092 A CN102763092 A CN 102763092A
Authority
CN
China
Prior art keywords
processor
pattern
storer
control circuit
write
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
CN201080064141XA
Other languages
English (en)
Other versions
CN102763092B (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.)
ARM Ltd
Original Assignee
Advanced Risc Machines 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 Advanced Risc Machines Ltd filed Critical Advanced Risc Machines Ltd
Publication of CN102763092A publication Critical patent/CN102763092A/zh
Application granted granted Critical
Publication of CN102763092B publication Critical patent/CN102763092B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1458Protection against unauthorised use of memory or access to memory by checking the subject access rights
    • G06F12/1491Protection against unauthorised use of memory or access to memory by checking the subject access rights in a hierarchical protection system, e.g. privilege levels, memory rings
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/16Handling requests for interconnection or transfer for access to memory bus
    • G06F13/1668Details of memory controller
    • 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/52Monitoring 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting 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/74Protecting 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 operating in dual or compartmented mode, i.e. at least one secure mode
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting 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/79Protecting 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
    • 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/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2105Dual mode as a secondary aspect

Landscapes

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

Abstract

一种用于处理数据(2)的设备,包括处理器(8)、存储器(6)和存储器控制电路(12)。处理器(8)在多种硬件模式中操作,包括特权模式和用户模式。当在特权模式中操作时,如果寄存器(46)内的安全标志被设置以表示防止机制有效,则存储器控制电路(12)防止处理器(8)从用户模式内可写入的存储器(6)内的存储器地址区域(34、38、42)获取指令。

Description

根据硬件模式和安全标志限制用于指令读取的存储器区域
技术领域
本发明涉及数据处理系统的领域。更具体地,本发明涉及具有操作的多种硬件模式的数据处理系统以及根据当前硬件模式来控制存储器访问。
背景技术
已知提供了其中处理器具有操作的多种硬件模式的数据处理系统。例如,处理器可以包括特权模式和用户模式的硬件模式来操作。还可能存在用于其它目的的另外的硬件模式。特权模式通常将用于更可信的程序代码,例如操作系统内核,并且将访问比处理器以用户模式操作时更多的存储器区域。用户模式通常将用于不那么可信的程序,例如应用程序。以该方式,可通过使用存储器管理单元或存储器保护单元来防止程序对预定存储器区域的恶意或意外访问,所述存储器管理单元或存储器保护单元对处理器操作的当前模式敏感,并且如果处理器不在特权模式中则防止对存储器预定区域的访问。这种系统内的模型是:相比于用户模式,操作的特权模式可访问更多的系统资源,例如存储器内的区域。
可出现的一种类型的恶意安全攻击或者不幸的错误操作是,当在特权模式中运行时,使得系统不适当地执行在用户模式中可写的存储器区域内存储的程序指令。作为一个示例,以该方式,人们可将恶意程序指令写入到在用户模式中可访问的存储器区域并且然后将处理器切换到特权模式,在该模式中当执行从用户模式中可访问的存储器区域读取的恶意程序指令时,可访问存储器的安全区域。
发明内容
从一个方面来看,本发明提供了用于处理数据的设备,该设备包括:
处理器,响应于程序指令的流来执行处理操作;和
存储器控制电路,连接到所述处理器和存储器并且被配置为控制所述处理器对所述存储器的访问;其中
所述处理器具有操作的多种硬件模式,至少包括第一模式和第二模式;
所述存储器控制电路控制对所述存储器的访问,以使得:
(i)当所述处理器处于所述第一模式中时,所述存储器控制电路允许对所述存储器第一部分的写入访问并且至少不允许对所述存储器第二部分的写入访问;以及
(ii)当所述处理器处于所述第二模式中时,所述存储器控制电路允许对所述存储器的所述第一部分的写入访问并且允许对所述存储器的第二部分的写入访问;并且
所述存储器控制电路响应于具有设置值的安全标志来防止在所述第二模式中所述处理器从所述存储器的所述第一部分读取程序指令以用于由所述处理器执行。
本技术认识到实际上对系统来说,当在特权模式中从可在用户模式中写入的存储器区域读取程序指令时,合理地执行那些程序指令是没什么理由的。要在特权模式中执行的代码通常存储在仅可在特权模式中写入的存储器内。这防止了要在特权模式中执行的程序指令被不适当地意外改变以及被恶意地改变。因此,本技术通过使用存储器控制电路防止在特权模式中处理器从可在用户模式中被写入的存储器区域读取程序指令以用于执行,来反对该领域中通常的技术偏见,即相比于用户模式给予特权模式更多的访问权限。存储器控制电路的该动作可通过安全标志被全面开启和关闭,以使得硬件能够支持其中设计者希望在特权模式中执行被存储在用户模式中可写入的存储器区域内的程序指令的系统,同时提供了简单的方式来用安全标志关闭该能力,该安全标志控制了通过存储器控制电路提供的硬件实施机制。将会理解,在上面,硬件模式已被称为特权模式和用户模式,但是本技术不限于在具有这些模式的系统内使用并且可被更通常地用在具有第一模式和第二模式的系统内,其中第二模式相比于第一模式可访问更多的存储器区域,然而选择性地防止第二模式执行从可在第一模式中被写入的存储器区域读取的程序指令。
存储器控制电路可响应于控制数据来将存储器内的一个或多个存储器地址区域识别为第一部分的一部分,并且将存储器内的一个或多个存储器地址区域识别为第二部分的一部分。因此,第一部分和第二部分在存储器中不需要相邻并且可由存储器控制电路读取的控制数据来定义。在某些实施例中,这可以是由存储器管理单元读取的存储器页表数据。
本技术在其中第一模式是用于执行应用程序的用户模式并且第二模式是至少用于执行操作系统内核程序的特权模式的系统中特别有用。
当安全标志具有设置值时,第二模式中操作的处理器可由存储器控制电路允许从存储器的第一部分读取数据值,这是因为这些数据值不被作为要被执行的指令获取,而是作为要被操纵的数据值而被获取到数据路径内。
将会理解,存储器控制电路可采取各种不同的形式。存储器控制电路的某些示例是存储器管理单元和存储器保护单元。
当处理器在第二模式中时,安全标志可在程序指令控制下被便利地写入,并且当处理器在第一模式中时,安全标志不能在程序指令控制下被写入。以该方式,安全标志提供的安全性不能当在第一模式中操作时通过改变安全标志的值来规避。
从另一方面看,本发明提供了用于处理数据的设备,该设备包括:
处理器装置,用于响应于程序指令的流来执行处理操作;和
存储器控制装置,连接到所述处理器装置和存储器装置以用于存储控制所述处理器装置对所述存储器装置的访问的数据;其中
所述处理器装置具有操作的多种硬件模式,至少包括第一模式和第二模式;
所述存储器控制装置控制对所述存储器装置的访问,以使得:
(i)当所述处理器装置处于所述第一模式中时,所述存储器控制装置允许对所述存储器装置第一部分的写入访问并且至少不允许对所述存储器装置第二部分的写入访问;以及
(ii)当所述处理器装置处于所述第二模式中时,所述存储器控制装置允许对所述存储器装置的所述第一部分的写入访问并且允许对所述存储器装置的第二部分的写入访问;并且
所述存储器控制装置响应于具有设置值的安全标志来防止在所述第二模式中所述处理器装置从所述存储器装置的所述第一部分读取程序指令以用于由所述处理器装置执行。
从另一个方面看,本发明提供了一种处理数据的方法,所述方法包括以下步骤:
响应于程序指令的流用处理器执行处理操作;和
使用连接到所述处理器和存储器的存储器控制电路来控制所述处理器对所述存储器的访问;其中
所述处理器具有操作的多种硬件模式,至少包括第一模式和第二模式;
所述存储器控制电路控制对所述存储器的访问,以使得:
(i)当所述处理器处于所述第一模式中时,所述存储器控制电路允许对所述存储器第一部分的写入访问并且至少不允许对所述存储器第二部分的写入访问;以及
(ii)当所述处理器处于所述第二模式中时,所述存储器控制电路允许对所述存储器的所述第一部分的写入访问并且允许对所述存储器的第二部分的写入访问;并且
所述存储器控制电路响应于具有设置值的安全标志来防止在所述第二模式中所述处理器从所述存储器的所述第一部分读取程序指令以用于由所述处理器执行。
本发明也可以具有上面特征的虚拟机的形式来实现。
附图说明
现在将参考附图(仅作为示例)来描述本发明的实施例,在附图中:
图1示意性示出了包括处理器和存储器的数据处理系统;
图2是示意性示出了取决于以下项控制存储器读取操作的流程图:处理器的硬件模式;读取是否为指令获取;以及读取是否是从用户模式中可访问的存储位置进行;
图3示意性示出了用于操作的多种硬件模式以及它们相关的访问权限和典型使用方式;并且
图4示意性示出了虚拟机实现方式。
具体实施方式
图1示意性示出了包括连接到存储器6的集成电路4的数据处理系统2。集成电路4包括处理器8、存储器接口电路10和存储器管理单元12。在处理器8内提供了通用寄存器库14、乘法器16、移位器18和加法器20,它们形成了用于在程序指令I的控制下从存储器6获取的数据值D上执行处理操作的数据路径。指令预取单元22从存储器6获取的程序指令I被提供到指令管道24。指令管道24控制指令解码器26生成用于数据路径14、16、18、20的控制信号,以便配置和控制数据路径14、16、18、20来执行被解码的程序指令所规定的(一个或多个)期望处理操作。本领域技术人员将会理解,处理器8将通常包含更多的电路元件,出于清楚的目的其从图1中省略。
还包括在集成电路4内的是存储器接口电路10和存储器管理单元12。存储器接口电路10负责生成从集成电路4发送到存储器6的存储器访问信号(其可能为读取或写入)。这些存储器访问信号使用存储器6内的物理地址。处理器8使用虚拟地址操作,但是该布置仅为其中可使用本技术的系统的示例。存储器管理单元12使用页表数据30将虚拟地址转换为物理地址。该页表数据为用于存储器管理单元12的控制数据。近期访问的存储器区域的页表数据存储在存储器管理单元12内的转换后备缓冲区28内。如果用于特定存储器访问的页表数据在转换后备缓冲区28内不存在,那么从存储器6内的页表数据30的完整存储获取适当的页表数据。
存储器6提供使用存储器接口电路10生成的物理地址寻址的存储器地址空间。存储器6可不提供对应于全部可能的存储器地址空间的存储。存储器地址空间被分为存储器地址区域32、34、36、38、40、42等。这些存储器地址区域32到42中的每一个具有关联的页表数据,该页表数据由存储器管理单元12用来控制对那些存储器区域的访问。如将由本领域技术人员所理解的,该页表数据可包括表示当处理器8正在特权模式中操作或者正在特权模式或用户模式之一中操作时是否可访问(只读或者读取/写入)有关的存储器地址区域的数据。页表数据的该部分由示出为转换后备缓冲区28一部分的P/U标志数据44来表示。页表数据还包括表示所允许的访问是只读还是读取/写入的R/W标志数据43。图1中示出的表格给出了映射到不同访问权限的P/U标志数据44和R/W标志数据43的不同值的一个示例。存储器地址区域32、34、36、40一起形成了存储器6的第二部分,其在处理器8处于用户模式中时不是可写的。存储器地址区域32、36和40仅在特权模式中可访问。存储器地址区域34在用户模式中是可以只读访问的,但是在用户模式中不能被写入。存储器地址区域38和42形成了存储器6的第一部分,其在处理器处于用户模式中时可被写入和读取,在处理器8处于特权模式中时可被写入,在处理器8处于特权模式中时可用于数据值的读取,但是在处理器8处于特权模式中时不能用于指令值的读取。
该行为在本示例实施例中通过存储器管理单元12来实施。存储器管理单元12从处理器8接收表示处理器8当前处于特权模式还是用户模式的输入信号P/U。存储器管理单元12还从存储器接口电路10接收表示正被执行的存储器访问是涉及指令获取还是数据访问操作的输入信号I/D。使用这些输入信号和存储器管理单元12内的寄存器46内存储的安全标志的值,可实施防止在特权模式中执行从存储器6的第一部分38和42读取的程序指令。
图2是示意性示出了存储器管理单元12的部分操作的流程图。将会理解,存储器管理单元12也可以存储器保护单元的形式提供。在步骤48,处理等待,直到在存储器接口电路10处从处理器8接收了存储器读取请求操作。步骤50然后使用到存储器管理单元12的P/U输入信号确定处理器8当前是否处于特权模式中。如果处理器8未处于特权模式中,那么在本简单示例中,处理器8将是处于用户模式中并且处理进行到步骤52。步骤52确定正尝试进行读取访问的存储器地址是否在页表数据30内被标记为仅在特权模式中时可访问。如果存储器地址未标记为仅为特权,那么处理进行到步骤54,在那里允许读取访问。然而,如果存储器地址被标记为仅为特权的地址,那么步骤56防止访问。
如果步骤50处的判定为处理器8当前处于特权模式中,那么处理进行到步骤58。步骤58确定当前是否设置了寄存器46内存储的安全标志。如果安全标志被设置(其有设置值),那么将实施不允许处理器8执行从存储器6的第一部分38和42读取的程序指令的策略。如果步骤58处的判定为未设置安全标志,那么处理进行到步骤60,在那里允许访问。
如果在步骤58处判定设置了安全标志,那么处理进行到步骤62,在那进行关于正在执行的访问是指令获取还是数据访问的判定。该判定可使用到存储器管理单元12的I/D输入信号来进行。如果正在执行的存储器访问是数据访问,那么处理进行到步骤60,在那里也允许访问。然而,如果在步骤58处判定安全标志被设置并且访问操作在步骤62处判定为指令获取,那么处理进行到步骤64,在那进行关于有关的存储器地址是否为存储器6第一部分的一部分的判定,即在本示例中如用于正在尝试进行读取访问的地址的页表数据(即P/U标志数据44和R/W标志数据43)所表示,有关的存储器地址是否为存储器区域38和42之一。如果存储器地址不在第一部分内,那么指令获取操作可被允许并且处理进行到步骤60。然而,如果正在尝试从存储器38和42的第一部分进行指令获取操作,那么处理进行到步骤66,在那防止有关的访问。
当防止存储器访问时,例如在步骤56或66中,那么可触发存储器放弃(memory abort),以使得执行存储器放弃异常处理程序代码。该类型的存储器放弃处理将是本领域技术人员所熟知的。
图3示意性示出了处理器8的多种硬件模式(或虚拟机实现方式中模拟这种硬件模式的模式)。在本示例中,仅示出了两种模式,即特权模式和用户模式。将会理解,本技术可用于具有更多数量模式的处理器。特权模式允许对标记为特权的存储器地址区域的只读或读取/写入访问。特权模式也允许经由数据路径对标记为用户模式读取/写入可访问的存储器地址区域的只读或读取/写入访问。在特权模式内,如果寄存器46内的安全标志被设置,那么不允许执行来自用户模式读取/写入可访问存储器的指令。然而,当在特权模式中时,对上面提到的特权存储器的只读或读取/写入访问允许执行从特权存储器获取的指令。
当在用户模式中操作时,不允许对标记为特权模式存储器地址区域的存储器地址区域的只读或读取/写入访问。然而,允许对标记为用户模式存储器地址区域的存储器地址区域的只读或读取/写入访问。
将会理解,不同类型的程序将通常在不同的硬件模式中执行。更可信的程序,例如操作系统内核程序,通常将会在特权模式内操作。应用程序通常将会在用户模式内操作。
控制用户模式中可写入的存储器内存储的程序指令是否被允许在特权模式中执行的寄存器46内的安全标志在程序指令控制下被设置。寄存器46可被配置为协同处理器(co-processor)寄存器,其可使用协同处理器指令来被写入以便设置安全标志。为了保护使用安全标志提供的机制的安全性,安全标志仅可当在特权模式中时被写入。这防止了恶意或至少未授权的用户模式程序清除安全标志,由此允许用户模式中可写入的存储器内存储的程序指令在特权模式中执行。
图4示出了可使用的这种虚拟机实现方式。尽管之前描述的实施例从用于操作支持有关技术的特定处理硬件的设备和方法的方面实现了本发明,但也可以提供硬件设备的所谓的虚拟机实现方式。这些虚拟机实现方式运行在主处理器530上,该主处理器运行支持虚拟机程序510的主操作系统520。通常,需要大功率的处理器来提供以合理速度执行的虚拟机实现方式,但是该方式可在某些情况下被调整,例如当为了兼容性或重用原因而期望运行对于另一个处理器为原生的代码时。虚拟机程序510提供针对应用程序500的应用程序接口,其与如由真实硬件提供的应用程序接口相同,所述真实硬件是由虚拟机程序510模仿的装置。因此,可使用虚拟机程序510从应用程序500内执行包括上述存储器访问控制的程序指令,以便用虚拟机硬件来模仿它们的交互。

Claims (15)

1.用于处理数据的设备,包括:
处理器,响应于程序指令的流来执行处理操作;和
存储器控制电路,连接到所述处理器和存储器并且被配置为控制所述处理器对所述存储器的访问;其中
所述处理器具有操作的多种硬件模式,至少包括第一模式和第二模式;
所述存储器控制电路控制对所述存储器的访问,以使得:
(i)当所述处理器处于所述第一模式中时,所述存储器控制电路允许对所述存储器第一部分的写入访问并且至少不允许对所述存储器第二部分的写入访问;以及
(ii)当所述处理器处于所述第二模式中时,所述存储器控制电路允许对所述存储器的所述第一部分的写入访问并且允许对所述存储器的第二部分的写入访问;并且
所述存储器控制电路响应于具有设置值的安全标志来防止在所述第二模式中所述处理器从所述存储器的所述第一部分读取程序指令以用于由所述处理器执行。
2.根据权利要求1所述的设备,其中所述处理器从所述存储器的所述第二部分读取程序指令以用于执行。
3.根据权利要求1和2中任何一个所述的设备,其中所述存储器控制电路响应于控制数据来将所述存储器内的一个或多个存储器地址区域识别为所述第一部分的一部分,以及将所述存储器内的一个或多个存储器地址区域识别为所述第二部分的一部分。
4.根据权利要求1、2和3中任何一个所述的设备,其中所述第一模式是用于执行应用程序的用户模式并且所述第二模式是用于至少执行操作系统内核程序的特权模式。
5.根据前述权利要求中任何一个所述的设备,其中当所述安全标志具有所述设置值并且所述处理器处于所述第二模式中时,所述存储器控制电路允许所述处理器从所述存储器的所述第一部分读取数据值。
6.根据前述权利要求中任何一个所述的设备,其中所述存储器控制电路包括以下之一:
存储器管理单元;和
存储器保护单元。
7.根据前述权利要求中任何一个所述的设备,其中当所述处理器在所述第二模式中时,所述安全标志在程序指令控制下被写入,并且当所述处理器在所述第一模式中时,所述安全标志不能在程序指令控制下被写入。
8.用于处理数据的设备,包括:
处理器装置,用于响应于程序指令的流来执行处理操作;和
存储器控制装置,连接到所述处理器装置和存储器装置以用于存储控制所述处理器装置对所述存储器装置的访问的数据;其中
所述处理器装置具有操作的多种硬件模式,至少包括第一模式和第二模式;
所述存储器控制装置控制对所述存储器装置的访问,以使得:
(i)当所述处理器装置处于所述第一模式中时,所述存储器控制装置允许对所述存储器装置第一部分的写入访问并且至少不允许对所述存储器装置第二部分的写入访问;以及
(ii)当所述处理器装置处于所述第二模式中时,所述存储器控制装置允许对所述存储器装置的所述第一部分的写入访问并且允许对所述存储器装置的第二部分的写入访问;并且
所述存储器控制装置响应于具有设置值的安全标志来防止在所述第二模式中所述处理器装置从所述存储器装置的所述第一部分读取程序指令以用于由所述处理器装置执行。
9.一种处理数据的方法,所述方法包括以下步骤:
响应于程序指令的流用处理器执行处理操作;和
使用连接到所述处理器和存储器的存储器控制电路来控制所述处理器对所述存储器的访问;其中
所述处理器具有操作的多种硬件模式,至少包括第一模式和第二模式;
所述存储器控制电路控制对所述存储器的访问,以使得:
(i)当所述处理器处于所述第一模式中时,所述存储器控制电路允许对所述存储器第一部分的写入访问并且至少不允许对所述存储器第二部分的写入访问;以及
(ii)当所述处理器处于所述第二模式中时,所述存储器控制电路允许对所述存储器的所述第一部分的写入访问并且允许对所述存储器的第二部分的写入访问;并且
所述存储器控制电路响应于具有设置值的安全标志来防止在所述第二模式中所述处理器从所述存储器的所述第一部分读取程序指令以用于由所述处理器执行。
10.根据权利要求9所述的方法,其中所述处理器从所述存储器的所述第二部分读取程序指令以用于执行。
11.根据权利要求9和10中任何一个所述的方法,其中所述存储器控制电路响应于控制数据来将所述存储器内的一个或多个存储器地址区域识别为所述第一部分的一部分,以及将所述存储器内的一个或多个存储器地址区域识别为所述第二部分的一部分。
12.根据权利要求9、10和11中任何一个所述的方法,其中所述第一模式是用于执行应用程序的用户模式并且所述第二模式是用于至少执行操作系统内核程序的特权模式。
13.根据权利要求9到12中任何一个所述的方法,其中当所述安全标志具有所述设置值并且所述处理器处于所述第二模式中时,所述存储器控制电路允许所述处理器从所述存储器的所述第一部分读取数据值。
14.根据权利要求中9到13中任何一个所述的方法,其中所述存储器控制电路包括以下之一:
存储器管理单元;和
存储器保护单元。
15.用于处理数据的设备,具有计算机程序控制的处理电路以提供用于执行如权利要求9所述的方法的虚拟机设备。
CN201080064141.XA 2010-02-16 2010-12-16 根据硬件模式和安全标志限制用于指令读取的存储器区域 Active CN102763092B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/656,786 2010-02-16
US12/656,786 US8301856B2 (en) 2010-02-16 2010-02-16 Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag
PCT/GB2010/052105 WO2011101609A1 (en) 2010-02-16 2010-12-16 Restricting memory areas for an instruction read in dependence upon a hardware mode and a security flag

Publications (2)

Publication Number Publication Date
CN102763092A true CN102763092A (zh) 2012-10-31
CN102763092B CN102763092B (zh) 2015-08-12

Family

ID=43629421

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201080064141.XA Active CN102763092B (zh) 2010-02-16 2010-12-16 根据硬件模式和安全标志限制用于指令读取的存储器区域

Country Status (10)

Country Link
US (1) US8301856B2 (zh)
JP (1) JP5571201B2 (zh)
KR (1) KR101799261B1 (zh)
CN (1) CN102763092B (zh)
BR (1) BR112012017703B1 (zh)
DE (1) DE112010005269T5 (zh)
GB (1) GB2488938B (zh)
IL (1) IL220417A (zh)
RU (1) RU2513909C1 (zh)
WO (1) WO2011101609A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298623A (zh) * 2013-07-16 2015-01-21 横河电机株式会社 电子装置、操作系统以及访问控制方法
CN106068502A (zh) * 2014-03-07 2016-11-02 微软技术许可有限责任公司 用于细分的特权级的操作系统/管理程序效率
CN106462508A (zh) * 2014-04-28 2017-02-22 阿姆Ip有限公司 访问控制与代码调度
CN107408075A (zh) * 2015-04-14 2017-11-28 谷歌公司 虚拟化感知预取
CN108154032A (zh) * 2017-11-16 2018-06-12 中国科学院软件研究所 一种基于可信执行环境的具有内存完整性保障功能的计算机系统信任根构建方法
CN111274555A (zh) * 2020-01-15 2020-06-12 莆田杰木科技有限公司 Flash存储器中的代码保护方法及保护装置
CN112612519A (zh) * 2020-12-11 2021-04-06 海光信息技术股份有限公司 一种取指方法、装置、电子设备及存储介质

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9588803B2 (en) 2009-05-11 2017-03-07 Microsoft Technology Licensing, Llc Executing native-code applications in a browser
US9323921B2 (en) 2010-07-13 2016-04-26 Microsoft Technology Licensing, Llc Ultra-low cost sandboxing for application appliances
US9495183B2 (en) 2011-05-16 2016-11-15 Microsoft Technology Licensing, Llc Instruction set emulation for guest operating systems
US9413538B2 (en) 2011-12-12 2016-08-09 Microsoft Technology Licensing, Llc Cryptographic certification of secure hosted execution environments
US9389933B2 (en) 2011-12-12 2016-07-12 Microsoft Technology Licensing, Llc Facilitating system service request interactions for hardware-protected applications
US9672164B2 (en) 2012-05-31 2017-06-06 Nxp Usa, Inc. Methods and systems for transitioning between a user state and a supervisor state based on a next instruction fetch address
KR20150035602A (ko) * 2012-06-29 2015-04-06 해피 클라우드 인코포레이티드 데이터 저장 디바이스에 데이터세트의 기입 관리
CN102799489B (zh) * 2012-07-19 2014-04-16 腾讯科技(深圳)有限公司 对终端进行控制的方法、装置及终端
US9489316B2 (en) * 2013-03-15 2016-11-08 Freescale Semiconductor, Inc. Method and device implementing execute-only memory protection
US10275593B2 (en) * 2013-04-01 2019-04-30 Uniquesoft, Llc Secure computing device using different central processing resources
US10061940B2 (en) * 2013-07-09 2018-08-28 Andes Technology Corporation Secure protection processor and method including comparing an instruction security attribute of an instruction and a security attribute of an operational event
US10489309B2 (en) * 2014-10-21 2019-11-26 Intel Corporation Memory protection key architecture with independent user and supervisor domains
US10114768B2 (en) * 2016-08-29 2018-10-30 Intel Corporation Enhance memory access permission based on per-page current privilege level
US10713177B2 (en) 2016-09-09 2020-07-14 Intel Corporation Defining virtualized page attributes based on guest page attributes
GB2554940B (en) 2016-10-14 2020-03-04 Imagination Tech Ltd Out-of-bounds recovery circuit
FR3065553B1 (fr) * 2017-04-20 2019-04-26 Idemia Identity And Security Procede d'execution d'un programme destine a etre interprete par une machine virtuelle protege contre des attaques par injection de faute
US10635831B1 (en) * 2018-01-06 2020-04-28 Ralph Crittenden Moore Method to achieve better security using a memory protection unit
EP3828708B1 (en) * 2019-11-29 2024-04-24 Johannes Gutenberg-Universität Mainz Method and system for controlling a switch in the execution mode of a processor

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US20020059502A1 (en) * 2000-11-15 2002-05-16 Reimer Jay B. Multicore DSP device having shared program memory with conditional write protection
CN1521638A (zh) * 2003-02-04 2004-08-18 ���µ�����ҵ��ʽ���� 信息处理设备
WO2006126686A1 (ja) * 2005-05-26 2006-11-30 Matsushita Electric Industrial Co., Ltd. データ処理装置
CN101154212A (zh) * 2006-09-29 2008-04-02 上海海尔集成电路有限公司 一种8位兼容c51指令集微控制器
US20080276051A1 (en) * 2007-05-04 2008-11-06 Atmel Corporation Configurable Memory Protection
CN201177809Y (zh) * 2008-04-11 2009-01-07 吴治杰 可调整读写状态的储存装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6907600B2 (en) 2000-12-27 2005-06-14 Intel Corporation Virtual translation lookaside buffer
EP1537500A2 (en) 2002-09-03 2005-06-08 Sap Ag Dynamic access to data
JP2004145605A (ja) * 2002-10-24 2004-05-20 Matsushita Electric Ind Co Ltd プロセッサ
US20040243783A1 (en) * 2003-05-30 2004-12-02 Zhimin Ding Method and apparatus for multi-mode operation in a semiconductor circuit
WO2006056988A2 (en) * 2004-11-24 2006-06-01 Discretix Technologies Ltd. System, method and apparatus of securing an operating system
US20070192826A1 (en) * 2006-02-14 2007-08-16 Microsoft Corporation I/O-based enforcement of multi-level computer operating modes
JP4818793B2 (ja) * 2006-04-20 2011-11-16 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びメモリアクセスの制御方法
KR101396831B1 (ko) 2007-03-30 2014-05-21 삼성전자주식회사 메모리 접근 제어 방법

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5522075A (en) * 1991-06-28 1996-05-28 Digital Equipment Corporation Protection ring extension for computers having distinct virtual machine monitor and virtual machine address spaces
US20020059502A1 (en) * 2000-11-15 2002-05-16 Reimer Jay B. Multicore DSP device having shared program memory with conditional write protection
CN1521638A (zh) * 2003-02-04 2004-08-18 ���µ�����ҵ��ʽ���� 信息处理设备
WO2006126686A1 (ja) * 2005-05-26 2006-11-30 Matsushita Electric Industrial Co., Ltd. データ処理装置
CN101154212A (zh) * 2006-09-29 2008-04-02 上海海尔集成电路有限公司 一种8位兼容c51指令集微控制器
US20080276051A1 (en) * 2007-05-04 2008-11-06 Atmel Corporation Configurable Memory Protection
CN201177809Y (zh) * 2008-04-11 2009-01-07 吴治杰 可调整读写状态的储存装置

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104298623A (zh) * 2013-07-16 2015-01-21 横河电机株式会社 电子装置、操作系统以及访问控制方法
US9898420B2 (en) 2013-07-16 2018-02-20 Yokogawa Electric Corporation Electronic device, operating system and access control method for protection of a register through an application programming interface
CN106068502A (zh) * 2014-03-07 2016-11-02 微软技术许可有限责任公司 用于细分的特权级的操作系统/管理程序效率
CN106462508B (zh) * 2014-04-28 2020-07-07 阿姆Ip有限公司 访问控制与代码调度
CN106462508A (zh) * 2014-04-28 2017-02-22 阿姆Ip有限公司 访问控制与代码调度
US10891146B2 (en) 2014-04-28 2021-01-12 Arm Ip Limited Access control and code scheduling
CN107408075B (zh) * 2015-04-14 2021-03-02 谷歌有限责任公司 虚拟化感知预取
CN107408075A (zh) * 2015-04-14 2017-11-28 谷歌公司 虚拟化感知预取
CN108154032A (zh) * 2017-11-16 2018-06-12 中国科学院软件研究所 一种基于可信执行环境的具有内存完整性保障功能的计算机系统信任根构建方法
CN108154032B (zh) * 2017-11-16 2021-07-30 中国科学院软件研究所 具有内存完整性保障功能的计算机系统信任根构建方法
CN111274555A (zh) * 2020-01-15 2020-06-12 莆田杰木科技有限公司 Flash存储器中的代码保护方法及保护装置
CN111274555B (zh) * 2020-01-15 2022-11-18 福建杰木科技有限公司 Flash存储器中的代码保护方法及保护装置
CN112612519A (zh) * 2020-12-11 2021-04-06 海光信息技术股份有限公司 一种取指方法、装置、电子设备及存储介质
CN112612519B (zh) * 2020-12-11 2022-06-21 成都海光微电子技术有限公司 一种取指方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
US20110202739A1 (en) 2011-08-18
KR101799261B1 (ko) 2017-11-20
RU2513909C1 (ru) 2014-04-20
RU2012139625A (ru) 2014-03-27
DE112010005269T5 (de) 2013-04-25
BR112012017703B1 (pt) 2020-12-15
BR112012017703A2 (pt) 2016-04-05
JP2013519934A (ja) 2013-05-30
WO2011101609A1 (en) 2011-08-25
GB201210574D0 (en) 2012-08-01
IL220417A (en) 2015-02-26
GB2488938B (en) 2017-03-08
CN102763092B (zh) 2015-08-12
US8301856B2 (en) 2012-10-30
GB2488938A (en) 2012-09-12
KR20130036189A (ko) 2013-04-11
IL220417A0 (en) 2012-08-30
JP5571201B2 (ja) 2014-08-13

Similar Documents

Publication Publication Date Title
CN102763092A (zh) 根据硬件模式和安全标志限制用于指令读取的存储器区域
JP4989543B2 (ja) メモリドメインを基にしたデータ処理システム内のセキュリティ制御
US20080250216A1 (en) Protected function calling
CN103455733B (zh) 处理器资源和执行保护方法及装置
CN109840410A (zh) 一种进程内数据隔离与保护的方法和系统
TWI516937B (zh) 用於資料讀取/寫入延伸分頁表違例之處理的決策動作決定技術之方法、裝置及非暫態機器可讀媒體
JP7128206B2 (ja) 機能の使用を管理するための装置および方法
JP2022503562A (ja) 範囲チェック命令
GB2482700A (en) Memory access control
CN108205502A (zh) 轻量可信任务
US20080288789A1 (en) Reducing information leakage between processes sharing a cache
CN108701025A (zh) 安全的存储器寻址方法
CN105264540A (zh) 数据处理设备中的软件库的安全保护
CN104025041A (zh) 管理员模式执行保护
TW201229752A (en) Alignment control
IL270500B2 (en) A standard and method for managing an area of competence
JP2023038361A (ja) 命令セット内の変更を制御する装置及び方法
US10037287B2 (en) Method for protecting memory against unauthorized access
KR20180072723A (ko) 메모리 액세스 명령
CN110162965A (zh) 一种运行时访问控制方法及计算装置
CN112106029A (zh) 用于触发动作的装置和方法
JPH03273349A (ja) アクセス制御方式

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant