RU2012139625A - Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности - Google Patents

Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности Download PDF

Info

Publication number
RU2012139625A
RU2012139625A RU2012139625/08A RU2012139625A RU2012139625A RU 2012139625 A RU2012139625 A RU 2012139625A RU 2012139625/08 A RU2012139625/08 A RU 2012139625/08A RU 2012139625 A RU2012139625 A RU 2012139625A RU 2012139625 A RU2012139625 A RU 2012139625A
Authority
RU
Russia
Prior art keywords
processor
memory
mode
memory management
write access
Prior art date
Application number
RU2012139625/08A
Other languages
English (en)
Other versions
RU2513909C1 (ru
Inventor
Ричард Рой ГРАЙЗЕНТУЭЙТ
Original Assignee
Арм Лимитед
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 Арм Лимитед filed Critical Арм Лимитед
Publication of RU2012139625A publication Critical patent/RU2012139625A/ru
Application granted granted Critical
Publication of RU2513909C1 publication Critical patent/RU2513909C1/ru

Links

Classifications

    • 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
    • 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

1. Устройство для обработки данных, содержащее:- процессор, способный реагировать на поток команд программы для выполнения операций обработки; и- схему управления памятью, соединенную с упомянутым процессором и памятью и выполненную с возможностью управлять доступом упомянутого процессора к упомянутой памяти,причем упомянутый процессор имеет множество аппаратных режимов работы, включающих в себя, по меньшей мере, первый режим и второй режим;упомянутая схема управления памятью управляет доступом к упомянутой памяти таким образом, что:- (i) при нахождении упомянутого процессора в упомянутом первом режиме, упомянутая схема управления памятью разрешает доступ для записи к первому участку упомянутой памяти и не разрешает, по меньшей мере, доступ для записи ко второму участку упомянутой памяти, и- (ii) при нахождении упомянутого процессора в упомянутом втором режиме упомянутая схема управления памятью разрешает доступ для записи к упомянутому первому участку упомянутой памяти и разрешает доступ для записи ко второму участку упомянутой памяти; иупомянутая схема управления памятью способна реагировать на флаг безопасности, имеющий установленное значение, чтобы предоставлять упомянутому процессору в упомянутом первом режиме право, не предоставленное упомянутому процессору в упомянутом втором режиме, посредством предотвращения считывания упомянутым процессором из упомянутого первого участка упомянутой памяти команд программы для исполнения упомянутым процессором в упомянутом втором режиме,причем, если упомянутый флаг безопасности имеет упомянутое установленное значение, а упомянутый процессор находит�

Claims (13)

1. Устройство для обработки данных, содержащее:
- процессор, способный реагировать на поток команд программы для выполнения операций обработки; и
- схему управления памятью, соединенную с упомянутым процессором и памятью и выполненную с возможностью управлять доступом упомянутого процессора к упомянутой памяти,
причем упомянутый процессор имеет множество аппаратных режимов работы, включающих в себя, по меньшей мере, первый режим и второй режим;
упомянутая схема управления памятью управляет доступом к упомянутой памяти таким образом, что:
- (i) при нахождении упомянутого процессора в упомянутом первом режиме, упомянутая схема управления памятью разрешает доступ для записи к первому участку упомянутой памяти и не разрешает, по меньшей мере, доступ для записи ко второму участку упомянутой памяти, и
- (ii) при нахождении упомянутого процессора в упомянутом втором режиме упомянутая схема управления памятью разрешает доступ для записи к упомянутому первому участку упомянутой памяти и разрешает доступ для записи ко второму участку упомянутой памяти; и
упомянутая схема управления памятью способна реагировать на флаг безопасности, имеющий установленное значение, чтобы предоставлять упомянутому процессору в упомянутом первом режиме право, не предоставленное упомянутому процессору в упомянутом втором режиме, посредством предотвращения считывания упомянутым процессором из упомянутого первого участка упомянутой памяти команд программы для исполнения упомянутым процессором в упомянутом втором режиме,
причем, если упомянутый флаг безопасности имеет упомянутое установленное значение, а упомянутый процессор находится в упомянутом втором режиме, то упомянутая схема управления памятью разрешает упомянутому процессору считывать значения данных из упомянутого первого участка упомянутой памяти.
2. Устройство по п.1, в котором упомянутый процессор считывает команды программы для исполнения из упомянутого второго участка упомянутой памяти.
3. Устройство по любому из пп.1 или 2, в котором упомянутая схема управления памятью способна реагировать на данные управления для идентификации одной или более адресных зон памяти в упомянутой памяти как части упомянутого первого участка и одной или более адресных зон памяти в упомянутой памяти как части упомянутого второго участка.
4. Устройство по любому из пп.1 или 2, в котором упомянутый первый режим является пользовательским режимом для исполнения прикладных программ, а упомянутый второй режим является привилегированным режимом для исполнения, по меньшей мере, программы ядра операционной системы.
5. Устройство по любому из пп.1 или 2, в котором упомянутая схема управления памятью содержит одно из следующего:
- блок управления памятью и
- блок защиты памяти.
6. Устройство по любому из пп.1 или 2, в котором упомянутый флаг безопасности записывают под управлением команд программы, когда упомянутый процессор находится в упомянутом втором режиме, и упомянутый флаг безопасности не может быть записан под управлением команд программы, когда упомянутый процессор находится в упомянутом первом режиме.
7. Устройство для обработки данных, содержащее:
- процессорное средство для выполнения операций обработки в ответ на поток команд программы; и
- схему средства управления памятью, соединенную с упомянутым процессорным средством и с запоминающим средством для хранения данных, для управления доступом упомянутого процессорного средства к упомянутому запоминающему средству,
причем упомянутое процессорное средство имеет множество аппаратных режимов работы, включающих в себя, по меньшей мере, первый режим и второй режим;
упомянутое средство управления памятью управляет доступом к упомянутому запоминающему средству таким образом, что:
- (i) при нахождении упомянутого процессорного средства в упомянутом первом режиме упомянутое средство управления памятью разрешает доступ для записи к первому участку упомянутого запоминающего средства и не разрешает, по меньшей мере, доступ для записи ко второму участку упомянутого запоминающего средства, и
- (ii) при нахождении упомянутого процессорного средства в упомянутом втором режиме упомянутое средство управления памятью разрешает доступ для записи к упомянутому первому участку упомянутого запоминающего средства и разрешает доступ для записи ко второму участку упомянутого запоминающего средства; и
упомянутое средство управления памятью способно реагировать на флаг безопасности, имеющий установленное значение, чтобы предоставлять упомянутому процессору в упомянутом первом режиме право, не предоставленное упомянутому процессору во втором режиме посредством предотвращения считывания упомянутым процессорным средством из упомянутого первого участка упомянутого запоминающего средства команд программы для исполнения упомянутым процессорным средством в упомянутом втором режиме,
причем, если упомянутый флаг безопасности имеет упомянутое установленное значение, а упомянутое процессорное средство находится в упомянутом втором режиме, то упомянутое средство управления памятью разрешает упомянутому процессорному средству считывать значения данных из упомянутого первого участка упомянутого запоминающего средства.
8. Способ обработки данных, причем упомянутый способ содержит этапы, на которых:
- выполняют операции обработки процессором в ответ на поток команд программы; и
- управляют доступом упомянутого процессора к памяти с использованием схемы управления памятью, соединенной с упомянутым процессором и упомянутой памятью,
причем упомянутый процессор имеет множество аппаратных режимов работы, включающих в себя, по меньшей мере, первый режим и второй режим;
упомянутая схема управления памятью управляет доступом к упомянутой памяти таким образом, что:
- (i) при нахождении упомянутого процессора в упомянутом первом режиме упомянутая схема управления памятью разрешает доступ для записи к первому участку упомянутой памяти и не разрешает, по меньшей мере, доступ для записи ко второму участку упомянутой памяти, и
- (ii) при нахождении упомянутого процессора в упомянутом втором режиме упомянутая схема управления памятью разрешает доступ для записи к упомянутому первому участку упомянутой памяти и разрешает доступ для записи ко второму участку упомянутой памяти; и
упомянутая схема управления памятью способна реагировать на флаг безопасности, имеющий установленное значение, чтобы предоставлять упомянутому процессору в упомянутом первом режиме право, не предоставленное упомянутому процессору в упомянутом втором режиме посредством предотвращения считывания упомянутым процессором из упомянутого первого участка упомянутой памяти команд программы для исполнения упомянутым процессором в упомянутом втором режиме,
причем, если упомянутый флаг безопасности имеет упомянутое установленное значение, а упомянутый процессор находится в упомянутом втором режиме, то упомянутая схема управления памятью разрешает упомянутому процессору считывать значения данных из упомянутого первого участка упомянутой памяти.
9. Способ по п.8, в котором упомянутый процессор считывает команды программы для исполнения из упомянутого второго участка упомянутой памяти.
10. Способ по любому из пп.8 или 9, в котором упомянутая схема управления памятью способна реагировать на данные управления для идентификации одной или более адресных зон памяти в упомянутой памяти как части упомянутого первого участка и одной или более адресных зон памяти в упомянутой памяти как части упомянутого второго участка.
11. Способ по любому из пп.8 или 9, в котором упомянутый первый режим является пользовательским режимом для исполнения прикладных программ, а упомянутый второй режим является привилегированным режимом для исполнения, по меньшей мере, программы ядра операционной системы.
12. Способ по любому из пп.8 или 9, в котором упомянутая схема управления памятью содержит одно из следующего:
- блок управления памятью и
- блок защиты памяти.
13. Устройство для обработки данных, имеющее схему обработки, управляемую компьютерной программой, чтобы обеспечить устройство в виде виртуальной машины для выполнения способа по п.8.
RU2012139625/08A 2010-02-16 2010-12-16 Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности RU2513909C1 (ru)

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
RU2012139625A true RU2012139625A (ru) 2014-03-27
RU2513909C1 RU2513909C1 (ru) 2014-04-20

Family

ID=43629421

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2012139625/08A RU2513909C1 (ru) 2010-02-16 2010-12-16 Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности

Country Status (10)

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

Families Citing this family (25)

* 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
JP5920595B2 (ja) * 2013-07-16 2016-05-18 横河電機株式会社 電子機器、オペレーティングシステム、アクセス管理方法
US20150254145A1 (en) * 2014-03-07 2015-09-10 Microsoft Corporation Operating system/hypervisor efficiencies for sub-divided privilege levels
GB2525596B (en) 2014-04-28 2021-05-26 Arm Ip Ltd Access control and code scheduling
US10489309B2 (en) * 2014-10-21 2019-11-26 Intel Corporation Memory protection key architecture with independent user and supervisor domains
US9594687B2 (en) * 2015-04-14 2017-03-14 Google Inc. Virtualization-aware prefetching
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
CN108154032B (zh) * 2017-11-16 2021-07-30 中国科学院软件研究所 具有内存完整性保障功能的计算机系统信任根构建方法
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
CN111274555B (zh) * 2020-01-15 2022-11-18 福建杰木科技有限公司 Flash存储器中的代码保护方法及保护装置
CN112612519B (zh) * 2020-12-11 2022-06-21 成都海光微电子技术有限公司 一种取指方法、装置、电子设备及存储介质

Family Cites Families (15)

* 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
US6895479B2 (en) * 2000-11-15 2005-05-17 Texas Instruments Incorporated Multicore DSP device having shared program memory with conditional write protection
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 プロセッサ
JP4347582B2 (ja) * 2003-02-04 2009-10-21 パナソニック株式会社 情報処理装置
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
CN101233525A (zh) * 2005-05-26 2008-07-30 松下电器产业株式会社 数据处理装置
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 ルネサスエレクトロニクス株式会社 マイクロコンピュータ及びメモリアクセスの制御方法
CN101154212B (zh) * 2006-09-29 2012-01-25 上海海尔集成电路有限公司 一种8位兼容c51指令集微控制器
KR101396831B1 (ko) 2007-03-30 2014-05-21 삼성전자주식회사 메모리 접근 제어 방법
US8051263B2 (en) * 2007-05-04 2011-11-01 Atmel Corporation Configurable memory protection
CN201177809Y (zh) * 2008-04-11 2009-01-07 吴治杰 可调整读写状态的储存装置

Also Published As

Publication number Publication date
US20110202739A1 (en) 2011-08-18
KR101799261B1 (ko) 2017-11-20
RU2513909C1 (ru) 2014-04-20
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
CN102763092A (zh) 2012-10-31
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
RU2012139625A (ru) Ограничение областей памяти для считывания команд в зависимости от аппаратного режима и флага безопасности
TWI697805B (zh) 載入和虛擬化密碼金鑰
CN105224864B (zh) 一种抵御代码重用攻击的工作进程随机化方法及系统
JP2017526071A5 (ru)
US20160210069A1 (en) Systems and Methods For Overriding Memory Access Permissions In A Virtual Machine
US9465750B2 (en) Memory protection circuit, method and processing unit utilizing memory access information register to selectively allow access to memory areas by virtual machines
CN105022956B (zh) 一种抵御代码重用攻击的方法
CN109840410A (zh) 一种进程内数据隔离与保护的方法和系统
US20120042144A1 (en) Memory access control
US20150379263A1 (en) Technologies for preventing hook-skipping attacks using processor virtualization features
TWI738680B (zh) 監視處理器之操作之系統
RU2015107219A (ru) Способы, системы и машиночитаемый носитель для активного контроля, защиты памяти и проверки целостности целевых устройств
KR20040028704A (ko) 가상 머신 모니터에 의해 지원되는 가상 머신상에서실행되는 게스트 소프트웨어의 동작을 제한하기 위한새로운 프로세서 모드
JP7128206B2 (ja) 機能の使用を管理するための装置および方法
KR20160108517A (ko) 멀티-운영 체제 디바이스들에 대한 액세스 격리
JP6921800B2 (ja) セキュアモード状態のデータ・アクセス・トラッキング
CN111414626A (zh) 基于tee扩展的实时性保证方法及系统
CN112541166A (zh) 一种方法、系统和计算机可读存储介质
CN105373467B (zh) 能在多个特权层级执行指令的数据处理装置中的性能监控
JP2009009232A (ja) コンピュータとカーネル保護方法並びにコンピュータソフトウエア
JP6920286B2 (ja) 例外処理
JP2018535483A5 (ru)
KR102581576B1 (ko) 벡터 피연산자 비트 크기 제어
CN108563491B (zh) 一种基于虚拟机的自省自动化管理、配置与自省方法
CN112099914A (zh) 一种虚拟机多核启动方法、虚拟机及处理器芯片